1 00:00:00,000 --> 00:00:11,330 2 00:00:11,330 --> 00:00:12,360 >> DAVID Malan: All wa kulia. 3 00:00:12,360 --> 00:00:15,970 Hii ni CS50, na hii ni mwishoni mwa wiki tisa. 4 00:00:15,970 --> 00:00:18,560 Imekuwa ni kimbunga juu ya siku chache zilizopita. 5 00:00:18,560 --> 00:00:21,580 Na kuweka tatizo saba, kama wewe ni goti kina ndani yake, kutambua kuna kabisa 6 00:00:21,580 --> 00:00:23,340 kidogo mpya kwamba huko. 7 00:00:23,340 --> 00:00:26,660 Lakini hebu angalia kama hatuwezi kipande kila kitu pamoja hapa kwa ufupi 8 00:00:26,660 --> 00:00:29,230 kabla ya hapo veering mbali katika bado mwelekeo na kuona mwingine 9 00:00:29,230 --> 00:00:30,510 mahali pengine ambapo tunaweza kwenda. 10 00:00:30,510 --> 00:00:32,630 >> Hivyo hivi sasa, tumekuwa kuongelea HTML. 11 00:00:32,630 --> 00:00:33,740 Tumekuwa kuongelea CSS. 12 00:00:33,740 --> 00:00:34,705 Tumekuwa kuongelea PHP. 13 00:00:34,705 --> 00:00:36,520 Umeingia kwa uzoefu SQL. 14 00:00:36,520 --> 00:00:38,360 Leo, tutaweza majadiliano kidogo kuhusu JavaScript. 15 00:00:38,360 --> 00:00:41,230 Lakini jinsi kufanya haya yote tofauti lugha fit pamoja? 16 00:00:41,230 --> 00:00:44,970 >> Hivyo sisi aliyesema wiki iliyopita kuhusu kuwa wazo la server. 17 00:00:44,970 --> 00:00:48,470 Basi hebu tu kuteka pembenne hii kama mtandao wa kompyuta hapa. 18 00:00:48,470 --> 00:00:52,200 Na mtandao wa kompyuta mtumishi hakika files. 19 00:00:52,200 --> 00:00:54,640 Na baadhi ya files wale inaweza kuwa files HTML. 20 00:00:54,640 --> 00:00:58,270 Hivyo moja ya mambo ambayo mtandao wa kompyuta unaweza mate nje inaweza kuwa faili kwamba 21 00:00:58,270 --> 00:01:01,290 tutaweza tu kuteka kama hii zenye baadhi HTML. 22 00:01:01,290 --> 00:01:04,786 Hivyo katika suala layman, nini haina HTML basi wewe kufanya? 23 00:01:04,786 --> 00:01:06,036 >> Watazamaji: Page kuangalia nzuri. 24 00:01:06,036 --> 00:01:09,670 25 00:01:09,670 --> 00:01:12,310 >> DAVID Malan: OK, kufanya ukurasa kuangalia nzuri, ingawa nadhani nimepata kuthibitika 26 00:01:12,310 --> 00:01:13,370 kwamba vinginevyo. 27 00:01:13,370 --> 00:01:18,250 Hivyo HTML haina basi wewe kuweka kurasa kimuundo, na utapata 28 00:01:18,250 --> 00:01:22,410 aina ya aesthetically alama juu ukurasa, alama juu ya maudhui static, ili 29 00:01:22,410 --> 00:01:23,640 unaweza kisha kuona ni pamoja na mtandao wa browser. 30 00:01:23,640 --> 00:01:24,690 >> Lakini hiyo ni muhimu. 31 00:01:24,690 --> 00:01:26,130 Ni maudhui ya tuli. 32 00:01:26,130 --> 00:01:28,590 Wewe kuandika, wewe ila ni, na kisha meli hiyo. 33 00:01:28,590 --> 00:01:31,130 Na mtandao wa kompyuta kisha mtumishi it up kwa wageni wako. 34 00:01:31,130 --> 00:01:35,700 >> Lakini sisi stylize mambo kwa kutumia mbalimbali lugha kabisa. 35 00:01:35,700 --> 00:01:40,150 Sisi kuanza kutumia style sifa juu ya baadhi ya vitambulisho. 36 00:01:40,150 --> 00:01:43,400 Na style sifa hebu kuweka mambo kama font ukubwa na rangi. 37 00:01:43,400 --> 00:01:46,460 Na ve pengine kuanza kugundua, au hivi karibuni kwenu kwa ajili ya fainali 38 00:01:46,460 --> 00:01:50,160 miradi uwezekano, lakini wengine mali kwamba unaweza kutumia katika CSS. 39 00:01:50,160 --> 00:01:54,710 Na hivyo katika suala layman, nini kweli basi haina CSS nini? 40 00:01:54,710 --> 00:01:57,810 Wale ni mifano yake tu. 41 00:01:57,810 --> 00:02:00,730 Ni nini basi wewe kufanya hivyo HTML haionekani kutokana na kile 42 00:02:00,730 --> 00:02:02,606 tumeona hivi sasa? 43 00:02:02,606 --> 00:02:04,850 >> Watazamaji: Kuainisha mitindo na wewe mwenyewe. 44 00:02:04,850 --> 00:02:06,700 >> DAVID Malan: Kuainisha mitindo na wewe mwenyewe. 45 00:02:06,700 --> 00:02:10,280 Hivyo kufafanua mambo kama madarasa kama wewe kuwa wamekutana, au kipekee 46 00:02:10,280 --> 00:02:13,800 kutambua nodes katika hati hivyo kwamba unaweza stylize yao. 47 00:02:13,800 --> 00:02:16,890 Lakini zaidi hasa, ningesema kuwa CSS kweli inakuwezesha kuchukua mambo 48 00:02:16,890 --> 00:02:20,790 mwisho mile na utapata bayana sana usahihi zaidi aesthetics, 49 00:02:20,790 --> 00:02:24,340 ambapo HTML kwa sehemu kubwa lets unaweza kupanga kurasa yako. 50 00:02:24,340 --> 00:02:27,310 >> Na hata ingawa kuna baadhi ya defaults, kama tuliona tag kwa 51 00:02:27,310 --> 00:02:30,690 viongozi tag, ambayo takribani kusema alifanya mambo makubwa na ujasiri. 52 00:02:30,690 --> 00:02:34,250 Hiyo ni ufafanuzi pretty generic ya tag - kubwa na ujasiri. 53 00:02:34,250 --> 00:02:35,260 Nini font ukubwa ni kwamba? 54 00:02:35,260 --> 00:02:36,080 Rangi ni nini? 55 00:02:36,080 --> 00:02:36,890 Jinsi ujasiri ni kwamba? 56 00:02:36,890 --> 00:02:39,830 Na CSS inakuwezesha zaidi laini tune mambo kama hayo. 57 00:02:39,830 --> 00:02:42,150 Kama vile layout, kama baadhi ya umeona. 58 00:02:42,150 --> 00:02:45,180 >> Na kusema ukweli, CSS ni kidogo ya lugha chafu. 59 00:02:45,180 --> 00:02:48,370 Ni nguvu sana katika kwamba unaweza kufanya literally yoyote tovuti ya kuwa wewe wameweza 60 00:02:48,370 --> 00:02:51,880 kuonekana kwenye mtandao wa leo na hayo, lakini ni aina ya maumivu ya shingo. 61 00:02:51,880 --> 00:02:54,440 Na baadhi yenu banged kichwa yako dhidi ya kuta tayari tu kufanya 62 00:02:54,440 --> 00:02:58,560 kitu kijinga kama kituo cha orodha kwenye kuweka tatizo saba kama wameweza kujipatia kwa 63 00:02:58,560 --> 00:02:59,470 kwamba hatua tayari. 64 00:02:59,470 --> 00:03:01,530 >> Lakini kutambua, mambo hayo kupata rahisi baada ya muda. 65 00:03:01,530 --> 00:03:02,820 Kuanza kwa taarifa mwelekeo. 66 00:03:02,820 --> 00:03:06,020 Na tena, Google itakuwa rafiki yako kwa njia mbalimbali ambazo unaweza 67 00:03:06,020 --> 00:03:07,220 kutatua aina hii ya matatizo. 68 00:03:07,220 --> 00:03:11,520 >> Na mimi kuthubutu kusema kwa CSS, na HTML zaidi kwa ujumla, unaweza kutatua matatizo katika 69 00:03:11,520 --> 00:03:15,910 njia nyingi zaidi, ambayo yote nguvu sana vizuri kuwa sahihi, kuliko unaweza 70 00:03:15,910 --> 00:03:18,900 katika kitu kama C, hata sasa PHP, au JavaScript. 71 00:03:18,900 --> 00:03:21,080 Kuna watu wengi mbalimbali njia ya kuweka mambo ya nje. 72 00:03:21,080 --> 00:03:22,570 >> Lakini jambo hili lilianza kupata messy, sisi alisema. 73 00:03:22,570 --> 00:03:26,480 Tu aina ya commingling HTML yako na CSS yako na style sifa mara 74 00:03:26,480 --> 00:03:27,590 kidogo sloppy. 75 00:03:27,590 --> 00:03:31,460 Na hivyo sisi badala alisema, aina ya abstractly kuzungumza, kwamba ni lazima 76 00:03:31,460 --> 00:03:34,050 angalau kuanza kwa sababu nje CSS yako pengine. 77 00:03:34,050 --> 00:03:37,430 Si style yako sifa, lakini angalau kutumia tag style ndani ya kile 78 00:03:37,430 --> 00:03:38,840 sehemu ya ukurasa wa mtandao? 79 00:03:38,840 --> 00:03:39,560 >> Watazamaji: Mkuu. 80 00:03:39,560 --> 00:03:40,120 >> DAVID Malan: Katika kichwa. 81 00:03:40,120 --> 00:03:43,270 Hadi sasa, sisi tu alikuwa na cheo up huko, lakini unaweza pia kuongeza style 82 00:03:43,270 --> 00:03:47,230 tag, na unaweza kuweka CSS yako takribani kumtukana juu ya ukurasa. 83 00:03:47,230 --> 00:03:52,550 Lakini basi sisi alichukua mambo hatua moja zaidi na sisi zitawekwa kuwa nje zaidi 84 00:03:52,550 --> 00:03:54,130 ndani ya faili tofauti. 85 00:03:54,130 --> 00:03:57,240 >> Na hivyo files hizi mbili walikuwa namna fulani sasa wanaohusishwa. 86 00:03:57,240 --> 00:03:59,550 Na hakika ilikuwa tag kwamba alifanya hivyo. 87 00:03:59,550 --> 00:04:02,920 Na nini alikuwa mmoja wa kuu motisha kwa ajili ya factoring nje CSS wetu 88 00:04:02,920 --> 00:04:04,057 wote zaidi? 89 00:04:04,057 --> 00:04:05,280 >> Watazamaji: reusability. 90 00:04:05,280 --> 00:04:05,785 >> DAVID Malan: reusability. 91 00:04:05,785 --> 00:04:06,150 Haki? 92 00:04:06,150 --> 00:04:09,470 Unaweza tumeona katika p-kuweka saba tayari kwamba mengi ya kurasa, 93 00:04:09,470 --> 00:04:12,260 kununua ukurasa, ukurasa kuuza, kwingineko ukurasa, pengine ni 94 00:04:12,260 --> 00:04:13,550 muundo fulani vile vile. 95 00:04:13,550 --> 00:04:17,579 Kuna CS50 fedha alama juu isipokuwa wameweza aliamua mabadiliko hayo. 96 00:04:17,579 --> 00:04:19,839 Kuna footer katika chini ya kurasa. 97 00:04:19,839 --> 00:04:24,315 Na CSS utapata kisha na sababu nje ndani faili tofauti ili kwamba kama 98 00:04:24,315 --> 00:04:27,780 unataka kubadilisha kitu duniani katika tovuti yako yote, unaweza kweli 99 00:04:27,780 --> 00:04:29,390 tu mabadiliko hayo katika sehemu moja. 100 00:04:29,390 --> 00:04:32,750 >> Lakini kuna bei ya kulipa uwezekano wa kwa kuwa na zitawekwa nje 101 00:04:32,750 --> 00:04:38,380 CSS kutoka HTML faili yangu katika tofauti faili inayozungumzia ni pamoja na 102 00:04:38,380 --> 00:04:40,650 tag, ambayo tuliona siku ya Jumatatu. 103 00:04:40,650 --> 00:04:43,850 Nini kinaweza kuwa upande wa chini ya hili? 104 00:04:43,850 --> 00:04:48,830 Kufikiri nyuma wiki iliyopita wakati tuko kuzungumza juu ya HTTP na TCP / IP na jinsi 105 00:04:48,830 --> 00:04:52,070 hisa kazi. 106 00:04:52,070 --> 00:04:53,530 Kitu zaidi ya hapa? 107 00:04:53,530 --> 00:04:54,730 >> Watazamaji: Inachukua muda zaidi. 108 00:04:54,730 --> 00:04:55,470 >> DAVID Malan: Inachukua muda zaidi. 109 00:04:55,470 --> 00:04:56,750 Kwa nini? 110 00:04:56,750 --> 00:04:59,450 >> Watazamaji: [inaudible]. 111 00:04:59,450 --> 00:04:59,750 >> DAVID Malan: Yeah. 112 00:04:59,750 --> 00:05:01,240 Hivyo ni arguably inachukua kidogo muda zaidi. 113 00:05:01,240 --> 00:05:04,290 Kwa sababu moja, CSS ni wazi si katika faili moja. 114 00:05:04,290 --> 00:05:06,920 Hivyo sasa una kufanya si moja, lakini wawili maombi. 115 00:05:06,920 --> 00:05:11,230 Na kila moja ya maombi ya wale kama tulivyoona katika Chrome katika Inspekta kinachojulikana, 116 00:05:11,230 --> 00:05:15,740 na sisi inaonekana katika tabo mtandao, kila ya wale files inahitaji moja HTTP 117 00:05:15,740 --> 00:05:18,360 ombi, ambayo tuliona inachukua baadhi ya kiasi cha muda. 118 00:05:18,360 --> 00:05:19,290 Sasa, labda siyo mengi. 119 00:05:19,290 --> 00:05:20,670 Labda ni 20 tu milliseconds. 120 00:05:20,670 --> 00:05:22,260 Labda ni 200 milliseconds. 121 00:05:22,260 --> 00:05:25,530 >> Lakini kufikiri kuhusu ukurasa kama Facebook, au CNN, au Google, ambayo ni kiasi 122 00:05:25,530 --> 00:05:28,060 kubwa kuliko mifano tumekuwa inaonekana katika hivi sasa. 123 00:05:28,060 --> 00:05:32,070 Wale kurasa wanaweza kuwa na kadhaa wa files, ambayo kila mmoja anaweza kuhitaji 124 00:05:32,070 --> 00:05:33,550 download ya faili. 125 00:05:33,550 --> 00:05:35,800 Hivyo mambo unaweza uwezekano kuanza polepole chini. 126 00:05:35,800 --> 00:05:39,280 >> Na hasa siku hizi wakati sisi wote kuwa na simu za mkononi katika mifuko yetu na 127 00:05:39,280 --> 00:05:43,010 polepole internet connections, kuwa na kusubiri chache milisekunde zaidi, ni wachache 128 00:05:43,010 --> 00:05:46,110 zaidi milisekunde kwa ziada files kweli anaweza polepole. 129 00:05:46,110 --> 00:05:50,430 Latency ni neno linaloelezea aina ya kusubiri kwamba una kwamba wewe 130 00:05:50,430 --> 00:05:53,110 uzoefu wakati wakisubiri baadhi ya kipande cha habari. 131 00:05:53,110 --> 00:05:54,430 >> Lakini kuna suala la mafanikio. 132 00:05:54,430 --> 00:05:56,600 Hivyo si kila aina ya - 133 00:05:56,600 --> 00:05:58,170 ni kweli ni kidogo ya seesaw hapa. 134 00:05:58,170 --> 00:06:02,970 Upande wa chini sasa, lakini kile browsers wanaweza kufanya kama uko smart ili kuepuka 135 00:06:02,970 --> 00:06:08,870 baada ya kuomba styles.css huo faili tena unaweza kuwa kufanya nini? 136 00:06:08,870 --> 00:06:09,390 >> Cache yake. 137 00:06:09,390 --> 00:06:10,370 Hivyo Caching - 138 00:06:10,370 --> 00:06:11,690 C-A-C-H-E - 139 00:06:11,690 --> 00:06:15,810 ujumla maana hapa tu kuokoa kuwasilisha ombi mara ya kwanza, na 140 00:06:15,810 --> 00:06:17,440 kisha kuangalia cache yako kwa ajili yake. 141 00:06:17,440 --> 00:06:20,400 Angalia wewe ni aina ya kuhifadhi kontena, na ikiwa tayari 142 00:06:20,400 --> 00:06:24,520 nakala ya styles.css, hata kama baadhi ya wengine ukurasa katika kuweka p-, au tovuti, 143 00:06:24,520 --> 00:06:28,560 maombi yake tena, tu kutoa user kwamba huo cached nakala. 144 00:06:28,560 --> 00:06:30,140 Wala bother kuomba yake. 145 00:06:30,140 --> 00:06:32,560 >> Upande wa chini huko, ingawa, kama baadhi yenu kuwa tripped zaidi katika kuweka p-. 146 00:06:32,560 --> 00:06:35,870 Kama wewe kufanya mabadiliko ya server na wewe kwenda nyuma ya browser na wewe 147 00:06:35,870 --> 00:06:39,250 Reload, wakati mwingine browser gani ninyi neema na haina bother 148 00:06:39,250 --> 00:06:43,660 re-kushusha faili yako styles.css kwa sababu, kuja juu, ni nini tabia mbaya 149 00:06:43,660 --> 00:06:47,620 kwamba hizi mitindo kwamba anatumia Facebook ni kwenda na mabadiliko ya saa moja na saa moja au 150 00:06:47,620 --> 00:06:48,140 siku kwa siku? 151 00:06:48,140 --> 00:06:48,800 Ni pretty chini. 152 00:06:48,800 --> 00:06:52,260 Wapate mabadiliko ya muda, lakini si kwa dakika moja au kwa saa. 153 00:06:52,260 --> 00:06:55,810 >> Hivyo hila, tu FYI wakati wa kufanya mtandao maendeleo, ni mara nyingi kushikilia chini 154 00:06:55,810 --> 00:06:59,500 kuhama muhimu kwa mfano na kisha bonyeza Reload katika browser yako, na kwamba mapenzi 155 00:06:59,500 --> 00:07:03,280 kawaida kuwaambia Reload browser kila kitu, hata kama tayari una 156 00:07:03,280 --> 00:07:04,180 katika cache. 157 00:07:04,180 --> 00:07:06,630 Hivyo tena, upsides na downsides, lakini wote 158 00:07:06,630 --> 00:07:08,260 hatimaye kubuni maamuzi. 159 00:07:08,260 --> 00:07:11,520 >> Hivyo sasa, sisi alifanya si tu kukomesha hadithi hapa. 160 00:07:11,520 --> 00:07:15,790 Kama mimi sasa kurudi nyuma na na nyuma na nyuma nyuma, sisi ilianza kwa kuanzisha si tu 161 00:07:15,790 --> 00:07:18,060 HTML, lakini PHP. 162 00:07:18,060 --> 00:07:20,786 Hivyo katika suala layman, nini haina PHP tufanye? 163 00:07:20,786 --> 00:07:22,770 >> Watazamaji: [inaudible]. 164 00:07:22,770 --> 00:07:24,258 >> DAVID Malan: Ni nini hiyo? 165 00:07:24,258 --> 00:07:25,250 >> Watazamaji: Kuanzisha mantiki katika kanuni. 166 00:07:25,250 --> 00:07:26,620 >> DAVID Malan: Yeah, kuanzisha mantiki katika kanuni yako. 167 00:07:26,620 --> 00:07:29,570 Hivyo ni kweli programu lugha na tanzi, na vigezo, na 168 00:07:29,570 --> 00:07:32,620 kazi, na hali, na wote wa mambo tumekuwa kutumia njia ya nyuma 169 00:07:32,620 --> 00:07:33,780 wakati tangu mwanzo. 170 00:07:33,780 --> 00:07:36,780 Na PHP, tumeona, inaweza kutumika aidha katika mstari amri - ni 171 00:07:36,780 --> 00:07:39,190 hana na kitu cha kufanya na mtandao, hata kama hiyo ni 172 00:07:39,190 --> 00:07:43,150 kweli asili yake na nini inaelekea kuwa nzuri saa na mazingira mazuri ya - 173 00:07:43,150 --> 00:07:47,130 lakini unaweza kutumia PHP tu kwa asili ya ukweli kuwa ina magazeti () 174 00:07:47,130 --> 00:07:49,660 kazi, na printf () kazi, au mwangwi () kazi. 175 00:07:49,660 --> 00:07:52,440 Kuna mashada ya njia ya unaweza magazeti asilia na PHP. 176 00:07:52,440 --> 00:07:56,540 >> Kwa hiyo, unaweza kutumia programu hii lugha kwa pato hasa 177 00:07:56,540 --> 00:07:58,460 nini tunachozungumzia kabla. 178 00:07:58,460 --> 00:08:01,360 Unaweza dynamically kuzalisha yako HTML. 179 00:08:01,360 --> 00:08:02,300 Labda si yote. 180 00:08:02,300 --> 00:08:06,460 Labda wewe ngumu kanuni mambo, kama header, na footer, na alama, 181 00:08:06,460 --> 00:08:07,950 na style yako shuka, na wote ya kwamba. 182 00:08:07,950 --> 00:08:11,190 Lakini kwa ajili ya kitu kama p-seti saba, ambapo wewe ni kufanyia hifadhi na 183 00:08:11,190 --> 00:08:14,690 kuonyesha kwingineko mtumiaji, ambayo ni kwenda dynamically mabadiliko, unaweza 184 00:08:14,690 --> 00:08:18,960 Hakika kutumia PHP na mantiki anatoa wewe kama lugha ya programu ya 185 00:08:18,960 --> 00:08:22,320 pato dynamically subsets ya ukurasa. 186 00:08:22,320 --> 00:08:25,900 >> Hivyo wakati wewe majadiliano juu ya Nje nguvu, au mtandao programu, hiyo ni 187 00:08:25,900 --> 00:08:27,200 nini wewe kweli kuzungumza juu. 188 00:08:27,200 --> 00:08:31,450 Kutumia lugha kama PHP, au mambo kinachoitwa chatu, au Ruby, au Java, au 189 00:08:31,450 --> 00:08:35,900 bado lugha nyingine, na swala database mara nyingi, au nyingine server, na 190 00:08:35,900 --> 00:08:38,580 kisha dynamically mate nje ya HTML. 191 00:08:38,580 --> 00:08:42,470 >> Sasa matokeo ya mwisho, kama kando, ni kwamba HTML ya Nje wengi, 192 00:08:42,470 --> 00:08:45,970 ikiwa ni pamoja na yako p-seti saba, pengine ni kwenda kuwa fujo kubwa kama 193 00:08:45,970 --> 00:08:48,060 ukiangalia chanzo kanuni katika browser. 194 00:08:48,060 --> 00:08:49,010 Hiyo si kubwa mpango huo. 195 00:08:49,010 --> 00:08:51,550 Katika hatua hii, wakati sisi huduma ya juu style, sisi huduma ya juu 196 00:08:51,550 --> 00:08:52,740 stuff kwamba kuandika. 197 00:08:52,740 --> 00:08:56,240 Sisi si huduma kuhusu mambo kwamba kile code yako mazao. 198 00:08:56,240 --> 00:08:59,520 Hivyo msiwe na wasiwasi kuhusu anatengeneza hapa kama ni PHP kwamba 199 00:08:59,520 --> 00:09:01,190 kweli outputting mambo ya ajabu. 200 00:09:01,190 --> 00:09:04,430 Baada ya yote, browser si huduma, na binadamu si kuangalia 201 00:09:04,430 --> 00:09:05,400 kwenye chanzo anyway. 202 00:09:05,400 --> 00:09:09,000 Sisi wafanyakazi, kwa mfano, ingekuwa kuwa na kuangalia PHP yako. 203 00:09:09,000 --> 00:09:13,440 >> Hivyo basi mimi kutoa mfano wa haraka sasa ya kwa nini mwingine hii inaweza kuwa na manufaa. 204 00:09:13,440 --> 00:09:18,620 Hivyo kusema ukweli, siwezi kukumbuka mwisho wakati mimi kutumika C kutatua tatizo katika 205 00:09:18,620 --> 00:09:19,620 ulimwengu wa kweli. 206 00:09:19,620 --> 00:09:22,330 Ilikuwa pengine katika shule ya kuhitimu wakati Mimi zinahitajika kutumia lugha ambayo 207 00:09:22,330 --> 00:09:26,710 ilikuwa haki kiwango cha chini na kunipa nafasi ya kufanya jambo juu sana 208 00:09:26,710 --> 00:09:30,720 maonyesho ya kweli ila kama CPU nyingi mizunguko kama ningeweza, kwa sehemu kubwa 209 00:09:30,720 --> 00:09:33,990 kwa sababu mimi nilikuwa kwa kutumia data kubwa seti, na kila mzunguko wa CPU kuhesabiwa. 210 00:09:33,990 --> 00:09:37,750 Na kusema ukweli, hata katika vitu kama simu siku hizi na vifaa vingine 211 00:09:37,750 --> 00:09:39,910 ambapo huna kabisa kuwa kama kiasi kumbukumbu na huna kabisa kuwa kama 212 00:09:39,910 --> 00:09:44,160 sana CPU, kutumia lugha kasi bado ni rufaa. 213 00:09:44,160 --> 00:09:47,290 >> Lakini katika ulimwengu wa kweli, wakati wewe tu unataka kutupa baadhi ya mpango pamoja ili 214 00:09:47,290 --> 00:09:50,340 kuchambua baadhi ya data, au umefanya zilizokusanywa kundi zima la usajili kwa ajili ya 215 00:09:50,340 --> 00:09:53,330 baadhi ya kundi mwanafunzi na unataka sana haraka aŭtomate barua pepe kutuma 216 00:09:53,330 --> 00:09:56,240 moja kwa moja kila mmoja wa wale registret, utaenda kufikia kwa 217 00:09:56,240 --> 00:09:59,240 ngazi ya juu ya lugha kuliko C hivyo kusema. 218 00:09:59,240 --> 00:10:04,060 Kitu kama PHP au chatu, au Ruby, au wengine nusu kadhaa ambazo zipo 219 00:10:04,060 --> 00:10:04,550 siku hizi. 220 00:10:04,550 --> 00:10:07,200 Lakini wale watatu ni pengine haki wengi trendy sasa. 221 00:10:07,200 --> 00:10:10,840 >> Na nini maana ya hii ni kwamba unaweza kufungua hadi mhariri wa maandishi kama gedit au 222 00:10:10,840 --> 00:10:14,030 zaidi ya kitu kingine chochote na kisha kuanza tu kuandika code bila kuwa na wasiwasi 223 00:10:14,030 --> 00:10:17,800 kuhusu kuandaa, bila ya kuwa na kweli na wasiwasi juu ya usimamizi wa kumbukumbu, 224 00:10:17,800 --> 00:10:20,820 kuweka akilini kwamba ingawa kidogo sloppiness hatimaye kuja nyuma 225 00:10:20,820 --> 00:10:24,790 bite wewe kama kuweka data anapata kubwa au tatizo anapata kubwa. 226 00:10:24,790 --> 00:10:27,230 Lakini hii ina maana gani kwa sisi ni yafuatayo. 227 00:10:27,230 --> 00:10:29,860 >> Hebu kwenda mbele na kukimbia Speller kutoka tatizo kuweka sita. 228 00:10:29,860 --> 00:10:33,480 Hivyo hii ni yangu trie makao utekelezaji kwamba mimi kutumika kwenye kubwa 229 00:10:33,480 --> 00:10:35,500 bodi ambapo mimi si walifanya vizuri. 230 00:10:35,500 --> 00:10:38,720 Tutaweza kurudi katika muda wa wiki na kupitia upya wale ambao hawakuwa na kuishia atop 231 00:10:38,720 --> 00:10:40,430 kubwa bodi katika hotuba yetu ya mwisho. 232 00:10:40,430 --> 00:10:44,520 Lakini kwa sasa, napenda kwenda mbele na wa haki kukimbia ufumbuzi wangu katika maandishi, na tutaweza kufanya 233 00:10:44,520 --> 00:10:48,460 King James Biblia, na hapa sisi kwenda. 234 00:10:48,460 --> 00:10:51,080 >> Hivyo wale wote ni wa eti misspelled maneno nje ya 235 00:10:51,080 --> 00:10:52,240 King James Biblia. 236 00:10:52,240 --> 00:10:55,560 Na utekelezaji yangu alichukua nusu ya pili katika jumla. 237 00:10:55,560 --> 00:10:58,270 Hivyo si mbaya sana juu ya hii hasa kompyuta. 238 00:10:58,270 --> 00:11:01,540 Lakini kufikiria ni kiasi gani Kanuni nilikuwa kuandika. 239 00:11:01,540 --> 00:11:02,880 Fikiria kiasi gani kanuni wewe alikuwa na kuandika. 240 00:11:02,880 --> 00:11:06,170 Fikiria saa ngapi wewe alitumia katika D-ukumbi au Dorm yako au popote 241 00:11:06,170 --> 00:11:07,890 kweli coding juu kwamba ufumbuzi. 242 00:11:07,890 --> 00:11:11,850 >> Naam, kama mimi kwa kweli kuwa na kiwango cha juu lugha kama PHP, kuchukua kumbuka ya 243 00:11:11,850 --> 00:11:13,350 nini siwezi kufanya hapa. 244 00:11:13,350 --> 00:11:16,410 Kwanza, tuseme kwamba hii ni badala usambazaji yako code. 245 00:11:16,410 --> 00:11:17,790 Hii ni faili inayoitwa Speller. 246 00:11:17,790 --> 00:11:20,220 Ni inapatikana kama sehemu ya leo usambazaji kanuni. 247 00:11:20,220 --> 00:11:22,670 Na mimi nina kwenda kupitisha mkono wangu saa zaidi ya maelezo, lakini hii ni kweli 248 00:11:22,670 --> 00:11:25,500 mfano wa jinsi ya kuvutia unaweza bandari lugha 249 00:11:25,500 --> 00:11:28,870 kama C juu ya PHP. 250 00:11:28,870 --> 00:11:33,420 Mimi literally kufunguliwa madirisha Nakala mbili, moja na toleo yangu ya C ya speller.c, 251 00:11:33,420 --> 00:11:36,960 na mimi tu ya kuanza kutafsiri katika wangu kichwa na PHP na kuandika ni nje kwa kutumia 252 00:11:36,960 --> 00:11:38,840 karibu sawa utendaji. 253 00:11:38,840 --> 00:11:40,100 >> Hivyo baadhi ya mambo haya ni tofauti. 254 00:11:40,100 --> 00:11:43,730 Tuliona mara ya mwisho kwamba PHP haina matumizi ni pamoja na katika njia sawa kabisa. 255 00:11:43,730 --> 00:11:47,050 Ni matumizi ya kawaida zinahitaji, ingawa pamoja gani zipo. 256 00:11:47,050 --> 00:11:50,330 Kufafanua ni tofauti kidogo kutoka # Define katika C, lakini hiyo ni 257 00:11:50,330 --> 00:11:51,890 jinsi ya kufanya mara kwa mara. 258 00:11:51,890 --> 00:11:55,860 $ Argc zinageuka ipo katika PHP, hivyo tumeona kwamba kabla. 259 00:11:55,860 --> 00:11:58,650 Hizi ni baadhi tu ya vigezo, wote wa ambayo kuanza kwa ishara ya dola. 260 00:11:58,650 --> 00:12:00,590 Kumbuka haya ni rundo ya pointi floating. 261 00:12:00,590 --> 00:12:03,970 >> Hivyo muda mrefu hadithi fupi, wewe ni kuwakaribisha kwa flip kupitia hii kama curious, hii ni 262 00:12:03,970 --> 00:12:10,010 karibu uongofu line-kwa-line ya C toleo la speller.c katika PHP. 263 00:12:10,010 --> 00:12:12,630 Na unaweza kufanya hivyo tena kwa nusu dazeni lugha nyingine. 264 00:12:12,630 --> 00:12:14,910 >> Lakini nini kuvutia ni hii. 265 00:12:14,910 --> 00:12:16,910 Au nini kusema ukweli disheartening ni hii. 266 00:12:16,910 --> 00:12:20,790 Hebu kwenda mbele na aina kuhusu dictionary.php, na kudai kwamba mimi nina 267 00:12:20,790 --> 00:12:23,670 kwenda mbele na re-kutekeleza tatizo kuweka sita hapa. 268 00:12:23,670 --> 00:12:27,530 >> Basi hebu kwanza kupendekeza kwamba katika hii faili, ambao utatekelezwa katika 269 00:12:27,530 --> 00:12:30,550 PHP, hivyo basi mimi kufungua vitambulisho wangu kama hiyo. 270 00:12:30,550 --> 00:12:34,780 Napenda kutoa mwenyewe kimataifa kutofautiana, $ kawaida anapata sifuri. 271 00:12:34,780 --> 00:12:36,710 Na mimi nina kwenda kutoa mwenyewe meza hash. 272 00:12:36,710 --> 00:12:38,110 Mimi itabidi kutumia meza hash kwa jambo hili. 273 00:12:38,110 --> 00:12:42,070 Jinsi gani mimi kutangaza meza hash katika PHP? 274 00:12:42,070 --> 00:12:42,990 Kufanyika. 275 00:12:42,990 --> 00:12:43,980 OK. 276 00:12:43,980 --> 00:12:48,870 >> Hivyo wazi mabano mabano inawakilisha karibu nini katika PHP, kama tumeona? 277 00:12:48,870 --> 00:12:51,850 safu, lakini safu ambayo inaweza kuwa safu associative. 278 00:12:51,850 --> 00:12:54,320 safu associative ni muundo wa data kwamba 279 00:12:54,320 --> 00:12:55,860 washirika funguo na maadili. 280 00:12:55,860 --> 00:12:59,430 >> Sasa katika rahisi numerically indexed safu, wale funguo ni nini? 281 00:12:59,430 --> 00:13:02,250 282 00:13:02,250 --> 00:13:03,960 Sifuri, moja, mbili, tatu, haki? 283 00:13:03,960 --> 00:13:08,780 Umri wa shule ya mambo ya nyuma kutoka C. Lakini inaweza pia kuwa na masharti kama foo, na bar, 284 00:13:08,780 --> 00:13:12,210 au Maxwell, au kamba hiyo. 285 00:13:12,210 --> 00:13:14,240 Ili niweze kujiinua kwamba katika muda tu. 286 00:13:14,240 --> 00:13:17,550 >> Hebu kwenda mbele na kutangaza kazi kama - 287 00:13:17,550 --> 00:13:19,020 hebu kufanya mzigo () kwanza. 288 00:13:19,020 --> 00:13:20,690 Hivyo kazi ya mzigo (). 289 00:13:20,690 --> 00:13:23,440 Na PHP ni tofauti kidogo katika kwamba wewe literally aina ya kazi, lakini ninyi 290 00:13:23,440 --> 00:13:24,930 si aina aina ya kurudi. 291 00:13:24,930 --> 00:13:28,760 Mimi nina kwenda mbele na kusema kwamba mzigo () kazi inapaswa kuchukua katika 292 00:13:28,760 --> 00:13:31,000 Hoja $ kamusi, tu kama C toleo alivyofanya. 293 00:13:31,000 --> 00:13:32,510 Mimi nina kufanya kwamba kutoka kwa kumbukumbu. 294 00:13:32,510 --> 00:13:34,910 >> Na napendekeza kwamba mimi nina kwenda kufanya hili. 295 00:13:34,910 --> 00:13:37,080 Mimi tu kwenda kufanya foreach. 296 00:13:37,080 --> 00:13:40,710 Mimi naenda kuwaita kazi kuitwa file (), kupita katika jina la kwamba 297 00:13:40,710 --> 00:13:44,990 faili, ambayo ni kutofautiana $ $ Kamusi kama neno. 298 00:13:44,990 --> 00:13:49,410 Na kisha ndani ya yangu kwa kitanzi hapa, mimi nina kwenda mbele na kuhifadhi katika wangu 299 00:13:49,410 --> 00:13:57,440 $ Meza kwamba $ neno anapata kweli. 300 00:13:57,440 --> 00:13:57,918 Kufanyika. 301 00:13:57,918 --> 00:14:01,264 Oh, kusubiri. 302 00:14:01,264 --> 00:14:02,422 Kufanyika. 303 00:14:02,422 --> 00:14:02,760 OK. 304 00:14:02,760 --> 00:14:04,970 >> Hiyo ni mzigo () kazi kusema katika PHP. 305 00:14:04,970 --> 00:14:05,865 Sasa, kwa nini kuwa kazi? 306 00:14:05,865 --> 00:14:07,010 Na mimi nina aina ya udanganyifu hapa. 307 00:14:07,010 --> 00:14:09,980 >> Kwa hiyo, moja, foreach tuliona kwa ufupi mwisho wakati. 308 00:14:09,980 --> 00:14:13,680 Ni tu ina maana kwamba unaweza iterate juu ya safu bila bothering na i 309 00:14:13,680 --> 00:14:16,150 na n na pamoja na plus, na yote hayo. 310 00:14:16,150 --> 00:14:21,350 Kamusi ni ya kweli jina la faili, kitu kama kubwa au ndogo, mbili 311 00:14:21,350 --> 00:14:22,830 kamusi tulikuwa wakati wa mwisho. 312 00:14:22,830 --> 00:14:26,715 Picha ni kazi ambayo kufungua Nakala file, husoma katika mstari kwa mstari, na 313 00:14:26,715 --> 00:14:29,840 mikono nyuma safu kubwa, kila moja ya vipengele ambao ni 314 00:14:29,840 --> 00:14:31,340 line kutoka faili hilo. 315 00:14:31,340 --> 00:14:36,040 Ili mchanganyiko wa fopen, na fread, na wakati kitanzi, na fclose, 316 00:14:36,040 --> 00:14:37,080 na yote hayo. 317 00:14:37,080 --> 00:14:40,150 Hatimaye, kama neno tu ina maana kwamba ni variable mimi nina kwenda kupata 318 00:14:40,150 --> 00:14:41,890 juu ya kila iteration katika kitanzi hii. 319 00:14:41,890 --> 00:14:46,910 >> Hivyo katika muda mfupi, hii moja mjengo hapa ina maana kufungua faili ambaye jina lake ni katika 320 00:14:46,910 --> 00:14:50,750 kamusi, kutofautiana, iterate juu ya ni mstari kwa mstari, na kila wakati kupata 321 00:14:50,750 --> 00:14:54,290 line, duka katika variable kuitwa neno, na kisha kufanya kitu kwa neno. 322 00:14:54,290 --> 00:14:55,280 Je, mimi unataka kufanya nini? 323 00:14:55,280 --> 00:14:58,110 Nataka kuweka neno katika hash yangu meza. 324 00:14:58,110 --> 00:15:00,860 >> Naam, siwezi kuweka kitu katika wangu hash meza tu kama katika C 325 00:15:00,860 --> 00:15:02,140 kutumia mabano mraba. 326 00:15:02,140 --> 00:15:03,660 Hii ni jina kwa hash yangu meza. 327 00:15:03,660 --> 00:15:07,180 Mimi nina kwenda index ndani ya kwamba hash meza katika eneo hili. 328 00:15:07,180 --> 00:15:08,920 Hivyo si mabano sifuri, si mabano moja. 329 00:15:08,920 --> 00:15:11,990 Mabano quote unquote kitu, chochote neno kwamba ni. 330 00:15:11,990 --> 00:15:15,200 Na kama unaweza kuwa katika yako hash kazi meza trie, wewe tu kuhifadhi 331 00:15:15,200 --> 00:15:17,650 ufanisi Boolean, inamuunga au waziwazi. 332 00:15:17,650 --> 00:15:18,260 Kufanyika. 333 00:15:18,260 --> 00:15:20,000 Mimi nina kuhifadhi thamani ya kweli. 334 00:15:20,000 --> 00:15:23,150 >> Sasa kuna mambo kadhaa ya Mimi kukata pembe hapa. 335 00:15:23,150 --> 00:15:27,720 Kitaalam, kuna kwenda kuwa annoying mpya line, / n, mwishoni mwa 336 00:15:27,720 --> 00:15:28,820 kila ya maneno haya. 337 00:15:28,820 --> 00:15:31,770 Basi, mimi lazima pengine kuwaita PHP kazi aitwaye Night (), ambayo itakuwa 338 00:15:31,770 --> 00:15:33,460 halisi kabisa Night kwamba mbali. 339 00:15:33,460 --> 00:15:35,020 Na mimi kwa kweli haja ya kufanya kitu kingine moja. 340 00:15:35,020 --> 00:15:38,380 Mimi lazima pengine nyongeza ukubwa juu ya kila iteration, hivyo mimi nina kuweka wimbo 341 00:15:38,380 --> 00:15:39,560 kimataifa ya ni nini. 342 00:15:39,560 --> 00:15:43,180 Na kusema ukweli, na hii ni moja ya masuala stupider ya PHP, kama wewe ni 343 00:15:43,180 --> 00:15:46,950 kutumia variable kimataifa, unahitaji kwa wazi kusema kwamba wewe ni. 344 00:15:46,950 --> 00:15:51,670 Hivyo nina kwenda kwa kweli aina katika dunia $ Kawaida, kimataifa $ meza, na sasa 345 00:15:51,670 --> 00:15:52,690 kazi yangu ni kamili. 346 00:15:52,690 --> 00:15:57,475 >> Hivyo si kabisa kama rahisi kama kabla, lakini pengine alichukua muda chini ya C 347 00:15:57,475 --> 00:15:58,220 version, labda? 348 00:15:58,220 --> 00:15:58,730 OK. 349 00:15:58,730 --> 00:16:00,390 >> Hivyo sasa hebu kufanya kuangalia () kazi. 350 00:16:00,390 --> 00:16:04,300 Hebu tuone kama hii angalau alichukua masaa ya mwisho kwamba ilichukua sisi katika C. Hivyo 351 00:16:04,300 --> 00:16:06,500 napenda kwenda mbele na kutangaza kuangalia kama kazi. 352 00:16:06,500 --> 00:16:09,070 Inachukua katika hoja neno, ambayo ni atakuja kutoka Speller. 353 00:16:09,070 --> 00:16:13,410 Na mimi nina tu kwenda kuangalia kama zifuatazo variable isset, meza 354 00:16:13,410 --> 00:16:18,400 bracket strtolower ya neno - 355 00:16:18,400 --> 00:16:20,590 hebu usawa yote ya mabano yangu - 356 00:16:20,590 --> 00:16:24,275 kisha kurudi kweli. 357 00:16:24,275 --> 00:16:27,020 358 00:16:27,020 --> 00:16:28,460 Mwingine - 359 00:16:28,460 --> 00:16:30,330 kwamba ilikuwa ngumu sehemu ya mpango huu. 360 00:16:30,330 --> 00:16:31,940 Mwingine, kurudi uongo. 361 00:16:31,940 --> 00:16:32,630 Kufanyika. 362 00:16:32,630 --> 00:16:33,460 Hiyo ni kuangalia (). 363 00:16:33,460 --> 00:16:34,520 >> Sasa, kwa nini hii kazi? 364 00:16:34,520 --> 00:16:37,040 Naam, moja mimi kupita katika neno, ambayo ni kamba. 365 00:16:37,040 --> 00:16:41,400 Mbili, mimi nina kuangalia ndani ya hash meza, ambaye kuitwa $ meza. 366 00:16:41,400 --> 00:16:45,470 Mimi nina kulazimisha kwa Herufi za chini kwa wito kazi sawa kabisa tolower () katika 367 00:16:45,470 --> 00:16:48,580 C, lakini hii haina neno zima, si tabia moja. 368 00:16:48,580 --> 00:16:52,680 Na kama hiyo ni kuweka, kwa maneno mengine huko ni thamani kuweka, kwa maneno mengine, 369 00:16:52,680 --> 00:16:54,880 kama ni kweli, basi ndiyo, hii ni neno. 370 00:16:54,880 --> 00:16:56,530 Kwa sababu mimi kuiweka huko kwa mzigo (). 371 00:16:56,530 --> 00:16:59,100 Na kama sio, mimi nina kwenda na kurudi uongo. 372 00:16:59,100 --> 00:17:00,090 >> Sasa wengine ni rahisi. 373 00:17:00,090 --> 00:17:03,570 Kazi ya kawaida (), ni jinsi gani mimi kufanya hili? 374 00:17:03,570 --> 00:17:05,230 Mimi kimsingi kufanya kurudi $ kawaida. 375 00:17:05,230 --> 00:17:07,770 Lakini mimi kitaalam haja ya jambo hili annoying. 376 00:17:07,770 --> 00:17:10,640 Na kwa kweli up kusikia, nilikuwa kukata kona moja wengi mno. 377 00:17:10,640 --> 00:17:12,920 Mimi kwa kweli wanahitaji kufanya kimataifa $ meza. 378 00:17:12,920 --> 00:17:16,260 >> Lakini kwamba kuwa alisema, kupakua). 379 00:17:16,260 --> 00:17:17,380 Kupakua () ni ajabu. 380 00:17:17,380 --> 00:17:20,500 Kazi ipakuliwe (). 381 00:17:20,500 --> 00:17:23,990 Je, mimi unataka kutekeleza ipakuliwe ()? 382 00:17:23,990 --> 00:17:25,079 Kufanyika. 383 00:17:25,079 --> 00:17:25,450 OK. 384 00:17:25,450 --> 00:17:28,900 >> Hivyo kupakua (), usimamizi wa kumbukumbu ni kabisa kuchukuliwa huduma ya kwa ajili yenu katika 385 00:17:28,900 --> 00:17:31,800 kitu kama PHP na mengi lugha ngazi ya juu. 386 00:17:31,800 --> 00:17:32,600 Hivyo hii ni ya ajabu. 387 00:17:32,600 --> 00:17:36,080 Kama nini kuzimu hakuwa sisi alitumia siku za nyuma wiki pamoja na nane juu ya C kuandika 388 00:17:36,080 --> 00:17:41,030 inaonekana kweli polepole, kwa kweli wakati kuteketeza matatizo pamoja na mamia ya masaa 389 00:17:41,030 --> 00:17:42,530 ya kazi chini ya mikanda yetu? 390 00:17:42,530 --> 00:17:46,110 >> Naam, kwa jambo moja, hii inaweza kufanya kazi nzuri kwa ajili ya programu ndogo. 391 00:17:46,110 --> 00:17:47,840 Ni hakika kwa kasi juu yangu maendeleo ya muda. 392 00:17:47,840 --> 00:17:49,790 Lakini hebu angalia nini kinatokea katika ulimwengu wa kweli. 393 00:17:49,790 --> 00:17:52,370 >> Hebu kwenda katika saraka hii katika dirisha terminal. 394 00:17:52,370 --> 00:17:53,370 Kuna Speller. 395 00:17:53,370 --> 00:17:56,570 Na taarifa kama kando, na unaweza kuwa wamekutana hii katika kuweka tatizo 396 00:17:56,570 --> 00:17:58,190 sita au kuweka tatizo saba. 397 00:17:58,190 --> 00:18:01,610 Huwezi madhubuti na mwisho files PHP pamoja. php. 398 00:18:01,610 --> 00:18:05,250 Kama kuweka line kama kwamba moja ya kwanza katika juu sana, kwamba line maalum 399 00:18:05,250 --> 00:18:10,980 ya syntax kwamba kimsingi ina maana kupata mpango ujulikanao PHP na kuitumia 400 00:18:10,980 --> 00:18:12,270 kutafsiri faili hii. 401 00:18:12,270 --> 00:18:15,410 Basi sasa hakuna anayejua kwamba Mimi kuendesha programu PHP. 402 00:18:15,410 --> 00:18:19,860 Siwezi kukimbia tu kana kwamba walikuwa kitu ulioandaliwa katika C. 403 00:18:19,860 --> 00:18:20,650 >> Lakini hapa kitu. 404 00:18:20,650 --> 00:18:21,600 Kwa kweli, hebu kufanya hivyo tena. 405 00:18:21,600 --> 00:18:23,530 Dropbox/pset6 /. 406 00:18:23,530 --> 00:18:25,390 Kuna Speller. 407 00:18:25,390 --> 00:18:26,720 OK, sekunde 0.44. 408 00:18:26,720 --> 00:18:28,080 It got kasi wakati huu. 409 00:18:28,080 --> 00:18:29,745 >> Sasa hebu kwenda katika PHP version. 410 00:18:29,745 --> 00:18:43,070 411 00:18:43,070 --> 00:18:44,320 Nice kuwasiliana. 412 00:18:44,320 --> 00:18:50,830 413 00:18:50,830 --> 00:18:53,285 Lakini nadhani tu wakati kiasi gani Mimi kuokolewa katika saa za ofisi. 414 00:18:53,285 --> 00:18:56,990 415 00:18:56,990 --> 00:18:57,790 OK. 416 00:18:57,790 --> 00:19:01,020 >> Hivyo sekunde 3.59, ambayo kwa kweli haina sauti sahihi ama. 417 00:19:01,020 --> 00:19:03,710 Lakini hiyo ni kwa sababu hadithi muda mfupi, wakati wewe ni uchapishaji nje kiasi kikubwa 418 00:19:03,710 --> 00:19:06,840 ya mambo ya screen, kwamba yenyewe kupungua mambo chini. 419 00:19:06,840 --> 00:19:11,260 Nini kweli alichukua CPU katika appliance mara 3.59 sekunde, katika 420 00:19:11,260 --> 00:19:15,260 Tofauti na C, ambayo alichukua 0.44 sekunde hivi karibuni. 421 00:19:15,260 --> 00:19:17,620 Hiyo ni kweli utaratibu wa ukubwa tofauti. 422 00:19:17,620 --> 00:19:20,280 >> Hivyo ambapo ni bei ya kwamba kuja kutoka? 423 00:19:20,280 --> 00:19:21,790 Kwa nini ni polepole sana? 424 00:19:21,790 --> 00:19:24,220 Kwa nini PHP kufanya hivyo vibaya? 425 00:19:24,220 --> 00:19:25,242 Danielle? 426 00:19:25,242 --> 00:19:26,550 >> Watazamaji: Wewe si kweli kutumia meza hash. 427 00:19:26,550 --> 00:19:27,710 >> DAVID Malan: Mimi si kweli kutumia meza hash. 428 00:19:27,710 --> 00:19:28,760 Hivyo mimi aina ya alivyofanya. 429 00:19:28,760 --> 00:19:29,870 Hivyo ni safu associative. 430 00:19:29,870 --> 00:19:33,650 Uwezekano mkubwa zaidi kama watu katika PHP ni kweli smart, walitumia chini ya 431 00:19:33,650 --> 00:19:39,520 Hood halisi hash meza kutekelezwa katika kitu kama C au C + +. 432 00:19:39,520 --> 00:19:41,290 Lakini. 433 00:19:41,290 --> 00:19:42,760 Yeah. 434 00:19:42,760 --> 00:19:44,010 >> Watazamaji: [inaudible]. 435 00:19:44,010 --> 00:19:46,690 436 00:19:46,690 --> 00:19:47,080 >> DAVID Malan: Yeah. 437 00:19:47,080 --> 00:19:50,780 Hivyo kila moja ya kazi niliandika sasa - kwa kweli, unaweza kusema kwamba kwa mara nyingine tena 438 00:19:50,780 --> 00:19:51,480 kidogo kwa sauti? 439 00:19:51,480 --> 00:19:54,509 >> Watazamaji: Kila moja ya kazi ambayo wewe ni pamoja na ina mengi zaidi kamili 440 00:19:54,509 --> 00:19:56,610 uwezo kuliko - 441 00:19:56,610 --> 00:19:57,550 >> DAVID Malan: Basi hiyo ni kweli sana. 442 00:19:57,550 --> 00:20:01,490 Kuna mengi zaidi Rudia kwamba sisi ni si kweli kuona na kuelekeza tu juu ya 443 00:20:01,490 --> 00:20:03,730 dictionary.php, ambayo mimi tu aliandika. 444 00:20:03,730 --> 00:20:08,020 Kwa upande mwingine, kuna mkalimani nzima kwenda kwa nyuma. 445 00:20:08,020 --> 00:20:12,040 Hakika, wakati mimi mbio mpango huu, ni ilikuwa si mbio zeros ulioandaliwa na ndio 446 00:20:12,040 --> 00:20:14,290 iliyoundwa kwa ajili ya CPU yangu Intel. 447 00:20:14,290 --> 00:20:19,270 Badala yake, alikuwa akikimbia mstari kwa mstari PHP kificho kwamba inaonekana hasa 448 00:20:19,270 --> 00:20:20,350 kama sisi typed. 449 00:20:20,350 --> 00:20:22,475 Na hivyo wakati wewe kutumia kufasiriwa lugha, wewe 450 00:20:22,475 --> 00:20:23,850 kweli kufanya kulipa bei hii. 451 00:20:23,850 --> 00:20:27,010 Ni kwenda kuchukua muda wa kusoma faili yako ya juu hadi chini, kushoto na 452 00:20:27,010 --> 00:20:30,740 haki, na kisha kutoa kila kujipanga tena na tena. 453 00:20:30,740 --> 00:20:34,250 >> Sasa katika hali halisi, hasa kwenye mtandao, unaweza kweli kasi ya mchakato huu 454 00:20:34,250 --> 00:20:38,660 na Caching matokeo ya Kanuni PHP inatafsiriwa. 455 00:20:38,660 --> 00:20:41,640 Na kwamba inafanya hisia kwenye mtandao, kwa sababu kama wewe si mmoja mtumiaji kama 456 00:20:41,640 --> 00:20:46,300 mimi hapa, lakini watumiaji 1,000 au 10,000, kisha labda mara ya kwanza ni faili 457 00:20:46,300 --> 00:20:49,050 kupatikana ni mwepesi, lakini baada ya hapo ni kwa kasi zaidi. 458 00:20:49,050 --> 00:20:51,000 >> Lakini hii pia, tena, ni biashara ya mbali. 459 00:20:51,000 --> 00:20:53,870 Na kwa ajili ya kitu kama takwimu za utafiti kuweka, au hata kitu kubwa kama 460 00:20:53,870 --> 00:20:58,330 huu, watumiaji yako hatimaye kuanza kuhisi kwamba kushuka. 461 00:20:58,330 --> 00:21:02,670 >> Hivyo katika muda mfupi, kufasiriwa lugha ni sana katika Vogue, maarufu sana, na 462 00:21:02,670 --> 00:21:06,710 kusema ukweli pengine ni lugha wewe lazima kufikia kwa wakati kutatua matatizo 463 00:21:06,710 --> 00:21:08,200 baadae CS50. 464 00:21:08,200 --> 00:21:12,720 Lakini kutambua ni kiasi gani wewe ni kweli kuchukua kwa nafasi chini ya Hood 465 00:21:12,720 --> 00:21:15,910 kweli wale kadhaa iliyopita baada ya wiki katika hash meza, na miti, na inajaribu, 466 00:21:15,910 --> 00:21:20,770 ambayo hutumiwa hatimaye kwa kweli kutekeleza mambo kama mabano wazi, 467 00:21:20,770 --> 00:21:24,200 Mabano ya mraba, ambayo tunaweza sasa shukrani kuchukua kwa nafasi. 468 00:21:24,200 --> 00:21:26,360 >> Hivyo hebu tuangalie sasa katika muktadha huu mtandao. 469 00:21:26,360 --> 00:21:29,890 Na nilivyoeleza mara ya mwisho kwamba kuna rundo la superglobals katika PHP kwamba 470 00:21:29,890 --> 00:21:32,490 si kweli husika katika mstari amri. 471 00:21:32,490 --> 00:21:36,210 Wao ni muhimu zaidi katika mazingira ya ya kutumia PHP katika mazingira mtandao. 472 00:21:36,210 --> 00:21:41,220 Hivyo mbio PHP juu ya mtandao wa kompyuta ili kuzalisha mambo kama HTML. 473 00:21:41,220 --> 00:21:44,540 >> Na sisi akapiga saa $ _GET na $ _POST, na hiyo ambapo moja ya watumiaji ' 474 00:21:44,540 --> 00:21:49,100 pembejeo kuishia tu kama wewe kuwasilisha kuunda na faili unaomalizika. php kwenye mtandao 475 00:21:49,100 --> 00:21:50,460 server kama appliance. 476 00:21:50,460 --> 00:21:53,310 Lakini hebu tutazame $ _COOKIE Na $ _SESSION. 477 00:21:53,310 --> 00:21:56,670 >> Katika suala layman, ni nini kuki kama wewe kuelewa ni katika mazingira ya 478 00:21:56,670 --> 00:21:58,220 kutumia mtandao? 479 00:21:58,220 --> 00:21:59,450 >> Watazamaji: Picha ya kompyuta. 480 00:21:59,450 --> 00:21:59,920 >> DAVID Malan: Yeah. 481 00:21:59,920 --> 00:22:03,500 Ni faili kwenye kompyuta ya mtumiaji kupandwa na tovuti yoyote 482 00:22:03,500 --> 00:22:04,410 kutokea kwa kutembelea. 483 00:22:04,410 --> 00:22:07,334 Hivyo wakati wewe kwenda Facebook, wakati wa kwenda kwa bankofamerica.com, wakati wa kwenda 484 00:22:07,334 --> 00:22:10,330 kwa google.com, wakati wa kwenda karibu yoyote tovuti katika dunia siku hizi, 485 00:22:10,330 --> 00:22:14,850 ikiwa ni pamoja na cs50.net, kuki ni kupandwa kwenye kompyuta yako, ambayo ni 486 00:22:14,850 --> 00:22:19,800 ama thamani ya kuhifadhiwa katika RAM katika yako kompyuta katika kumbukumbu ya browser yako, au 487 00:22:19,800 --> 00:22:22,800 wakati mwingine kweli faili kuhifadhiwa kwenye gari yako ngumu. 488 00:22:22,800 --> 00:22:26,960 >> Na nini kawaida kuhifadhiwa katika faili kwamba si user name yako, si yako 489 00:22:26,960 --> 00:22:31,060 password, kawaida si kitu nyeti isipokuwa tovuti si hivyo 490 00:22:31,060 --> 00:22:35,040 mzuri na usalama wao, lakini badala ni kubwa kipekee kati ya kitambulisho 491 00:22:35,040 --> 00:22:35,680 mambo mengine. 492 00:22:35,680 --> 00:22:38,920 Ni kubwa random idadi kupanda juu yako kompyuta lakini unaweza kufikiria kama 493 00:22:38,920 --> 00:22:42,740 aina ya muhuri virtual mkono kama kutoka klabu au baadhi ya Hifadhi ya pumbao kwamba 494 00:22:42,740 --> 00:22:47,160 inaruhusu wafanyakazi, wamiliki wa kwamba huduma, kukumbuka wewe ni nani. 495 00:22:47,160 --> 00:22:51,030 Hivyo kama kubwa ya simu random ni kama 12345678, ingawa hiyo ni wazi 496 00:22:51,030 --> 00:22:54,180 pia si random, kufikiri ya kwamba kama mkono muhuri kwamba wakati wa ziara 497 00:22:54,180 --> 00:22:57,930 facebook.com kwa mara ya kwanza, wao muhuri kwamba idadi juu ya mkono wako. 498 00:22:57,930 --> 00:23:01,510 Na kisha kwa sababu wewe kusema HTTP, unaweza kuwa browser, na kwa sababu Facebook 499 00:23:01,510 --> 00:23:06,440 wazi anaongea huo kama mtandao server, HTTP itifaki anasema kwamba 500 00:23:06,440 --> 00:23:09,930 wowote hatimaye kutembelea facebook.com, kama ni ya pili 501 00:23:09,930 --> 00:23:13,560 baadaye, saa baadaye, hata siku ya pili, hivyo muda mrefu kama una si wazi 502 00:23:13,560 --> 00:23:17,050 watumiaji nje, ambayo kwa ufanisi ni kama kuosha mikono yako. 503 00:23:17,050 --> 00:23:20,280 HTTP inasema unapaswa sasa wako mkono muhuri kila wakati 504 00:23:20,280 --> 00:23:22,020 kurudi kwa tovuti hiyo. 505 00:23:22,020 --> 00:23:24,390 >> Nini Facebook basi haina ni wao kuangalia muhuri kwamba mkono na 506 00:23:24,390 --> 00:23:26,850 wanasema, oh, 123,456,789. 507 00:23:26,850 --> 00:23:30,260 Sijui katika mtazamo wa kwanza kwamba hii ni David Malan katika Cambridge, 508 00:23:30,260 --> 00:23:34,690 Massachusetts, lakini wanaweza kuangalia yao database na kusema, oh, mtu 509 00:23:34,690 --> 00:23:39,930 juu ambao kompyuta sisi kupandwa 123456789 ni David Malan kutoka Cambridge, 510 00:23:39,930 --> 00:23:40,440 Massachusetts. 511 00:23:40,440 --> 00:23:46,000 Hebu kuonyesha kuwa mtumiaji basi profile yake ukurasa au Habari wake Feed. 512 00:23:46,000 --> 00:23:49,660 >> Lakini kuna tatizo hapa kama hii ni jinsi ya mtandao kwa kweli kazi. 513 00:23:49,660 --> 00:23:51,390 Hebu tuangalie mfano wa haraka. 514 00:23:51,390 --> 00:23:55,190 Hebu kweli kwenda kusema facebook.com. 515 00:23:55,190 --> 00:23:58,130 Lakini kabla tunaweza kwenda huko, basi mimi kwenda mbele na kufungua Chrome 516 00:23:58,130 --> 00:23:59,790 Mkaguzi chini hapa. 517 00:23:59,790 --> 00:24:01,140 Hebu tuangalie tab mtandao. 518 00:24:01,140 --> 00:24:06,020 Na sasa hebu kwenda mbele na aina katika https://facebook.com. 519 00:24:06,020 --> 00:24:09,410 Na mimi nina kufanya kwamba ili kwamba hatuoni yote ya maelekezo hayo na taka 520 00:24:09,410 --> 00:24:10,660 muda wa kutafuta njia ya wale. 521 00:24:10,660 --> 00:24:12,690 Hebu hit kuingia. 522 00:24:12,690 --> 00:24:13,130 >> Wote haki. 523 00:24:13,130 --> 00:24:14,580 Tunaona rundo zima la maombi. 524 00:24:14,580 --> 00:24:15,640 Iwafikie Facebook. 525 00:24:15,640 --> 00:24:16,930 Kuna rundo zima la files. 526 00:24:16,930 --> 00:24:19,290 Na hapa, kwa kutaja yangu ya latency mara ya mwisho, hiyo ni 527 00:24:19,290 --> 00:24:21,240 mengi ya maombi HTTP. 528 00:24:21,240 --> 00:24:23,700 Lakini moja ya kwanza pengine ni kuvutia zaidi. 529 00:24:23,700 --> 00:24:26,420 >> Basi hebu kitabu hapa chini, na Mimi itabidi kuvuta katika pili. 530 00:24:26,420 --> 00:24:29,090 Hii ni kwenda kuwa aina ya fujo, lakini hebu angalia. 531 00:24:29,090 --> 00:24:31,660 Picha ni kupeleka sisi nzima rundo la mambo ya ajabu. 532 00:24:31,660 --> 00:24:33,490 >> Lakini Ho, ya kuvutia. 533 00:24:33,490 --> 00:24:37,880 Wao ni kupanda hata mmoja, lakini wanne mkono mihuri kwenye mkono wangu hapa. 534 00:24:37,880 --> 00:24:40,400 Kuweka-cookie, Kuweka-cookie, kuweka-cookie, kuweka-kuki. 535 00:24:40,400 --> 00:24:44,030 Na kuna makala chache hapa. 536 00:24:44,030 --> 00:24:46,170 Wote hao kutaja baadhi aina ya kumalizika muda wake. 537 00:24:46,170 --> 00:24:50,090 Na inaonekana kama Facebook ni matumaini kukumbuka mimi mpaka mwaka 2015. 538 00:24:50,090 --> 00:24:53,670 Hivyo kwamba ni labda wakati na ambayo Mimi ni lazima logi nje au wao itabidi tu 539 00:24:53,670 --> 00:24:55,710 moja kwa moja kudhani mimi nina si kuja nyuma. 540 00:24:55,710 --> 00:24:57,840 Hivyo kwamba ni kweli heshima kiasi cha muda. 541 00:24:57,840 --> 00:24:59,170 >> Na kuna baadhi ya wengine mambo kinachoendelea hapa. 542 00:24:59,170 --> 00:25:03,036 Kuki hii inaonekana kuwa nguvu ilifutwa kwa kusema kuwa muda wake mwaka 1970 543 00:25:03,036 --> 00:25:04,460 kabla ya cookies kuwepo. 544 00:25:04,460 --> 00:25:06,510 Kwa hiyo kivinjari ni kwenda tu kwa kudhani OK, hiyo ni kama 545 00:25:06,510 --> 00:25:07,910 kuosha mikono muhuri. 546 00:25:07,910 --> 00:25:11,240 >> Lakini sasa wakati browser yangu inafanya ombi baadae - 547 00:25:11,240 --> 00:25:14,340 napenda kwenda mbele na kufanya hili tena na Reload. 548 00:25:14,340 --> 00:25:18,170 Sasa basi mimi nyuma ya kitabu juu ya ombi na kwenda chini 549 00:25:18,170 --> 00:25:20,760 hapa, ombi headers. 550 00:25:20,760 --> 00:25:21,390 Taarifa hii. 551 00:25:21,390 --> 00:25:25,280 Hivyo sasa nina chini si majibu headers, lakini taarifa inasema headers ombi. 552 00:25:25,280 --> 00:25:29,220 Na taarifa kwamba browser yangu kama sehemu ya ombi lake baada ya kupiga Reload ina 553 00:25:29,220 --> 00:25:32,780 alimtuma angalau zifuatazo habari. 554 00:25:32,780 --> 00:25:34,670 Si kuweka-cookie, lakini kuki. 555 00:25:34,670 --> 00:25:38,750 Hivyo hii ni ya mstari, header HTTP hivyo kusema, ambapo browser yangu ni aina 556 00:25:38,750 --> 00:25:43,340 ya bila kujua yangu ni kuwasilisha mkono wangu kwa ajili ya ukaguzi wa Facebook. 557 00:25:43,340 --> 00:25:46,020 >> Basi hizi cookies inaweza kuwa kutumika basi kwa nini? 558 00:25:46,020 --> 00:25:49,420 Kukumbuka wewe ni nani, au kukumbuka jinsi mara nyingi tumekuwa huko, au 559 00:25:49,420 --> 00:25:50,280 kweli kitu. 560 00:25:50,280 --> 00:25:52,742 >> Hivyo hapa ni counter.php. 561 00:25:52,742 --> 00:25:53,780 Na napenda kuvuta font. 562 00:25:53,780 --> 00:25:58,380 Na kila wakati mimi Reload ukurasa huu, taarifa ni kukumbuka mara ngapi 563 00:25:58,380 --> 00:25:59,250 Nimekuwa huko. 564 00:25:59,250 --> 00:26:00,570 Naam, si kwamba kuvutia kwamba wote. 565 00:26:00,570 --> 00:26:03,140 Hebu tu karibu kwamba tab, na sasa hebu kwenda nyuma ya 566 00:26:03,140 --> 00:26:07,860 http://localhost/counter.php. 567 00:26:07,860 --> 00:26:08,970 >> Oh, hiyo ni ya kuvutia. 568 00:26:08,970 --> 00:26:10,960 Bado ikumbukwe, hata ingawa mimi imefungwa tab. 569 00:26:10,960 --> 00:26:14,010 Na kusema ukweli, kama mimi karibu browser, kama kutekelezwa katika njia ya haki, mimi 570 00:26:14,010 --> 00:26:18,950 bado anaweza kukumbuka kwamba mtumiaji hii ni ambaye yeye au yeye ni mara ya kwanza, na 571 00:26:18,950 --> 00:26:22,840 mara moja tu mimi kwenda katika menyu ya Chrome, ambayo juu hapa ni hapa, na kwenda 572 00:26:22,840 --> 00:26:25,990 Historia, na bonyeza Takwimu Inatafuta wazi, kama baadhi yenu wanaweza kuwa katika 573 00:26:25,990 --> 00:26:33,050 siku za nyuma, basi tu mapenzi cookies zako kweli kuwa ilifutwa wakati wa mtandao 574 00:26:33,050 --> 00:26:33,970 maendeleo. 575 00:26:33,970 --> 00:26:35,340 >> Hivyo, kama sisi kwenda - 576 00:26:35,340 --> 00:26:37,080 hebu karibu up gedit hapa. 577 00:26:37,080 --> 00:26:38,910 Na kama sisi kwenda sasa na faili hii. 578 00:26:38,910 --> 00:26:44,210 Hebu kwenda katika yetu vhosts / localhost / umma, na napenda kufanya 579 00:26:44,210 --> 00:26:46,340 counter.php. 580 00:26:46,340 --> 00:26:48,350 Taarifa kwamba hii ni pretty rahisi mpango. 581 00:26:48,350 --> 00:26:50,250 Ni tovuti pretty rahisi. 582 00:26:50,250 --> 00:26:51,770 >> Hivyo juu ya faili ni maoni. 583 00:26:51,770 --> 00:26:54,930 Lakini hapa ni mstari mpya kuwa unaweza kufanya tumeona tayari katika p-seti saba, 584 00:26:54,930 --> 00:26:56,000 session_start (). 585 00:26:56,000 --> 00:27:00,380 Hii ni mstari wa kanuni PHP kwamba kimsingi anasema mtandao wa kompyuta, kufanya 586 00:27:00,380 --> 00:27:03,400 uhakika na muhuri wa mikono na kufanya uhakika wa kuangalia mihuri mkono. 587 00:27:03,400 --> 00:27:06,810 Hiyo ni kwamba kila mstari gani, na ni anafanya yote ya utaratibu huo kwa ajili yetu. 588 00:27:06,810 --> 00:27:09,510 Basi taarifa nimekuwa tu got matawi mawili hapa. 589 00:27:09,510 --> 00:27:14,150 Kama kukabiliana ufunguo ndani ya hii maalum wa kimataifa variable kuitwa 590 00:27:14,150 --> 00:27:18,010 _SESSION $ Ni kuweka - kwa maneno mengine, kama kuna baadhi ya thamani pale - 591 00:27:18,010 --> 00:27:22,440 hebu kupata na kuhifadhi katika mitaa variable kuitwa $ kukabiliana. 592 00:27:22,440 --> 00:27:27,000 Mwingine, hebu hawawajui $ kukabiliana default thamani ya 0. 593 00:27:27,000 --> 00:27:30,320 >> Sasa hapa ni hali moja ya PHP kwamba baraka na laana. 594 00:27:30,320 --> 00:27:32,080 PHP ni kidogo sloppy. 595 00:27:32,080 --> 00:27:35,160 Hivyo ambapo katika C, gani wigo wa kukabiliana na wamekuwa 596 00:27:35,160 --> 00:27:36,725 hapa au hapa? 597 00:27:36,725 --> 00:27:39,270 598 00:27:39,270 --> 00:27:41,690 >> Ingekuwa funge kwa wale braces curly. 599 00:27:41,690 --> 00:27:42,090 Nadhani nini? 600 00:27:42,090 --> 00:27:46,920 Katika PHP, ipo hata nje ya wale curly braces, hapa, na hapa, 601 00:27:46,920 --> 00:27:49,120 na hapa, na hapa, na hata chini chini. 602 00:27:49,120 --> 00:27:52,400 Hivyo mimi kusema hii ni baraka katika hisia kwamba huna kufikiri kama 603 00:27:52,400 --> 00:27:54,070 ngumu kama tulivyofanya wiki iliyopita. 604 00:27:54,070 --> 00:27:56,880 Lakini pia ni kidogo ya laana kwa kuwa hakuna jambo ambapo matumizi ya kutofautiana katika 605 00:27:56,880 --> 00:28:00,020 PHP, angalau katika mpango kama huu, ni kupatikana kwa ajili ya kimataifa 606 00:28:00,020 --> 00:28:01,170 bora au mbaya. 607 00:28:01,170 --> 00:28:06,130 Hivyo kuwa na kukumbuka kwamba sasa vigezo yako inaweza kuwa kisichojulikana. 608 00:28:06,130 --> 00:28:07,640 Unaweza kuwa hufafanuliwa yao mahali pengine. 609 00:28:07,640 --> 00:28:09,460 >> Lakini je, Mimi naenda kufanya hatimaye? 610 00:28:09,460 --> 00:28:13,160 Mimi nina kwenda kuhifadhi ndani ya kwamba kimataifa kutofautiana kama thamani ya 611 00:28:13,160 --> 00:28:17,060 kukabiliana na muhimu matokeo ya kufanya kukabiliana pamoja na 1. 612 00:28:17,060 --> 00:28:18,910 Hivyo hii ni hesabu kwamba haina 613 00:28:18,910 --> 00:28:20,590 incrementation ya kukabiliana na kwamba. 614 00:28:20,590 --> 00:28:24,850 Na ukweli kwamba mimi nina kuhifadhi kwamba thamani nyuma katika hapa ni njia ya 615 00:28:24,850 --> 00:28:29,970 kimsingi update database kukumbuka kwamba mtumiaji 123456789 imekuwa 616 00:28:29,970 --> 00:28:31,010 hapa mara mbili. 617 00:28:31,010 --> 00:28:33,780 Na wakati mimi kufanya hivyo tena wakati mwingine mimi upya ukurasa, ni kwenda kuangalia 618 00:28:33,780 --> 00:28:36,710 mkono wangu muhuri na kusema, oh, mtumiaji 123456789 ina sasa 619 00:28:36,710 --> 00:28:38,410 hapa mara tatu. 620 00:28:38,410 --> 00:28:43,390 >> Na hivyo kile PHP na lugha sawa ni kufanya kwa ajili yetu ni wao ni kuhesabia 621 00:28:43,390 --> 00:28:47,720 nje jinsi na wapi na kwa muda gani kuhifadhi maadili katika hii maalum 622 00:28:47,720 --> 00:28:48,830 superglobal. 623 00:28:48,830 --> 00:28:52,750 Na hii superglobal wakati mwingine mimi kutembelea ukurasa ni aina ya magically 624 00:28:52,750 --> 00:28:57,440 kabla ya wakazi, kujazwa na maadili ambayo kulikuwa na mara ya mwisho alitembelea, 625 00:28:57,440 --> 00:29:02,310 kama kwamba alikuwa wa pili iliyopita, wiki iliyopita, au mwaka 2013 na sasa tuko kuzungumza 626 00:29:02,310 --> 00:29:03,790 kuhusu mwaka 2015. 627 00:29:03,790 --> 00:29:07,600 PHP na utunzaji mtandao wa kompyuta ya yote kwa ajili yenu. 628 00:29:07,600 --> 00:29:08,850 >> Watazamaji: [inaudible]. 629 00:29:08,850 --> 00:29:11,900 630 00:29:11,900 --> 00:29:15,760 >> DAVID Malan: Vigezo katika PHP ni kimsingi daima kimataifa kama wewe 631 00:29:15,760 --> 00:29:18,400 kutangaza yao ndani ya kazi, na kisha wao ni ndani 632 00:29:18,400 --> 00:29:19,420 kazi tu. 633 00:29:19,420 --> 00:29:22,300 Lakini kwa sababu nimekuwa si imeandikwa yoyote kazi, wao ni sasa kwa ufanisi 634 00:29:22,300 --> 00:29:25,090 kimataifa katika faili yangu yote hapa. 635 00:29:25,090 --> 00:29:26,040 >> Watazamaji: Je, kuna njia kuwafanya ndani? 636 00:29:26,040 --> 00:29:28,470 >> DAVID Malan: Je, kuna yeyote njia ya kuwafanya ndani? 637 00:29:28,470 --> 00:29:30,680 Tu kwa wrapping yao katika kazi. 638 00:29:30,680 --> 00:29:32,790 Ambayo katika toleo la karibuni la PHP, unaweza kufanya hivyo kwa 639 00:29:32,790 --> 00:29:34,130 kazi bila majina. 640 00:29:34,130 --> 00:29:35,930 Lakini zaidi juu ya kwamba katika mazingira ya JavaScript. 641 00:29:35,930 --> 00:29:37,260 Lakini jibu fupi ni no. 642 00:29:37,260 --> 00:29:40,888 jibu tena ni ndiyo. 643 00:29:40,888 --> 00:29:42,380 Nice. 644 00:29:42,380 --> 00:29:43,380 Jaribio nzuri swali. 645 00:29:43,380 --> 00:29:43,930 Sawa. 646 00:29:43,930 --> 00:29:47,760 >> Hivyo mwisho, ukurasa yenyewe ni kweli pretty rahisi. 647 00:29:47,760 --> 00:29:51,470 Taarifa kwamba mara moja mimi exit PHP mode, kukumbuka kwamba wote wa mambo haya chini 648 00:29:51,470 --> 00:29:53,700 chini ni kwenda tu kupata mate nje ghafi ya browser. 649 00:29:53,700 --> 00:29:57,050 Ambayo ni mzuri, kwa sababu mimi unataka kutuma user baadhi HTML, lakini mimi unataka 650 00:29:57,050 --> 00:29:59,140 kwa dynamically update kwamba HTML. 651 00:29:59,140 --> 00:30:03,930 Na njia moja siwezi kufanya hivyo ni aina ya haraka sana kuacha nyuma katika PHP 652 00:30:03,930 --> 00:30:07,730 mode, matumizi ya bracket wazi swali alama ishara sawa, na kisha thamani ya pato la 653 00:30:07,730 --> 00:30:08,650 ya kukabiliana. 654 00:30:08,650 --> 00:30:12,360 >> Au kama hii inaonekana kidogo cryptic, hii ishara sawa ni kweli tu baadhi 655 00:30:12,360 --> 00:30:16,190 sukari Kiwango cha kisintaksia kwa hii printf ($ counter). 656 00:30:16,190 --> 00:30:19,160 Lakini kusema ukweli, kwamba ni kidogo tu ugly na kidogo annoying kwa aina. 657 00:30:19,160 --> 00:30:23,660 Hivyo PHP nicely sana inatoa kipengele hiki ambapo unaweza tu kusema ni zaidi 658 00:30:23,660 --> 00:30:25,450 ufupi katika njia hiyo hiyo. 659 00:30:25,450 --> 00:30:26,940 >> Hivyo nini kinaendelea chini ya kofia? 660 00:30:26,940 --> 00:30:31,210 Hebu haraka kuangalia katika mtandao tab hapa kwa counter.php. 661 00:30:31,210 --> 00:30:35,090 Na napenda kwenda mbele na kwanza hebu wazi cookies zako. 662 00:30:35,090 --> 00:30:38,670 Hebu kuvinjari data wazi tangu mwanzo wa wakati. 663 00:30:38,670 --> 00:30:39,680 Sasa hebu kwenda nyuma zaidi ya hapa. 664 00:30:39,680 --> 00:30:41,340 Sasa hebu upya ukurasa. 665 00:30:41,340 --> 00:30:42,170 Na mimi nina nyuma katika sifuri. 666 00:30:42,170 --> 00:30:44,810 Kwa sababu mkono wangu muhuri imechukuliwa, Mimi sasa kupata kuki mpya. 667 00:30:44,810 --> 00:30:48,780 >> Hakika kama mimi kuangalia tab mtandao na kuangalia majibu headers, taarifa 668 00:30:48,780 --> 00:30:51,960 kwamba appliance ni kutuma mimi cookie ambaye jina lake ni kiasi fulani 669 00:30:51,960 --> 00:30:55,820 kiholela, lakini aina ya sababu, PHPSESSID. 670 00:30:55,820 --> 00:30:58,440 Na ni hii kutuma mimi kwa kweli kubwa random idadi. 671 00:30:58,440 --> 00:30:59,440 Siyo kabisa idadi. 672 00:30:59,440 --> 00:31:00,390 Siyo hexadesimoli kabisa. 673 00:31:00,390 --> 00:31:03,600 Ni aina fulani ya kamba alphanumeric, lakini labda ni random. 674 00:31:03,600 --> 00:31:06,830 Na kwamba ni mkono muhuri ili kusema kwamba mimi nina akimaanisha. 675 00:31:06,830 --> 00:31:11,960 >> Wakati huo huo kama mimi bonyeza Reload na kisha kuangalia line hii ya pili kwa ajili ya pili wangu 676 00:31:11,960 --> 00:31:17,600 ombi, taarifa sasa kwamba ombi langu headers ni pamoja na PHPSESSID sawa na hii, 677 00:31:17,600 --> 00:31:19,390 si kuweka-cookie, lakini tu cookie. 678 00:31:19,390 --> 00:31:22,950 Na kwamba kuwasilisha browser yangu ya mkono wangu muhuri. 679 00:31:22,950 --> 00:31:28,820 >> Hivyo sasa kama teaser, na tutaweza majadiliano zaidi kuhusu hili katika wiki au hivyo, lakini 680 00:31:28,820 --> 00:31:31,590 katika njia gani hii kufanya mazingira magumu, akaunti yako Facebook 681 00:31:31,590 --> 00:31:34,137 mazingira magumu, na mengine kama akaunti mazingira magumu? 682 00:31:34,137 --> 00:31:35,510 >> Watazamaji: Kama mtu ana cookie yako. 683 00:31:35,510 --> 00:31:36,750 >> DAVID Malan: Yeah, kama mtu ina cookie yako. 684 00:31:36,750 --> 00:31:39,920 I mean kweli, kama ilivyo kwa baadhi yenu wanaweza wamejaribu katika kama klabu au 685 00:31:39,920 --> 00:31:44,030 Hifadhi ya pumbao, kama wewe kujaribu kitu kama hii nakala muhuri, pamoja na 686 00:31:44,030 --> 00:31:47,560 nyuma kwenye mkono wa mtu mwingine, na kisha yeye au yeye kumwakilisha kama 687 00:31:47,560 --> 00:31:53,250 yao wenyewe, kama ni kweli haina kuangalia kufanana, 123456789, basi mtandao 688 00:31:53,250 --> 00:31:57,980 server ni inaonekana tu kwenda kuamini kwamba user kwamba ni wewe. 689 00:31:57,980 --> 00:32:01,450 >> Na hii ni kweli ya msingi tishio wakati wowote kutumia cookies 690 00:32:01,450 --> 00:32:05,420 kwa sababu kama mtu tu spoofs hivyo kusema cookie yako, takwimu nje ni nini 691 00:32:05,420 --> 00:32:08,660 ni, ama kwa kweli kuiga kwa kuangalia katika kompyuta yako 692 00:32:08,660 --> 00:32:09,890 na kuwa kama, OK. 693 00:32:09,890 --> 00:32:14,520 Cookie Daudi ni JJ3JIK na kadhalika, na kisha wao ni smart kutosha kujua 694 00:32:14,520 --> 00:32:18,080 jinsi ya aina ya manually kutuma kwamba cookie kutoka browser au kutoka 695 00:32:18,080 --> 00:32:22,350 mpango wao kuandika, wanaweza kabisa kuingia katika tovuti kama wewe. 696 00:32:22,350 --> 00:32:28,560 Ni si kwamba ni vigumu kujifanya kuwa mtu mwingine isipokuwa sisi kupitia upya p-kuweka 697 00:32:28,560 --> 00:32:30,790 mbili, ambayo ilianzisha nini? 698 00:32:30,790 --> 00:32:32,065 >> Watazamaji: Cryptography. 699 00:32:32,065 --> 00:32:33,860 >> DAVID Malan: kidogo kidogo ya cryptography. 700 00:32:33,860 --> 00:32:36,550 Rahisi cryptography, angalau katika toleo la kawaida, lakini crypto 701 00:32:36,550 --> 00:32:36,870 hata hivyo. 702 00:32:36,870 --> 00:32:37,410 chini. 703 00:32:37,410 --> 00:32:41,440 Hivyo ni zamu nje kama wewe fumbo yote ya headers haya kwa kutumia kitu ambacho 704 00:32:41,440 --> 00:32:48,770 kusudi, sasa kwa kujua familiarly zaidi kama SSL, safu ya soketi salama, au https:// URLs, 705 00:32:48,770 --> 00:32:51,890 kisha mambo yote haya tumekuwa glancing katika ni kweli encrypted, 706 00:32:51,890 --> 00:32:54,800 ambayo ina maana kwamba ni kama wewe hawawezi kusoma mkono muhuri. 707 00:32:54,800 --> 00:32:59,350 Tu facebook.com anaweza, au google.com, au katika kesi hii, appliance unaweza 708 00:32:59,350 --> 00:33:00,550 kusoma mkono muhuri. 709 00:33:00,550 --> 00:33:04,020 >> Kwa bahati mbaya, ingawa, na tena, hii ni zote zinazofaa pia kwa NSA mambo 710 00:33:04,020 --> 00:33:06,410 wa marehemu, hata SSL ni linaloweza. 711 00:33:06,410 --> 00:33:09,850 Na ni kweli si kwamba ni vigumu hata ufa encryption hiyo. 712 00:33:09,850 --> 00:33:12,040 Sio sana kwa ngozi encryption, lakini tricking na 713 00:33:12,040 --> 00:33:15,720 kisakuzi katika decrypting data mapema. 714 00:33:15,720 --> 00:33:17,880 Lakini tena, tutaweza tease wewe na kwamba kabla ya muda mrefu. 715 00:33:17,880 --> 00:33:21,242 Kwa sasa, tu kuwa na hofu. 716 00:33:21,242 --> 00:33:23,070 Ni hali ya kusikitisha aina ya kweli. 717 00:33:23,070 --> 00:33:23,760 >> Sawa. 718 00:33:23,760 --> 00:33:27,910 Hivyo, ambapo gani hii sasa kuondoka sisi? 719 00:33:27,910 --> 00:33:29,010 Naam, hebu kufanya hili. 720 00:33:29,010 --> 00:33:31,790 Hebu kwenda mbele na kuchukua haraka teaser kabla ya sisi kuchukua mapumziko. 721 00:33:31,790 --> 00:33:33,790 Na nadhani tutaweza msiweke kidogo tena leo, lakini sisi ni kwenda kupiga mbizi katika 722 00:33:33,790 --> 00:33:37,850 kitu bidhaa mpya na sexy, ambayo itakuwa noa hamu yako kwa hata zaidi. 723 00:33:37,850 --> 00:33:38,950 Hivyo kwamba ni teaser. 724 00:33:38,950 --> 00:33:41,520 >> Hivyo SQL, sisi kuanza kuzungumza juu ya milele hivyo kwa ufupi mwisho wakati. 725 00:33:41,520 --> 00:33:44,670 Itabidi kweli kupata mikono yako chafu na baadhi ya kuwa katika p-seti saba. 726 00:33:44,670 --> 00:33:46,480 Na katika suala layman, nini SQL - 727 00:33:46,480 --> 00:33:47,110 S-Q-L - 728 00:33:47,110 --> 00:33:49,850 kufanya kwa ajili yenu? 729 00:33:49,850 --> 00:33:50,310 Ni nini? 730 00:33:50,310 --> 00:33:51,546 Yeah. 731 00:33:51,546 --> 00:33:53,240 >> Watazamaji: Hebu wewe kupata data. 732 00:33:53,240 --> 00:33:53,360 >> DAVID Malan: Yeah. 733 00:33:53,360 --> 00:33:55,120 Ni hebu wewe kupata data katika database. 734 00:33:55,120 --> 00:33:56,710 Uliza muundo lugha. 735 00:33:56,710 --> 00:33:59,890 Na hii ni kimsingi programu ya lugha. 736 00:33:59,890 --> 00:34:03,400 Kuna makala ya kwamba sisi si hata kutumia darasani. 737 00:34:03,400 --> 00:34:04,710 Lakini unaweza ufanisi kufafanua majukumu. 738 00:34:04,710 --> 00:34:06,870 Wao ni kuitwa kuhifadhiwa taratibu katika SQL. 739 00:34:06,870 --> 00:34:09,860 Lakini tutaweza kushika ni haki rahisi na wa haki kuitumia kwa ajili ya shughuli za baadhi ya msingi 740 00:34:09,860 --> 00:34:14,320 kama kuchagua data, kuingiza data, uppdatering data, na kufuta data. 741 00:34:14,320 --> 00:34:17,400 >> Na unaweza kweli nadhani wa database, kama database SQL, kama tu 742 00:34:17,400 --> 00:34:18,800 kuwa Microsoft Excel. 743 00:34:18,800 --> 00:34:21,989 Sababu SQL inahusu kimahusiano database, ambapo 744 00:34:21,989 --> 00:34:23,480 uhusiano tu ina maana meza. 745 00:34:23,480 --> 00:34:24,739 Safu na nguzo. 746 00:34:24,739 --> 00:34:27,929 Hivyo chochote unaweza kuweka katika spreadsheet kama hii au Google Docs, 747 00:34:27,929 --> 00:34:32,460 unaweza kuweka katika database SQL kwa kutangaza meza. 748 00:34:32,460 --> 00:34:34,800 >> Sasa, ni jinsi gani unaweza kweli kupata kwamba habari? 749 00:34:34,800 --> 00:34:38,239 Naam, na amri au maswali kama hii. 750 00:34:38,239 --> 00:34:40,199 CHAGUA, kuingiza, UPDATE, na Delete. 751 00:34:40,199 --> 00:34:44,489 Na kwa sehemu kubwa, wale ni wanne tu viungo itabidi 752 00:34:44,489 --> 00:34:47,370 kufanya kitu kabisa nguvu katika tatizo kuweka saba. 753 00:34:47,370 --> 00:34:49,940 >> Sasa nyuma katika siku, wewe ungekuwa kweli kiutendaji na database katika 754 00:34:49,940 --> 00:34:52,730 nyeusi na nyeupe terminal dirisha haraka blinking kama hii. 755 00:34:52,730 --> 00:34:56,370 Na database sisi ni mbio juu ya appliance inaitwa MySQL, ambayo ni 756 00:34:56,370 --> 00:34:58,560 huru na ya chanzo database injini. 757 00:34:58,560 --> 00:35:02,240 Kama Google na kusoma Wikipedia makala, itabidi kujua kwamba jina ni 758 00:35:02,240 --> 00:35:05,060 kidogo ya mpito kwa ajili ya baadhi ya matoleo ya Linux. 759 00:35:05,060 --> 00:35:10,460 Maria database ni kweli uma hivyo kusema ya MySQL. 760 00:35:10,460 --> 00:35:12,740 >> Muda mrefu hadithi fupi, Oracle kununuliwa MySQL. 761 00:35:12,740 --> 00:35:13,870 Oracle ni kampuni kubwa. 762 00:35:13,870 --> 00:35:17,010 Watu wamekuwa na wasiwasi kwamba ingekuwa tena kubaki kabisa kama chanzo wazi, 763 00:35:17,010 --> 00:35:20,930 hivyo hii ni nakala ya MySQL kwamba bado bure, bado wazi chanzo, na 764 00:35:20,930 --> 00:35:23,550 imewekwa katika Fedora Linux na default. 765 00:35:23,550 --> 00:35:26,130 >> Lakini hii ni aina ya maumivu katika shingo ya kupata khabari na 766 00:35:26,130 --> 00:35:27,310 Mbegu njia hii. 767 00:35:27,310 --> 00:35:30,560 Hivyo sisi ni pamoja na katika appliance CS50 bure wazi chanzo chombo inayoitwa 768 00:35:30,560 --> 00:35:31,700 phpMyAdmin. 769 00:35:31,700 --> 00:35:33,940 Bahati mbaya tu kwamba imeandikwa katika PHP. 770 00:35:33,940 --> 00:35:36,450 Hakuna msingi haja kwa PHP hapa. 771 00:35:36,450 --> 00:35:40,090 Lakini hii ni chombo tu cha mtandao msingi kwamba sisi kupakuliwa kwa bure, imewekwa katika 772 00:35:40,090 --> 00:35:43,850 appliance, ambayo inaruhusu yetu kuwa na graphical user interface na ambayo 773 00:35:43,850 --> 00:35:48,610 kuchunguza p-seti saba database na ambayo kujenga database mpya, 774 00:35:48,610 --> 00:35:51,980 kusema kwa ajili ya mradi wako mwenyewe wa mwisho kama wewe d kama, na hatimaye kujenga 775 00:35:51,980 --> 00:35:55,900 nguvu tovuti kama Fedha CS50 kwamba kuruhusu swala data na 776 00:35:55,900 --> 00:35:58,140 update data dynamically. 777 00:35:58,140 --> 00:36:01,420 >> Wewe si kwenda na kutumia tu rahisi Nakala faili au CSV. 778 00:36:01,420 --> 00:36:05,950 Unaweza kweli kutumia database smart mpango ili uweze kutekeleza zaidi 779 00:36:05,950 --> 00:36:10,240 kisasa maswali kuliko kusoma tu kwa kila kitu linearly. 780 00:36:10,240 --> 00:36:14,150 >> Hivyo kwa mfano, hii ni nini sisi kutoa wewe nje ya sanduku kwa p-seti saba. 781 00:36:14,150 --> 00:36:18,280 Hii ni meza na inaonekana angalau nguzo tatu, moja ambayo ni ya 782 00:36:18,280 --> 00:36:21,450 jina la mtumiaji, moja ambayo ni ya hash, na mengine ambayo ni ya ID. 783 00:36:21,450 --> 00:36:26,200 >> Lakini jambo kuvutia, na tu tease nje moja walidhani hapa, jina la mtumiaji 784 00:36:26,200 --> 00:36:29,270 labda ni tayari kipekee, haki? 785 00:36:29,270 --> 00:36:31,190 I mean, wengi tovuti yoyote, kama una jina la mtumiaji, kuna 786 00:36:31,190 --> 00:36:32,370 haiwezi kuwa mbili Makaisari. 787 00:36:32,370 --> 00:36:33,440 Kuna hawezi kuwa mbili malans. 788 00:36:33,440 --> 00:36:34,950 Kuna hawezi kuwa mbili jharvards. 789 00:36:34,950 --> 00:36:35,600 Yake ya kipekee. 790 00:36:35,600 --> 00:36:38,610 Vinginevyo, hawajui ambayo jharvard ni kweli ni. 791 00:36:38,610 --> 00:36:42,710 Basi nini ili kuwa motisha kwa ajili ya pia baada ya safu ya tatu juu ya kushoto 792 00:36:42,710 --> 00:36:46,970 kuna kuitwa ID, ambayo inaonekana kama idadi hiyo ni vile vile kipekee? 793 00:36:46,970 --> 00:36:51,300 Ni anahisi kutokuwa kidogo kwangu katika mtazamo wa kwanza. 794 00:36:51,300 --> 00:36:54,910 Nini kinaweza kuwa na kulazimisha kuwa na si pekee tu majina ya watumiaji, 795 00:36:54,910 --> 00:36:56,837 lakini pia kipekee idadi? 796 00:36:56,837 --> 00:36:59,460 >> Watazamaji: Wangeweza nywila sawa. 797 00:36:59,460 --> 00:37:01,720 >> DAVID Malan: Watu wanaweza kuwa na nywila sawa, uhakika. 798 00:37:01,720 --> 00:37:03,900 Ambayo inaweza kabisa kutokea. 799 00:37:03,900 --> 00:37:08,270 Lakini kama wana jina hili la mtumiaji kipekee, mimi ingekuwa wanasema kwamba si kweli 800 00:37:08,270 --> 00:37:11,630 jambo, kwa sababu kama aina katika zao jina la mtumiaji, mimi tu haja ya kuangalia yao 801 00:37:11,630 --> 00:37:15,060 password, wake zao hash. 802 00:37:15,060 --> 00:37:15,970 Kwa nini kingine? 803 00:37:15,970 --> 00:37:17,950 >> Watazamaji: Kasi kutafuta. 804 00:37:17,950 --> 00:37:18,680 >> DAVID Malan: Kasi kutafuta. 805 00:37:18,680 --> 00:37:19,548 Kwa nini? 806 00:37:19,548 --> 00:37:21,460 >> Watazamaji: ID ni moja tu. 807 00:37:21,460 --> 00:37:24,040 >> DAVID Malan: ID ni moja tu tabia, au kuwa sahihi zaidi, ni ya simu, 808 00:37:24,040 --> 00:37:26,910 hivyo pengine 32 bits au kitu kama hicho. 809 00:37:26,910 --> 00:37:30,270 Ambapo jina la mtumiaji, inaonekana Jason Hirschhorn juu kuna ni aina ya 810 00:37:30,270 --> 00:37:33,900 ridiculously muda mrefu, na ni kwenda kuchukua yangu mengi zaidi wakati kwa kamba 811 00:37:33,900 --> 00:37:40,910 kulinganisha H-I-R-S-C-H-H-O-R-N, na labda 0 / au kitu kama hicho, ili 812 00:37:40,910 --> 00:37:45,100 kuangalia juu Jason, kinyume na tu akisema nipe mtumiaji namba mbili. 813 00:37:45,100 --> 00:37:46,510 Hiyo ni 32 bits. 814 00:37:46,510 --> 00:37:48,550 Ni INT moja ambayo una kulinganisha. 815 00:37:48,550 --> 00:37:52,150 Na kwa kweli, kwamba ni kwa nini hasa database huwa na hawawajui Vitambulisho vya kipekee kwa 816 00:37:52,150 --> 00:37:53,710 safu katika wao. 817 00:37:53,710 --> 00:37:56,280 >> Sasa nini wengine data aina kuna badala ya INT na inaonekana 818 00:37:56,280 --> 00:37:57,160 masharti kama hii? 819 00:37:57,160 --> 00:37:59,700 Naam, kwa kuwa zaidi ya sahihi, SQL database, kama 820 00:37:59,700 --> 00:38:02,060 MySQL, wana mashamba CHAR. 821 00:38:02,060 --> 00:38:05,320 Na Char kidogo kuwapotosha si CHAR moja. 822 00:38:05,320 --> 00:38:10,290 Shamba CHAR katika orodha ya MySQL ni herufi moja au zaidi, lakini ni 823 00:38:10,290 --> 00:38:11,780 idadi maalum ya wahusika. 824 00:38:11,780 --> 00:38:15,710 >> Hivyo kwa mfano, kama mimi kwenda juu na phpMyAdmin kama unaweza kuwa tayari, au 825 00:38:15,710 --> 00:38:21,340 atakuja kuweka tatizo saba, na mimi kwenda kwa database yangu, na kwa ajili ya kujifurahisha, 826 00:38:21,340 --> 00:38:25,700 hebu kuunda meza mpya iitwayo mtihani na nguzo mbili tu. 827 00:38:25,700 --> 00:38:27,160 Mimi itabidi kisha bonyeza Go. 828 00:38:27,160 --> 00:38:30,070 Na hii itakuwa haki utambuzi, hasa kama wewe Little 829 00:38:30,070 --> 00:38:31,130 karibu juu yako mwenyewe. 830 00:38:31,130 --> 00:38:34,140 Hapa nipate aina ID kujenga meza mpya ya aina INT. 831 00:38:34,140 --> 00:38:37,770 Lakini hapa mimi ili aina jina la mtumiaji recreate kwamba meza mapema. 832 00:38:37,770 --> 00:38:40,700 Na taarifa nina rundo zima ya aina kuchagua. 833 00:38:40,700 --> 00:38:43,610 >> Na hii pia ni kwa nini phpMyAdmin ni aina ya nice. 834 00:38:43,610 --> 00:38:46,770 Ni aina ya binafsi mafundisho kwa kuwa unaweza tu aina ya uhakika, na bonyeza, na 835 00:38:46,770 --> 00:38:50,730 kuangalia dropdown menus, na kudai kutoka kwamba kile nguvu SQL anakupa. 836 00:38:50,730 --> 00:38:54,090 >> Na kwa kweli, kama mimi kuchagua CHAR, mimi basi na kutaja urefu, au jinsi 837 00:38:54,090 --> 00:38:55,940 maadili wengi, chars wangapi. 838 00:38:55,940 --> 00:39:00,090 Maadili jambo la kawaida sana ni mambo kama 255, lakini hiyo ni kidogo kwa muda mrefu. 839 00:39:00,090 --> 00:39:02,250 Kawaida ni nane kwa jina la mtumiaji. 840 00:39:02,250 --> 00:39:03,590 Lakini hiyo ni kidogo kidogo siku hizi. 841 00:39:03,590 --> 00:39:05,430 Hivyo hii ni uamuzi wa kubuni. 842 00:39:05,430 --> 00:39:08,630 Je, ni herufi 8 max, 32, 255, 1000? 843 00:39:08,630 --> 00:39:09,830 Ni kweli juu yako. 844 00:39:09,830 --> 00:39:12,350 Lakini shamba CHAR Idadi ya kudumu. 845 00:39:12,350 --> 00:39:16,420 Ili kuchagua chache pia na wewe ni aina ya Star kama unataka jina la mtumiaji tena. 846 00:39:16,420 --> 00:39:19,132 Kuchagua wengi mno na nini upande wa chini? 847 00:39:19,132 --> 00:39:20,820 >> Watazamaji: [inaudible]. 848 00:39:20,820 --> 00:39:21,620 >> DAVID Malan: Ni fujo. 849 00:39:21,620 --> 00:39:24,835 Tu kama katika C, kama una kubwa chunk ya kumbukumbu ya unahitaji, ni 850 00:39:24,835 --> 00:39:27,190 tu kupoteza muda na kupoteza nafasi. 851 00:39:27,190 --> 00:39:31,430 Hivyo kama njia mbadala, kuna Varchar, ambayo kutatua tatizo hili kwa 852 00:39:31,430 --> 00:39:36,390 kutibu urefu si kama urefu fasta, lakini kama urefu wa kiwango cha juu, na kutumia 853 00:39:36,390 --> 00:39:40,990 variable idadi ya chars, ambayo kisha huelekea kutumia chars tu kama wengi kama wewe 854 00:39:40,990 --> 00:39:42,710 kweli wanahitaji. 855 00:39:42,710 --> 00:39:43,670 Inaonekana kuwa kamilifu. 856 00:39:43,670 --> 00:39:45,640 >> Mbona sisi kujikwamua Data CHAR aina basi? 857 00:39:45,640 --> 00:39:48,500 Nini kinaweza kuwa upande wa chini ya kutumia VARCHARs, ambayo sauti 858 00:39:48,500 --> 00:39:51,644 kama ni kushinda nzuri? 859 00:39:51,644 --> 00:39:52,596 Yeah? 860 00:39:52,596 --> 00:39:53,846 >> Watazamaji: [inaudible]. 861 00:39:53,846 --> 00:39:57,360 862 00:39:57,360 --> 00:39:57,790 >> DAVID Malan: OK, nzuri. 863 00:39:57,790 --> 00:40:01,101 Hivyo kama wote wa data wako ni sawa urefu, nini tatizo? 864 00:40:01,101 --> 00:40:05,250 >> Watazamaji: Kwa sababu wewe ni kupoteza data kwa kuwaambia wote. 865 00:40:05,250 --> 00:40:09,060 >> DAVID Malan: Hivyo kama wote wa data yako ni urefu huo huo, ingawa, napenda wanasema 866 00:40:09,060 --> 00:40:12,300 kwamba kubainisha urefu wa kiwango cha juu juu ya varchar ni hakuna tofauti na 867 00:40:12,300 --> 00:40:16,070 kubainisha urefu fasta juu ya CHAR kama unajua idadi hiyo mapema. 868 00:40:16,070 --> 00:40:19,500 Lakini kuna shaka, na mimi itabidi aina ya dondoo kutoka jibu kwamba ukweli 869 00:40:19,500 --> 00:40:22,610 kwamba bado kuna max, ambayo inaweza kuwa annoying, hasa kama wewe 870 00:40:22,610 --> 00:40:25,920 kukutana jina la mtu kwamba isiyo ya kawaida kwa muda mrefu kwamba hakuwa 871 00:40:25,920 --> 00:40:26,860 wanatarajia. 872 00:40:26,860 --> 00:40:31,420 Na pia ni kidogo chini ya ufanisi kwa kweli kutafuta kwenye VARCHARs kama 873 00:40:31,420 --> 00:40:35,620 kinyume na kutafuta chars, hasa kwa ajili ya mbao kwa muda mrefu kwamba kuwa na kura na 874 00:40:35,620 --> 00:40:36,510 kura ya data. 875 00:40:36,510 --> 00:40:40,060 Hivyo hapa pia, mada ni tena hakuna chaguo wazi. 876 00:40:40,060 --> 00:40:42,870 >> Hivyo tu kukupa hisia nyingine data aina ambayo inaweza kuwa ya maslahi 877 00:40:42,870 --> 00:40:45,400 ama kwa ajili ya p-kuweka saba au katika baadaye, kuna INT. 878 00:40:45,400 --> 00:40:47,270 Kuna BIGINT, ambayo ni kama muda mrefu kwa muda mrefu. 879 00:40:47,270 --> 00:40:48,880 Inaelekea kuwa 64 bits. 880 00:40:48,880 --> 00:40:51,640 Kuna decimal, ambayo utaona katika kuweka tatizo, ambayo ni kiasi 881 00:40:51,640 --> 00:40:55,300 jibu safi na matatizo sisi yaliyojitokeza na kuelea na yaliyo 882 00:40:55,300 --> 00:40:55,980 uhakika kutokuwa sahihi. 883 00:40:55,980 --> 00:40:57,390 Na kisha kuna DATETIME. 884 00:40:57,390 --> 00:41:01,530 Kuna literally aina data ambayo ina kuangalia kama mwaka, mwezi, siku, 885 00:41:01,530 --> 00:41:03,730 na saa, dakika, na ya pili. 886 00:41:03,730 --> 00:41:07,470 >> Lakini database SQL pia na mambo Tutamwita bahati. 887 00:41:07,470 --> 00:41:11,630 Na index ni kitu ambacho bayana wakati kujenga meza kwa 888 00:41:11,630 --> 00:41:15,720 kufanya upekuzi na shughuli nyingine ufanisi zaidi. 889 00:41:15,720 --> 00:41:18,550 Hasa, kuna kitu kinachoitwa PRIMARY index kwamba unaweza 890 00:41:18,550 --> 00:41:19,440 kutangaza kama ifuatavyo. 891 00:41:19,440 --> 00:41:22,330 >> Sisi alifanya hivyo kwa ajili yenu na watumiaji meza sisi kukupa. 892 00:41:22,330 --> 00:41:26,160 Lakini taarifa kama ningekuwa manually recreating watumiaji meza hapa kutoa 893 00:41:26,160 --> 00:41:27,110 ni jina la watumiaji. 894 00:41:27,110 --> 00:41:28,125 Mimi tayari fulani ID. 895 00:41:28,125 --> 00:41:29,330 Mimi fulani INT. 896 00:41:29,330 --> 00:41:32,000 Mimi fulani jina la mtumiaji na kiwango cha juu 32 wahusika. 897 00:41:32,000 --> 00:41:36,140 Lakini kama sisi kuendelea scrolling katika huu haki dirisha pana, taarifa kuna 898 00:41:36,140 --> 00:41:38,260 kundi la mambo mengine siwezi bayana. 899 00:41:38,260 --> 00:41:40,950 >> Moja, siwezi kutaja sifa kama, unajua nini, hii 900 00:41:40,950 --> 00:41:42,190 INT lazima Unsigned. 901 00:41:42,190 --> 00:41:45,510 Sitaki idadi hasi, hivyo hebu kufanya hivyo Unsigned. 902 00:41:45,510 --> 00:41:48,660 Batili si muhimu hapa kwa sababu Mimi nataka kila mtumiaji 903 00:41:48,660 --> 00:41:49,640 kuwa na idadi ya kipekee. 904 00:41:49,640 --> 00:41:50,830 Sitaki kuwa ni null. 905 00:41:50,830 --> 00:41:52,330 >> Lakini hii ni ya kuvutia. 906 00:41:52,330 --> 00:41:57,780 Naweza bayana kwamba ID ni ama msingi muhimu ya orodha hii, au ni 907 00:41:57,780 --> 00:42:00,620 kipekee, au ni indexed, au Nakala full. 908 00:42:00,620 --> 00:42:05,630 Hivyo kwa ajili ya leo, kwa muda mrefu hadithi short, PRIMARY ina maana kwamba hii atakuwa 909 00:42:05,630 --> 00:42:10,570 kuwa wote conceptually na utaalamu shamba kwamba sisi kutumia kipekee 910 00:42:10,570 --> 00:42:12,140 kutambua watumiaji. 911 00:42:12,140 --> 00:42:16,140 >> Hivyo wakati sisi kuangalia juu watumiaji, hii ni aina ahadi kwa kuangalia yao juu zaidi na 912 00:42:16,140 --> 00:42:17,370 kwamba kitambulisho kipekee. 913 00:42:17,370 --> 00:42:21,930 Na database itahakikisha kwamba kama wewe kuwa na idadi user 3, huwezi 914 00:42:21,930 --> 00:42:25,400 kimwili kuingiza mtumiaji mwingine na kwamba idadi sawa 3. 915 00:42:25,400 --> 00:42:28,380 database tu kukataa kuhifadhi mabadiliko yako. 916 00:42:28,380 --> 00:42:32,310 Ambayo ni jambo jema, kwa sababu unaweza kujikinga na wewe mwenyewe. binafsi 917 00:42:32,310 --> 00:42:34,270 >> Vinginevyo, kwa jina la mtumiaji. 918 00:42:34,270 --> 00:42:37,670 Hivyo safu ya pili, kukumbuka, ni shamba la mtumiaji. 919 00:42:37,670 --> 00:42:41,860 Hivyo safu ya pili hapa ni jina la mtumiaji, kama tulivyofanya juu ya mbali kushoto hapo. 920 00:42:41,860 --> 00:42:43,940 >> Hivyo kile kingine ili nataka kutaja? 921 00:42:43,940 --> 00:42:47,840 Mimi si kuruhusiwa, kwa mujibu wa SQL, kutaja funguo mbili za msingi. 922 00:42:47,840 --> 00:42:50,750 unaweza bayana muhimu pamoja ambapo kuangalia mashamba yote mawili, lakini hawawezi 923 00:42:50,750 --> 00:42:52,260 mmoja mmoja kuwa funguo za msingi. 924 00:42:52,260 --> 00:42:54,750 Hivyo kwamba ni nje ya swali. 925 00:42:54,750 --> 00:42:56,040 Hivyo ambayo inaweza nataka kuchagua? 926 00:42:56,040 --> 00:42:59,710 >> Naam, UNIQUE ni sawa katika roho muhimu msingi ambapo wewe taja hii 927 00:42:59,710 --> 00:43:03,570 shamba hilo kuwa ya kipekee, lakini ni si kwenda kuwa moja 928 00:43:03,570 --> 00:43:04,410 Mimi kutumia muda wote. 929 00:43:04,410 --> 00:43:08,450 Na sisi siyo kwenda kwa kutumia hii moja wote wakati kwa sababu gani tena? 930 00:43:08,450 --> 00:43:10,490 Ni polepole uwezekano wa ikiwa ni jina la mtumiaji kwa muda mrefu. 931 00:43:10,490 --> 00:43:11,740 Ni tu kupoteza muda. 932 00:43:11,740 --> 00:43:16,140 >> INDEX, wakati huo huo, anaelezea bayana kwamba ni si kwenda kuwa ya kipekee, lakini Ningependa 933 00:43:16,140 --> 00:43:19,470 wewe kazi uchawi wako chini ya Hood kufanya hivyo kwa kasi kwa ajili yangu na 934 00:43:19,470 --> 00:43:21,420 kutafuta kwenye uwanja huu. 935 00:43:21,420 --> 00:43:23,320 Basi pengine hii si sahihi hapa. 936 00:43:23,320 --> 00:43:26,500 Kwa jina la mtumiaji, Ningependa kusema kwamba UNIQUE ni jibu nzuri. 937 00:43:26,500 --> 00:43:31,200 Lakini tuseme kwamba sisi alifanya zaidi ya watumiaji kuvutia zaidi kuliko majina ya watumiaji tu, 938 00:43:31,200 --> 00:43:32,430 hashes, na ID idadi. 939 00:43:32,430 --> 00:43:33,860 Nini kama sisi aliwapa watu majina kamili? 940 00:43:33,860 --> 00:43:37,700 Nini kama sisi akawapa anwani na data nyingine juu yao? 941 00:43:37,700 --> 00:43:43,360 >> Naam, kama wewe bayana kwamba safu katika Mbegu ni indexed, hiyo ina maana kwamba 942 00:43:43,360 --> 00:43:47,730 MySQL, au Oracle, au chochote database unatumia, wanapaswa kufanya kazi yake ya uchawi 943 00:43:47,730 --> 00:43:51,300 na kutumia aina fulani ya data dhana muundo kama mti, au trie, au a 944 00:43:51,300 --> 00:43:55,940 hash meza, au kitu kuhakikisha kwamba wakati wewe kutafuta data kwa kutumia 945 00:43:55,940 --> 00:43:58,150 kuchagua kwenye uwanja fulani - 946 00:43:58,150 --> 00:44:01,310 kama kuonyesha yangu kwamba kila mtu maisha ya Oxford Street. 947 00:44:01,310 --> 00:44:02,540 swala kama hiyo. 948 00:44:02,540 --> 00:44:06,250 Kama una maalum katika mapema kwamba unataka index juu ya shamba hilo, 949 00:44:06,250 --> 00:44:09,050 utafutaji itakuwa, kwa kasi zaidi. 950 00:44:09,050 --> 00:44:12,090 >> Kama huna bayana index, bora unaweza kufanya ni kutafuta linear kama 951 00:44:12,090 --> 00:44:13,030 siyo vyema. 952 00:44:13,030 --> 00:44:16,220 Lakini kama wewe taja INDEX, smart watu ambao alifanya database - 953 00:44:16,220 --> 00:44:19,340 kwa watu kama wewe ambao sasa kujua miti na inajaribu na meza hash - 954 00:44:19,340 --> 00:44:23,220 moja kwa moja kujenga data kama muundo katika RAM kuhakikisha kwamba 955 00:44:23,220 --> 00:44:26,050 utafutaji wale ni kwa kasi zaidi. 956 00:44:26,050 --> 00:44:29,660 >> Fulltext wakati huo huo ni sawa katika roho, lakini inaruhusu kufanya wildcard 957 00:44:29,660 --> 00:44:35,480 utafutaji, kama kuonyesha yangu kwamba kila mtu anaishi katika mitaa yanayoanza kwa 958 00:44:35,480 --> 00:44:36,960 barua O kwa sababu yoyote. 959 00:44:36,960 --> 00:44:38,850 Unaweza kufanya upekuzi wildcard kama hiyo. 960 00:44:38,850 --> 00:44:45,880 Au, mambo zaidi ya kulazimisha kama show mimi kila mtu ambaye ana neno - 961 00:44:45,880 --> 00:44:49,400 kuonyesha yangu kila ambaye jina lake kuanza pamoja na barua fulani. 962 00:44:49,400 --> 00:44:51,880 Unaweza kutafuta maneno kwa njia hii. 963 00:44:51,880 --> 00:44:52,630 Sawa. 964 00:44:52,630 --> 00:44:55,760 >> Hivyo, nafasi kubuni huko uwezekano. 965 00:44:55,760 --> 00:44:57,740 Kuna wengine kuwa mimi itabidi wimbi mikono yangu. 966 00:44:57,740 --> 00:45:00,530 Ni zinageuka kuwa unaweza kuwa na kuhifadhi injini mbalimbali. 967 00:45:00,530 --> 00:45:04,390 Na hii ni arcane zaidi tunahitaji hakika kwa kuweka tatizo saba. 968 00:45:04,390 --> 00:45:06,920 By default, you guys ni kutumia kitu kinachoitwa InnoDB. 969 00:45:06,920 --> 00:45:10,910 Utaona kutaja mahali fulani katika interface phpMyAdmin ya uwezekano zaidi. 970 00:45:10,910 --> 00:45:14,130 Lakini kujua kwamba kuna mpango mwingine maamuzi ambayo ni ya uwezo 971 00:45:14,130 --> 00:45:18,030 maslahi ya kuja miradi mwisho kama kufanya kitu mtandao msingi. 972 00:45:18,030 --> 00:45:19,330 >> Lakini hebu kufanya hivyo. 973 00:45:19,330 --> 00:45:23,130 Hebu kwenda mbele na kuweka hii juu ya screen kama teaser kwa hadithi 974 00:45:23,130 --> 00:45:26,330 kuwashirikisha wewe, roommate, na glasi ya maziwa. 975 00:45:26,330 --> 00:45:28,240 Hebu dakika mbili au hivyo kuvunja hapa. 976 00:45:28,240 --> 00:45:31,060 Na kama unaweza fimbo karibu, hebu kuja tena, kuangalia kidogo zaidi katika SQL, na 977 00:45:31,060 --> 00:45:35,160 kisha kidogo ya JavaScript na p-kuweka nane katika akili. 978 00:45:35,160 --> 00:45:36,120 >> Sawa. 979 00:45:36,120 --> 00:45:40,420 Hivyo, hebu kupata wewe kufikiria juu ya kona kesi ambayo inaweza kwa urahisi sana kutokea 980 00:45:40,420 --> 00:45:44,240 katika mazingira ya kutumia database, au kusema ukweli, hata kwa kutumia mambo halisi ya dunia 981 00:45:44,240 --> 00:45:46,280 kama ATM kupata fedha. 982 00:45:46,280 --> 00:45:47,640 Hivyo hapa ni jokofu. 983 00:45:47,640 --> 00:45:50,040 Tuseme nimepata moja pia katika Dorm yako au nyumba yako. 984 00:45:50,040 --> 00:45:54,990 Na nimepata roommate moja, na wote kweli kama maziwa kwa mfano. 985 00:45:54,990 --> 00:45:57,210 >> Hivyo wewe kuja nyumbani kutoka darasa siku moja. 986 00:45:57,210 --> 00:45:58,490 Yeye au yeye ni bado nyuma. 987 00:45:58,490 --> 00:45:59,180 Unaweza kufungua friji. 988 00:45:59,180 --> 00:46:00,870 Kweli unataka kioo kubwa ya maziwa. 989 00:46:00,870 --> 00:46:01,820 Hakuna maziwa. 990 00:46:01,820 --> 00:46:02,920 Basi je, wewe nini? 991 00:46:02,920 --> 00:46:03,840 Wewe karibu fridge. 992 00:46:03,840 --> 00:46:04,670 Kunyakua funguo yako. 993 00:46:04,670 --> 00:46:05,930 Kwenda nje ya mraba. 994 00:46:05,930 --> 00:46:09,240 Na kupata katika mstari katika CVS kwa wale binafsi Checkout mambo, ambayo daima 995 00:46:09,240 --> 00:46:11,180 kuchukua muda mrefu zaidi kwa kweli kuwa mtunza fedha. 996 00:46:11,180 --> 00:46:11,820 Hata hivyo. 997 00:46:11,820 --> 00:46:15,490 >> Hivyo basi, wakati huo huo, dot dot dot, yako roommate huja nyumbani na yeye 998 00:46:15,490 --> 00:46:17,440 vile vile ina hankering kwa baadhi ya maziwa. 999 00:46:17,440 --> 00:46:20,380 Hivyo yeye au yeye kufungua fridge, inaonekana ndani, na oh, damn. 1000 00:46:20,380 --> 00:46:21,160 No maziwa. 1001 00:46:21,160 --> 00:46:24,750 Hivyo yeye anaongoza nje, hutokea kwenda kwa CVS nyingine, ambayo ilikuwa tu 1002 00:46:24,750 --> 00:46:27,900 kuzuia mbali kwa sababu fulani, na yeye au yeye anapata katika line kununua baadhi ya maziwa. 1003 00:46:27,900 --> 00:46:30,480 >> Wakati huo huo, wewe kuja nyumbani, yeye au anarejea nyumbani, na nini 1004 00:46:30,480 --> 00:46:31,980 hatimaye na? 1005 00:46:31,980 --> 00:46:33,080 Maziwa mara mbili zaidi. 1006 00:46:33,080 --> 00:46:34,620 Lakini si kweli kama maziwa kiasi hicho. 1007 00:46:34,620 --> 00:46:37,300 Hivyo sasa una maziwa kiasi kwamba sasa mmoja wao ni kwenda tu chacha 1008 00:46:37,300 --> 00:46:37,820 hatimaye. 1009 00:46:37,820 --> 00:46:39,370 Hivyo hili ni tatizo mbaya kweli kweli. 1010 00:46:39,370 --> 00:46:39,900 Haki? 1011 00:46:39,900 --> 00:46:41,990 >> Basi nini kimetokea? 1012 00:46:41,990 --> 00:46:44,810 Hivyo kimsingi, hii ni aina mfano ujinga. 1013 00:46:44,810 --> 00:46:48,580 Lakini chini ya Hood, nini tulikuwa na kutokea hapa ni ya wote wewe checked 1014 00:46:48,580 --> 00:46:52,390 hali ya baadhi ya kipande cha kumbukumbu, jokofu. 1015 00:46:52,390 --> 00:46:54,420 Wote wa checked hali baadhi ya kutofautiana. 1016 00:46:54,420 --> 00:46:57,360 Ninyi wawili wakakata kauli kwamba basi alitenda juu. 1017 00:46:57,360 --> 00:47:01,420 Lakini kwa bahati mbaya, wakati roommate yako mara katika kuhifadhi, hali ya kuwa 1018 00:47:01,420 --> 00:47:05,670 variable iliyopita, yeye au yeye akarudi na sasa anataka kubadili serikali, lakini 1019 00:47:05,670 --> 00:47:07,480 ni tayari iliyopita juu yake au kwake. 1020 00:47:07,480 --> 00:47:11,120 Na bila shaka, yeye au yeye bila kuwa na wamekwenda kuhifadhi kama walijua 1021 00:47:11,120 --> 00:47:13,010 kwamba walikuwa tayari njiani. 1022 00:47:13,010 --> 00:47:16,430 >> Hivyo katika ulimwengu wa kweli, jinsi gani unaweza kuepuka tatizo hili, kuchukua una 1023 00:47:16,430 --> 00:47:18,940 fridge, una roommate, na kweli kama maziwa? 1024 00:47:18,940 --> 00:47:19,760 >> Watazamaji: Kuwasiliana. 1025 00:47:19,760 --> 00:47:20,580 >> DAVID Malan: Kuwasiliana. 1026 00:47:20,580 --> 00:47:21,160 OK. 1027 00:47:21,160 --> 00:47:22,500 Lakini jinsi gani unaweza kuwasiliana? 1028 00:47:22,500 --> 00:47:23,990 >> Watazamaji: Tuache kumbuka. 1029 00:47:23,990 --> 00:47:25,480 >> DAVID Malan: Tuache kumbuka, haki? 1030 00:47:25,480 --> 00:47:28,025 Daima kuondoka kumbuka, kwa mashabiki wa show. 1031 00:47:28,025 --> 00:47:31,580 Haki ya wote, hivyo daima kuondoka kumbuka, au kuweka kweli kama kufuli au kitu 1032 00:47:31,580 --> 00:47:35,440 kwenye friji kwamba anaendelea yako roommate kutoka ukaguzi wa hali ya 1033 00:47:35,440 --> 00:47:36,540 kwamba kutofautiana. 1034 00:47:36,540 --> 00:47:40,800 >> Sasa, kwa nini huenda hii kuwa germane na tatizo kuweka saba, au kwa ATM. 1035 00:47:40,800 --> 00:47:46,780 Naam, kufikiria dunia katika ATM ambapo unaweza kuwa na uwezo wa kwenda juu kwa ATM 1036 00:47:46,780 --> 00:47:48,920 mashine hapa, na mwingine ATM hapa. 1037 00:47:48,920 --> 00:47:50,680 Na hii hufanyika mara nyingi kabisa. 1038 00:47:50,680 --> 00:47:54,150 Na tuseme wewe alikuwa na kadi za ATM mbili, ambayo inawezekana kupata. 1039 00:47:54,150 --> 00:47:57,420 Na kuingia katika mashine zote mbili ufanisi wakati huo huo, hopefully 1040 00:47:57,420 --> 00:47:58,660 wakati hakuna mtu wa kuangalia. 1041 00:47:58,660 --> 00:48:01,260 Na kisha wewe aina katika PIN yako takribani wakati huo huo. 1042 00:48:01,260 --> 00:48:06,280 Na kisha kufanya swala usawa kuona jinsi gani fedha una. 1043 00:48:06,280 --> 00:48:08,920 Na hebu sema una $ 100 kushoto katika akaunti yako. 1044 00:48:08,920 --> 00:48:13,310 Hivyo kimsingi wakati huo huo, wewe kusema moja, sifuri, sifuri, kuingia. 1045 00:48:13,310 --> 00:48:16,000 Na wewe hopefully kupata nyuma baadhi ya fedha. 1046 00:48:16,000 --> 00:48:18,440 >> Lakini kiasi gani cha fedha ili kupata nyuma? 1047 00:48:18,440 --> 00:48:21,710 Sasa kompyuta katika mwisho wa siku, hasa kama ni kuzungumza na 1048 00:48:21,710 --> 00:48:27,360 watumishi, si lazima kufanya mambo ili ambayo inatarajiwa. 1049 00:48:27,360 --> 00:48:30,860 >> Hivyo tuseme nini kinatokea, kwa sababu ya chochote kasi ya mtandao kuna masuala ya 1050 00:48:30,860 --> 00:48:34,530 ni, au CPU masuala kuna, au kitu kama hicho, tuseme kwamba 1051 00:48:34,530 --> 00:48:38,530 ATM kwanza hundi mizani yako na anaona, oh, mtu huyu ana $ 100. 1052 00:48:38,530 --> 00:48:41,840 Lakini basi anapata aliwasihi kwa sababu labda Backup kinatokea na hivyo ni 1053 00:48:41,840 --> 00:48:42,500 kupunguza chini. 1054 00:48:42,500 --> 00:48:45,080 Au labda wakati kuangalia, mtandao uhusiano got kidogo polepole kwa sababu 1055 00:48:45,080 --> 00:48:45,910 hii hutokea tu. 1056 00:48:45,910 --> 00:48:47,100 Wao uko kimwili vifaa. 1057 00:48:47,100 --> 00:48:49,330 Hivyo wakati huo huo, ATM ya pili ni kuuliza swali moja. 1058 00:48:49,330 --> 00:48:53,030 Kiasi gani cha fedha haina Daudi na? $ 100 ni jibu. 1059 00:48:53,030 --> 00:48:58,930 Lakini kwa sababu ya ATM ya kwanza bado alimtuma ujumbe Ondoa $ 100, wote wawili 1060 00:48:58,930 --> 00:49:03,000 ATM kuwa kukaguliwa kuba benki hiyo, kwani ni $ 100 kuna, na sasa 1061 00:49:03,000 --> 00:49:07,160 wote wawili mashine uwezekano ni kwenda mate nje jibu. 1062 00:49:07,160 --> 00:49:12,240 >> Sasa, hii ni kubwa kwa wewe katika baadhi ya hisia kama kile benki gani hatimaye 1063 00:49:12,240 --> 00:49:17,200 ni mabadiliko ya kiasi kwa minus 100 na kuweka kutofautiana sawa na yako 1064 00:49:17,200 --> 00:49:21,570 akaunti ya benki sawa na 0, kinyume kwa kufanya bala 100. 1065 00:49:21,570 --> 00:49:24,410 Sasa katika hali mbaya zaidi kwa ajili ya benki - 1066 00:49:24,410 --> 00:49:27,470 au katika bora kwa ajili ya benki, wakati huo huo, wao kukupa $ 200, na 1067 00:49:27,470 --> 00:49:31,690 akaunti ya benki yako sasa inaonyesha hasi $ 100, ambayo kwa kweli haina 1068 00:49:31,690 --> 00:49:32,950 kufaidika wewe wakati wote. 1069 00:49:32,950 --> 00:49:36,500 Lakini uhakika ni kwamba hii mbio sharti mbili roommates kupata 1070 00:49:36,500 --> 00:49:40,660 maziwa, au kwa ajili ya mbili ATM kujaribu kupata fedha na mabadiliko ya hali ya kuba 1071 00:49:40,660 --> 00:49:44,510 wakati huo huo ipo yoyote wakati una database. 1072 00:49:44,510 --> 00:49:48,290 >> Sasa katika tatizo kuweka saba, suala hili lililojitokeza kwa maana kwamba kama kununua 1073 00:49:48,290 --> 00:49:52,110 sehemu ya hisa Facebook, na kisha kwa ajili ya mfano kununua sehemu ya pili ya 1074 00:49:52,110 --> 00:49:55,160 Picha za hisa, unahitaji kufanya uamuzi kama programu. 1075 00:49:55,160 --> 00:49:58,710 Ili kuamua jinsi ya update database, tabia mbaya ni wewe kwenda 1076 00:49:58,710 --> 00:50:02,250 kuwa na mstari mmoja kwa hisa kwamba, na hii ni njia mojawapo ya kutekeleza. 1077 00:50:02,250 --> 00:50:06,640 Na wewe ni kwenda na moja ya sehemu ya FB, ambayo ni ya hisa zao alama Ticker 1078 00:50:06,640 --> 00:50:10,120 kwa jina hili la mtumiaji, au hii mtumiaji ID, kitambulisho kipekee. 1079 00:50:10,120 --> 00:50:12,340 >> Lakini hadithi hiyo inaweza kutokea hapa. 1080 00:50:12,340 --> 00:50:15,800 Kama huna CHAGUA katika SQL, kama utaona katika tatizo kuweka saba wakati unaweza kuona, 1081 00:50:15,800 --> 00:50:18,460 oh, Daudi ana sehemu moja ya hisa ya kuungana. 1082 00:50:18,460 --> 00:50:23,240 Basi mimi sasa kubadili hili kuwa mbili hisa, kwa sababu yeye anataka kununua 1083 00:50:23,240 --> 00:50:24,120 pili kushiriki. 1084 00:50:24,120 --> 00:50:27,860 Lakini tuseme Daudi kweli alikuwa na mbili browser madirisha wazi, au tuseme kwamba 1085 00:50:27,860 --> 00:50:32,150 ni akaunti ya pamoja na wanandoa wawili, na wote wawili ni kujaribu kufanya 1086 00:50:32,150 --> 00:50:36,770 operesheni hiyo, kuna, pia, uwezo lipo kwa ajili ya uamuzi wa kuwa na 1087 00:50:36,770 --> 00:50:39,670 alifanya msingi uliopita hali ya dunia - 1088 00:50:39,670 --> 00:50:41,290 akaunti ina sehemu moja - 1089 00:50:41,290 --> 00:50:45,630 na wote watu, au seva zote mbili, sasa kujaribu kusema increment kwa hisa mbili. 1090 00:50:45,630 --> 00:50:49,020 Lakini katika kesi hii, unaweza kuwa na kushtakiwa yangu ya fedha kwa ajili ya hisa zote mbili, lakini 1091 00:50:49,020 --> 00:50:50,830 incremented tu kwamba moja wakati. 1092 00:50:50,830 --> 00:50:54,730 >> Hivyo katika muda mfupi, tatizo la msingi hapa, kama na utani kuhusu kuondoka 1093 00:50:54,730 --> 00:50:58,750 kumbuka, au kuweka kufuli juu yake, ni kama watu wawili, au nyuzi mbili - 1094 00:50:58,750 --> 00:50:59,930 kufikiri nyuma scratch - 1095 00:50:59,930 --> 00:51:03,220 wanaweza kukagua hali ya baadhi ya kutofautiana na kisha kujaribu kubadili kwamba kutofautiana, 1096 00:51:03,220 --> 00:51:07,950 lakini mambo hayo mawili si kutokea katika Wakati huo huo lakini wanaweza kupata kuingiliwa 1097 00:51:07,950 --> 00:51:11,500 na mambo mengine yanayotokea, data unaweza kupata katika hali weird sana. 1098 00:51:11,500 --> 00:51:15,450 Na unaweza kufaidika au unaweza kuteseka kwa maana ya mfano fedha. 1099 00:51:15,450 --> 00:51:18,110 >> Hivyo katika tatizo kuweka saba, sisi kukupa hii line moja ya kanuni, ambayo kwa muda mrefu 1100 00:51:18,110 --> 00:51:21,000 hadithi fupi, kutatua hii tatizo katika MySQL. 1101 00:51:21,000 --> 00:51:24,950 Maelekezo haya kwa muda mrefu sana kwamba haina hata fit kwenye line moja juu ya 1102 00:51:24,950 --> 00:51:30,370 screen hapa kuhakikisha kwamba operesheni yako ni nini wito atomic. 1103 00:51:30,370 --> 00:51:33,720 Ni yote hufanyika mara moja, au haina kutokea wakati wote. 1104 00:51:33,720 --> 00:51:37,530 Hii maneno ya muda mrefu sana hawawezi kupata kuingiliwa sehemu. 1105 00:51:37,530 --> 00:51:39,840 >> Na kile yake ni halisi nini anasema. 1106 00:51:39,840 --> 00:51:44,200 Kuingiza katika meza baadhi zifuatazo nyanja tatu wale maadili maalum, 1107 00:51:44,200 --> 00:51:47,280 lakini juu ya muhimu duplicate, si kufanya Insert. 1108 00:51:47,280 --> 00:51:48,280 Kufanya update. 1109 00:51:48,280 --> 00:51:52,450 Hivyo hii ni kama kufanya SELECT na Kuingiza ili kuzungumza kwa wakati mmoja. 1110 00:51:52,450 --> 00:51:55,150 Na ni nini muhimu kwamba pengine kuwa inajulikana hapa? 1111 00:51:55,150 --> 00:51:58,300 1112 00:51:58,300 --> 00:52:01,380 >> Ni zamu nje, na utaona hii katika kuweka tatizo spec saba, kwa sababu 1113 00:52:01,380 --> 00:52:06,040 tumekuwa alitangaza kuwa kuna muhimu kipekee juu ya meza hii hasa kama kwamba 1114 00:52:06,040 --> 00:52:08,480 huwezi kuwa na safu mbalimbali kwa mtumiaji sawa na 1115 00:52:08,480 --> 00:52:10,150 sawa hisa senti alama - 1116 00:52:10,150 --> 00:52:13,780 katika mfano huu hapa, DVN.V ni silly hisa senti kwamba sisi 1117 00:52:13,780 --> 00:52:14,980 rejea katika spec. 1118 00:52:14,980 --> 00:52:17,860 Kwa sababu tumekuwa alitangaza kuwa ya kipekee, nini maana ya hii ni kwamba kama wewe 1119 00:52:17,860 --> 00:52:23,580 kujaribu kuingiza mstari duplicate, wewe ni badala ya kwenda update bila 1120 00:52:23,580 --> 00:52:27,020 mtu mwingine kuwa na nafasi ya kubadilika hali ya dunia aidha. 1121 00:52:27,020 --> 00:52:29,400 Hivyo katika muda mfupi, hii kuhakikisha mambo ni atomic. 1122 00:52:29,400 --> 00:52:32,530 >> Zaidi kwa ujumla ingawa, database kama MySQL - 1123 00:52:32,530 --> 00:52:35,460 na huna haja ya kipengele hiki kwa p-kuweka saba lakini kuitunza katika akili kwa 1124 00:52:35,460 --> 00:52:36,200 baadaye - 1125 00:52:36,200 --> 00:52:38,870 kusaidia kile kinachojulikana shughuli, ambapo unaweza kusema 1126 00:52:38,870 --> 00:52:40,990 Kuanza manunuzi literally. 1127 00:52:40,990 --> 00:52:43,270 Unaweza kisha kutekeleza mbili SQL taarifa. 1128 00:52:43,270 --> 00:52:45,710 Na SQL taarifa, kama utaona katika p-kuweka saba, inaonekana kidogo 1129 00:52:45,710 --> 00:52:46,750 kitu kama hiki. 1130 00:52:46,750 --> 00:52:48,820 Mwisho meza aitwaye akaunti. 1131 00:52:48,820 --> 00:52:52,550 Kuweka uwiano safu sawa kwa kila usawa safu sasa 1132 00:52:52,550 --> 00:52:57,280 ni minus 1000 ambapo idadi, akaunti namba, kama user ID, 1133 00:52:57,280 --> 00:53:00,830 sawa na 2, na kisha update akaunti dot dot dot. 1134 00:53:00,830 --> 00:53:04,350 >> Hivyo katika suala layman, je, hizi mbili maswali wanaonekana kufanya katika 1135 00:53:04,350 --> 00:53:05,840 ulimwengu halisi kwa maana ya benki? 1136 00:53:05,840 --> 00:53:07,440 >> Watazamaji: Kuhamisha kwa akiba. 1137 00:53:07,440 --> 00:53:08,020 >> DAVID Malan: Hasa. 1138 00:53:08,020 --> 00:53:10,470 Kuhamisha fedha kutoka moja akaunti ya nyingine. 1139 00:53:10,470 --> 00:53:14,400 Na hii ni mfano mwingine ambapo kweli wanataka mambo haya mawili kutokea 1140 00:53:14,400 --> 00:53:15,570 au si kutokea. 1141 00:53:15,570 --> 00:53:18,880 Hawataki kitu kupata katika katikati yao na uwezekano wa kuharibu 1142 00:53:18,880 --> 00:53:22,220 math, au kuharibu kiasi gani fedha una, au kiasi gani 1143 00:53:22,220 --> 00:53:23,170 fedha benki ina. 1144 00:53:23,170 --> 00:53:26,890 Basi nini kweli ni nzuri juu ya shughuli za katika MySQL ni kwamba, na 1145 00:53:26,890 --> 00:53:30,160 database zaidi kwa ujumla, ni kwamba wao na watu smart ambao wameweza kutekelezwa 1146 00:53:30,160 --> 00:53:33,670 makala haya kufikiri jinsi ya kufanya uhakika kwamba wote wa mambo hayo kutokea 1147 00:53:33,670 --> 00:53:35,120 au si wakati wote. 1148 00:53:35,120 --> 00:53:38,580 >> Na kama wewe ni kweli anayetaka kufanya tovuti hiyo kutumiwa na watu juu ya 1149 00:53:38,580 --> 00:53:41,490 chuo hicho, watu katika ulimwengu halisi, kufanya kitu kwa maana startup, 1150 00:53:41,490 --> 00:53:43,300 hizi ni aina ya maamuzi kubuni kwamba 1151 00:53:43,300 --> 00:53:45,020 kuwa milele muhimu sana. 1152 00:53:45,020 --> 00:53:48,240 Vinginevyo, kuanza kupoteza data, kupoteza watumiaji, au katika hali mbaya zaidi kama 1153 00:53:48,240 --> 00:53:51,800 tumeona hapa, uwezekano wa kupoteza fedha. 1154 00:53:51,800 --> 00:53:56,180 Hivyo tena, zaidi juu ya kwamba katika kuweka tatizo saba, kama vile labda kwa baadhi ya 1155 00:53:56,180 --> 00:53:57,530 katika miradi ya mwisho. 1156 00:53:57,530 --> 00:54:01,870 >> Basi hebu mabadiliko hayo picha tulikuwa wakati uliopita tu kwa njia moja zaidi. 1157 00:54:01,870 --> 00:54:04,070 Hivyo basi mimi kwa kweli kuona kama naweza - 1158 00:54:04,070 --> 00:54:06,030 nope, kwamba gone. 1159 00:54:06,030 --> 00:54:06,690 Kuna ni. 1160 00:54:06,690 --> 00:54:09,020 >> Hivyo hii ni ambapo sisi kushoto wakati wa mwisho. 1161 00:54:09,020 --> 00:54:12,390 Na zinageuka tunakwenda toss jambo moja zaidi katika mchanganyiko hapa - 1162 00:54:12,390 --> 00:54:14,510 lugha inayoitwa JavaScript. 1163 00:54:14,510 --> 00:54:18,060 Hivyo JavaScript kweli inafaa ndani ya kipande hii - 1164 00:54:18,060 --> 00:54:22,086 na mimi si kabisa kuacha nafasi ya kutosha, hivyo hii si sasa kwa wadogo. 1165 00:54:22,086 --> 00:54:23,900 OK, hii ni kweli pathetic. 1166 00:54:23,900 --> 00:54:27,075 OK, hivyo kwamba ni JavaScript. 1167 00:54:27,075 --> 00:54:27,340 Sawa. 1168 00:54:27,340 --> 00:54:28,760 Mimi kwa kweli kufanya hivyo disservice. 1169 00:54:28,760 --> 00:54:29,390 Sawa. 1170 00:54:29,390 --> 00:54:34,790 >> Hivyo JavaScript ni programu nyingine lugha, na mwisho wetu, Kama ambayo husaidia 1171 00:54:34,790 --> 00:54:37,770 kuwahakikishia kwamba kuna si mengi zaidi ya hydrants moto hapa. 1172 00:54:37,770 --> 00:54:41,100 Hivyo JavaScript ni pia kutafsiriwa lugha, ambayo ina maana hawana 1173 00:54:41,100 --> 00:54:42,670 kukusanya ndani zeros na ndio. 1174 00:54:42,670 --> 00:54:43,690 Wewe tu kukimbia. 1175 00:54:43,690 --> 00:54:47,680 Lakini nini tofauti kimsingi na JavaScript kawaida ni kwamba 1176 00:54:47,680 --> 00:54:49,815 si kuendesha kwenye mtandao kompyuta yako. 1177 00:54:49,815 --> 00:54:52,570 Haina kupata kukimbia katika appliance per se. 1178 00:54:52,570 --> 00:54:57,490 Badala yake, anapata kupakuliwa kwa mtumiaji kupitia HTTP katika browser yao - 1179 00:54:57,490 --> 00:55:00,260 Chrome, Safari, Internet Explorer, Firefox, chochote - 1180 00:55:00,260 --> 00:55:03,860 na ni browser kwamba executes hii hasa lugha ya programu. 1181 00:55:03,860 --> 00:55:08,000 >> Hivyo kuwa wazi, PHP hivi sasa imekuwa kunyongwa aidha katika mstari amri katika 1182 00:55:08,000 --> 00:55:11,290 nyeusi na nyeupe yetu dirisha, juu ya server kama appliance, kompyuta 1183 00:55:11,290 --> 00:55:14,490 kama appliance, au imekuwa ni kuuawa kwa mtandao wa kompyuta 1184 00:55:14,490 --> 00:55:15,860 mbio juu ya kompyuta. 1185 00:55:15,860 --> 00:55:20,490 Lakini mandhari hapa ni kwamba PHP hivi sasa imekuwa kunyongwa server-upande, hivyo 1186 00:55:20,490 --> 00:55:24,820 user na browser mtumiaji kamwe kuona mstari wa PHP code. 1187 00:55:24,820 --> 00:55:28,530 >> Kwa kweli, kama wewe milele wazi browser kwa tovuti yako au nyingine na 1188 00:55:28,530 --> 00:55:32,400 kweli kuona PHP code katika dirisha yako, mtu ana Star up. 1189 00:55:32,400 --> 00:55:34,950 Kwa sababu haina maana kuwa alimtuma browser moja kwa moja. 1190 00:55:34,950 --> 00:55:38,150 Ni walidhani wauawe na akageuka katika kitu kama HTML. 1191 00:55:38,150 --> 00:55:40,120 >> Lakini JavaScript kimsingi ni kinyume. 1192 00:55:40,120 --> 00:55:44,350 Ni maana ya kuwa na kukimbia kawaida ndani ya wa mtumiaji browser window. 1193 00:55:44,350 --> 00:55:46,840 Na ni aina gani ya tovuti kutumia JavaScript kisha siku hizi? 1194 00:55:46,840 --> 00:55:49,640 1195 00:55:49,640 --> 00:55:52,180 >> Kama literally kila tovuti maarufu. 1196 00:55:52,180 --> 00:55:55,430 Kila tovuti ya kuwa wewe guys pengine matumizi ya kila siku kutumia JavaScript kwa 1197 00:55:55,430 --> 00:55:57,330 rahisi na hata sexiest makala. 1198 00:55:57,330 --> 00:55:59,800 >> Hivyo kitu kama Facebook Kuzungumza kama wewe kutumia. 1199 00:55:59,800 --> 00:56:01,040 Jinsi gani kwamba kweli kazi? 1200 00:56:01,040 --> 00:56:05,090 Vizuri hivi sasa, yote ya mambo ya tumekuwa kufanyika kwa HTML na PHP akubali kwamba 1201 00:56:05,090 --> 00:56:08,750 kuvuta up URL, na wewe hit kuingia, na unaweza kuona baadhi ya maudhui HTML. 1202 00:56:08,750 --> 00:56:11,970 Na bonyeza kiungo, kwamba mabadiliko ya URL, mabadiliko ya ukurasa, na reloads 1203 00:56:11,970 --> 00:56:12,740 baadhi ya maudhui mpya. 1204 00:56:12,740 --> 00:56:16,340 Bonyeza URL mwingine au kuwasilisha fomu, unaweza kupata whisked kwenye ukurasa mwingine na 1205 00:56:16,340 --> 00:56:17,420 unaweza kuona baadhi ya mambo mapya. 1206 00:56:17,420 --> 00:56:22,710 >> Lakini kwa kutumia kitu kama Facebook Chat, au Gchat, au Maps Google, mara chache 1207 00:56:22,710 --> 00:56:27,350 haina ukurasa mzima mahitaji kama kwamba unaweza kuona screen nyeupe kwa muda na 1208 00:56:27,350 --> 00:56:28,470 kisha mambo mapya. 1209 00:56:28,470 --> 00:56:32,610 Badala yake, kurasa za mtandao leo ni dynamically kupata updated tena na 1210 00:56:32,610 --> 00:56:35,570 tena na tena kila aina ya nyuma ya pazia. 1211 00:56:35,570 --> 00:56:38,560 Na zinageuka kuwa wakati huna kwenda kitu kama Facebook, au Gchat, 1212 00:56:38,560 --> 00:56:43,050 au Gmail, na ukurasa updates moja kwa moja bila kupakia upya 1213 00:56:43,050 --> 00:56:47,630 screen nzima, nini kilichotokea ni kwamba ya browser yako imefanya aina ya siri 1214 00:56:47,630 --> 00:56:49,410 HTTP maombi ya ziada - 1215 00:56:49,410 --> 00:56:52,740 si kwa kurasa nzima ya mtandao, lakini tu kwa ajili ya chunks kidogo ya data, kama 1216 00:56:52,740 --> 00:56:55,740 ujumbe wa papo kwamba rafiki yako tu alimtuma wewe, au hali update kwamba 1217 00:56:55,740 --> 00:56:58,210 mtu tukakutumia, au tweet kwamba mtu tu alimtuma. 1218 00:56:58,210 --> 00:57:02,120 Ni maamuzi tu maombi kidogo kwa ajili ya data, na kisha kwa kutumia JavaScript, hii 1219 00:57:02,120 --> 00:57:06,370 lugha ya programu, kubadili kile ukurasa wa mtandao inaonekana kama bila 1220 00:57:06,370 --> 00:57:09,860 server kusaidia, bila server kuzalisha kwamba HTML. 1221 00:57:09,860 --> 00:57:13,820 >> Hivyo katika muda mfupi, JavaScript inaweza kutumika kisha si tu kuchota data mpya kutoka 1222 00:57:13,820 --> 00:57:16,750 server bila kupakia upya zima ukurasa au kuwasilisha fomu. 1223 00:57:16,750 --> 00:57:20,060 Ni pia inaweza kutumika na mabadiliko ya kinachojulikana DOM - 1224 00:57:20,060 --> 00:57:21,520 hati kitu mfano - 1225 00:57:21,520 --> 00:57:24,620 ambayo ni njia tu dhana kwa akisema mti wa HTML 1226 00:57:24,620 --> 00:57:26,220 kuwa tuliona wakati wa mwisho. 1227 00:57:26,220 --> 00:57:31,640 >> Hivyo kuwahakikishia, JavaScript ni syntactically hivyo sawa na C kama vizuri. 1228 00:57:31,640 --> 00:57:32,820 Hakuna kazi kuu ni. 1229 00:57:32,820 --> 00:57:35,430 Wewe tu kuanza kuandika code na itakuwa kupata kuuawa, au 1230 00:57:35,430 --> 00:57:36,900 kutafsiriwa vizuri zaidi. 1231 00:57:36,900 --> 00:57:38,660 Hali itakuwa kuangalia kama hii. 1232 00:57:38,660 --> 00:57:41,230 Hakuna tofauti na C au PHP kwa jambo hilo. 1233 00:57:41,230 --> 00:57:43,890 Maneno Boolean au-ed pamoja kuangalia kama hii. 1234 00:57:43,890 --> 00:57:45,590 Anded pamoja kuangalia kama hii. 1235 00:57:45,590 --> 00:57:47,750 >> Swichi kuangalia kama hii. 1236 00:57:47,750 --> 00:57:49,440 Kwa loops kuangalia kama hii. 1237 00:57:49,440 --> 00:57:51,060 Wakati loops kuangalia kama hii. 1238 00:57:51,060 --> 00:57:53,316 Je, wakati tanzi kuangalia kama hii. 1239 00:57:53,316 --> 00:57:54,780 >> Hii ni mpya. 1240 00:57:54,780 --> 00:57:58,753 Hivyo JavaScript ina si foreach kujenga per se, lakini kujenga hii 1241 00:57:58,753 --> 00:58:03,870 kwa kutofautiana i katika safu, na i katika hii kesi inakuwa thamani index. 1242 00:58:03,870 --> 00:58:06,880 Hivyo ni kidogo tofauti na ile foreach, ingawa matoleo mapya ya 1243 00:58:06,880 --> 00:58:10,280 JavaScript ni kuja nje wakati wote, hivyo hata makala haya lugha 1244 00:58:10,280 --> 00:58:10,880 ni kutoa. 1245 00:58:10,880 --> 00:58:16,920 >> Na kama kando, JavaScript siku hizi pia inaweza kutumika kwenye kompyuta tu kama 1246 00:58:16,920 --> 00:58:19,920 PHP kwa kutumia mfumo aitwaye Node.js. 1247 00:58:19,920 --> 00:58:24,670 Moja ya CS50 ya TFS, Kevin, imesababisha semina ya Node.js hiyo inapatikana katika 1248 00:58:24,670 --> 00:58:26,440 cs50.net/seminars. 1249 00:58:26,440 --> 00:58:28,830 Hivyo kama wewe ni curious, tunajua kwamba wewe Unaweza kutumia hili upande wa server kama 1250 00:58:28,830 --> 00:58:33,870 vizuri, lakini hiyo ni mwenendo haki ya hivi karibuni, lakini nguvu moja wakati huo. 1251 00:58:33,870 --> 00:58:35,270 >> Hii ni tofauti kidogo. 1252 00:58:35,270 --> 00:58:37,910 Hii ni safu katika JavaScript. 1253 00:58:37,910 --> 00:58:40,115 Na nini mgomo wewe kama mbalimbali dhidi ya C au PHP? 1254 00:58:40,115 --> 00:58:43,890 1255 00:58:43,890 --> 00:58:47,420 Kuna hadithi chache haraka tunaweza kujua hapa. 1256 00:58:47,420 --> 00:58:49,367 Kinachokosekana dhidi ya PHP? 1257 00:58:49,367 --> 00:58:51,652 >> Watazamaji: [inaudible]. 1258 00:58:51,652 --> 00:58:52,110 >> DAVID Malan: Ndiyo? 1259 00:58:52,110 --> 00:58:53,322 Sorry, kusema tena? 1260 00:58:53,322 --> 00:58:54,740 >> Watazamaji: Si kutangaza aina ya kutofautiana. 1261 00:58:54,740 --> 00:58:56,390 >> DAVID Malan: Sisi siyo kutangaza aina ya kutofautiana. 1262 00:58:56,390 --> 00:58:59,630 Hivyo kweli kabisa kama PHP, sisi siyo kubainisha aina ya kutofautiana hii. 1263 00:58:59,630 --> 00:59:02,670 Badala yake, sisi ni zaidi yaliyotokea akisema var kwa kutofautiana. 1264 00:59:02,670 --> 00:59:06,690 Hatuna kero PHP ya dola ishara, ambayo wakati kwa tedious 1265 00:59:06,690 --> 00:59:09,160 aina, haina kufanya zaidi wazi kwamba kitu ni kutofautiana. 1266 00:59:09,160 --> 00:59:11,830 Wakati hapa, sisi ni aina ya nyuma Mbinu C ya kwa kupiga tu 1267 00:59:11,830 --> 00:59:14,500 variable kwa jina tunataka kwa kufanya hivyo, kama idadi. 1268 00:59:14,500 --> 00:59:17,170 Na pia kama PHP, tuna mabano mraba kwa 1269 00:59:17,170 --> 00:59:19,170 maadili ndani ya kuwa safu. 1270 00:59:19,170 --> 00:59:22,490 >> Hivyo vigezo katika JavaScript pia ili kuangalia kama hii. 1271 00:59:22,490 --> 00:59:26,900 Taarifa hapa hii ni string kuitwa s, lakini vile vile na sisi si fulani 1272 00:59:26,900 --> 00:59:28,750 kwamba ni kamba. 1273 00:59:28,750 --> 00:59:33,160 Hapa ingawa ni kipengele kwamba haina kuwepo katika njia sawa katika PHP, 1274 00:59:33,160 --> 00:59:34,460 lakini kidogo vile vile. 1275 00:59:34,460 --> 00:59:36,530 Hii ni kitu katika JavaScript. 1276 00:59:36,530 --> 00:59:42,110 Na vitu ni aina ya Swiss Army Kisu ya muundo data kwa kuwa 1277 00:59:42,110 --> 00:59:43,900 wanaweza kuzitumia kwa idadi yoyote ya mambo. 1278 00:59:43,900 --> 00:59:46,860 >> Hapa, kwa mfano, sisi ni kutangaza variable kuitwa quote. 1279 00:59:46,860 --> 00:59:49,110 aina ya kwamba variable ni kitu. 1280 00:59:49,110 --> 00:59:53,550 Unaweza kufikiria hili kama C struct kwamba ana funguo na maadili. 1281 00:59:53,550 --> 00:59:55,250 Ni ishara muhimu. 1282 00:59:55,250 --> 00:59:57,350 FB ni thamani, inaonekana hisa alama. 1283 00:59:57,350 --> 00:59:57,930 Comma. 1284 00:59:57,930 --> 01:00:02,180 Bei ni muhimu nyingine, na thamani yake ni inaonekana hatua yaliyo, au a 1285 01:00:02,180 --> 01:00:06,510 idadi kwa ujumla zaidi katika JavaScript, ya $ 49.26. 1286 01:00:06,510 --> 01:00:09,030 >> Hivyo PHP hana - 1287 01:00:09,030 --> 01:00:12,980 hatujaona katika PHP vitu kabisa kama hii, lakini hatukuwa kuona Analog, 1288 01:00:12,980 --> 01:00:14,093 ambayo ilikuwa nini? 1289 01:00:14,093 --> 01:00:14,980 >> Watazamaji: [inaudible]. 1290 01:00:14,980 --> 01:00:16,110 >> DAVID Malan: associative arrays. 1291 01:00:16,110 --> 01:00:19,990 Hivyo ambapo PHP ina arrays associative ambao syntax ni milele kidogo ili 1292 01:00:19,990 --> 01:00:20,370 tofauti - 1293 01:00:20,370 --> 01:00:21,780 tuliona mabano mraba. 1294 01:00:21,780 --> 01:00:23,860 Tuliona weird mishale alama. 1295 01:00:23,860 --> 01:00:27,330 JavaScript ina vitu, lakini hii ni zaidi tofauti semantic na a 1296 01:00:27,330 --> 01:00:29,260 kisawe mbalimbali kwa sasa. 1297 01:00:29,260 --> 01:00:35,060 Hata hivyo, kama kando, PHP pia ina vitu kwa njia ambayo Java na nyingine 1298 01:00:35,060 --> 01:00:37,810 lugha na vitu katika kifaa-oriented programu. 1299 01:00:37,810 --> 01:00:40,440 Lakini tutaweza kutumia haya tu kwa ajili ya aina data kwa sasa. 1300 01:00:40,440 --> 01:00:42,170 Vitu na associative arrays. 1301 01:00:42,170 --> 01:00:44,140 >> Hii mtu anaweza kufanya hivyo kidogo zaidi ya wazi. 1302 01:00:44,140 --> 01:00:45,890 Hapa ni kwa nini kitu ni muhimu. 1303 01:00:45,890 --> 01:00:48,760 Wakati unataka kutangaza mwanafunzi, kama Zamyla, tunaweza kweli 1304 01:00:48,760 --> 01:00:52,630 kurejelea hivyo kusema ndani ya kwamba kitu kwa kutumia mabano curly tu kama 1305 01:00:52,630 --> 01:00:55,060 kabla ya rundo zima la funguo na maadili katika hapa. 1306 01:00:55,060 --> 01:00:59,150 Tuna ID, nyumba, na jina kwa Zamyla, ikifuatiwa na semicolon kama 1307 01:00:59,150 --> 01:01:00,690 kawaida katika mwisho. 1308 01:01:00,690 --> 01:01:04,840 >> Hapa chini pia, hii ni kidogo mbalimbali, lakini pia nguvu sana 1309 01:01:04,840 --> 01:01:05,690 siku hizi. 1310 01:01:05,690 --> 01:01:08,780 Hapa ni safu, na mimi kujua kwamba kwa sababu kuna mraba mabano up 1311 01:01:08,780 --> 01:01:11,090 juu na bracket mraba chini. 1312 01:01:11,090 --> 01:01:16,050 Na hii ni safu ya data nini aina inaonekana katika JavaScript? 1313 01:01:16,050 --> 01:01:21,260 Hii ni safu ya inaonekana kama vitu tatu. 1314 01:01:21,260 --> 01:01:24,580 Na Mimi najua ni kitu tu kwa sababu ya braces curly. 1315 01:01:24,580 --> 01:01:28,760 Na taarifa kuna wazi curly brace, baadhi ya mambo, karibu curly brace, comma, 1316 01:01:28,760 --> 01:01:31,180 kisha baadhi zaidi, comma, na kisha baadhi zaidi. 1317 01:01:31,180 --> 01:01:33,800 Hivyo kwamba ni hoja tatu kutengwa kwa koma mbili. 1318 01:01:33,800 --> 01:01:36,810 >> Hivyo hii ni safu ya vitu tatu. 1319 01:01:36,810 --> 01:01:39,940 Na kila mmoja wa wale vitu inaonekana kuwa mwanafunzi au wafanyakazi mwanachama wa baadhi 1320 01:01:39,940 --> 01:01:42,370 aina, kila mmoja kwa ID, nyumba, na jina. 1321 01:01:42,370 --> 01:01:45,060 Lakini nimepata kuitwa hii kitu aitwaye JSON - 1322 01:01:45,060 --> 01:01:47,450 JavaScript Object nukuu. 1323 01:01:47,450 --> 01:01:52,060 Na hii ni format data kwamba kweli ni maarufu sana na katika 1324 01:01:52,060 --> 01:01:55,100 vogue siku hizi kwamba kama wewe kuandika maombi kwamba anatumia Facebook 1325 01:01:55,100 --> 01:01:59,150 API, Twitter API, kweli karibu API yoyote huko nje siku hizi, 1326 01:01:59,150 --> 01:02:02,820 ikiwa ni pamoja na baadhi ya CS50 mwenyewe, data kupata nyuma ni si katika 1327 01:02:02,820 --> 01:02:04,720 umri wa shule ya CSV format. 1328 01:02:04,720 --> 01:02:06,780 >> Kwa sababu kukumbuka kwamba CSV ni super rahisi. 1329 01:02:06,780 --> 01:02:10,230 Ni nguzo tu kutengwa kwa koma. 1330 01:02:10,230 --> 01:02:13,190 JSON data anatoa metadata zaidi. 1331 01:02:13,190 --> 01:02:17,800 Ni washirika muhimu kwa kila thamani hivyo hawana kudhani tu kwamba 1332 01:02:17,800 --> 01:02:22,460 safu 0 ni thamani moja, safu moja ni mwingine, safu mbili ni mwingine. 1333 01:02:22,460 --> 01:02:26,790 Kila kitu katika JSON kitu hapa ni aina binafsi kuelezea, kwa sababu kila 1334 01:02:26,790 --> 01:02:30,940 moja ya majina katika file hii ina literally jina mbele yake kama 1335 01:02:30,940 --> 01:02:32,510 alinukuliwa kamba. 1336 01:02:32,510 --> 01:02:34,950 >> Hivyo basi tuangalie a mifano michache hapa. 1337 01:02:34,950 --> 01:02:36,800 Hebu kwenda katika appliance. 1338 01:02:36,800 --> 01:02:41,000 Na napenda kwenda katika vhost wetu directory katika umma. 1339 01:02:41,000 --> 01:02:45,590 Na napenda kwenda katika JavaScript directory. 1340 01:02:45,590 --> 01:02:49,610 Na hebu kwenda mbele na kufungua dom-0.html, ambapo DOM tu ina maana 1341 01:02:49,610 --> 01:02:51,010 hati kitu mfano wa kuigwa. 1342 01:02:51,010 --> 01:02:53,490 Ni mambo ya mti ambayo Mimi inajulikana mapema. 1343 01:02:53,490 --> 01:02:54,950 >> Na napenda kupendekeza yafuatayo. 1344 01:02:54,950 --> 01:02:57,720 Hapa ni ukurasa wa mtandao ambao mwili ni pretty rahisi. 1345 01:02:57,720 --> 01:03:00,170 Hivyo chini hapa chini, taarifa mimi na aina. 1346 01:03:00,170 --> 01:03:01,500 Tumeona wale walio kuwa kabla. 1347 01:03:01,500 --> 01:03:07,600 Ina pembejeo mbili, moja ambayo ina ID ya jina, moja ambayo ina aina ya 1348 01:03:07,600 --> 01:03:09,830 Waislamu, na kwanza aina moja ni maandishi. 1349 01:03:09,830 --> 01:03:11,900 Hivyo hii kweli sauti pretty rahisi. 1350 01:03:11,900 --> 01:03:13,090 >> Hebu nenda hapa. 1351 01:03:13,090 --> 01:03:15,390 Hebu kwenda nyuma ya ukurasa huu hapa. 1352 01:03:15,390 --> 01:03:21,030 Hebu kwenda katika localhost, na kwenda katika JavaScript orodha yetu, na kwenda 1353 01:03:21,030 --> 01:03:24,640 dom-0, na hapa tuna fomu hii. 1354 01:03:24,640 --> 01:03:26,550 Hivyo kwamba ni inaonekana ukurasa hii yote gani. 1355 01:03:26,550 --> 01:03:28,740 Ni ana shamba jina na a Kuwasilisha kifungo. 1356 01:03:28,740 --> 01:03:30,340 Lakini mimi si kwenda kutumia PHP hapa. 1357 01:03:30,340 --> 01:03:34,310 Mimi nina kwenda kufanya upande kila kitu mteja hivyo kusema katika JavaScript kama ifuatavyo. 1358 01:03:34,310 --> 01:03:39,100 >> Taarifa kwamba nimepata kweli kutokana na jina uwanja wa pembejeo hii ya kipekee 1359 01:03:39,100 --> 01:03:42,350 kitambulisho, ambayo kwa kweli ila mimi wakati baadhi katika wakati huu. 1360 01:03:42,350 --> 01:03:45,480 Na taarifa nimekuwa ilianzisha tag mwingine katika kichwa cha mtandao ukurasa wangu, 1361 01:03:45,480 --> 01:03:46,565  tag. 1362 01:03:46,565 --> 01:03:50,120 >> Hivyo ni kwa maana hii kwamba JavaScript ni mteja upande lugha ya programu. 1363 01:03:50,120 --> 01:03:55,020 Katika kesi hiyo, kama CSS, Nimekuwa kuweka ni moja kwa moja ndani ya HTML yangu. 1364 01:03:55,020 --> 01:03:58,810 Lakini taarifa nimekuwa alitangaza kazi kwamba inaonekana kidogo kama PHP 1365 01:03:58,810 --> 01:04:01,530 syntactically, lakini hii ni kweli JavaScript, kwa sababu tena, ni 1366 01:04:01,530 --> 01:04:03,920 mteja upande katika browser. 1367 01:04:03,920 --> 01:04:07,590 Na kuchukua nadhani jambo hili ni kwenda kufanya, hata ingawa baadhi ya syntax 1368 01:04:07,590 --> 01:04:09,338 hapa ni mpya. 1369 01:04:09,338 --> 01:04:11,760 >> Watazamaji: Sema hello yeyote. 1370 01:04:11,760 --> 01:04:14,020 >> DAVID Malan: Ni kwenda kusema hello yeyote ziara ukurasa huu. 1371 01:04:14,020 --> 01:04:15,120 Hivyo vipi? 1372 01:04:15,120 --> 01:04:18,070 >> Hivyo taarifa, ni zamu nje katika JavaScript kuna macho () kazi. 1373 01:04:18,070 --> 01:04:22,840 Hii ni kazi sana aina ya kusikitisha kwamba kweli tu huelekea waudhi watumiaji. 1374 01:04:22,840 --> 01:04:25,440 Siyo moja unapaswa kweli kutumia kawaida, lakini ni ya haraka na chafu 1375 01:04:25,440 --> 01:04:27,710 njia ya aina ya uchapishaji kitu kwa mtumiaji graphical 1376 01:04:27,710 --> 01:04:29,180 interface, kama browser. 1377 01:04:29,180 --> 01:04:31,400 Taarifa hapa kwamba mimi nimepata kamba katika quotes moja. 1378 01:04:31,400 --> 01:04:36,010 Ni zinageuka kuwa tofauti na C, JavaScript unaweza kweli na matumizi ya moja 1379 01:04:36,010 --> 01:04:38,730 ananukuu, na kusema ukweli ni tu aina ya mkataba kati ya Stylistic 1380 01:04:38,730 --> 01:04:41,180 JavaScript programmers kutumia quotes moja. 1381 01:04:41,180 --> 01:04:43,750 PHP, kweli kuwa kidogo maana tofauti. 1382 01:04:43,750 --> 01:04:45,810 Lakini kwa sasa, tu kujua kwamba hiyo ni sababu tu. 1383 01:04:45,810 --> 01:04:49,270 mkataba katika JavaScript ni mara nyingi kwa kutumia quotes moja, lakini tunaweza kutumia 1384 01:04:49,270 --> 01:04:50,950 quotes mbili katika maeneo yote pia. 1385 01:04:50,950 --> 01:04:52,610 >> Hivyo hii ni ya kuvutia. 1386 01:04:52,610 --> 01:04:56,430 Kumbuka mwisho wakati huo tulikuwa na kwamba picha juu ya screen waliotumia mti 1387 01:04:56,430 --> 01:04:59,720 ambapo alikuwa HTML node, na kichwa node, na node mwili, 1388 01:04:59,720 --> 01:05:00,800 na kisha baadhi maandishi. 1389 01:05:00,800 --> 01:05:04,700 Lakini kulikuwa na mtu mmoja maalum node katika juu sana kwamba mimi kuitwa hati. 1390 01:05:04,700 --> 01:05:08,260 Naam, ni zamu nje katika JavaScript, yoyote wakati kuandika mpango katika JavaScript 1391 01:05:08,260 --> 01:05:11,040 katika browser, unaweza kupata maalum wa kimataifa kutofautiana. 1392 01:05:11,040 --> 01:05:14,130 Sawa katika roho superglobals PHP ya, hii moja inaitwa katika 1393 01:05:14,130 --> 01:05:16,050 wote lowercase hati. 1394 01:05:16,050 --> 01:05:21,480 >> Ni kama struct, lakini struct hii pia ina kazi ndani yake. 1395 01:05:21,480 --> 01:05:23,790 Hivyo C struct tu ana data kawaida. 1396 01:05:23,790 --> 01:05:29,060 Lakini JavaScript kitu kama hii kitaalam ni pia ina kazi, 1397 01:05:29,060 --> 01:05:31,830 inayojulikana kama mbinu, ndani yake. 1398 01:05:31,830 --> 01:05:35,750 Na unaweza kupiga kazi ndani ya hii kitu halisi kabisa kufanya yake 1399 01:05:35,750 --> 01:05:39,610 jina, dot, na kisha jina la kazi, au tena mbinu. 1400 01:05:39,610 --> 01:05:41,160 Ni tu kisawe, kwa kweli. 1401 01:05:41,160 --> 01:05:42,450 >> Na nini kazi hii nini? 1402 01:05:42,450 --> 01:05:43,840 Unaweza aina ya nadhani kutoka jina lake. 1403 01:05:43,840 --> 01:05:45,590 Kupata hiki na ID. 1404 01:05:45,590 --> 01:05:50,040 Hivyo hii ni kwenda kutafuta ukurasa mtandao, kutafuta mti huo, kuangalia kwa 1405 01:05:50,040 --> 01:05:55,210 chochote node, AKA hiki, ina kipekee ID ya kunukuu unquote jina. 1406 01:05:55,210 --> 01:05:56,560 Na kisha nini mimi kwenda kufanya nini? 1407 01:05:56,560 --> 01:06:00,350 Mimi nina kwenda kupata thamani ndani ya kwamba node katika mti, na mimi nina kwenda 1408 01:06:00,350 --> 01:06:02,580 kwa namna fulani kusema hello jina hilo. 1409 01:06:02,580 --> 01:06:05,360 >> Hivyo kuchukua nadhani, hata kama sisi wameweza si kuonekana hii bado, je, pamoja na 1410 01:06:05,360 --> 01:06:07,396 alama maana hapa na hapa pengine? 1411 01:06:07,396 --> 01:06:08,230 >> Watazamaji: concatenate. 1412 01:06:08,230 --> 01:06:09,220 >> DAVID Malan: concatenate. 1413 01:06:09,220 --> 01:06:11,290 Haki, na haya ni aina ya kubuni maamuzi 1414 01:06:11,290 --> 01:06:12,280 watu alifanya miaka iliyopita. 1415 01:06:12,280 --> 01:06:15,190 Katika PHP, wewe concatenate mambo kwa dots. 1416 01:06:15,190 --> 01:06:18,800 Katika C, kuruka kupitia hoops kadhaa na kuwaita kazi kama strcopy () au 1417 01:06:18,800 --> 01:06:20,600 strcat () au kazi nyingine kama hizo. 1418 01:06:20,600 --> 01:06:22,060 Lakini katika JavaScript, unaweza kutumia pluses. 1419 01:06:22,060 --> 01:06:24,770 Hivyo hii ni concatenating tu masharti tatu - 1420 01:06:24,770 --> 01:06:27,850 hello, jina, na kisha mshangao uhakika. 1421 01:06:27,850 --> 01:06:30,390 >> Hivyo wakati na kwa nini ni kazi hii aitwaye ingawa? 1422 01:06:30,390 --> 01:06:33,150 Naam, kuchukua nadhani kutoka HTML chini. 1423 01:06:33,150 --> 01:06:35,810 Kwa nini ni kusalimiana () iitwayo, au wakati? 1424 01:06:35,810 --> 01:06:39,730 1425 01:06:39,730 --> 01:06:44,030 >> Inavyoonekana, kama bora naweza kuwaambia, juu ya kuwasilisha, wakati fomu hii ni in, 1426 01:06:44,030 --> 01:06:47,200 Mimi nina kwenda kufanya chochote ni ndani ya quotes haya. 1427 01:06:47,200 --> 01:06:50,900 Na hasa, mimi nina kwenda kuwaita kusalimiana () na kisha kurudi uongo. 1428 01:06:50,900 --> 01:06:53,090 >> Naam, hebu angalia nini wavu athari hapa ni ya kwanza. 1429 01:06:53,090 --> 01:06:58,290 Hivyo basi mimi kwenda mbele na aina katika, kusema, Loren, Kuwasilisha. 1430 01:06:58,290 --> 01:06:59,440 Habari Loren. 1431 01:06:59,440 --> 01:07:02,990 Hebu tuone kama labda hii ilikuwa ni bahati utekelezaji. 1432 01:07:02,990 --> 01:07:03,200 Nope. 1433 01:07:03,200 --> 01:07:05,990 Hivyo ni kuandika nje chochote jina mimi kwa kweli kuweka huko. 1434 01:07:05,990 --> 01:07:07,970 >> Lakini taarifa ya nini si kubadilika. 1435 01:07:07,970 --> 01:07:10,360 URL bado ni dom-0.html. 1436 01:07:10,360 --> 01:07:11,820 Hakuna register.php. 1437 01:07:11,820 --> 01:07:13,110 Hakuna faili pili ni. 1438 01:07:13,110 --> 01:07:14,930 Hakuna sifa action. 1439 01:07:14,930 --> 01:07:19,720 Kwa hiyo kile ni uongo kurudi labda kufanya? 1440 01:07:19,720 --> 01:07:23,660 Kwa nini mimi wito kusalimiana () na kisha kurudi uongo pengine? 1441 01:07:23,660 --> 01:07:26,420 Nini kawaida hutokea wakati bonyeza Kuwasilisha fomu kwamba hata sisi na 1442 01:07:26,420 --> 01:07:27,854 kuonekana katika kipindi cha wiki? 1443 01:07:27,854 --> 01:07:29,900 >> Watazamaji: [inaudible]. 1444 01:07:29,900 --> 01:07:30,860 >> DAVID Malan: Ni huenda mahali fulani, right? 1445 01:07:30,860 --> 01:07:32,720 Unaendelea na baadhi URL marudio. 1446 01:07:32,720 --> 01:07:34,120 Lakini mimi sitaki kuwa kutokea hapa. 1447 01:07:34,120 --> 01:07:37,620 Nataka mtandao ukurasa yangu kuwa kabisa nguvu kama Gmail, ambapo mara moja uko 1448 01:07:37,620 --> 01:07:38,650 huko, kukaa huko. 1449 01:07:38,650 --> 01:07:42,900 URL haina mabadiliko katika njia ambayo inaonyesha ukurasa yote kupakia upya. 1450 01:07:42,900 --> 01:07:46,680 Badala yake, mimi nataka tu mabadiliko ya kitu fulani kama uchapishaji nje kitu 1451 01:07:46,680 --> 01:07:48,320 hapa juu ya screen. 1452 01:07:48,320 --> 01:07:49,630 >> Vizuri basi mimi safi hii up kidogo. 1453 01:07:49,630 --> 01:07:55,370 Hebu kufungua si dom-0, lakini napenda kufungua dom-2. 1454 01:07:55,370 --> 01:07:57,350 Hivyo tu wameweza kuona baadhi syntax hapa. 1455 01:07:57,350 --> 01:08:02,080 >> Ni zinageuka kuwa kile sisi tu hakuwa ni kutumia mbichi JavaScript. 1456 01:08:02,080 --> 01:08:04,420 Hivyo hii ni kweli lugha JavaScript. 1457 01:08:04,420 --> 01:08:07,340 Baadhi ya unaweza kujua ya maktaba aitwaye jQuery. 1458 01:08:07,340 --> 01:08:09,980 >> Hivyo jQuery si sawa kitu kama JavaScript. 1459 01:08:09,980 --> 01:08:14,110 Ni tu maktaba kwamba kweli smart guy aliandika na umaarufu kama 1460 01:08:14,110 --> 01:08:18,100 kuwa karibu kila mtu katika dunia ya sasa anatumia jQuery wakati wa kutumia JavaScript. 1461 01:08:18,100 --> 01:08:20,890 Na katika mtazamo wa kwanza, uaminifu, ni inaonekana cryptic kidogo zaidi. 1462 01:08:20,890 --> 01:08:24,990 Lakini utapata, hasa kama wewe kwenda huko kwa ajili ya mradi wako wa mwisho na mtandao 1463 01:08:24,990 --> 01:08:29,029 maendeleo, utapata kwamba hii Anasafisha mambo juu na Huwaokoeni kabisa 1464 01:08:29,029 --> 01:08:30,229 mistari michache ya kificho. 1465 01:08:30,229 --> 01:08:33,189 >> Hivyo basi tu mtazamo jinsi fomu hii ni kazi. 1466 01:08:33,189 --> 01:08:35,664 Taarifa gani mimi kuondoa inaonekana kutoka HTML yangu? 1467 01:08:35,664 --> 01:08:38,240 1468 01:08:38,240 --> 01:08:40,630 Hakuna juu ya kuwasilisha handler hivyo kusema. 1469 01:08:40,630 --> 01:08:41,470 Hakuna sifa. 1470 01:08:41,470 --> 01:08:43,359 Kwa sababu unajua, ni nini Mimi si kweli kama? 1471 01:08:43,359 --> 01:08:45,640 Nilihisi kama sisi walikuwa kuanguka ndani ya tabia za zamani huko. 1472 01:08:45,640 --> 01:08:49,340 Tu kama ni kuanzia kujisikia sloppy kwa intermingle wote CSS kwa 1473 01:08:49,340 --> 01:08:52,149 HTML, kwa sababu wewe ni aina ya kutupa lugha mbalimbali duniani 1474 01:08:52,149 --> 01:08:56,180 mahali, vile vile gani hii kuanza kujisikia kama barabara mbaya kwenda chini ambapo 1475 01:08:56,180 --> 01:09:01,069 Mimi nina kuweka JavaScript code ndani ya yangu HTML badala ya factoring nje. 1476 01:09:01,069 --> 01:09:02,279 >> Ili somo hapa. 1477 01:09:02,279 --> 01:09:05,080 Katika dom-2.html, mimi nina factoring nje. 1478 01:09:05,080 --> 01:09:07,399 Na mimi nina kufanya mambo kidogo tofauti. 1479 01:09:07,399 --> 01:09:09,630 Kwa sasa, mimi nina kwenda wimbi mikono yangu nini hii kweli haina 1480 01:09:09,630 --> 01:09:10,590 chini ya kofia. 1481 01:09:10,590 --> 01:09:14,210 Lakini tu kwa sasa kudhani kwamba kwanza mstari wa kanuni katika maktaba hii 1482 01:09:14,210 --> 01:09:18,170 aitwaye jQuery tu ina maana wakati hati ni tayari, kufanya yafuatayo. 1483 01:09:18,170 --> 01:09:20,080 >> Kwa sababu kurasa za mtandao wanaweza kuchukua muda wa kupakia. 1484 01:09:20,080 --> 01:09:23,029 Unaweza kuwa na kwenye mtandao polepole uhusiano, na inaweza kuwa inazunguka 1485 01:09:23,029 --> 01:09:25,290 na inazunguka, na hatimaye ni kubeba. 1486 01:09:25,290 --> 01:09:29,060 Kwamba mstari wa kanuni tu anasema kusubiri hadi ukurasa mzima ni tayari, hati 1487 01:09:29,060 --> 01:09:31,189 ni tayari, kabla ya utekelezaji wa kanuni hii. 1488 01:09:31,189 --> 01:09:34,390 >> Na sasa taarifa, hii pengine ni muhimu sana kwanza 1489 01:09:34,390 --> 01:09:36,189 kuchukua mbali na jQuery. 1490 01:09:36,189 --> 01:09:42,140 Mstari huu hapa ni sawa sana katika roho katika mstari huu muda mrefu hapa. 1491 01:09:42,140 --> 01:09:46,920 Wakati katika mbichi JavaScript code, kuna ipo hati ya kimataifa ya kitu kwamba 1492 01:09:46,920 --> 01:09:50,460 ina kazi kuitwa getElementById (), watu ambao aliandika 1493 01:09:50,460 --> 01:09:55,720 jQuery kilichorahisishwa kwamba kusema tu dola ishara, na kisha ndani ya 1494 01:09:55,720 --> 01:10:00,250 mabano kuweka quotes mbili, na kisha kuweka hash ishara na kufuatiwa na 1495 01:10:00,250 --> 01:10:02,250 kipekee ID unataka kunyakua. 1496 01:10:02,250 --> 01:10:06,170 Hivyo hii ni sawa na document.getElementById. 1497 01:10:06,170 --> 01:10:11,090 >> Wakati huo huo,. Kuwasilisha tu ina maana juu ya kuwasilisha aina yoyote wewe ni 1498 01:10:11,090 --> 01:10:14,240 akimaanisha upande wa kushoto, kwenda mbele na kutekeleza hili. 1499 01:10:14,240 --> 01:10:16,600 Lakini hii ni sasa udadisi pia. 1500 01:10:16,600 --> 01:10:19,560 Nini weird juu ya nini Nimekuwa yalionyesha hapa? 1501 01:10:19,560 --> 01:10:23,840 1502 01:10:23,840 --> 01:10:28,594 Si tu ni aina ya syntactically mpya, pia kuna kitu missing. 1503 01:10:28,594 --> 01:10:29,558 >> Watazamaji: Ni tu kuitwa kazi? 1504 01:10:29,558 --> 01:10:31,970 Ni si kuitwa macho? 1505 01:10:31,970 --> 01:10:32,440 >> DAVID Malan: Yeah. 1506 01:10:32,440 --> 01:10:35,450 Vizuri, tahadhari hivyo () ni chini hapa, kuwa haki. 1507 01:10:35,450 --> 01:10:39,520 Lakini hakuna kutaja ya jina, kama unajua, foo au 1508 01:10:39,520 --> 01:10:40,980 kitu hapa. 1509 01:10:40,980 --> 01:10:43,830 Na kwa kweli, hii ni moja ya makala ya JavaScript kwamba kabisa 1510 01:10:43,830 --> 01:10:45,370 nguvu, lakini pia ni mpya kabisa. 1511 01:10:45,370 --> 01:10:47,460 Na PHP kweli ina huu pia. 1512 01:10:47,460 --> 01:10:49,500 >> Hebu kwenda mbele na kufanya kitu halisi haraka. 1513 01:10:49,500 --> 01:10:52,030 Hebu kwenda mbele na kuweka hii hapa. 1514 01:10:52,030 --> 01:10:52,600 Hebu kufanya hivyo. 1515 01:10:52,600 --> 01:10:53,690 Kazi. 1516 01:10:53,690 --> 01:10:56,455 Hebu piga handler hivi (). 1517 01:10:56,455 --> 01:10:58,290 kazi handler hivyo kusema. 1518 01:10:58,290 --> 01:11:00,110 Kitu ambacho kinafanya baadhi ya operesheni. 1519 01:11:00,110 --> 01:11:02,700 Hebu kusafisha indentation yangu. 1520 01:11:02,700 --> 01:11:04,380 Na kuweka hii hapa. 1521 01:11:04,380 --> 01:11:06,090 Na kuweka kwamba hapa. 1522 01:11:06,090 --> 01:11:06,470 Yep. 1523 01:11:06,470 --> 01:11:07,060 OK. 1524 01:11:07,060 --> 01:11:10,300 >> Basi sasa nina kazi kuitwa handler () kwamba mimi si kweli kujua 1525 01:11:10,300 --> 01:11:10,890 nini anafanya bado. 1526 01:11:10,890 --> 01:11:12,710 Ni tu bado ina kuwa mambo ya ajabu. 1527 01:11:12,710 --> 01:11:13,900 Whoops. 1528 01:11:13,900 --> 01:11:15,820 Alichukua sana. 1529 01:11:15,820 --> 01:11:18,490 Hebu kufanya hivyo. 1530 01:11:18,490 --> 01:11:18,990 Sawa. 1531 01:11:18,990 --> 01:11:20,240 Sorry. 1532 01:11:20,240 --> 01:11:23,140 1533 01:11:23,140 --> 01:11:23,690 Sawa. 1534 01:11:23,690 --> 01:11:24,720 Hebu kufanya hivyo. 1535 01:11:24,720 --> 01:11:25,020 OK. 1536 01:11:25,020 --> 01:11:27,040 Kwamba inaonekana nzuri na moja kwa moja mbele sasa. 1537 01:11:27,040 --> 01:11:29,090 Hebu kufanya hivyo. 1538 01:11:29,090 --> 01:11:29,860 Kufanya hivyo. 1539 01:11:29,860 --> 01:11:30,950 Na OK. 1540 01:11:30,950 --> 01:11:33,080 Hivyo sasa, hebu kuweka hii zaidi ya hapa. 1541 01:11:33,080 --> 01:11:35,840 1542 01:11:35,840 --> 01:11:37,270 Programu No zaidi juu ya kuruka. 1543 01:11:37,270 --> 01:11:37,900 OK. 1544 01:11:37,900 --> 01:11:40,000 >> Hivyo sasa, hebu kwenda nyuma ya ambapo hadithi kuanza. 1545 01:11:40,000 --> 01:11:43,530 Hapo awali, mimi alisema kuwa mstari huu hapa maana wakati hati ni tayari, kwenda 1546 01:11:43,530 --> 01:11:44,380 mbele na kufanya hivyo. 1547 01:11:44,380 --> 01:11:45,660 Je, mimi unataka kufanya nini? 1548 01:11:45,660 --> 01:11:49,070 Vizuri hasa, nataka kwenda mbele na kufanya yafuatayo. 1549 01:11:49,070 --> 01:11:53,700 Kutekeleza mstari wa kanuni, na kisha nini nataka kufanya ni wito huu 1550 01:11:53,700 --> 01:11:56,370 kazi wakati aina ni kuwasilishwa. 1551 01:11:56,370 --> 01:11:57,730 >> Sasa hii ni nini kuvutia. 1552 01:11:57,730 --> 01:11:59,170 Hii si yenyewe kazi. 1553 01:11:59,170 --> 01:12:02,540 Taarifa mimi si kuweka mabano hapa katika njia ya kawaida. 1554 01:12:02,540 --> 01:12:06,800 Mimi nina literally kupita kazi kuitwa handler () kwa kazi nyingine 1555 01:12:06,800 --> 01:12:10,800 aitwaye kuwasilisha () kama hoja kama ingawa ni kama kutofautiana. 1556 01:12:10,800 --> 01:12:14,290 Na hii ni moja ya sifa za JavaScript, ni kazi wenyewe 1557 01:12:14,290 --> 01:12:15,710 ni kweli tu vitu. 1558 01:12:15,710 --> 01:12:18,350 Kwa hakika, ni kweli tu vigezo ya aina fulani. 1559 01:12:18,350 --> 01:12:21,340 Na kama jina la kazi ni handler (), hakuna sababu siwezi 1560 01:12:21,340 --> 01:12:23,390 kupita katika kama hoja hapa. 1561 01:12:23,390 --> 01:12:27,530 Na hii ina maana wakati aina na ID ya demo ni 1562 01:12:27,530 --> 01:12:29,320 in, piga kazi hii. 1563 01:12:29,320 --> 01:12:32,770 >> Lakini sasa kama mimi kuondoa haya yote, kwa nini basi mimi labda kufanya 1564 01:12:32,770 --> 01:12:34,850 huu wa sasa iliyopita? 1565 01:12:34,850 --> 01:12:36,840 Naam, hii ni kazi bila majina. 1566 01:12:36,840 --> 01:12:41,080 Kwa sababu kusema ukweli, mimi barabara kwa nini mimi bothering kupoteza muda kutangaza 1567 01:12:41,080 --> 01:12:45,540 kazi kuitwa handler () tu kuwaita katika moja na sehemu moja tu? 1568 01:12:45,540 --> 01:12:48,640 Kama mimi si haja jina, na mimi si haja ya simu ni mahali zaidi ya moja, 1569 01:12:48,640 --> 01:12:51,200 hebu tu kutekeleza kazi haki ambapo mimi haja yake. 1570 01:12:51,200 --> 01:12:55,190 Na hivyo JavaScript na PHP msaada gani walioitwa kazi bila majina kwamba 1571 01:12:55,190 --> 01:12:57,900 naomba kufanya hasa kwamba hapa. 1572 01:12:57,900 --> 01:12:59,570 >> Lakini sisi ni scratching tu ya uso. 1573 01:12:59,570 --> 01:13:02,430 Hebu tease na michache tu mifano ya mwisho hapa. 1574 01:13:02,430 --> 01:13:04,600 >> Kama mimi kwenda katika quote.php. 1575 01:13:04,600 --> 01:13:07,160 1576 01:13:07,160 --> 01:13:11,870 Taarifa kwamba hii ni kweli PHP kazi, mpango PHP, kwamba mimi aliandika 1577 01:13:11,870 --> 01:13:15,270 kwamba anatarajia parameter HTTP aitwaye ishara, na siwezi kupita katika 1578 01:13:15,270 --> 01:13:16,730 thamani kama FB. 1579 01:13:16,730 --> 01:13:20,010 Na kama sisi kweli kuangalia chanzo code, hii ni querying tovuti ya bure 1580 01:13:20,010 --> 01:13:23,680 aitwaye Yahoo Fedha, kama p-kuweka saba, na ni kurudi kwangu 1581 01:13:23,680 --> 01:13:26,580 kitu katika inaonekana format inajulikana ni JSON - 1582 01:13:26,580 --> 01:13:28,010 JavaScript Object nukuu. 1583 01:13:28,010 --> 01:13:28,810 Ni tu kitu. 1584 01:13:28,810 --> 01:13:32,500 Taarifa braces curly, quotes, koloni, na koma. 1585 01:13:32,500 --> 01:13:34,720 >> Sasa wakati huo huo, hii ni pretty cool. 1586 01:13:34,720 --> 01:13:38,520 Kwa sababu mimi pengine unaweza kutumia programu lugha ya kuzalisha URLs 1587 01:13:38,520 --> 01:13:40,370 kwamba kuangalia kama hii dynamically, sawa? 1588 01:13:40,370 --> 01:13:43,340 Mimi naweza kubadili hii Google na kupata nyuma ya Google 1589 01:13:43,340 --> 01:13:47,930 bei ya hisa ya $ 1,017.55. 1590 01:13:47,930 --> 01:13:49,640 Basi hebu angalia kama tunaweza kutumia hii sasa. 1591 01:13:49,640 --> 01:13:56,590 >> Hebu kwenda ajax-0 hapa, ambayo inaonekana kama zifuatazo. 1592 01:13:56,590 --> 01:13:59,750 Ni tu tovuti hiyo ina fomu na kifungo. 1593 01:13:59,750 --> 01:14:05,860 Hebu hapa kwenda mbele na aina katika YHOO kwa hisa alama Yahoo, bonyeza Kupata 1594 01:14:05,860 --> 01:14:10,530 Quote, na sasa taarifa mimi wameweza kujipatia macho na 32.86. 1595 01:14:10,530 --> 01:14:14,050 >> Hebu kweli kwenda kwenye toleo fancier ya ukurasa huu, toleo mbili, na 1596 01:14:14,050 --> 01:14:17,530 aina katika hebu sema Microsoft, MSFT. 1597 01:14:17,530 --> 01:14:18,410 Kupata Quote. 1598 01:14:18,410 --> 01:14:19,850 Na sasa taarifa, hakuna tahadhari. 1599 01:14:19,850 --> 01:14:22,770 Taarifa ambapo anasema bei kuangaliwa? 1600 01:14:22,770 --> 01:14:27,060 Kuna rahisi ya mifano mwanga katika kile Gchat, na kuungana 1601 01:14:27,060 --> 01:14:30,070 Kuzungumza, na Gmail, na mengine kama Nje ni kufanya kwa kweli 1602 01:14:30,070 --> 01:14:31,290 kubadilisha ukurasa wa mtandao. 1603 01:14:31,290 --> 01:14:31,800 >> Taarifa hii. 1604 01:14:31,800 --> 01:14:33,120 Hebu upya ukurasa. 1605 01:14:33,120 --> 01:14:35,080 Hebu kufungua Chrome ya Inspekta. 1606 01:14:35,080 --> 01:14:36,890 Hebu kwenda na mambo tab hapa chini. 1607 01:14:36,890 --> 01:14:42,310 Sasa taarifa kama mimi kuvuta chini hapa na kufungua hili, taarifa kwamba hii ni yangu 1608 01:14:42,310 --> 01:14:44,500 HTML DOM - hati yangu kitu mfano wa kuigwa. 1609 01:14:44,500 --> 01:14:45,920 Hii ni HTML yangu. 1610 01:14:45,920 --> 01:14:48,750 Lakini sasa taarifa, hata kama ni kinaendelea kuwa ngumu kidogo kuona katika wawili 1611 01:14:48,750 --> 01:14:52,080 maeneo kwa mara moja, kama mimi aina katika FB hapa, kuangalia chini 1612 01:14:52,080 --> 01:14:54,110 ya screen tu. 1613 01:14:54,110 --> 01:14:57,720 >> Ni kweli kubadilisha HTML yangu juu ya kuruka. 1614 01:14:57,720 --> 01:15:01,670 Na ni kufanya hii kabisa tu kwa kufanya kitu kama hiki. 1615 01:15:01,670 --> 01:15:06,800 Kama mimi kufungua ajax-2, taarifa ya utekelezaji wa kitu kama sexy kama 1616 01:15:06,800 --> 01:15:09,560 kwamba, hata kama ni pretty mbaya, lakini kama kisasa kama kwamba 1617 01:15:09,560 --> 01:15:11,910 functionally, ina baadhi ya HTML chini. 1618 01:15:11,910 --> 01:15:13,810 Lakini taarifa Nilikuwa tag. 1619 01:15:13,810 --> 01:15:16,640 Tumekuwa si alitumia kabla, lakini hii ni kama, lakini haina nguvu 1620 01:15:16,640 --> 01:15:17,840 kila kitu kwenye mstari mpya. 1621 01:15:17,840 --> 01:15:20,830 Ni tu hufanya mkoa wa mstatili juu ya mstari huo kimsingi. 1622 01:15:20,830 --> 01:15:22,870 >> Taarifa kwamba mimi akampa ID ya bei. 1623 01:15:22,870 --> 01:15:26,800 Na zinageuka na kutumia huo JavaScript maktaba, nina kazi 1624 01:15:26,800 --> 01:15:30,440 aitwaye quote () kwamba wito wakati wowote fomu ni kuwasilishwa. 1625 01:15:30,440 --> 01:15:31,800 Na nini mimi kufanya ni hii. 1626 01:15:31,800 --> 01:15:35,730 Mimi kutangaza variable katika JavaScript aitwaye url, kuokoa thamani 1627 01:15:35,730 --> 01:15:38,650 quote.php? ishara =. 1628 01:15:38,650 --> 01:15:44,220 Kwa maneno mengine, mimi mwenyewe ni mwanzo kuandaa ombi HTTP, na kisha 1629 01:15:44,220 --> 01:15:49,250 Mimi nina concatenating kwenye kwamba pamoja na pamoja na chochote hiki na ID 1630 01:15:49,250 --> 01:15:54,190 ya alama ni, ambayo taarifa ni kwamba Nakala shamba haki ya chini hapa. 1631 01:15:54,190 --> 01:15:56,630 Hivyo tu kama sisi na aina katika siku za nyuma. 1632 01:15:56,630 --> 01:16:01,450 >> Na kisha ni zamu nje katika jQuery, kama wewe simu. val (), kwamba wito wa val 1633 01:16:01,450 --> 01:16:05,900 kazi, thamani ya kazi, kwamba anapata chochote mtumiaji typed in 1634 01:16:05,900 --> 01:16:08,920 Na kisha wote wa trafiki mtandao kinachotokea ni hii. 1635 01:16:08,920 --> 01:16:11,230 $. GetJSON. 1636 01:16:11,230 --> 01:16:13,720 >> Na kama kando, ishara ya dola ni tu shorthand nukuu. 1637 01:16:13,720 --> 01:16:16,860 Ni kweli jQuery.getJSON. 1638 01:16:16,860 --> 01:16:21,520 Kupata mimi JSON kutoka URL huu, na wakati ombi anakuja nyuma, wito huu 1639 01:16:21,520 --> 01:16:26,550 kazi na kupita katika kama hoja chochote akarudi kutoka server. 1640 01:16:26,550 --> 01:16:31,205 >> Hivyo kwa maneno mengine, kama mimi kurejea browser, na mimi kurejea quote.php, 1641 01:16:31,205 --> 01:16:35,590 nini browser yangu ni kufanya ni kupata chunk hii ya data. 1642 01:16:35,590 --> 01:16:38,930 Na wakati mimi kwenda tovuti hii hapa, taarifa kama sisi badala ya kwenda mtandao 1643 01:16:38,930 --> 01:16:43,820 tab na wazi, na kisha aina katika kitu kama GOOG kwa Google na Kupata 1644 01:16:43,820 --> 01:16:46,340 Quote, taarifa ukurasa hakuna mabadiliko. 1645 01:16:46,340 --> 01:16:50,990 Lakini ombi HTTP ulifanywa, na kile akarudi hapa kama sisi kuangalia 1646 01:16:50,990 --> 01:16:56,130 jibu ni rundo zima la JSON kwamba sisi kupatikana hatimaye kwa 1647 01:16:56,130 --> 01:16:58,070 line hii rahisi hapa. 1648 01:16:58,070 --> 01:17:00,150 >> Takwimu ni kile kujipatia kutoka kwa seva. 1649 01:17:00,150 --> 01:17:02,120 Bei ni jina la muhimu mimi huduma ya juu. 1650 01:17:02,120 --> 01:17:05,230 Hivyo data.price anitiaye hiyo. 1651 01:17:05,230 --> 01:17:07,540 >> Sasa wakati huo huo, na hii ni mfano wa mwisho. 1652 01:17:07,540 --> 01:17:09,280 Unaweza kufanya lakini zaidi kwa ukurasa. 1653 01:17:09,280 --> 01:17:12,440 Moja kwa kweli, vizuri mbili. 1654 01:17:12,440 --> 01:17:14,780 Tunaweza kuleta nyuma tag, kama unakumbuka hii. 1655 01:17:14,780 --> 01:17:15,850 Hiyo ni JavaScript. 1656 01:17:15,850 --> 01:17:17,110 Tunaweza kufanya hivyo. 1657 01:17:17,110 --> 01:17:17,690 Kusisimua sana. 1658 01:17:17,690 --> 01:17:18,800 Sisi itabidi kuondoka kwamba kama cliffhanger. 1659 01:17:18,800 --> 01:17:21,590 >> Lakini zaidi excitingly, unaweza kufanya mambo kama hayo. 1660 01:17:21,590 --> 01:17:25,940 Kama mimi kwenda kwa geolocation-1, ni zamu nje kwamba Chrome anajua kwamba sisi ni katika 1661 01:17:25,940 --> 01:17:30,672 latitude longitude 42.37 -71.10.. 1662 01:17:30,672 --> 01:17:32,940 Hivyo kuna hata zaidi huko ovyo wako. 1663 01:17:32,940 --> 01:17:34,290 Lakini zaidi juu ya kwamba wiki ijayo. 1664 01:17:34,290 --> 01:17:35,540 Angalia wewe Jumatatu. 1665 01:17:35,540 --> 01:17:37,558