1 00:00:00,000 --> 00:00:02,405 >> [Music kucheza] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID Malan: zote haki, hii ni CS50. 4 00:00:11,980 --> 00:00:13,740 Hii ni mwisho wa wiki nane. 5 00:00:13,740 --> 00:00:15,887 Na leo, sisi kuanza kujaza baadhi ya vipande 6 00:00:15,887 --> 00:00:17,720 linapokuja suala la jengo mambo kwenye mtandao. 7 00:00:17,720 --> 00:00:20,020 Hivyo, kukumbuka kuwa siku ya Jumatatu sisi kutumia muda mwingi zaidi 8 00:00:20,020 --> 00:00:22,530 juu ya PHP, ambayo ni nguvu huu lugha ya programu kwamba 9 00:00:22,530 --> 00:00:26,872 unatuwezesha pato, miongoni mwa mengine mambo, HTML na mengine maudhui kama 10 00:00:26,872 --> 00:00:27,830 kwamba tutaweza wanataka kuona. 11 00:00:27,830 --> 00:00:30,871 Lakini sisi si kweli inaonekana katika jinsi tunakwenda kuhifadhi taarifa yoyote. 12 00:00:30,871 --> 00:00:34,477 Kwa hakika, karibu yoyote ya kuwa super tovuti ya kuvutia kutembelea leo 13 00:00:34,477 --> 00:00:36,560 kuwa na aina fulani ya orodha tarehe ya mwisho ya nyuma, haki? 14 00:00:36,560 --> 00:00:39,540 Hakika Picha maduka kura ya data kuhusu sisi sote na maduka Gmail zote 15 00:00:39,540 --> 00:00:40,210 wa barua pepe yako. 16 00:00:40,210 --> 00:00:44,150 >> Na hivyo, maeneo mengine mengi si tu tuli bidhaa hiyo ni habari. 17 00:00:44,150 --> 00:00:45,640 Ni kweli nguvu kwa namna fulani. 18 00:00:45,640 --> 00:00:48,480 Wewe kutoa mchango, updates kurasa kwa watu wengine. 19 00:00:48,480 --> 00:00:50,620 Kupata ujumbe, kutuma ujumbe, na kadhalika. 20 00:00:50,620 --> 00:00:54,250 Hivyo leo, sisi kuangalia kwa karibu katika nguzo ya mradi 21 00:00:54,250 --> 00:00:57,330 kwamba utasikia mbizi katika ijayo wiki, CS50 Fedha, ambayo 22 00:00:57,330 --> 00:01:00,509 ni kweli kwenda na wewe kujenga kitu ambacho si katika C, lakini katika PHP. 23 00:01:00,509 --> 00:01:02,550 Tovuti ya kwamba inaonekana kitu kidogo kama hii 24 00:01:02,550 --> 00:01:05,810 ambayo inaruhusu kununua na kuuza hifadhi ya kwamba ni kweli 25 00:01:05,810 --> 00:01:09,044 kwenda kuteka juu ya muda halisi data ya hisa kutoka Yahoo Fedha. 26 00:01:09,044 --> 00:01:11,960 Na hivyo hatimaye, itabidi udanganyifu kwa ajili yako mwenyewe na kwa ajili ya watumiaji 27 00:01:11,960 --> 00:01:14,550 kwamba wewe ni kweli kununua na kuuza hifadhi na kupata muda halisi karibu 28 00:01:14,550 --> 00:01:16,800 updates, kusimamia kwingineko, ambayo yote 29 00:01:16,800 --> 00:01:20,310 ni kwenda zinahitaji kuwa, hatimaye, orodha ya watumiaji. 30 00:01:20,310 --> 00:01:23,330 >> Hivyo, kwa maneno yako mwenyewe, hasa kama wewe si 31 00:01:23,330 --> 00:01:25,670 super ukoo na kompyuta sayansi au databaser, nini 32 00:01:25,670 --> 00:01:30,790 Unajua orodha kuwa sasa hivi, katika suala nontechnical? 33 00:01:30,790 --> 00:01:32,300 Ni nini? 34 00:01:32,300 --> 00:01:36,882 Unaweza kusema nini kuhusu hilo kwa roommate au rafiki? 35 00:01:36,882 --> 00:01:40,100 >> Watazamaji: [inaudible] Maelezo [inaudible] 36 00:01:40,100 --> 00:01:44,430 >> DAVID Malan: Hivyo, orodha ya kampuni, au store-- orodha ya habari 37 00:01:44,430 --> 00:01:47,160 kwamba unaweza kutaka kuhifadhi kuhusu jambo fulani, kama mtumiaji. 38 00:01:47,160 --> 00:01:50,190 Na nini watumiaji kuwa kuhusishwa na wao? 39 00:01:50,190 --> 00:01:53,160 Kama wewe ni mtumiaji juu ya kuungana au Gmail, nini ni tabia 40 00:01:53,160 --> 00:01:54,940 kuwa sisi sote watumiaji kuwa? 41 00:01:54,940 --> 00:01:58,530 Kama, nini inaweza kuwa baadhi ya nguzo katika spreadsheet ambayo sisi 42 00:01:58,530 --> 00:01:59,390 alluded mara ya mwisho? 43 00:01:59,390 --> 00:02:01,140 Kwa sababu tena, unaweza kufikiria orodha 44 00:02:01,140 --> 00:02:05,810 kweli kama dhana faili Excel au Google Spreadsheet au Apple Hesabu faili. 45 00:02:05,810 --> 00:02:08,280 >> Hivyo, je, unafikiri ya wakati unafikiri ya mtumiaji? 46 00:02:08,280 --> 00:02:11,290 Je, wana? 47 00:02:11,290 --> 00:02:11,790 Nini hiyo? 48 00:02:11,790 --> 00:02:12,470 >> Watazamaji: jina. 49 00:02:12,470 --> 00:02:13,303 >> DAVID Malan: jina. 50 00:02:13,303 --> 00:02:16,840 Hivyo kama jina, kama Daudi Malan kuwa ingekuwa jina la baadhi ya mtumiaji. 51 00:02:16,840 --> 00:02:17,980 Nini kingine haina user na? 52 00:02:17,980 --> 00:02:18,770 >> Watazamaji: ID. 53 00:02:18,770 --> 00:02:19,561 >> DAVID Malan: ID. 54 00:02:19,561 --> 00:02:23,320 Hivyo, kama ID idadi, kama Harvard yako ID yako au Yale Net ID au kama. 55 00:02:23,320 --> 00:02:24,923 Nini kingine inaweza mtumiaji kuwa? 56 00:02:24,923 --> 00:02:25,890 >> Watazamaji: Password. 57 00:02:25,890 --> 00:02:29,240 >> DAVID Malan: neno la siri, labda mitaani, labda namba ya simu, labda 58 00:02:29,240 --> 00:02:30,050 barua pepe. 59 00:02:30,050 --> 00:02:32,640 Hivyo, kuna mashada ya mashamba na hii inaweza aina ya ond nje ya kudhibiti 60 00:02:32,640 --> 00:02:34,760 haraka haraka kama wewe kuanza kutambua, loo, hebu kuhifadhi hii 61 00:02:34,760 --> 00:02:36,190 na hebu kuhifadhi hili na lile. 62 00:02:36,190 --> 00:02:37,657 >> Lakini jinsi gani sisi kwa kweli kufanya hivyo? 63 00:02:37,657 --> 00:02:39,740 Hivyo tena, mfano wa akili kuwa kwa leo kama sisi 64 00:02:39,740 --> 00:02:42,320 mbizi katika SQL halisi, Uliza muundo lugha, 65 00:02:42,320 --> 00:02:44,186 ni database kwamba inaonekana kama hii. 66 00:02:44,186 --> 00:02:45,310 Ni safu na nguzo tu. 67 00:02:45,310 --> 00:02:48,309 Na unaweza kufikiria Google Spreadsheets au idadi yoyote ya programu nyingine. 68 00:02:48,309 --> 00:02:52,130 Lakini nini muhimu kuhusu MySQL, ambayo ni Mbegu programu tunakwenda kutumia, 69 00:02:52,130 --> 00:02:54,920 uhuru hadharani available-- matumizi Picha 70 00:02:54,920 --> 00:02:59,200 na idadi yoyote ya websites-- mengine Mbegu maduka mambo na uhusiano kuwa. 71 00:02:59,200 --> 00:03:01,770 Na database kimahusiano tu ina maana moja kwamba literally 72 00:03:01,770 --> 00:03:03,672 Maduka takwimu zake katika safu na nguzo. 73 00:03:03,672 --> 00:03:04,630 Ni rahisi kama hayo. 74 00:03:04,630 --> 00:03:07,230 >> Kwa hiyo, hata kitu kama Oracle kwamba unaweza kuwa kwa ujumla kusikia 75 00:03:07,230 --> 00:03:08,271 ni database kimahusiano. 76 00:03:08,271 --> 00:03:10,929 Na chini ya Hood, ni Maduka data katika safu na nguzo. 77 00:03:10,929 --> 00:03:12,970 Na Oracle mashtaka yenu fedha nyingi kufanya hivyo, 78 00:03:12,970 --> 00:03:15,550 ambapo MySQL mashtaka chochote kwa moja. 79 00:03:15,550 --> 00:03:18,790 Hivyo, SQL ni kwenda kutupa shughuli angalau nne. 80 00:03:18,790 --> 00:03:23,190 Uwezo wa kuchagua data, kama kusoma data, kuingiza, kufuta, na data update. 81 00:03:23,190 --> 00:03:25,525 Kwa maneno mengine, wale ni kweli shughuli muhimu manne 82 00:03:25,525 --> 00:03:28,950 kwamba ni kwenda kuruhusu sisi kubadilika mambo katika wale safu na nguzo. 83 00:03:28,950 --> 00:03:33,250 >> Chombo kwamba tutaweza kutumia leo hasa kujifunza SQL na kucheza na hayo 84 00:03:33,250 --> 00:03:34,627 kwa mara nyingine tena wito PHP MyAdmin. 85 00:03:34,627 --> 00:03:35,460 Ni mtandao msingi chombo. 86 00:03:35,460 --> 00:03:38,200 Jumla bahati mbaya kuwa imeandikwa katika PHP. 87 00:03:38,200 --> 00:03:42,400 Lakini ni kwenda kutupa graphical user interface ili tuweze kweli 88 00:03:42,400 --> 00:03:46,054 kujenga safu hizi na nguzo na kisha kuzungumza nao kupitia kanuni. 89 00:03:46,054 --> 00:03:47,970 Hivyo, hebu sasa kuanza nini nadhani ni kusema ukweli 90 00:03:47,970 --> 00:03:51,000 aina ya furaha mchakato wa kujenga mwisho ya nyuma ya Nje, 91 00:03:51,000 --> 00:03:54,580 sehemu ambayo watumiaji hawana kuona, lakini hakika kufanya huduma kuhusu, 92 00:03:54,580 --> 00:03:56,170 kwa sababu hiyo ni badala ya data wanakwenda. 93 00:03:56,170 --> 00:03:59,570 Hivyo, sawa na C na a kidogo kidogo kama PHP, 94 00:03:59,570 --> 00:04:04,954 SQL, au orodha ambayo inasaidia SQL, ina angalau aina takwimu hizi 95 00:04:04,954 --> 00:04:05,870 na mashada ya wengine. 96 00:04:05,870 --> 00:04:08,107 CHAR, VARCHAR, INT, BIGINT, Alisema, na DATETIME. 97 00:04:08,107 --> 00:04:09,940 Na kuna zima rundo la makala nyingine, 98 00:04:09,940 --> 00:04:11,940 lakini hebu kufanya hivyo kwa njia ya mfano halisi. 99 00:04:11,940 --> 00:04:16,450 >> Mimi nina kwenda katika CS50 IDE ambapo, mapema, nimekuwa watumiaji katika 100 00:04:16,450 --> 00:04:19,372 na nimekuwa pia alitembelea URL kwa chombo hiki kuitwa PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 Na katika tatizo kuweka saba, tutaweza kuwaambia hasa jinsi ya kupata interface hii 102 00:04:22,580 --> 00:04:23,200 vilevile. 103 00:04:23,200 --> 00:04:25,640 On kona ya juu kushoto, taarifa hiyo inasema hotuba. 104 00:04:25,640 --> 00:04:27,610 Na kwamba tu ina maana kwamba mapema, mimi umba 105 00:04:27,610 --> 00:04:31,360 tupu orodha aitwaye hotuba kwamba hana spreadsheets ndani yake bado. 106 00:04:31,360 --> 00:04:32,600 Hakuna safu na nguzo. 107 00:04:32,600 --> 00:04:34,308 Kwa sababu kwanza Jambo tunakwenda kufanya 108 00:04:34,308 --> 00:04:37,100 ni kuanza kujenga meza hiyo ni kwenda kuhifadhi watumiaji wetu. 109 00:04:37,100 --> 00:04:39,100 >> Hivyo, literally zaidi hapa na haki, mimi nina 110 00:04:39,100 --> 00:04:42,070 kwenda kuwaambia orodha Nataka meza inayoitwa Watumiaji. 111 00:04:42,070 --> 00:04:44,845 Hivyo, hii ni kama faili kwamba mimi unataka kuhifadhi wote wa data zangu katika. 112 00:04:44,845 --> 00:04:45,720 Na jinsi wengi nguzo? 113 00:04:45,720 --> 00:04:47,740 Naam, hebu kushika ni rahisi kwa sasa. 114 00:04:47,740 --> 00:04:51,855 Mimi nataka tu kuhifadhi kama jina la mtumiaji na jina kwa mtumiaji. 115 00:04:51,855 --> 00:04:53,020 Tutaweza kuanza ndogo. 116 00:04:53,020 --> 00:04:55,370 Kwa hiyo, nataka nguzo mbili jumla. 117 00:04:55,370 --> 00:04:57,360 Na mimi nina kwenda mbele na bonyeza Go. 118 00:04:57,360 --> 00:04:59,210 Na kisha, kwa hawa nguzo, nini mimi kwenda 119 00:04:59,210 --> 00:05:04,576 do-- kama biashara hii cooperates-- sawa, 120 00:05:04,576 --> 00:05:05,950 hivyo sisi ni kwenda kujaribu tena. 121 00:05:05,950 --> 00:05:09,180 Mimi nina kwenda kuunda meza inayoitwa Watumiaji na nguzo mbili, bonyeza Go, sawa. 122 00:05:09,180 --> 00:05:10,520 Sasa sisi tumepewa ni kweli kwa haraka. 123 00:05:10,520 --> 00:05:12,065 Asante, vizuri sana kufanyika. 124 00:05:12,065 --> 00:05:14,440 Haki wote, hivyo nini tunataka nguzo hizi kuitwa? 125 00:05:14,440 --> 00:05:16,080 >> Hivyo, moja kwenda kuitwa jina la mtumiaji. 126 00:05:16,080 --> 00:05:19,480 Hivyo, kila naona here-- na interface kusema ukweli anapata kidogo mbaya hatimaye, 127 00:05:19,480 --> 00:05:21,270 mara moja kuanza kuandika katika taarifa hii yote. 128 00:05:21,270 --> 00:05:27,450 Lakini nini ni nzuri ni kwamba aina ya paradoxically, mimi nina kujenga nguzo, 129 00:05:27,450 --> 00:05:29,977 lakini chombo ina upumbavu kuwalaza nje katika safu 130 00:05:29,977 --> 00:05:31,560 ili niweze configure nguzo hizi. 131 00:05:31,560 --> 00:05:33,550 Hivyo, kuna nafasi zilizoachwa wazi miwili huko chini ya Jina. 132 00:05:33,550 --> 00:05:36,180 Na moja ya mashamba hayo mimi wanataka aitwaye jina la mtumiaji, 133 00:05:36,180 --> 00:05:38,000 na uwanja mwingine nataka kuita Jina. 134 00:05:38,000 --> 00:05:40,340 >> Na sasa mimi kuwa na kuchagua aina ya mambo haya data. 135 00:05:40,340 --> 00:05:42,330 Kwa hiyo, ambapo katika Excel na Google Spreadsheets, 136 00:05:42,330 --> 00:05:45,531 kama unataka safu, wewe literally aina tu Jina la mtumiaji au, hit Enter. 137 00:05:45,531 --> 00:05:48,030 Labda kufanya hivyo ujasiri uso tu kwa uwazi, lakini hiyo ni yake. 138 00:05:48,030 --> 00:05:50,140 Huwezi kutaja aina ya nguzo. 139 00:05:50,140 --> 00:05:53,790 Sasa katika Google Spreadsheets au Excel, wewe inaweza kutaja jinsi data inavyosema. 140 00:05:53,790 --> 00:05:58,120 Unaweza kwenda kwa orodha Format, na wewe Unaweza kutaja kuonyesha ishara hii kama dola, 141 00:05:58,120 --> 00:05:59,900 kuonyesha hii kama floating kumweka thamani. 142 00:05:59,900 --> 00:06:01,990 >> Hivyo, ni sawa katika roho kwa kwamba kile sisi ni juu ya kufanya, 143 00:06:01,990 --> 00:06:04,740 lakini hii ni kweli kwenda kwa nguvu data kuwa aina fulani. 144 00:06:04,740 --> 00:06:07,750 Sasa, ingawa wakati iliyopita mimi Alisema kuna aina chache tu data, 145 00:06:07,750 --> 00:06:11,120 kuna kweli mengi yote, na wao uko 146 00:06:11,120 --> 00:06:12,910 katika viwango vya maalum. 147 00:06:12,910 --> 00:06:14,970 Na kama kando, wewe Unaweza hata kufanya mambo dhana 148 00:06:14,970 --> 00:06:17,520 kama geometries kuhifadhi ndani ya database. 149 00:06:17,520 --> 00:06:19,250 Unaweza kuhifadhi vitu kama GPS kuratibu 150 00:06:19,250 --> 00:06:22,420 na kwa kweli kupata, hesabu, pointi kwamba ni karibu na wengine. 151 00:06:22,420 --> 00:06:24,128 Lakini tunakwenda kuweka hii super rahisi 152 00:06:24,128 --> 00:06:26,800 na kwenda hadi hapa, yote ya kinachojulikana kamba aina. 153 00:06:26,800 --> 00:06:29,240 >> Kwa hiyo, hapa ni orodha ya rundo zima la chaguzi. 154 00:06:29,240 --> 00:06:32,740 CHAR, VARCHAR, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 Na ni aina ya balaa. 156 00:06:34,110 --> 00:06:37,610 Na kwa bahati mbaya, kwa kiasi fulani paradoxically kwa C, 157 00:06:37,610 --> 00:06:40,120 CHAR ni kweli si CHAR. 158 00:06:40,120 --> 00:06:44,170 Kama wewe taja katika orodha kwamba aina yako data ni CHAR, 159 00:06:44,170 --> 00:06:47,390 hiyo ina maana kwamba ndiyo, ni CHAR, lakini ni chars moja au zaidi. 160 00:06:47,390 --> 00:06:49,630 Na una bayana jinsi chars nyingi unataka. 161 00:06:49,630 --> 00:06:51,636 Hivyo, nini ya kawaida urefu kwa jina la mtumiaji? 162 00:06:51,636 --> 00:06:52,760 Je, kuna kikomo kwa kawaida? 163 00:06:52,760 --> 00:06:53,920 >> Watazamaji: [inaudible] 164 00:06:53,920 --> 00:06:55,050 >> DAVID Malan: 16 labda? 165 00:06:55,050 --> 00:06:55,990 Kitu kama hicho. 166 00:06:55,990 --> 00:06:57,948 Unajua, nyuma katika siku, kutumika kuwa nane. 167 00:06:57,948 --> 00:07:00,289 Wakati mwingine ni 16, wakati mwingine ni hata zaidi ya hapo. 168 00:07:00,289 --> 00:07:02,080 Na hivyo, hii haina maana nipe CHAR moja. 169 00:07:02,080 --> 00:07:04,730 Hii ina maana nina bayana urefu wa shamba, 170 00:07:04,730 --> 00:07:07,402 na sasa mimi ili kusema kitu kama 16. 171 00:07:07,402 --> 00:07:08,610 Na kuna biashara mbali hapa. 172 00:07:08,610 --> 00:07:11,360 Hivyo, tutaweza kuona katika wakati kwamba hii ina maana moja, 173 00:07:11,360 --> 00:07:14,620 kila jina ina kuwa 16 wahusika. 174 00:07:14,620 --> 00:07:18,720 Lakini kusubiri dakika, M-A-L-A-N. Kama hiyo jina la mtumiaji yangu na mimi nina tu kwa kutumia tano, 175 00:07:18,720 --> 00:07:23,070 ungefanya kupendekeza kwamba orodha kufanya kwa wengine wahusika 11 kuwa 176 00:07:23,070 --> 00:07:24,471 Nimekuwa zimehifadhiwa nafasi kwa ajili ya? 177 00:07:24,471 --> 00:07:25,220 Ungefanya nini? 178 00:07:25,220 --> 00:07:26,480 >> Watazamaji: [inaudible] 179 00:07:26,480 --> 00:07:27,160 >> DAVID Malan: Yeah, tu kuwafanya wote null. 180 00:07:27,160 --> 00:07:28,290 Kuwafanya nafasi. 181 00:07:28,290 --> 00:07:30,816 Lakini pengine null, hivyo mengi ya backslash zeros. 182 00:07:30,816 --> 00:07:33,190 Hivyo, kwa upande mmoja, tumekuwa sasa alihakikisha kwamba jina la mtumiaji yangu 183 00:07:33,190 --> 00:07:34,780 unaweza kuwa si zaidi ya 16 wahusika. 184 00:07:34,780 --> 00:07:37,590 Na hasara ya kwamba ni kwamba kama ningekuwa na jina kweli kwa muda mrefu 185 00:07:37,590 --> 00:07:39,940 au alitaka kweli kwa muda mrefu jina la mtumiaji kama baadhi yenu 186 00:07:39,940 --> 00:07:44,840 guys wanaweza kuwa katika kwamba chuo au katika Yale.edu, huwezi kuwa moja. 187 00:07:44,840 --> 00:07:47,177 Na hivyo kwa kweli, kama wameweza milele kusajiliwa kwa ajili ya tovuti 188 00:07:47,177 --> 00:07:49,385 na wewe kupata yelled saa akisema password yako ni ndefu mno 189 00:07:49,385 --> 00:07:52,710 au jina la mtumiaji ni muda mrefu sana, ni kwa sababu tu programu, wakati 190 00:07:52,710 --> 00:07:55,500 Configuring orodha yake, kuwa aliamua uwanja huu mapenzi 191 00:07:55,500 --> 00:07:57,150 kuwa si zaidi ya urefu huu. 192 00:07:57,150 --> 00:08:00,580 >> Haki wote, hivyo nini kama sisi kuendelea kwa jina? 193 00:08:00,580 --> 00:08:05,240 Muda gani anatakiwa jina ya kawaida ya binadamu kuwa? 194 00:08:05,240 --> 00:08:07,492 Wahusika wangapi, 16? 195 00:08:07,492 --> 00:08:09,450 Mimi guessing tunaweza kupata mtu katika chumba hiki 196 00:08:09,450 --> 00:08:13,210 ambapo na pamoja yake ya kwanza jana jina ni zaidi ya 16 wahusika. 197 00:08:13,210 --> 00:08:14,850 Hivyo, nini bora kuliko hayo, 17? 198 00:08:14,850 --> 00:08:17,040 18? 199 00:08:17,040 --> 00:08:18,830 25? 200 00:08:18,830 --> 00:08:20,350 Kubwa? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> Watazamaji: [inaudible] 203 00:08:21,855 --> 00:08:23,700 DAVID Malan: 5000, loo Mungu wangu. 204 00:08:23,700 --> 00:08:26,309 Hivyo, kwamba pengine heshima juu amefungwa, itakuwa sisi kusema. 205 00:08:26,309 --> 00:08:28,350 Na hapa sisi aina ya kuwa kupiga simu hukumu. 206 00:08:28,350 --> 00:08:30,400 Kama, hakuna jibu sahihi hapa. 207 00:08:30,400 --> 00:08:32,740 Usio haiwezekani kabisa, kwa sababu tuko hatimaye 208 00:08:32,740 --> 00:08:34,781 kwenda have-- tuko kwenda kukimbia nje ya kumbukumbu. 209 00:08:34,781 --> 00:08:36,909 Kwa hiyo, tuna kufanya wito hukumu wakati fulani. 210 00:08:36,909 --> 00:08:41,010 >> Kawaida sana itakuwa, kwa mfano, kwa use-- na napenda kutaja CHAR hapa 211 00:08:41,010 --> 00:08:46,050 kama kabla, 255 ulikuwa ukomo wa juu juu ya programu hii orodha 212 00:08:46,050 --> 00:08:46,700 miaka iliyopita. 213 00:08:46,700 --> 00:08:48,575 Na hivyo, mengi ya binadamu ingekuwa tu kusema, faini. 214 00:08:48,575 --> 00:08:49,420 255 ni kikomo. 215 00:08:49,420 --> 00:08:50,620 Hebu tu kutumia kiwango cha juu. 216 00:08:50,620 --> 00:08:51,870 Na hii ni pretty ujinga. 217 00:08:51,870 --> 00:08:55,060 Kama, kama wewe ni kuandika mtu ni jina kwa 200 pamoja na wahusika, 218 00:08:55,060 --> 00:08:56,140 kuwa kidogo ujinga. 219 00:08:56,140 --> 00:08:59,624 >> Lakini, kumbuka kwamba ASCII si mfumo tu kwa wahusika. 220 00:08:59,624 --> 00:09:01,540 Na hivyo, hasa katika mengi ya lugha za Asia 221 00:09:01,540 --> 00:09:04,248 ambapo kuna wahusika hatuwezi kueleza juu ya keyboards kama Marekani zangu 222 00:09:04,248 --> 00:09:08,209 keyboard, baadhi ya wahusika kweli kuchukua 16 bits badala ya bits nane. 223 00:09:08,209 --> 00:09:10,250 Na hivyo, hii kwa kweli si yote mantiki 224 00:09:10,250 --> 00:09:12,250 kuwa tunahitaji zaidi nafasi kama tunataka kifafa 225 00:09:12,250 --> 00:09:16,252 wahusika kubwa kuliko Marekani sana centric ndio tumekuwa wakijifanya kujadili. 226 00:09:16,252 --> 00:09:17,460 Hivyo, tunahitaji baadhi amefungwa juu. 227 00:09:17,460 --> 00:09:21,470 Sijui nini moja bora ni, lakini 255 kwa ujumla ni moja ya kawaida. 228 00:09:21,470 --> 00:09:22,700 25 anahisi chini. 229 00:09:22,700 --> 00:09:23,857 16, 32 kujisikia chini. 230 00:09:23,857 --> 00:09:25,690 Napenda kupotea kwa upande kitu juu. 231 00:09:25,690 --> 00:09:27,330 Lakini kuna biashara mbali, kama siku zote. 232 00:09:27,330 --> 00:09:31,902 Je, ni, pengine, dhahiri biashara mbali ya reservera 255 chars 233 00:09:31,902 --> 00:09:33,360 kwa jina la kila mtu katika orodha yangu? 234 00:09:33,360 --> 00:09:34,230 >> Watazamaji: [inaudible] 235 00:09:34,230 --> 00:09:34,510 >> DAVID Malan: Nini hiyo? 236 00:09:34,510 --> 00:09:35,430 >> Watazamaji: [inaudible] 237 00:09:35,430 --> 00:09:37,138 >> DAVID Malan: Ni mengi ya kumbukumbu, sawa? 238 00:09:37,138 --> 00:09:42,280 M-A-L-A-N. I have just kupita 250 wahusika tu kuhifadhi jina langu 239 00:09:42,280 --> 00:09:46,000 kujitetea, tu katika kesi ya mtu darasani ina jina kweli kwa muda mrefu. 240 00:09:46,000 --> 00:09:47,940 Hiyo inaonekana kama tradeoff visivyofaa. 241 00:09:47,940 --> 00:09:52,040 >> Hivyo, ni zamu nje kwamba SQL, hii lugha Mbegu, 242 00:09:52,040 --> 00:09:55,480 kweli inasaidia kitu aitwaye VARCHAR, au kutofautiana CHAR. 243 00:09:55,480 --> 00:09:59,390 Na hii ni aina ya nzuri katika kuwa hii utapata bayana si fasta 244 00:09:59,390 --> 00:10:01,900 upana, lakini badala yake, upana kutofautiana. 245 00:10:01,900 --> 00:10:05,060 Na hasa zaidi, upana upeo wa shamba. 246 00:10:05,060 --> 00:10:08,901 Kwa hiyo, hii ina maana kwamba jina Unaweza kuwa wahusika si zaidi ya 250, 247 00:10:08,901 --> 00:10:10,150 lakini inaweza shaka kuwa wachache. 248 00:10:10,150 --> 00:10:11,733 Na database ni kwenda kuwa smart. 249 00:10:11,733 --> 00:10:14,860 Kama huna kuweka katika M-A-L-A-N, ni kwenda tu kutumia tano, 250 00:10:14,860 --> 00:10:18,120 labda ka sita kwa kama trailing null tabia, 251 00:10:18,120 --> 00:10:23,330 na si kutumia ziada 249 au 250 ka usiokuwa. 252 00:10:23,330 --> 00:10:27,380 >> Kwa hiyo, hii inaonekana kama mimi lazima wameanza na kisa hiki. 253 00:10:27,380 --> 00:10:29,140 Lakini kuna siku zote tradeoff. 254 00:10:29,140 --> 00:10:33,024 Kwa hiyo, kwa upande mmoja, jina nimekuwa maalum kwa kuwa ngumu coded saa 16, 255 00:10:33,024 --> 00:10:34,940 na labda hiyo haikuwa wito wa kulia, labda ni 256 00:10:34,940 --> 00:10:40,040 ni, lakini kwa nini matumizi VARCHARs kwa kila kitu? 257 00:10:40,040 --> 00:10:42,020 >> Ipo kwa sababu. 258 00:10:42,020 --> 00:10:46,200 Kwa nini matumizi VARCHARs kwa kila uwanja ambaye urefu huna kujua mapema 259 00:10:46,200 --> 00:10:48,180 kama inaonekana kuwa jambo kubwa, sawa? 260 00:10:48,180 --> 00:10:50,482 Kutumia nafasi tu kama vile unahitaji hadi kikomo hii? 261 00:10:50,482 --> 00:10:51,271 >> Watazamaji: polepole. 262 00:10:51,271 --> 00:10:52,146 DAVID Malan: Speller? 263 00:10:52,146 --> 00:10:53,120 Watazamaji: Hufanya hivyo polepole? 264 00:10:53,120 --> 00:10:53,970 DAVID Malan: Oh, ni polepole. 265 00:10:53,970 --> 00:10:55,720 Nzuri, hiyo ni karibu kila mara jibu, kusema ukweli. 266 00:10:55,720 --> 00:10:56,520 Kama, nini tradeoff? 267 00:10:56,520 --> 00:10:58,570 Ni ama gharama nafasi zaidi au ni gharama na muda zaidi. 268 00:10:58,570 --> 00:11:00,111 Hivyo, katika kesi hii, inaweza kuwa polepole. 269 00:11:00,111 --> 00:11:00,920 Kwa nini? 270 00:11:00,920 --> 00:11:05,830 >> Watazamaji: [inaudible] kuamua [inaudible]. 271 00:11:05,830 --> 00:11:06,640 >> DAVID Malan: Mwema. 272 00:11:06,640 --> 00:11:09,670 Hivyo, unaweza kukumbuka kutoka hata PSED5, kucheza na njia yako 273 00:11:09,670 --> 00:11:12,750 kwa kamusi, ikiwa una kutenga kumbukumbu dynamically au kuweka 274 00:11:12,750 --> 00:11:14,630 kuongezeka buffer, kwamba kweli anaweza polepole. 275 00:11:14,630 --> 00:11:16,963 Kama una kuwaita malloc chini ya Hood na labda 276 00:11:16,963 --> 00:11:19,610 hilo ndilo MySQL ni kufanya, hivyo Hakika kwamba inaweza kuwa kesi. 277 00:11:19,610 --> 00:11:22,430 Na kama unadhani njia nyuma PSet-- au hata 278 00:11:22,430 --> 00:11:26,340 muda wa wiki mbili, wakati sisi alifanya mambo kama tafuta binary au hata tafuta linear, 279 00:11:26,340 --> 00:11:30,690 moja ya mambo mazuri kuhusu kila neno katika orodha ya au kila neno katika safu 280 00:11:30,690 --> 00:11:33,690 kuwa hasa urefu sawa, hata kama rundo zima la wahusika hao 281 00:11:33,690 --> 00:11:37,390 ni tupu, ni kwamba unaweza kutumia random kupata juu ya taarifa yako, sawa? 282 00:11:37,390 --> 00:11:40,310 >> Kama unajua kwamba kila neno ni 16 wahusika mbali, 283 00:11:40,310 --> 00:11:46,460 unaweza kutumia pointer arithmetic, hivyo akisema hivyo, kwenda kwetu 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 na unaweza tu kuruka mara moja kwa kutumia hesabu 285 00:11:49,589 --> 00:11:51,130 kwa mtu yeyote wa maneno katika orodha yako. 286 00:11:51,130 --> 00:11:54,280 Wakati ikiwa ni VARCHAR, je, badala una kufanya? 287 00:11:54,280 --> 00:11:55,960 >> [Simu kupigia] 288 00:11:55,960 --> 00:11:58,680 >> Kama ni VARCHAR, wewe Huwezi kutumia random kupata. 289 00:11:58,680 --> 00:12:01,341 Nini una kuangalia kwa au nini? 290 00:12:01,341 --> 00:12:01,840 Yeah? 291 00:12:01,840 --> 00:12:03,240 >> Watazamaji: [inaudible] 292 00:12:03,240 --> 00:12:04,310 >> DAVID Malan: Angalia kupitia kuwaeleza whole-- 293 00:12:04,310 --> 00:12:06,518 kupitia orodha nzima kuangalia kwa nini, uwezekano mkubwa? 294 00:12:06,518 --> 00:12:08,356 Ni aina gani ya thamani maalum? 295 00:12:08,356 --> 00:12:09,230 Watazamaji: [inaudible] 296 00:12:09,230 --> 00:12:11,105 DAVID Malan: Kuangalia for terminators 297 00:12:11,105 --> 00:12:13,637 kwamba kutenga mgawanyo wa maneno. 298 00:12:13,637 --> 00:12:15,720 Hivyo tena, tradeoff, na hakuna jibu sahihi. 299 00:12:15,720 --> 00:12:18,380 Lakini hii ni wapi, hasa wakati watumiaji yako kupata kuwa wengi 300 00:12:18,380 --> 00:12:21,700 na mzigo wako juu ya watumishi wako, idadi ya watu kwa kutumia anapata juu, 301 00:12:21,700 --> 00:12:23,650 hizi ni kweli maamuzi nontrivial. 302 00:12:23,650 --> 00:12:26,640 Hivyo, tunaweza kuondoka hizi kama hii, lakini hebu kitabu chini zaidi na haki 303 00:12:26,640 --> 00:12:27,332 hapa. 304 00:12:27,332 --> 00:12:30,290 Sasa, kuna wanandoa wa nguzo ambapo tuna kupiga simu hukumu. 305 00:12:30,290 --> 00:12:35,170 Je, ni mantiki ya kuruhusu mtumiaji jina, jina la mtumiaji mtumiaji au mtumiaji 306 00:12:35,170 --> 00:12:36,370 majina yao, ili itakuwa batili? 307 00:12:36,370 --> 00:12:37,610 Hiyo ni, tu tupu. 308 00:12:37,610 --> 00:12:40,360 Anahisi kidogo nonsensical, hivyo mimi nina si kwenda kuangalia masanduku hayo. 309 00:12:40,360 --> 00:12:42,670 Lakini zinageuka katika Mbegu, unaweza kusema, 310 00:12:42,670 --> 00:12:44,620 mtu unaweza hiari na thamani hii. 311 00:12:44,620 --> 00:12:47,180 Safu hii haina kwa kweli kuwa huko. 312 00:12:47,180 --> 00:12:48,570 >> Sasa, kuna kushuka chini orodha hii. 313 00:12:48,570 --> 00:12:50,810 Na taarifa mimi bado nina katika safu ya kwanza huko, 314 00:12:50,810 --> 00:12:52,520 hivyo mimi kuzungumza juu jina la mtumiaji sasa. 315 00:12:52,520 --> 00:12:56,290 Na zinageuka kuwa Mbegu, tofauti na rahisi tu spreadsheet, 316 00:12:56,290 --> 00:12:58,520 ina makala nguvu aitwaye bahati. 317 00:12:58,520 --> 00:13:02,600 Na ripoti ni njia ya kuwaambia Mbegu mapema kwamba mimi binadamu 318 00:13:02,600 --> 00:13:03,900 am nadhifu kuliko wewe. 319 00:13:03,900 --> 00:13:10,430 >> Mimi najua kile aina ya maswali, kuchagua au kuingiza au kufuta au update, 320 00:13:10,430 --> 00:13:13,182 kwamba kanuni yangu inaenda kuisha up kufanya juu ya orodha hii. 321 00:13:13,182 --> 00:13:14,390 Nataka kusoma mengi ya data. 322 00:13:14,390 --> 00:13:15,681 Nataka kuingiza mengi ya data. 323 00:13:15,681 --> 00:13:17,530 Nataka daima kufuta mengi ya data. 324 00:13:17,530 --> 00:13:21,520 Kama Najua kwamba mimi nina kwenda kuwa kupata uwanja kama mtumiaji mengi, 325 00:13:21,520 --> 00:13:24,770 Siwezi kuwaambia preemptively Mbegu, najua zaidi kuliko wewe, 326 00:13:24,770 --> 00:13:29,220 na mimi nataka amri kwamba unapaswa ripoti uwanja huu. 327 00:13:29,220 --> 00:13:33,200 Ambapo Indexing shamba au safu maana yake ni kwamba orodha mapema 328 00:13:33,200 --> 00:13:37,040 lazima kukopa baadhi ya mawazo kutoka, kama, wiki nne na tano na sita kutoka CS50 329 00:13:37,040 --> 00:13:39,240 na kwa kweli kujenga kitu kama tafuta binary 330 00:13:39,240 --> 00:13:41,560 mti au kitu ujumla aitwaye B mti 331 00:13:41,560 --> 00:13:43,410 kwamba ungependa kujifunza darasani kama CS124 332 00:13:43,410 --> 00:13:46,710 katika Harvard, algorithms darasani, au idadi yoyote ya maeneo mengine. 333 00:13:46,710 --> 00:13:49,570 >> Mbegu na smart watu ambao kutekelezwa ni 334 00:13:49,570 --> 00:13:53,880 itakuwa kufikiri jinsi ya kuhifadhi kwamba meza ya maelezo 335 00:13:53,880 --> 00:13:57,061 katika kumbukumbu ili upekuzi na shughuli nyingine ni super haraka. 336 00:13:57,061 --> 00:13:58,060 Huna kufanya hivyo. 337 00:13:58,060 --> 00:14:00,640 Huna kutekeleza tafuta linear au tafuta binary 338 00:14:00,640 --> 00:14:03,300 au kuunganisha aina au uteuzi aina, yoyote ya hiyo. 339 00:14:03,300 --> 00:14:06,590 Mbegu gani kwa ajili yenu ikiwa kumweleza ni preemptively kwa ripoti uwanja huu. 340 00:14:06,590 --> 00:14:09,100 >> Na unaweza kuona pia, kuna baadhi sifa nyingine 341 00:14:09,100 --> 00:14:11,010 tunaweza kujua orodha ya kutekeleza. 342 00:14:11,010 --> 00:14:16,431 Nini kinaweza Ina maana kama mimi kuchagua Kipekee kutoka orodha hii, tu intuitively? 343 00:14:16,431 --> 00:14:16,930 Yeah? 344 00:14:16,930 --> 00:14:17,889 >> Watazamaji: [inaudible] 345 00:14:17,889 --> 00:14:19,930 DAVID Malan: Yeah, jina la mtumiaji ina kuwa ya kipekee. 346 00:14:19,930 --> 00:14:23,330 Je, hii ni jambo zuri au baya kwa Mbegu, kwa ajili ya tovuti na watumiaji? 347 00:14:23,330 --> 00:14:24,965 Lazima majina ya watumiaji kuwa ya kipekee? 348 00:14:24,965 --> 00:14:25,880 Naam, pengine. 349 00:14:25,880 --> 00:14:27,800 Kama hilo ndilo uwanja tunatumia kuingia kwenye, 350 00:14:27,800 --> 00:14:31,867 wewe si kweli wanataka watu wenye kujisikia sawa au jina la mtumiaji sawa. 351 00:14:31,867 --> 00:14:33,700 Hivyo, tunaweza kuwa na Mbegu kutekeleza kwamba hivyo 352 00:14:33,700 --> 00:14:37,880 kwamba sasa katika PHP kificho wangu au lugha yoyote, Sina kwa, kwa mfano, kuangalia 353 00:14:37,880 --> 00:14:41,490 lazima gani jina hili la mtumiaji kuwepo kabla mimi basi mtu kujiandikisha? 354 00:14:41,490 --> 00:14:46,690 Mbegu si basi watu wawili aitwaye David au Malans kujiandikisha katika kesi hii. 355 00:14:46,690 --> 00:14:50,030 >> Na kama kando, hata kama hii orodha tu inakuwezesha kuchagua moja, 356 00:14:50,030 --> 00:14:54,550 ripoti kipekee ni moja kwamba indexed kwa super haraka utendaji, 357 00:14:54,550 --> 00:14:56,100 lakini pia utekelezaji pekee. 358 00:14:56,100 --> 00:14:58,850 Na tutaweza kurudi kwa nini wengine wawili maana katika muda tu. 359 00:14:58,850 --> 00:15:00,930 Wakati huo huo, kama mimi kwenda kwa mstari yangu ya pili, ambayo 360 00:15:00,930 --> 00:15:06,230 ni jina la mtumiaji, anatakiwa kutaja kwamba jina lazima ziwe za kipekee? 361 00:15:06,230 --> 00:15:09,550 Hapana, kwa sababu wewe naweza hakika have-- hakuna Daudi mbili 362 00:15:09,550 --> 00:15:11,050 Malans katika nafasi hii, uwezekano mkubwa. 363 00:15:11,050 --> 00:15:14,290 Lakini kama sisi kuchagua jina tofauti, tupate hakika kuwa migongano. 364 00:15:14,290 --> 00:15:16,130 >> Fikiria nyuma hash meza na kadhalika. 365 00:15:16,130 --> 00:15:18,604 Kwa hiyo, sisi hakika hawataki kufanya uwanja jina kipekee. 366 00:15:18,604 --> 00:15:21,270 Kwa hiyo, sisi ni kwenda tu na kuondoka kwamba kama dash, dash, dash, chochote. 367 00:15:21,270 --> 00:15:22,660 Na mimi nina kwenda kuondoka kila kitu kingine peke yake. 368 00:15:22,660 --> 00:15:25,035 Kwa hakika, wengi wa mashamba hayo hatutakuwa na huduma ya juu. 369 00:15:25,035 --> 00:15:27,830 Na wakati mimi niko tayari kuokoa huu, kama biashara inashirikiana, 370 00:15:27,830 --> 00:15:35,032 Mimi bonyeza Save, na sana, sana, sana polepole haina orodha kupata kuokolewa. 371 00:15:35,032 --> 00:15:37,240 Na sasa mimi nina nyuma hii interface, ambayo admittedly, 372 00:15:37,240 --> 00:15:38,680 ni balaa katika mtazamo wa kwanza. 373 00:15:38,680 --> 00:15:42,450 Lakini wote mimi nina kwenda kufanya ni click juu ya Watumiaji neno juu kushoto. 374 00:15:42,450 --> 00:15:47,630 Mimi nina kwenda juu hapa, bonyeza Watumiaji, na kwa default, 375 00:15:47,630 --> 00:15:50,180 ina kunyongwa baadhi SQL, lakini zaidi juu ya kwamba katika wakati huu. 376 00:15:50,180 --> 00:15:52,654 Hapa ni tu muhtasari wa nini mimi. 377 00:15:52,654 --> 00:15:55,320 Na si kuwa na wasiwasi kwamba unaweza kuona kutaja ya Amerika na Sweden hapa. 378 00:15:55,320 --> 00:16:00,490 Hayo ni tu chaguo-msingi mazingira, kwa sababu MySQL awali, 379 00:16:00,490 --> 00:16:04,000 au PHP MyAdmin, mmoja wa hao wawili kilichotokea kuandikwa na baadhi ya watu Sweden. 380 00:16:04,000 --> 00:16:06,100 Lakini ni lisilo na maana katika kesi yetu hapa. 381 00:16:06,100 --> 00:16:08,280 >> Haki wote, hivyo kwa nini ni hii yote ya kuvutia? 382 00:16:08,280 --> 00:16:13,050 Ni zinageuka, siwezi kuingiza data katika orodha kwa kuandika kanuni. 383 00:16:13,050 --> 00:16:15,940 Na mimi nina kwenda mbele na katika faili yangu hapa, mimi nina 384 00:16:15,940 --> 00:16:19,000 kwenda mbele na kujifanya kama hii ni wired kwamba database, ambayo 385 00:16:19,000 --> 00:16:23,040 si kwa sasa, lakini itakuwa kuwa wakati sisi kupata tatizo kuweka saba. 386 00:16:23,040 --> 00:16:25,640 Na mimi nina kwenda mbele na kutekeleza kazi kuitwa swala, 387 00:16:25,640 --> 00:16:28,730 ambayo sisi nitakupa katika tatizo kuweka saba wa usambazaji kificho, kwamba 388 00:16:28,730 --> 00:16:31,490 inachukua hoja angalau moja, ambayo ni haki kamba. 389 00:16:31,490 --> 00:16:33,460 Kamba ya kificho SQL. 390 00:16:33,460 --> 00:16:36,700 Hivyo, wewe ni kuhusu kujifunza jinsi ya kuandika Uliza muundo lugha. 391 00:16:36,700 --> 00:16:41,270 >> Kama mimi nataka kuingiza safu mpya katika wangu Mbegu kwa sababu mtu imewasilisha 392 00:16:41,270 --> 00:16:47,600 fomu kwa kificho yangu, napenda literally kuandika kuingiza KATIKA watumiaji zifuatazo 393 00:16:47,600 --> 00:16:52,800 mashamba: jina la mtumiaji, comma, jina, MAADILI, 394 00:16:52,800 --> 00:16:57,480 na sasa mimi haja ya kuingiza kitu kama Malan, na kunukuu, 395 00:16:57,480 --> 00:17:01,490 unquote 'David Malan.' Na sasa hata kwa wale usio wa kawaida na SQL, 396 00:17:01,490 --> 00:17:07,830 kwa nini mimi kutumia quotes moja ndani ya hii kamba ya kijani? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 Nini kinaweza kuwa sababu hapa? 399 00:17:13,040 --> 00:17:14,609 >> Taarifa mimi nina ushirikiano mingling lugha mbili. 400 00:17:14,609 --> 00:17:18,099 Swala ni PHP kazi, lakini inachukua hoja. 401 00:17:18,099 --> 00:17:21,740 Na hoja kuwa ana yenyewe kuwa Imeandikwa katika lugha mwingine aitwaye 402 00:17:21,740 --> 00:17:23,500 SQL, Strukturerad Query Language. 403 00:17:23,500 --> 00:17:27,940 Hivyo, kila kitu ambacho mimi tu yalionyesha hapa 404 00:17:27,940 --> 00:17:30,380 ni lugha hii inaitwa SQL. 405 00:17:30,380 --> 00:17:36,290 Hivyo, nini na quotes moja, tu kama haraka sanity hundi? 406 00:17:36,290 --> 00:17:37,324 Endelea. 407 00:17:37,324 --> 00:17:37,990 Wao ni masharti. 408 00:17:37,990 --> 00:17:41,590 Hivyo, quote, unquote Malan na kunukuu, unquote Daudi Malan ni masharti. 409 00:17:41,590 --> 00:17:45,210 Na tu kufikiri shirikishi sasa, kujua nini kujua kuhusu C na PHP, 410 00:17:45,210 --> 00:17:50,220 kwa nini mimi si kufanya hivyo, ambayo mimi kawaida kutumika mara mbili quotes kwa masharti? 411 00:17:50,220 --> 00:17:52,310 Kwa nini mimi sitaki kufanya hivyo? 412 00:17:52,310 --> 00:17:52,810 Yeah? 413 00:17:52,810 --> 00:17:53,685 >> Watazamaji: [inaudible] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID Malan: Hasa. 416 00:17:57,570 --> 00:17:59,653 Kwa sababu mimi niko tayari kutumia quotes mbili juu ya njia 417 00:17:59,653 --> 00:18:01,929 nje ya hoja kwa PHP kazi, 418 00:18:01,929 --> 00:18:03,470 Napenda tu kuwachanganya mkalimani. 419 00:18:03,470 --> 00:18:04,860 Itakuwa si unajua, je hawa waende pamoja? 420 00:18:04,860 --> 00:18:05,735 Je, hawa waende pamoja? 421 00:18:05,735 --> 00:18:06,810 Je, hawa waende pamoja? 422 00:18:06,810 --> 00:18:08,070 Kwa hiyo, mimi mbadala badala yake. 423 00:18:08,070 --> 00:18:11,784 >> Au mimi naweza kufanya kitu kama hii, kunukuu backslash au backslash kunukuu. 424 00:18:11,784 --> 00:18:14,200 Kwa kweli, kwamba tu kuanza kupata unreadable sana na mbaya. 425 00:18:14,200 --> 00:18:16,790 Lakini kwamba itakuwa kufikia Matokeo yake huo pia. 426 00:18:16,790 --> 00:18:19,760 >> Hivyo, kama ningekuwa kutekeleza hii swala sasa, hebu angalia nini kinatokea. 427 00:18:19,760 --> 00:18:22,740 Mimi nina kwenda mbele sasa na badala kuliko kutekeleza kanuni PHP, ambayo 428 00:18:22,740 --> 00:18:24,610 Hapa ndipo itabidi kucheza katika tatizo kuweka saba, 429 00:18:24,610 --> 00:18:27,200 Mimi nina kwenda badala kwenda PHP MyAdmin. 430 00:18:27,200 --> 00:18:29,770 Na mimi nina kwenda kwa mikono kwenda SQL tabo, 431 00:18:29,770 --> 00:18:31,580 na napenda kuvuta interface. 432 00:18:31,580 --> 00:18:34,007 Na mimi nina kwenda kwa kuweka katika Jambo mimi tu typed. 433 00:18:34,007 --> 00:18:36,090 Na rangi coding ina iliyopita kidogo sasa, 434 00:18:36,090 --> 00:18:38,750 kwa sababu tu ya miundo mpango mambo tofauti kidogo. 435 00:18:38,750 --> 00:18:41,960 Lakini taarifa kwamba wote mimi tumefanya ni nilivyosema, kuingiza ndani ya Watumiaji. 436 00:18:41,960 --> 00:18:45,790 Nimekuwa maalum, basi, katika comma kutengwa parenthesized orodha wawili 437 00:18:45,790 --> 00:18:48,850 mashamba ambayo nataka kuingiza, na huo nimekuwa literally alisema maadili 438 00:18:48,850 --> 00:18:51,510 ikifuatiwa na Paren mwingine, na kisha maadili mbili 439 00:18:51,510 --> 00:18:53,520 Nataka kuziba-katika, na sasa kwa hatua nzuri, 440 00:18:53,520 --> 00:18:55,010 Mimi itabidi kuweka semicolon mwishoni. 441 00:18:55,010 --> 00:18:56,570 Hivyo, hii si C. Hii si PHP. 442 00:18:56,570 --> 00:18:59,970 Hii ni sasa SQL, na mimi nina pasting ndani ya hii mtandao msingi interface hiyo ni 443 00:18:59,970 --> 00:19:02,710 tu kwenda napenda, haraka kama mimi bonyeza Go, 444 00:19:02,710 --> 00:19:08,060 kutekeleza swala hili kwenye orodha mbio ndani ya CS50 IDE. 445 00:19:08,060 --> 00:19:09,470 >> Hivyo hii ni nzuri. 446 00:19:09,470 --> 00:19:12,520 Taarifa kwamba alisema mstari mmoja kuingizwa, akaenda super haraka, 447 00:19:12,520 --> 00:19:15,190 Sekunde 0.0054 kuingiza data hizo. 448 00:19:15,190 --> 00:19:16,610 Hivyo, kwamba inaonekana pretty afya. 449 00:19:16,610 --> 00:19:19,350 Ni reformatted swala yangu kwa ajili yangu hapa tu kuona ni 450 00:19:19,350 --> 00:19:21,730 katika aina ya rangi coded toleo. 451 00:19:21,730 --> 00:19:24,540 Lakini sasa kama mimi bonyeza Browse, taarifa kwamba, hata 452 00:19:24,540 --> 00:19:29,070 ingawa kuna mengi ya clutter juu ya screen, meza yangu sasa ina mistari miwili. 453 00:19:29,070 --> 00:19:30,700 >> Hivyo, napenda kwenda mbele na kufanya mwingine. 454 00:19:30,700 --> 00:19:33,760 Badala ya hii, napenda kwenda SQL tabo tena. 455 00:19:33,760 --> 00:19:40,723 Na wakati huu mimi itabidi kuingiza kitu kama Rob na jina lake litakuwa Rob Bowden. 456 00:19:40,723 --> 00:19:42,330 Bowden. 457 00:19:42,330 --> 00:19:44,040 Hebu bonyeza Hifadhi. 458 00:19:44,040 --> 00:19:46,140 Oops, badala Go. 459 00:19:46,140 --> 00:19:48,890 >> Bofya Browse tena, na sasa taarifa nina safu mbili. 460 00:19:48,890 --> 00:19:52,390 Kwa hiyo, hili ni jambo jema tata njia zaidi njia ya kufungua Google Spreadsheets 461 00:19:52,390 --> 00:19:54,010 na kuandika tu mstari katika safu. 462 00:19:54,010 --> 00:19:57,070 Lakini nini muhimu ni kwamba sasa tuna syntax 463 00:19:57,070 --> 00:20:00,220 na ambayo kwa kuandika kanuni ili hatimaye, tunaweza kweli 464 00:20:00,220 --> 00:20:01,790 kufanya baadhi na hii. 465 00:20:01,790 --> 00:20:05,380 Kumbuka kwamba PHP mkono vigezo super kimataifa. 466 00:20:05,380 --> 00:20:08,415 >> Nini ndani ya dola ishara kusisitiza kupata katika PHP? 467 00:20:08,415 --> 00:20:10,290 Sisi alichukua kuangalia moja rahisi mifano moja au mbili. 468 00:20:10,290 --> 00:20:15,640 Na katika PSet6, kukumbuka una hodi dot PHP inayotumia kutofautiana hii. 469 00:20:15,640 --> 00:20:17,870 Yale yanayoendelea huko? 470 00:20:17,870 --> 00:20:21,015 Au ni nini? 471 00:20:21,015 --> 00:20:22,522 Kidogo nguvu zaidi. 472 00:20:22,522 --> 00:20:23,790 >> Watazamaji: [inaudible] 473 00:20:23,790 --> 00:20:25,030 >> DAVID Malan: Ni theluji mbegu ya safu, ambayo 474 00:20:25,030 --> 00:20:27,714 ni njia tu ya dhana ya kusema safu ambayo ina thamani jozi ufunguo. 475 00:20:27,714 --> 00:20:28,880 Na funguo si nambari. 476 00:20:28,880 --> 00:20:30,420 Wao ni maneno au masharti. 477 00:20:30,420 --> 00:20:32,750 Na hasa, nini ni wale thamani jozi ufunguo? 478 00:20:32,750 --> 00:20:35,110 Wapi wametoka? 479 00:20:35,110 --> 00:20:35,620 Pole? 480 00:20:35,620 --> 00:20:36,994 >> Watazamaji: [inaudible] 481 00:20:36,994 --> 00:20:37,660 DAVID Malan: Hakuna? 482 00:20:37,660 --> 00:20:40,700 Ambapo kufanya wale ufunguo thamani jozi kuja kutoka? 483 00:20:40,700 --> 00:20:42,490 Kusema tena? 484 00:20:42,490 --> 00:20:44,610 Tena? 485 00:20:44,610 --> 00:20:46,472 Mimi ni mmoja tu kusikia kitu? 486 00:20:46,472 --> 00:20:47,810 >> [Kicheko] 487 00:20:47,810 --> 00:20:49,042 >> Hiyo ni haki, ndiyo? 488 00:20:49,042 --> 00:20:50,435 >> Watazamaji: [inaudible] 489 00:20:50,435 --> 00:20:52,560 DAVID Malan: Yeah, wao wanatoka kamba swala. 490 00:20:52,560 --> 00:20:55,380 Hivyo, kama wewe rewind katika muda wa wakati tumekuwa alicheza na Google 491 00:20:55,380 --> 00:20:59,600 na tumeenda kwa Google.com kufyeka la swali alama q ni sawa na paka, 492 00:20:59,600 --> 00:21:03,550 kama ningekuwa kugonga kuingia na kama Google yalifanywa katika PHP, 493 00:21:03,550 --> 00:21:07,017 PHP kificho kwamba Google aliandika bila kupata ishara ya dola 494 00:21:07,017 --> 00:21:11,600 kusisitiza GET ndani ya ambayo ni muhimu aitwaye Swali na thamani 495 00:21:11,600 --> 00:21:17,680 aitwaye paka iweze kisha kutumia kutumika kufanya search halisi kwa. 496 00:21:17,680 --> 00:21:20,860 >> Kwa hiyo, kwa kweli, nini mimi kwenda kwa kufanya sasa ni kurudi kwenye kanuni PHP yangu 497 00:21:20,860 --> 00:21:23,140 kwamba utasikia tena kuona zaidi ya katika PSet7. 498 00:21:23,140 --> 00:21:25,440 Na badala ya kuziba katika maadili ngumu coded ambayo 499 00:21:25,440 --> 00:21:27,630 haionekani kama sana tovuti ya nguvu, 500 00:21:27,630 --> 00:21:30,680 Mimi nina kwenda kukupa teaser ya nini kanuni yako halisi atafanya. 501 00:21:30,680 --> 00:21:32,854 Bila kuweka vipande viwili swali alama kama hii. 502 00:21:32,854 --> 00:21:34,270 Sijui nini jina la mtumiaji ni. 503 00:21:34,270 --> 00:21:37,390 Sijui nini jina ni kwenda kuwa, 504 00:21:37,390 --> 00:21:39,470 lakini najua naweza kupata yao dynamically. 505 00:21:39,470 --> 00:21:43,420 >> Hivyo, kama kanuni sisi ni kuandika sasa ni kificho mbio juu ya seva ya Google, 506 00:21:43,420 --> 00:21:46,940 au kama hii ni hodi nukta PHP, ambayo huja kwa PSet6, 507 00:21:46,940 --> 00:21:48,650 Mimi nina kwenda kupita katika kazi swala 508 00:21:48,650 --> 00:21:51,450 kama printf, hoja mbili vingine. 509 00:21:51,450 --> 00:21:57,120 Kupata, quote, unquote jina la mtumiaji, na kupata, quote, unquote jina. 510 00:21:57,120 --> 00:22:00,720 Na sasa, taarifa ya nini muundo wa jumla ni hapa. 511 00:22:00,720 --> 00:22:03,320 Mimi nimepata upande wa kushoto mkono upande wa wito, 512 00:22:03,320 --> 00:22:05,480 kazi hii inaitwa swala katika PHP. 513 00:22:05,480 --> 00:22:08,160 Bado nina kama kwanza Hoja, tu kamba ya maandishi. 514 00:22:08,160 --> 00:22:11,000 >> Lakini hiyo kamba ya maandishi ni Imeandikwa katika lugha inayoitwa SQL. 515 00:22:11,000 --> 00:22:12,616 Na kusema ukweli, siyo lugha kubwa. 516 00:22:12,616 --> 00:22:14,990 Sisi ni tu kwenda kuzungumza kuhusu ni rasmi leo, kwa kweli. 517 00:22:14,990 --> 00:22:17,031 Na kisha katika tatizo kuweka saba, kuna kiasi 518 00:22:17,031 --> 00:22:18,800 makala chache kwamba tuko kwenda kujiinua. 519 00:22:18,800 --> 00:22:22,530 Alama ya kuuliza, ingawa, maana kuziba katika thamani hapa na kuziba katika thamani nyingine 520 00:22:22,530 --> 00:22:23,130 hapa. 521 00:22:23,130 --> 00:22:26,010 Na taarifa, nimekuwa liliondolewa nini kutoka duniani damn quote-- 522 00:22:26,010 --> 00:22:30,470 it-- karibu quotation alama wakati huu. 523 00:22:30,470 --> 00:22:34,930 Nimekuwa liliondolewa quotation alama kuzunguka alama swali, 524 00:22:34,930 --> 00:22:36,410 pole, wakati huu. 525 00:22:36,410 --> 00:22:38,870 >> Hivyo, nini ni nzuri kuhusu hili swali chapa kipengele ambayo 526 00:22:38,870 --> 00:22:42,830 PHP huelekea kusaidia, Ruby na Chatu na lugha nyingine, 527 00:22:42,830 --> 00:22:45,730 hii ina maana tu kuziba katika baadhi thamani hapa na unajua nini? 528 00:22:45,730 --> 00:22:48,300 Wewe kufikiri kama kutumia quotes moja au quotes mbili. 529 00:22:48,300 --> 00:22:50,966 Usinisumbue na wale kielimu uninteresting maelezo. 530 00:22:50,966 --> 00:22:53,780 Lakini, kuhakikisha ni sahihi ili kificho wangu ni hatimaye 531 00:22:53,780 --> 00:22:57,010 uendeshaji na salama, ambayo utakuwa na maana kabla ya muda mrefu. 532 00:22:57,010 --> 00:23:00,460 >> Sasa, jinsi hoja nyingi jumla, tu kuwa wazi, ni swala kazi kuchukua? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 Mtu yeyote wanataka kupiga kura kwa zaidi ya wawili? 535 00:23:07,581 --> 00:23:08,080 Tatu? 536 00:23:08,080 --> 00:23:10,001 Hakika, kwa nini? 537 00:23:10,001 --> 00:23:10,920 Kwa nini tatu? 538 00:23:10,920 --> 00:23:12,305 >> Watazamaji: [inaudible] 539 00:23:12,305 --> 00:23:13,180 DAVID Malan: Hasa. 540 00:23:13,180 --> 00:23:14,610 Sehemu ya kwanza ni kamba. 541 00:23:14,610 --> 00:23:18,640 Hoja ya pili ni ishara ya dola kusisitiza GET mabano jina la mtumiaji. 542 00:23:18,640 --> 00:23:21,950 Na hoja ya tatu ni kitu kimoja, lakini tu jina. 543 00:23:21,950 --> 00:23:24,590 Hivyo kwa maneno mengine, sasa kama ningekuwa na fomu mtandao 544 00:23:24,590 --> 00:23:27,149 kwamba alikuwa na mashamba maandishi, moja kwa mtumiaji username, 545 00:23:27,149 --> 00:23:29,690 moja kwa wake au jina yake, tu kama ungependa kuona katika tovuti 546 00:23:29,690 --> 00:23:32,120 wakati wa kujiandikisha kwa baadhi ya tovuti, Nguvu hii 547 00:23:32,120 --> 00:23:35,450 kuwa kanuni ya mwisho ya nyuma kwamba kweli haina kuingizwa sasa 548 00:23:35,450 --> 00:23:37,220 katika database. 549 00:23:37,220 --> 00:23:40,870 >> Sasa kwa kulinganisha, hebu kufunga mbele. 550 00:23:40,870 --> 00:23:43,840 Tuseme user ni sasa magogo katika na unataka 551 00:23:43,840 --> 00:23:48,860 kuandika PHP kificho kwamba hundi kama mtu ambaye ni tu watumiaji katika 552 00:23:48,860 --> 00:23:52,250 ni kweli mtumiaji, unaweza kutumia syntax pretty rahisi. 553 00:23:52,250 --> 00:23:55,832 Unaweza kusema SELECT, hebu sema nyota, ambapo nyota ina maana kila kitu. 554 00:23:55,832 --> 00:23:57,540 Sijui nini mimi wanataka, hivyo tu nipe 555 00:23:57,540 --> 00:24:01,585 nguzo zote kutoka meza aitwaye watumiaji wapi, na hii ni nzuri. 556 00:24:01,585 --> 00:24:03,710 Teule inasaidia nini aitwaye prediketo, ambayo ni 557 00:24:03,710 --> 00:24:06,630 kama njia ya kufuzu unataka nini. 558 00:24:06,630 --> 00:24:10,590 Ambapo jina la mtumiaji sawa na quote, unquote Malan. 559 00:24:10,590 --> 00:24:13,680 Hivyo hapa pia, nimekuwa iliyoingia ndani ya hoja 560 00:24:13,680 --> 00:24:16,110 kwa PHP kazi, mstari wa kanuni SQL. 561 00:24:16,110 --> 00:24:18,680 Na kwamba kanuni SQL hii muda ni halisi kwenda 562 00:24:18,680 --> 00:24:21,790 kutafuta quote, unquote Malan. 563 00:24:21,790 --> 00:24:24,420 >> Sasa kwa kuwa si wote kwamba muhimu, hivyo mimi nina kwenda ruka kwamba 564 00:24:24,420 --> 00:24:28,650 na mimi nina kwenda kuachana ncha hii kutoka Brady, na kwenda 565 00:24:28,650 --> 00:24:30,990 na kuziba-katika badala swali chapa hapa. 566 00:24:30,990 --> 00:24:33,290 Kwa hiyo, tu kuwa wazi, nini lazima hoja ya pili yangu 567 00:24:33,290 --> 00:24:37,480 kuwa kama mtu ana haki ya watumiaji katika na mimi unataka kuangalia kama yeye au yeye ni kweli 568 00:24:37,480 --> 00:24:39,265 user? 569 00:24:39,265 --> 00:24:40,140 Watazamaji: [inaudible] 570 00:24:40,140 --> 00:24:40,890 DAVID Malan: Yeah. 571 00:24:40,890 --> 00:24:44,120 Nasikia dola ishara kusisitiza Kupata quote, unquote jina la mtumiaji. 572 00:24:44,120 --> 00:24:50,040 Na kwamba lazima kurudi kwangu yoyote ya mistari katika orodha yangu 573 00:24:50,040 --> 00:24:51,986 ambazo zina jina la mtumiaji wa Malan. 574 00:24:51,986 --> 00:24:54,860 Sasa matumaini, mimi nina kwenda kupata nyuma sifuri ikiwa Malan ya hawajawahi hapa, 575 00:24:54,860 --> 00:24:56,290 au moja kama ana. 576 00:24:56,290 --> 00:24:59,026 Sitakuwa kupata nyuma mbili au tatu au nne. 577 00:24:59,026 --> 00:24:59,526 Kwa nini? 578 00:24:59,526 --> 00:25:00,220 >> Watazamaji: [inaudible] 579 00:25:00,220 --> 00:25:01,120 >> DAVID Malan: Nilisema kipekee, sawa? 580 00:25:01,120 --> 00:25:01,750 Sababu rahisi. 581 00:25:01,750 --> 00:25:04,030 Kwa sababu nalisema ni got kuwa ya kipekee, tu mantiki, 582 00:25:04,030 --> 00:25:07,940 unaweza tu kuwa na zero au moja Malans hasa hii database meza. 583 00:25:07,940 --> 00:25:10,965 Sasa kama kando, ili tu wameweza kuona hivyo, hata mimi kuendelea kutumia GET 584 00:25:10,965 --> 00:25:14,350 na hata kama PSet6 tu kutumika GET, unaweza hakika kuwa POST. 585 00:25:14,350 --> 00:25:17,212 Na kukumbuka kuwa baada ya mwingine ni mbinu kwa kuwasilisha taarifa 586 00:25:17,212 --> 00:25:19,170 kutoka fomu, lakini haina show up katika URL. 587 00:25:19,170 --> 00:25:22,690 Ni salama zaidi kidogo kwa hakika kwa mambo kama majina ya watumiaji na nywila, 588 00:25:22,690 --> 00:25:25,210 ambayo PSet7 itakuwa, kwa kweli, kuhusisha. 589 00:25:25,210 --> 00:25:28,130 >> Hivyo, hebu kufanya hivyo katika PHP MyAdmin na kuona nini kinatokea. 590 00:25:28,130 --> 00:25:30,020 Mimi nina kwenda kwa MySQL tab. 591 00:25:30,020 --> 00:25:34,450 Na taarifa kwamba thamani chaguo-msingi kwa PHP MyAdmin, tu kujaribu kuwa na manufaa, 592 00:25:34,450 --> 00:25:37,050 ni kuchagua nyota kutoka kwa watumiaji ambapo moja. 593 00:25:37,050 --> 00:25:39,430 Naam, moja daima ni kweli, hivyo hii ina silly ufanisi 594 00:25:39,430 --> 00:25:40,400 ya kuchagua tu kila kitu. 595 00:25:40,400 --> 00:25:42,691 Lakini mimi nina kwenda kuwa kidogo pedantic zaidi na manually 596 00:25:42,691 --> 00:25:45,920 aina nje nyota SELECT kutoka watumiaji. 597 00:25:45,920 --> 00:25:48,294 >> Sasa kitaalam, unaweza kunukuu jina la meza. 598 00:25:48,294 --> 00:25:50,460 Ni nadra kwamba una, lakini taarifa hizi sio 599 00:25:50,460 --> 00:25:52,240 quotes yako ya kawaida juu ya Marekani keyboard. 600 00:25:52,240 --> 00:25:54,760 Hii ni kinachojulikana backtick, ambayo kwa ujumla ni kwa upande juu kushoto 601 00:25:54,760 --> 00:25:56,000 kona ya keyboard yako. 602 00:25:56,000 --> 00:25:58,500 Lakini ni nadra kuwa utasikia kweli haja ya kujisumbua na kwamba, 603 00:25:58,500 --> 00:25:59,950 hivyo mimi itabidi saza yao anyway. 604 00:25:59,950 --> 00:26:02,280 Hivyo sasa, basi mimi kwenda mbele na kugonga kwenda. 605 00:26:02,280 --> 00:26:06,616 Na jinsi wengi safu lazima mimi kupata nyuma wakati mimi kuchagua nyota kutoka kwa watumiaji? 606 00:26:06,616 --> 00:26:08,407 >> Watazamaji: [inaudible] 607 00:26:08,407 --> 00:26:09,990 DAVID Malan: idadi ya mistari, uhakika. 608 00:26:09,990 --> 00:26:12,390 Lakini wangapi katika hii hadithi halisi sasa hivi? 609 00:26:12,390 --> 00:26:14,640 Mbili, kwa sababu kulikuwa na mimi na kulikuwa na Rob. 610 00:26:14,640 --> 00:26:19,370 Hivyo, kama mimi bonyeza Go, naona kuibua kwamba Nimekuwa wamezipata nyuma, kwa hakika, safu mbili. 611 00:26:19,370 --> 00:26:22,060 Kuna mengi ya clutter juu ya screen, lakini mimi tu kuona mistari miwili. 612 00:26:22,060 --> 00:26:28,580 Kwa upande mwingine, kama mimi kufanya hivyo tena na kufanya Nyota SELECT kutoka watumiaji, ambapo jina la mtumiaji 613 00:26:28,580 --> 00:26:31,840 sawa quote, unquote Malan, sasa kama mimi bonyeza Go, 614 00:26:31,840 --> 00:26:33,970 Mimi tu kwenda kupata nyuma mstari mmoja. 615 00:26:33,970 --> 00:26:36,499 Na Mwisho, kama mimi kufanya kitu kama hii, tuseme 616 00:26:36,499 --> 00:26:38,290 kwamba mimi hawajali kupata kila kitu, 617 00:26:38,290 --> 00:26:41,020 ambayo ni aina ya maana sasa, kwa sababu kuna nguzo mbili tu. 618 00:26:41,020 --> 00:26:43,103 Siyo kama mimi nina kuchagua kiasi kikubwa cha data. 619 00:26:43,103 --> 00:26:46,720 Tuseme mimi kwenda mbele na Je, CHAGUA jina kutoka 620 00:26:46,720 --> 00:26:51,990 watumiaji, ambapo jina la mtumiaji sawa na Malan, nini ni nzuri kuhusu SQL kwa uaminifu, 621 00:26:51,990 --> 00:26:54,290 ni kwamba ni kweli haina tu nini kuwaambia ni kufanya. 622 00:26:54,290 --> 00:26:57,550 Ni pretty succinct, lakini wewe literally tu kuwaambia ni nini unataka kufanya. 623 00:26:57,550 --> 00:27:01,130 Teule jina kutoka kwa watumiaji ambapo jina la mtumiaji sawa na Malan. 624 00:27:01,130 --> 00:27:03,440 Na ni kweli ni kwamba wazi. 625 00:27:03,440 --> 00:27:08,410 Kwa hiyo, sasa kama mimi hit Go, ni wangapi safu Mimi ni kwenda kupata nyuma? 626 00:27:08,410 --> 00:27:10,770 Moja, kwa sababu ni tu Malan, hopefully. 627 00:27:10,770 --> 00:27:13,100 Au zero kama yeye si pale, lakini moja maximally. 628 00:27:13,100 --> 00:27:17,610 >> Na jinsi wengi nguzo mimi kupata nyuma? 629 00:27:17,610 --> 00:27:18,450 Jinsi wengi nguzo? 630 00:27:18,450 --> 00:27:20,658 Wakati huu, mimi nina kwenda tu kupata moja kwa sababu sikuwa 631 00:27:20,658 --> 00:27:22,380 kuchagua nyota, ambayo ni kila kitu. 632 00:27:22,380 --> 00:27:27,900 Sasa mimi nina kuchagua jina tu, hivyo mimi tu kupata nyuma safu moja na mstari mmoja. 633 00:27:27,900 --> 00:27:31,730 Na inaonekana aina ya ipasavyo ujinga, kuangalia tu super 634 00:27:31,730 --> 00:27:33,060 dogo kama hili. 635 00:27:33,060 --> 00:27:34,290 Hivyo, nini kweli yanatokea? 636 00:27:34,290 --> 00:27:36,890 Wakati kutekeleza SQL swala kutumia kuchagua, 637 00:27:36,890 --> 00:27:38,700 nini wewe kupata nyuma kutoka orodha 638 00:27:38,700 --> 00:27:42,970 ni kama meza ya muda na safu na nguzo, labda, 639 00:27:42,970 --> 00:27:46,260 lakini hiyo saza chochote ambacho ilikuwa si kweli kuchaguliwa na wewe. 640 00:27:46,260 --> 00:27:49,010 Hivyo, ni kama kama mtu alikuwa na kubwa spreadsheet ya wanafunzi wote 641 00:27:49,010 --> 00:27:51,610 kusajiliwa kwa baadhi mwanafunzi wa kikundi, na kusema, 642 00:27:51,610 --> 00:27:55,097 nipe wote wa Freshman ambao wameweza kusajiliwa kwa mwanafunzi wetu kundi, nini 643 00:27:55,097 --> 00:27:56,930 mwenzake yako katika mwanafunzi anaweza kufanya kundi 644 00:27:56,930 --> 00:27:58,430 ni wangeweza mkono tu wewe spreadsheet nzima. 645 00:27:58,430 --> 00:27:59,742 Hiyo ni kama kusema kuchagua nyota. 646 00:27:59,742 --> 00:28:02,200 Na ni kidogo annoying kama alitaka tu Freshman. 647 00:28:02,200 --> 00:28:05,640 Na hivyo, kama wewe badala alisema, kuchagua kutoka orodha meza nyota 648 00:28:05,640 --> 00:28:08,470 ambapo mwaka ni sawa na quote, unquote Freshman, 649 00:28:08,470 --> 00:28:10,810 ni kana kwamba rafiki yako katika kundi mwanafunzi 650 00:28:10,810 --> 00:28:13,770 halisi yalionyesha na kunakiliwa tu safu Freshman, 651 00:28:13,770 --> 00:28:16,780 pasted yao ndani ya mwezi Google Spreadsheet au Excel file, 652 00:28:16,780 --> 00:28:18,860 na kukabidhiwa nyuma kusababisha faili tu. 653 00:28:18,860 --> 00:28:21,710 Hayo ni yote ambayo inaenda juu ya conceptually hapa. 654 00:28:21,710 --> 00:28:23,920 >> Hivyo katika mwisho, tunaweza kufanya baadhi ya mambo pretty dhana 655 00:28:23,920 --> 00:28:26,560 kwa kuhifadhi vitu kama majina ya watumiaji na nywila na kadhalika. 656 00:28:26,560 --> 00:28:30,310 Lakini, ni zamu nje, tunapaswa kufanya tofauti kidogo kuliko huu. 657 00:28:30,310 --> 00:28:34,750 Siyo kwamba smart tu kuhifadhi username na password. 658 00:28:34,750 --> 00:28:37,790 Mtu awali, nadhani chini hapa, alipendekeza ID. 659 00:28:37,790 --> 00:28:40,787 Sasa ID inaweza kuwa kama Harvard ID au Yale ya Net ID, 660 00:28:40,787 --> 00:28:42,870 lakini inaweza kuwa hata rahisi katika kesi yetu database. 661 00:28:42,870 --> 00:28:45,120 Na hakika, kesi ya kawaida ni kuwa na safu nyingine. 662 00:28:45,120 --> 00:28:46,953 Na mimi nina kwenda mbele na hariri meza yangu. 663 00:28:46,953 --> 00:28:49,521 Na kama wewe kucheza karibu na interface huu kwa PSet7, 664 00:28:49,521 --> 00:28:51,770 utaona kwamba unaweza kuangalia hii kifungo hapa na kuongeza 665 00:28:51,770 --> 00:28:53,750 uwanja mwanzoni mwa meza. 666 00:28:53,750 --> 00:28:56,720 Na sasa kama mimi bonyeza Go, ni kwenda kunipa moja ya fomu hizo 667 00:28:56,720 --> 00:28:57,600 kutoka mapema. 668 00:28:57,600 --> 00:29:00,170 Mimi nina kwenda kuongeza shamba aitwaye ID. 669 00:29:00,170 --> 00:29:03,070 Na mimi nina kwenda kufanya hivyo aina nambari. 670 00:29:03,070 --> 00:29:05,362 >> Nina rundo zima ya maadili kwa numerics. 671 00:29:05,362 --> 00:29:08,677 Mimi tu kwenda kwa kuchagua INT na wasiwasi kuhusu ukubwa tofauti. 672 00:29:08,677 --> 00:29:10,510 Sina bayana urefu au thamani, 673 00:29:10,510 --> 00:29:13,710 kwa sababu itakuja kuwa 32 bits bila kujali. 674 00:29:13,710 --> 00:29:16,070 Sifa, sisi hawakuona kabla. 675 00:29:16,070 --> 00:29:18,410 Maslahi yoyote katika kimojawapo cha vitu hivi orodha ya chaguzi wakati huu? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 Kwa INT? 678 00:29:23,745 --> 00:29:24,620 Je, wewe kupendekeza? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 Hakuna? 681 00:29:28,445 --> 00:29:29,570 Je yoyote ya hizi mantiki? 682 00:29:29,570 --> 00:29:30,536 Naam. 683 00:29:30,536 --> 00:29:31,900 Naam, unsigned, sawa? 684 00:29:31,900 --> 00:29:35,930 >> Kwa ujumla, kama sisi ni kwenda kutoa kila mtu Idadi ya kipekee, ambayo 685 00:29:35,930 --> 00:29:38,200 Hapa ndipo kisa hiki ni kwenda, mimi kwa kweli wanataka tu 686 00:29:38,200 --> 00:29:41,919 mtu kuwa na idadi kama sifuri na moja na mbili na tatu na nne. 687 00:29:41,919 --> 00:29:43,710 Sina haja ya kukabiliana na namba hasi. 688 00:29:43,710 --> 00:29:45,210 Inaonekana tu kama utata visivyofaa. 689 00:29:45,210 --> 00:29:48,470 Nataka maadili bilioni nne inawezekana, si bilioni nne maadili inawezekana, 690 00:29:48,470 --> 00:29:50,699 hivyo mimi tu mara mbili uwezo wa INT yangu. 691 00:29:50,699 --> 00:29:53,490 Kama kando, kama unataka kuhusisha huu kwa kitu kama Facebook, 692 00:29:53,490 --> 00:29:56,190 nyuma katika aina ya siku yangu wakati Picha kwanza akatoka, 693 00:29:56,190 --> 00:29:59,510 Naamini kile walichokuwa kutumia katika orodha yao MySQL 694 00:29:59,510 --> 00:30:02,856 kuhifadhi mtumiaji kitambulisho, mara tu INT. 695 00:30:02,856 --> 00:30:05,230 Lakini bila shaka, kuna mengi ya watu halisi katika dunia. 696 00:30:05,230 --> 00:30:07,438 Kuna mengi ya Facebook bandia akaunti katika dunia. 697 00:30:07,438 --> 00:30:11,701 Na hivyo hatimaye, Facebook ukifurika ukubwa wa INT, bilioni nne 698 00:30:11,701 --> 00:30:12,200 thamani. 699 00:30:12,200 --> 00:30:15,032 Ambayo ni kwa nini, kama ukiangalia karibu na kuna tovuti 700 00:30:15,032 --> 00:30:16,740 ambazo zinaweza kukuambia nini ID yako ya kipekee ni. 701 00:30:16,740 --> 00:30:19,781 Na kama wewe kamwe waliamua jina la mtumiaji katika Facebook, utaona ID yako ya kipekee. 702 00:30:19,781 --> 00:30:23,080 Nadhani ni wasifu nukta PHP alama swali ID sawa na kitu. 703 00:30:23,080 --> 00:30:27,210 Hiyo sasa ni kitu kama kubwa INT, au mrefu kwa muda mrefu kama wewe, 704 00:30:27,210 --> 00:30:29,700 ambayo ni thamani ya 64-bit au kitu kulinganishwa. 705 00:30:29,700 --> 00:30:33,620 >> Kwa hiyo, hata katika ulimwengu wa kweli kufanya hivi masuala hatimaye wakati mwingine jambo. 706 00:30:33,620 --> 00:30:37,600 Na zinageuka hapa, kama mimi nina kutoa yote ya watumiaji yangu ID kipekee, 707 00:30:37,600 --> 00:30:41,750 Nataka kuwa super wazi na minimally kufanya uwanja huu pekee. 708 00:30:41,750 --> 00:30:44,750 Lakini zinageuka kuna moja kipande cha utaratibu wa majina leo pia 709 00:30:44,750 --> 00:30:46,470 hiyo ni muhimu ya msingi. 710 00:30:46,470 --> 00:30:49,800 Kama wewe ni kubuni orodha meza na wewe kujua mapema 711 00:30:49,800 --> 00:30:55,580 kuwa moja ya nguzo katika meza kwamba lazima na kipekee kutambua safu 712 00:30:55,580 --> 00:30:58,500 katika meza, unataka kutaja na kuwaambia Mbegu, 713 00:30:58,500 --> 00:31:00,250 huu ni muhimu yangu ya msingi. 714 00:31:00,250 --> 00:31:02,110 Huenda kuna marudio katika maeneo mengine, 715 00:31:02,110 --> 00:31:06,330 lakini mimi nawaambia kwamba hii orodha ni msingi wangu, shamba langu muhimu zaidi, 716 00:31:06,330 --> 00:31:08,420 hiyo ni uhakika kuwa ya kipekee. 717 00:31:08,420 --> 00:31:09,660 >> Sasa, hii inaonekana kutokuwa na maana. 718 00:31:09,660 --> 00:31:13,830 Mimi sasa kupendekeza kwamba sisi kuongeza, kwa kubonyeza Ila hapa, 719 00:31:13,830 --> 00:31:17,210 uwanja called-- na mimi nina kwenda kwenda mbele na bonyeza ai, 720 00:31:17,210 --> 00:31:19,720 tutaweza kurudi kwa kwamba katika wakati huu, Ila. 721 00:31:19,720 --> 00:31:22,540 Napendekeza sasa kwamba meza yangu kuangalia kama hii. 722 00:31:22,540 --> 00:31:26,305 Nina shamba INT aitwaye ID, uwanja CHAR aitwaye jina la mtumiaji, 723 00:31:26,305 --> 00:31:31,100 uwanja VARCHAR aitwaye Jina, lakini ID, ikiwa ni ya msingi na kwa hiyo pekee, 724 00:31:31,100 --> 00:31:33,760 kwa nini mimi tu kupoteza wakati kuanzisha kile 725 00:31:33,760 --> 00:31:39,140 ufanisi ni ya pili kipekee uwanja aitwaye ID hilo ni INT? 726 00:31:39,140 --> 00:31:41,980 >> Jina la mtumiaji, kukumbuka, alikuwa Tayari kipekee, sisi alisema. 727 00:31:41,980 --> 00:31:45,350 Hivyo tu mantiki, huna haja uzoefu wowote orodha ya sababu 728 00:31:45,350 --> 00:31:47,570 kwa njia hii, kwa nini Huenda mimi kuwa na vishawishi 729 00:31:47,570 --> 00:31:50,065 INT kama kitambulisho changu kipekee pia? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 Nini Haya kusema tena? 732 00:31:53,930 --> 00:31:55,580 >> Watazamaji: [inaudible] 733 00:31:55,580 --> 00:31:59,534 >> DAVID Malan: Random upatikanaji ni rahisi zaidi, kwa nini? 734 00:31:59,534 --> 00:32:00,410 >> Watazamaji: [inaudible] 735 00:32:00,410 --> 00:32:02,367 DAVID Malan: Yeah, ni tu kupata namba. 736 00:32:02,367 --> 00:32:04,750 Hivyo, kama wewe kufikiria hii kweli ni meza, kama safu, 737 00:32:04,750 --> 00:32:07,690 sasa nina vitambulisho vya kipekee niweze kuruka karibu. 738 00:32:07,690 --> 00:32:11,520 Na bora kuliko hayo bado ni kwamba jinsi kubwa ni INT kwenda kuwa tena? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 Bits 32 au ka nne. 741 00:32:15,800 --> 00:32:17,750 >> Jinsi kubwa ni jina la mtumiaji yangu kwenda kuwa? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 Maximally? 744 00:32:21,990 --> 00:32:22,880 16 ka. 745 00:32:22,880 --> 00:32:26,080 >> Hivyo, kama wewe ni kweli kujali juu utendaji wa kanuni yako, 746 00:32:26,080 --> 00:32:31,390 kufikiri nyuma PSet5, unapendelea kutafuta nne Byte thamani au 16 747 00:32:31,390 --> 00:32:32,240 thamani Byte, sawa? 748 00:32:32,240 --> 00:32:33,810 Ni kweli ni rahisi kama hayo. 749 00:32:33,810 --> 00:32:38,060 Una kufanya mara nne kama kazi kubwa kutafuta majina ya watumiaji kwa sababu wale 750 00:32:38,060 --> 00:32:38,830 ni 16 ka. 751 00:32:38,830 --> 00:32:41,320 Hivyo, una halisi kulinganisha ka zote 16 kuwa 752 00:32:41,320 --> 00:32:43,140 uhakika ndiyo, hii ni jina la mtumiaji nataka. 753 00:32:43,140 --> 00:32:46,610 Ambapo kwa INT, unaweza kufanya hivyo pamoja ka nne tu. 754 00:32:46,610 --> 00:32:49,212 >> Na kama kando kwa wale nia ya vifaa vya kompyuta, 755 00:32:49,212 --> 00:32:52,420 ni zamu nje unaweza fit kitu kama INT au 32-bit thamani katika kitu 756 00:32:52,420 --> 00:32:55,330 aitwaye kujiandikisha katika kompyuta CPU, ambayo ina maana ni super, 757 00:32:55,330 --> 00:32:58,400 super haraka, hata katika chini kiwango cha vifaa vya kompyuta ya. 758 00:32:58,400 --> 00:33:00,530 Hivyo, kuna faida tu pande zote. 759 00:33:00,530 --> 00:33:01,530 Kwa hiyo, hii ina maana gani? 760 00:33:01,530 --> 00:33:04,850 Kwa kweli, wakati wewe ni kubuni Mbegu meza, karibu wote wa wakati 761 00:33:04,850 --> 00:33:07,170 unakwenda na si tu data unaowajali, 762 00:33:07,170 --> 00:33:09,280 lakini pia kitu kama kitambulisho kipekee 763 00:33:09,280 --> 00:33:11,280 kwa sababu hii ni kwenda hebu kufanya mambo mengine. 764 00:33:11,280 --> 00:33:13,160 Na hebu safari juu ya tatizo moja hapa. 765 00:33:13,160 --> 00:33:15,990 >> Tuseme kwamba watumiaji kuwa si majina ya watumiaji na majina tu, 766 00:33:15,990 --> 00:33:19,540 lakini pia kuwa vitu kama miji na mataifa na codes zip, angalau 767 00:33:19,540 --> 00:33:20,432 hapa nchini Marekani. 768 00:33:20,432 --> 00:33:22,390 Kwa hiyo, mimi nina kwenda mbele na haraka tu kusema, 769 00:33:22,390 --> 00:33:26,180 nipe nguzo tatu zaidi mwishoni mwa meza. 770 00:33:26,180 --> 00:33:28,900 Na hii ni kwenda kuwa City, hii ni kwenda kuwa Serikali, 771 00:33:28,900 --> 00:33:30,400 na hii ni kwenda kuwa Zip. 772 00:33:30,400 --> 00:33:32,710 >> Sasa aina City, kile data lazima hii kuwa, labda? 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 VARCHAR? 775 00:33:35,989 --> 00:33:37,780 Sijui nini muda mrefu zaidi jina mji ni. 776 00:33:37,780 --> 00:33:40,571 Mahali fulani katika Marekani, kuna pengine baadhi neno ridiculously kwa muda mrefu, 777 00:33:40,571 --> 00:33:43,605 hivyo hebu tu kwenda kwa 255, kiasi fulani kihistoria au kiholela. 778 00:33:43,605 --> 00:33:44,730 Nchi, unataka nini cha kufanya? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 Hukumu wito, sawa? 781 00:33:50,367 --> 00:33:51,700 Nini labda ufanisi zaidi? 782 00:33:51,700 --> 00:33:53,500 Jinsi wahusika wengi? 783 00:33:53,500 --> 00:33:55,950 Labda mbili tu, kama tunaweza kupata mbali na kufanya tu, 784 00:33:55,950 --> 00:33:58,250 kama, MA kwa Massachusetts na kadhalika. 785 00:33:58,250 --> 00:34:00,520 Kwa hiyo, mimi nina kwenda CHAR thamani ya mbili. 786 00:34:00,520 --> 00:34:03,080 >> Msimbo moja ya kuvutia. 787 00:34:03,080 --> 00:34:06,679 Tuko hapa katika 02138, ili unaonyesha tunapaswa kutumia nini? 788 00:34:06,679 --> 00:34:07,470 Ni INT, sawa? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, short? 791 00:34:12,800 --> 00:34:14,521 Muda ingekuwa kazi. 792 00:34:14,521 --> 00:34:15,020 Hakuna? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR au tano, lakini nataka INT. 795 00:34:20,870 --> 00:34:23,710 Kwa nini kushinikiza nyuma juu ya INT? 796 00:34:23,710 --> 00:34:26,820 Kuwashawishi mimi kutokana na hili. 797 00:34:26,820 --> 00:34:29,210 Nini kijinga kuhusu INT, wazo langu? 798 00:34:29,210 --> 00:34:29,871 Naam. 799 00:34:29,871 --> 00:34:31,199 >> Watazamaji: Kuchukua kumbukumbu zaidi. 800 00:34:31,199 --> 00:34:32,909 >> DAVID Malan: Kuchukua kumbukumbu zaidi. 801 00:34:32,909 --> 00:34:35,310 Ka nne, lakini wewe ni kupendekeza msimbo 802 00:34:35,310 --> 00:34:39,000 kama ka tano au mtu alikuwa kama CHAR, ambayo anahisi kama eh, hiyo si kweli 803 00:34:39,000 --> 00:34:39,620 kesi. 804 00:34:39,620 --> 00:34:40,489 >> Naam, furaha hadithi. 805 00:34:40,489 --> 00:34:43,179 Miaka iliyopita, wakati Nilikuwa kutumia Microsoft Outlook kwa email yangu, 806 00:34:43,179 --> 00:34:45,150 Mimi hatimaye alitaka kubadili Gmail. 807 00:34:45,150 --> 00:34:48,949 Na hivyo, mimi nje wote wa yangu mawasiliano kutoka Outlook kama jalada la CSV. 808 00:34:48,949 --> 00:34:50,699 Comma kutengwa maadili, ambayo tu maana mimi 809 00:34:50,699 --> 00:34:54,060 alikuwa na majina yangu yote marafiki na mwisho majina na namba za simu na codes zip 810 00:34:54,060 --> 00:34:54,747 na yote hayo. 811 00:34:54,747 --> 00:34:56,580 Na kisha mimi alifanya makosa ya ufunguzi it up 812 00:34:56,580 --> 00:34:58,640 katika Excel, ambayo ni mpango spreadsheet kwamba 813 00:34:58,640 --> 00:35:00,289 anaelewa files CSV kama tumeona. 814 00:35:00,289 --> 00:35:03,080 Lakini basi, ni lazima kuwa na kugonga, kama, Amri au Kudhibiti S katika hatua moja. 815 00:35:03,080 --> 00:35:06,250 Na Excel inaonekana wakati alikuwa kipengele ambapo wakati wowote yake 816 00:35:06,250 --> 00:35:08,100 aliona idadi, ni walijaribu kuwa na manufaa. 817 00:35:08,100 --> 00:35:11,610 Na kama idadi hiyo ilianza na zeros, ingekuwa tu kujikwamua yao. 818 00:35:11,610 --> 00:35:13,420 Kwa nini hakuna haja ya kuongoza zeros juu ya integers? 819 00:35:13,420 --> 00:35:15,140 Wao ni maana, hesabu. 820 00:35:15,140 --> 00:35:17,530 Wao siyo maana katika mfumo wa Marekani Postal. 821 00:35:17,530 --> 00:35:19,954 Hivyo, nimepata kwa miaka, hadi leo hii, mimi bado 822 00:35:19,954 --> 00:35:22,370 kuwa na marafiki kwamba wakati nadra kesi hiyo nahitaji mtu ni 823 00:35:22,370 --> 00:35:24,078 kushughulikia siku hizi, Mimi itabidi bado kuona kwamba mimi 824 00:35:24,078 --> 00:35:26,767 na rafiki katika Cambridge, Massachusetts, 2138. 825 00:35:26,767 --> 00:35:29,350 Na ni annoying kama wewe ni kujaribu aina ya programmatically 826 00:35:29,350 --> 00:35:30,975 kuzalisha bahasha au tu hata nukta chini. 827 00:35:30,975 --> 00:35:33,599 Na hiyo ndiyo sababu ya sababu hii, Nilichagua data vibaya aina. 828 00:35:33,599 --> 00:35:34,490 Hivyo, I love wazo lako. 829 00:35:34,490 --> 00:35:35,650 Hebu kutumia uwanja CHAR. 830 00:35:35,650 --> 00:35:38,340 Wahusika tano, isipokuwa kuna kesi kona. 831 00:35:38,340 --> 00:35:42,220 Kama bado kutuma barua pepe, wakati mwingine zip codes siku hizi, 832 00:35:42,220 --> 00:35:45,360 wao uko, kama, pamoja na minne. 833 00:35:45,360 --> 00:35:48,200 Hivyo, tunahitaji hyphen na kisha tunahitaji namba nne zaidi. 834 00:35:48,200 --> 00:35:50,330 Hivyo kwa kuwa waaminifu, inaweza kwenda njia nyingi tofauti. 835 00:35:50,330 --> 00:35:52,371 >> Kwa sasa, mimi nina kwenda kuweka ni rahisi na mimi nina tu 836 00:35:52,371 --> 00:35:54,780 kwenda kusema kwamba ni tano CHAR thamani na tuko 837 00:35:54,780 --> 00:35:56,739 kwenda ruka dash zima pamoja na nne. 838 00:35:56,739 --> 00:35:58,280 Lakini haya ni aina ya ujanja. 839 00:35:58,280 --> 00:36:00,196 Na unaweza kufikiria matatizo kama hayo kutokana 840 00:36:00,196 --> 00:36:01,860 na namba ya simu au maeneo mengine. 841 00:36:01,860 --> 00:36:04,350 >> Na sasa, hii ni kweli barabara wajinga kwenda chini. 842 00:36:04,350 --> 00:36:08,000 Tuseme wote mimi Rob na Hana na na Maria na [? Davon?] Na Andy 843 00:36:08,000 --> 00:36:12,820 na wengine juu ya wafanyakazi wote wanaishi katika Cambridge, Massachusetts, 02138. 844 00:36:12,820 --> 00:36:17,970 Hii kweli kujisikia kijinga kwamba mimi nina kuongeza kwa watumiaji yangu meza, mji, jimbo, 845 00:36:17,970 --> 00:36:18,630 na zip. 846 00:36:18,630 --> 00:36:20,980 Kwa nini? 847 00:36:20,980 --> 00:36:21,960 >> Watazamaji: [inaudible] 848 00:36:21,960 --> 00:36:22,918 >> DAVID Malan: Sema tena? 849 00:36:22,918 --> 00:36:24,310 Watazamaji: [inaudible] 850 00:36:24,310 --> 00:36:25,850 >> DAVID Malan: Wao ni siku zote kwenda pamoja, sawa? 851 00:36:25,850 --> 00:36:28,660 Wakati ni zamu nje, sisi tukidhani hii ilikuwa ni kesi mpaka sisi vyema 852 00:36:28,660 --> 00:36:30,570 msako Marekani nzima, na zinageuka kuwa kuna 853 00:36:30,570 --> 00:36:32,653 ni baadhi kutokwenda ambapo miji mbalimbali na 854 00:36:32,653 --> 00:36:35,060 Zip huo, ambayo ni weird. 855 00:36:35,060 --> 00:36:40,580 Lakini, kama sisi inasema kwa sasa 02138 Daima Cambridge, Massachusetts, 856 00:36:40,580 --> 00:36:44,910 kwa nini katika dunia gani unaweza kuhifadhi katika Mbegu yako Cambridge na MA na 02138 857 00:36:44,910 --> 00:36:49,357 kwa ajili yangu na kwa Hana na kwa Rob na kwa [? Davon?] Na kwa watu wengine wanaoishi 858 00:36:49,357 --> 00:36:51,190 hapa katika Cambridge, ni kikamilifu redundant. 859 00:36:51,190 --> 00:36:54,480 >> Tunapaswa kupata mbali na tu kuhifadhi nini? 860 00:36:54,480 --> 00:36:55,610 Tu msimbo. 861 00:36:55,610 --> 00:36:58,660 Lakini basi, kama sisi kuhifadhi tu msimbo, sijui wanataka, pengine, 862 00:36:58,660 --> 00:37:02,160 kwa ajili ya tovuti yangu kujua ambapo 02138 ni. 863 00:37:02,160 --> 00:37:03,910 Kwa hiyo, mimi haja meza nyingine. 864 00:37:03,910 --> 00:37:04,697 Na hiyo ni sawa. 865 00:37:04,697 --> 00:37:07,530 Na kwa kweli, hii ni moja ya michakato ya mpango wa kubuni meza 866 00:37:07,530 --> 00:37:11,472 kwamba utasikia kufanya katika PSet7 pamoja ambapo unataka sababu nje data ya kawaida. 867 00:37:11,472 --> 00:37:14,430 Tu kama tumekuwa factoring nje kificho kawaida na factoring nje ya kawaida 868 00:37:14,430 --> 00:37:17,380 mitindo kutoka CSS, hapa pia katika orodha, 869 00:37:17,380 --> 00:37:21,180 kama mimi tu haja 02138 kwa kipekee kubaini mji wa mtu, 870 00:37:21,180 --> 00:37:25,020 si kuhifadhi Cambridge, Misa kwa kila mtumiaji darn katika meza yako. 871 00:37:25,020 --> 00:37:29,770 >> Badala yake, kuwa na meza tofauti inayoitwa Zips kwamba wanapaswa kuwa na kile nguzo? 872 00:37:29,770 --> 00:37:33,490 Pengine shamba ID, tu kwa sababu, kwa kanuni tunazungumzia sasa. 873 00:37:33,490 --> 00:37:35,720 Pengine shamba zip kwa 02138. 874 00:37:35,720 --> 00:37:38,400 Na kisha pengine kile nguzo mengine? 875 00:37:38,400 --> 00:37:42,950 Mji na serikali, lakini tu moja mstari kwa 02138, safu moja kwa 02139, 876 00:37:42,950 --> 00:37:44,772 safu moja kwa 90,210. 877 00:37:44,772 --> 00:37:46,730 Na kwamba ni halisi namba zote zip najua. 878 00:37:46,730 --> 00:37:49,012 >> Hivyo sasa, unaweza kufanya nini? 879 00:37:49,012 --> 00:37:51,220 Hii ni tatizo, kwa sababu sasa mimi nimepata meza mbili. 880 00:37:51,220 --> 00:37:54,660 Hivyo, watumiaji yangu ni zaidi juu hapa, lakini mji hali zao ni maelezo 881 00:37:54,660 --> 00:37:55,390 hapa. 882 00:37:55,390 --> 00:37:58,635 Hivyo, ni zamu nje na SQL, kuna kweli njia kujiunga maelezo, 883 00:37:58,635 --> 00:38:00,470 na utaona hii katika pset. 884 00:38:00,470 --> 00:38:03,000 >> Lakini zinageuka unaweza kufanya kitu kama hiki. 885 00:38:03,000 --> 00:38:10,501 Nyota SELECT kutoka watumiaji, JOIN zips ILIYO watumiaji dot zip sawa na zips dot zip. 886 00:38:10,501 --> 00:38:13,360 Ambayo ni wordy kidogo, admittedly, lakini hii tu 887 00:38:13,360 --> 00:38:17,590 ina maana kuchagua kila kitu kutoka mchakato wa kuchukua watumiaji yangu meza 888 00:38:17,590 --> 00:38:19,580 na zips yangu meza. 889 00:38:19,580 --> 00:38:22,120 Kujiunga nao kwenye moja uwanja wao katika safu. 890 00:38:22,120 --> 00:38:24,780 Hivyo, literally kufanya kitu kama hii, na kunipa nyuma 891 00:38:24,780 --> 00:38:27,360 mpya meza muda hiyo ni pana, hiyo ni kubwa zaidi, 892 00:38:27,360 --> 00:38:29,450 ambayo ina yote ya nguzo kutoka wote wawili. 893 00:38:29,450 --> 00:38:33,510 Na kwamba, kwa urahisi kabisa, itakuwa syntax kwa ajili ya kufanya kitu kama hiki. 894 00:38:33,510 --> 00:38:35,540 >> Kwa hiyo, kuna hii mbele, lakini kuna kwenda 895 00:38:35,540 --> 00:38:38,950 kuwa maamuzi mengine kubuni utasikia una kufanya, si tu kwa bahati 896 00:38:38,950 --> 00:38:40,550 lakini pia mbio katika changamoto. 897 00:38:40,550 --> 00:38:43,360 Kwa kweli, kuna changamoto katika yoyote kubuni orodha 898 00:38:43,360 --> 00:38:47,930 ambapo wakati mwingine watu wawili kutaka kupata safu hiyo ya orodha 899 00:38:47,930 --> 00:38:48,530 meza. 900 00:38:48,530 --> 00:38:51,450 Kwa hiyo, hii ni kitu ambacho tutaweza kukutana katika PSet7 pia. 901 00:38:51,450 --> 00:38:54,686 >> Lakini nilifikiri ningependa tuangalie moja mashambulizi kwamba inawezekana katika SQL. 902 00:38:54,686 --> 00:38:56,560 Je, ni baadhi ya matatizo ambayo yanaweza kutokea? 903 00:38:56,560 --> 00:38:58,170 Hivyo, utasikia kukutana hii katika PSet7. 904 00:38:58,170 --> 00:39:01,874 Na sisi kukuambia wazi kile coding ufumbuzi kwa tatizo hili ni. 905 00:39:01,874 --> 00:39:04,790 Lakini kama wewe kuchukua ngazi ya darasa juu, hasa katika mifumo ya uendeshaji, 906 00:39:04,790 --> 00:39:06,950 wewe ni kwenda kukutana Suala la atomicity, 907 00:39:06,950 --> 00:39:10,080 tatizo la kujaribu kufanya mambo mbalimbali wote kwa mara moja 908 00:39:10,080 --> 00:39:11,000 bila usumbufu. 909 00:39:11,000 --> 00:39:14,560 >> Na mimi nilifikiri d kuanzisha hii wazo kwa ajili ya PSet7 kwa mfano 910 00:39:14,560 --> 00:39:18,160 kwamba mimi kujifunza mimi mwenyewe katika Margo Mifumo ya uendeshaji Seltzer ya CS164 911 00:39:18,160 --> 00:39:18,990 tabaka la miaka iliyopita. 912 00:39:18,990 --> 00:39:22,230 Tuseme kwamba una mmoja wa haya Dorm fridges katika Dorm chumba yako au nyumba, 913 00:39:22,230 --> 00:39:24,474 na una penchant halisi kwa maziwa. 914 00:39:24,474 --> 00:39:27,140 Na hivyo, wewe kuja nyumbani kutoka madarasa siku moja, wewe kufungua friji. 915 00:39:27,140 --> 00:39:27,620 Loo, damn it. 916 00:39:27,620 --> 00:39:28,870 Hakuna maziwa katika hali tete. 917 00:39:28,870 --> 00:39:32,470 Hivyo, wewe karibu hali tete, kufuli mlango, kufuli Dorm wako, 918 00:39:32,470 --> 00:39:34,770 kutembea kuzunguka kona kwa CVS, kupata katika mstari, 919 00:39:34,770 --> 00:39:36,312 na kuanza kuangalia nje kwa baadhi ya maziwa. 920 00:39:36,312 --> 00:39:38,978 Na ni kwenda kuchukua muda, kwa sababu wale damn ubinafsi Checkout 921 00:39:38,978 --> 00:39:40,570 counters kuchukua milele kutumia anyway. 922 00:39:40,570 --> 00:39:41,950 Hivyo wakati huo huo, roommate yako anakuja nyumbani. 923 00:39:41,950 --> 00:39:43,470 Yeye au yeye kweli anapenda maziwa pia. 924 00:39:43,470 --> 00:39:45,520 Wao kuja katika chumba Dorm, kufungua friji, loo, darn hilo. 925 00:39:45,520 --> 00:39:46,490 Hakuna maziwa zaidi. 926 00:39:46,490 --> 00:39:49,040 >> Hivyo, yeye au yeye pia huenda kuzunguka kona. 927 00:39:49,040 --> 00:39:51,670 Lakini sasa, kwa vile kuna kama viwili au CVSes mitatu au minne karibu, 928 00:39:51,670 --> 00:39:53,800 wao kutokea kwa kwenda kwa moja ya ndio tofauti katika mraba. 929 00:39:53,800 --> 00:39:55,830 Dakika na hivyo kwa sasa, chache baadaye, nyote wawili 930 00:39:55,830 --> 00:39:58,060 kuja nyumbani na ugh, mbaya zaidi tatizo milele. 931 00:39:58,060 --> 00:40:00,967 Sasa una maziwa mengi mno kwa sababu ni kwenda sour. 932 00:40:00,967 --> 00:40:03,050 Na wewe kama maziwa, lakini wewe si kweli kama maziwa. 933 00:40:03,050 --> 00:40:06,730 >> Hivyo sasa, hii ilikuwa ghali makosa kwa sababu wote wewe 934 00:40:06,730 --> 00:40:09,870 uamuzi kulingana na hali ya baadhi ya kutofautiana kwamba 935 00:40:09,870 --> 00:40:12,660 ilikuwa katika mchakato wa kuwa iliyopita na wewe, 936 00:40:12,660 --> 00:40:14,560 kuanzisha ya kwenda kupata maziwa. 937 00:40:14,560 --> 00:40:17,785 Hivyo, ni nini labda binadamu ufumbuzi wa tatizo hilo? 938 00:40:17,785 --> 00:40:18,660 Watazamaji: [inaudible] 939 00:40:18,660 --> 00:40:19,430 DAVID Malan: Acha kumbuka, sawa? 940 00:40:19,430 --> 00:40:21,850 Daima kuondoka kumbuka, kama wewe ni ukoo na kwamba show. 941 00:40:21,850 --> 00:40:23,100 Ndiyo, kuna mambo mawili ya kwetu. 942 00:40:23,100 --> 00:40:25,940 Hivyo, daima kuondoka kumbuka, au halisi kufuli jokofu 943 00:40:25,940 --> 00:40:28,602 na baadhi ya aina ya kufuli au kitu juu juu kama hicho. 944 00:40:28,602 --> 00:40:31,310 Lakini hiyo ni kweli kwenda kuwa Tatizo muhimu kwa kubuni Mbegu, 945 00:40:31,310 --> 00:40:34,710 hasa wakati unaweza kuwa browsers mbalimbali, Laptops nyingi, 946 00:40:34,710 --> 00:40:37,450 watumiaji mbalimbali wote kujaribu update habari mara moja. 947 00:40:37,450 --> 00:40:40,590 Maelezo hasa nyeti kama taarifa za fedha, 948 00:40:40,590 --> 00:40:43,350 ambapo pamoja na hisa internet tovuti kama wewe utakuwa kujenga, 949 00:40:43,350 --> 00:40:47,270 nini kama unataka kuangalia fedha kiasi gani una na kisha kama una kutosha, 950 00:40:47,270 --> 00:40:48,490 kununua baadhi ya hisa? 951 00:40:48,490 --> 00:40:50,899 >> Lakini nini kama mtu mwingine ambaye ina akaunti ya pamoja na wewe 952 00:40:50,899 --> 00:40:52,690 ni wakati huo huo kujaribu kununua baadhi ya hisa? 953 00:40:52,690 --> 00:40:55,190 Hivyo, yeye au yeye ni kuangalia usawa akaunti, nyote wawili 954 00:40:55,190 --> 00:40:57,540 kupata nyuma sawa jibu, hakuna maziwa. 955 00:40:57,540 --> 00:41:00,580 Au wote wawili wa kupata nyuma jibu, una $ 100 katika akaunti. 956 00:41:00,580 --> 00:41:04,680 Wote wewe kujaribu kufanya uamuzi kununua sehemu moja ya kampuni baadhi hisa. 957 00:41:04,680 --> 00:41:06,130 >> Na sasa, nini kitatokea? 958 00:41:06,130 --> 00:41:07,140 Una hisa mbili? 959 00:41:07,140 --> 00:41:08,420 Wewe huna hisa? 960 00:41:08,420 --> 00:41:10,320 Matatizo kama hayo yanaweza kutokea. 961 00:41:10,320 --> 00:41:11,755 Hivyo, tutaweza kukutana huo. 962 00:41:11,755 --> 00:41:14,630 SQL mashambulizi sindano, nashiriki, ni kitu tutaweza kukusaidia na, 963 00:41:14,630 --> 00:41:17,430 lakini haya ni atrociously kawaida siku hizi bado. 964 00:41:17,430 --> 00:41:18,680 Kwa hiyo, huu ni mfano tu. 965 00:41:18,680 --> 00:41:21,290 Mimi kufanya hakuna madai kwamba Harvard PIN mfumo ni 966 00:41:21,290 --> 00:41:23,130 kuathirika zaidi na mashambulizi fulani. 967 00:41:23,130 --> 00:41:24,160 Tumejaribu. 968 00:41:24,160 --> 00:41:26,120 Lakini, unajua kwamba sisi na uwanja kama hii. 969 00:41:26,120 --> 00:41:29,620 Na Yale ya Net ID ina sawa kuangalia screen siku hizi. 970 00:41:29,620 --> 00:41:33,190 Na ni zamu nje, kwamba labda Mfumo PIN ni kutekelezwa katika PHP. 971 00:41:33,190 --> 00:41:37,050 >> Na kama ni were-- ni not-- wao anaweza kuwa kificho kwamba inaonekana kama hii. 972 00:41:37,050 --> 00:41:38,210 Wana vigezo mbili. 973 00:41:38,210 --> 00:41:42,495 Nipe username na password kutoka katika wadhifa super variable kimataifa 974 00:41:42,495 --> 00:41:43,970 kwamba kuongelea awali. 975 00:41:43,970 --> 00:41:47,310 Labda Harvard ina swala kama nyota SELECT kutoka watumiaji 976 00:41:47,310 --> 00:41:50,005 ambapo jina la mtumiaji sawa na kwamba na neno la siri ni sawa na kwamba. 977 00:41:50,005 --> 00:41:51,880 Na taarifa kwamba mimi nina tu kuziba katika kutumia 978 00:41:51,880 --> 00:41:55,050 curly brace nukuu kutoka nyingine siku, ambayo ina maana kuziba tu katika thamani 979 00:41:55,050 --> 00:41:55,550 hapa. 980 00:41:55,550 --> 00:41:57,449 Mimi si kutumia swali chapa mbinu. 981 00:41:57,449 --> 00:41:59,240 Sina pili wowote au tatu hoja. 982 00:41:59,240 --> 00:42:02,350 Mimi tu halisi ujenzi kamba mwenyewe. 983 00:42:02,350 --> 00:42:04,930 >> Tatizo, ingawa, ni kwamba kama mtu kama scroob, 984 00:42:04,930 --> 00:42:09,020 ambayo ni kumbukumbu ya filamu, magogo katika na kitu kama hii, 985 00:42:09,020 --> 00:42:11,250 na nimekuwa kuondolewa nukta kwamba kwa kawaida kuficha 986 00:42:11,250 --> 00:42:14,370 nywila, nini kama yeye ni hasa kwa makusudi 987 00:42:14,370 --> 00:42:18,860 na neno la siri yake labda ni 12,345, per movie inayoitwa "Spaceballs," 988 00:42:18,860 --> 00:42:21,970 lakini yeye kina aina kunukuu moja baada ya tano, 989 00:42:21,970 --> 00:42:24,790 kisha literally neno au katika nafasi, na kisha kunukuu, 990 00:42:24,790 --> 00:42:29,160 unquote moja sawa na kunukuu moja, lakini ilani yeye kuachwa nini? 991 00:42:29,160 --> 00:42:32,700 Yeye liliondolewa kunukuu juu ya haki na yeye kuachwa kunukuu upande wa kushoto. 992 00:42:32,700 --> 00:42:35,170 >> Kwa sababu kama mshambulizi hii dhulma scroob ya 993 00:42:35,170 --> 00:42:38,160 ni kwamba watu ambao aliandika huu kificho PHP hazikuwa mkali, 994 00:42:38,160 --> 00:42:42,990 labda wao tu na baadhi ya single ananukuu kuzunguka kitabu 995 00:42:42,990 --> 00:42:45,210 ya kutofautiana katika braces curly? 996 00:42:45,210 --> 00:42:48,620 Na hivyo labda, hakuweza aina ya kukamilisha fikra zao 997 00:42:48,620 --> 00:42:53,290 kwa ajili yao, lakini kwa njia ambayo inaenda awe hacked katika mfumo PIN. 998 00:42:53,290 --> 00:42:55,310 Kwa maneno mengine, tuseme kwamba hii ni kanuni 999 00:42:55,310 --> 00:42:57,140 na sisi sasa kuziba katika kile scroob typed. 1000 00:42:57,140 --> 00:42:58,770 Na ni nyekundu, kwa sababu ni mbaya. 1001 00:42:58,770 --> 00:43:01,310 >> Na asilia msingi ni kile typed katika, 1002 00:43:01,310 --> 00:43:05,510 scroob inaweza hila server Harvard ndani ya ujenzi swala SQL 1003 00:43:05,510 --> 00:43:07,440 kamba kwamba inaonekana kama hii. 1004 00:43:07,440 --> 00:43:11,760 Nywila ni sawa na 12,345 au moja sawa na mtu. 1005 00:43:11,760 --> 00:43:14,820 Matokeo yake ni kwamba, mantiki, ni kwamba hii itakuwa kuingia scroob 1006 00:43:14,820 --> 00:43:18,360 katika kama password yake ni 12345 au kama moja sawa 1007 00:43:18,360 --> 00:43:22,660 moja, ambayo ni ya kweli kweli daima, ambayo ina maana scroob daima anapata katika. 1008 00:43:22,660 --> 00:43:26,060 >> Na hivyo, njia ya kurekebisha hivyo, kama katika mengi ya matukio, 1009 00:43:26,060 --> 00:43:28,140 itakuwa kuandika zaidi kujitetea. 1010 00:43:28,140 --> 00:43:30,390 Kutumia kitu kama yetu swala kazi halisi, ambayo 1011 00:43:30,390 --> 00:43:33,980 utaona katika PSet7, ambapo sisi kuziba katika kitu kama swali alama hapa. 1012 00:43:33,980 --> 00:43:35,980 Na uzuri wa swala kazi ambayo sisi 1013 00:43:35,980 --> 00:43:40,010 kukupa ni inatetea dhidi ya hawa kinachojulikana SQL mashambulizi sindano, ambapo 1014 00:43:40,010 --> 00:43:44,260 mtu ni tricking kanuni yako katika sindano kificho yake mwenyewe SQL. 1015 00:43:44,260 --> 00:43:47,380 Kwa sababu gani kazi swala sisi kutoa wewe kweli kufanya, 1016 00:43:47,380 --> 00:43:51,270 kama matumizi ya alama swali syntax na pili na wa tatu hoja hapa, 1017 00:43:51,270 --> 00:43:54,590 ni nini alifanya hivyo kuongeza pembejeo kwamba mtumiaji zinazotolewa? 1018 00:43:54,590 --> 00:43:56,060 Wale backslash ananukuu. 1019 00:43:56,060 --> 00:43:58,590 >> Kwa hiyo, epuka yoyote uwezekano hatari wahusika. 1020 00:43:58,590 --> 00:44:01,000 Hii inaonekana weird sasa, lakini siyo mazingira magumu 1021 00:44:01,000 --> 00:44:03,260 kwa sababu hana mabadiliko mantiki tena 1022 00:44:03,260 --> 00:44:06,470 kwa sababu neno la siri kwamba wote ni sasa kunukuu moja si kwamba, 1023 00:44:06,470 --> 00:44:07,596 kwa kweli, neno la siri scroob ya. 1024 00:44:07,596 --> 00:44:09,845 Hivyo, kumekuwa na baadhi utani kuhusu hili kwa miaka mingi. 1025 00:44:09,845 --> 00:44:12,570 Hivyo, hii ilikuwa picha zilizochukuliwa baadhi geek katika kura ya maegesho 1026 00:44:12,570 --> 00:44:16,620 ambapo unaweza kujua kwamba baadhi ya miji na mataifa kujaribu Scan leseni yako 1027 00:44:16,620 --> 00:44:19,460 sahani kwa muswada wewe au kwa tiketi ya wewe kama wewe kwenda kupitia bila, kama, 1028 00:44:19,460 --> 00:44:20,660 E-Z Pass kitu. 1029 00:44:20,660 --> 00:44:24,490 Kwa hiyo, mtu huyu kudhaniwa kwamba labda watu kuandika mfumo E-Z Pass 1030 00:44:24,490 --> 00:44:28,240 hazikuwa mkali, na labda wao tu concatenated pamoja kamba, 1031 00:44:28,240 --> 00:44:32,190 hivyo kuwa yeye hakuweza kwa nia mbaya si tu kukamilisha mawazo yao, 1032 00:44:32,190 --> 00:44:35,150 lakini kwa kweli kutekeleza amri mbaya, ambayo tumekuwa haikutajwa bado, 1033 00:44:35,150 --> 00:44:36,380 lakini pengine unaweza nadhani. 1034 00:44:36,380 --> 00:44:39,820 Kwamba zaidi ya kufuta na kuingiza na update na kuchagua, 1035 00:44:39,820 --> 00:44:43,370 pia kuna keyword aitwaye kushuka, ambayo literally deletes kila kitu 1036 00:44:43,370 --> 00:44:45,300 katika orodha, ambayo ni mbaya zaidi hasa. 1037 00:44:45,300 --> 00:44:48,760 >> Tunaweza kuvuta hii ikiwa ni kidogo mgumu kuona. 1038 00:44:48,760 --> 00:44:52,300 Hii, sasa, ni cartoon maarufu hiyo ni ajabu wajanja sasa 1039 00:44:52,300 --> 00:44:53,145 na ya kueleweka. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [Kicheko] 1042 00:45:04,750 --> 00:45:05,910 >> Yeah, baridi. 1043 00:45:05,910 --> 00:45:06,800 Aina ya geeking nje. 1044 00:45:06,800 --> 00:45:08,800 Hivyo haya, basi, ni SQL sindano mashambulizi. 1045 00:45:08,800 --> 00:45:13,050 Na wao uko hivyo rahisi kuepuka kwa kutumia kificho haki au maktaba ya haki. 1046 00:45:13,050 --> 00:45:15,947 Na utaona katika PSet7, hiyo ni nini sisi kukupa kazi swala. 1047 00:45:15,947 --> 00:45:17,780 Hivyo, wanandoa wa Teasers kwamba tulidhani tunatarajia 1048 00:45:17,780 --> 00:45:19,930 kukupa hapa katika yetu dakika zilizobaki pamoja. 1049 00:45:19,930 --> 00:45:24,030 Hivyo, kama wewe kumbuka kutoka wiki sifuri, sisi ilianzisha hizi mbili balbu mwanga ambayo 1050 00:45:24,030 --> 00:45:26,610 ni nzuri, si tu kwa sababu wao uko mzuri na ni rangi, 1051 00:45:26,610 --> 00:45:29,450 lakini kwa sababu wanaunga mkono jambo aitwaye API, Maombi 1052 00:45:29,450 --> 00:45:31,980 Programming Interface Na katika CS50 hivi sasa, tumekuwa 1053 00:45:31,980 --> 00:45:34,440 wengi wao wakiwa kulenga GET na POST, lakini zinageuka 1054 00:45:34,440 --> 00:45:37,390 kuna vitendo vingine HTTP kama PUT. 1055 00:45:37,390 --> 00:45:39,430 >> Na kwa kweli, hii ilikuwa slide kutoka wiki sifuri 1056 00:45:39,430 --> 00:45:44,930 ambapo kama wewe kuandika kanuni anaye la PSet6 ombi HTTP kwamba 1057 00:45:44,930 --> 00:45:49,647 Inaonekana kama hii kwa chunk hii ya maandishi chini, iitwayo JSON, 1058 00:45:49,647 --> 00:45:52,230 au JavaScript Object nukuu kwamba tutaweza majadiliano juu ya wiki ijayo, 1059 00:45:52,230 --> 00:45:57,030 unaweza kurejea kwenye au kuzima au mabadiliko rangi ya taa kama hizo. 1060 00:45:57,030 --> 00:46:00,480 Hivyo kama CS50 pia ina pamoja na baadhi ya balbu wale mwanga hapa katika New Haven 1061 00:46:00,480 --> 00:46:02,480 kama Ningependa kukopa nao kwa ajili ya miradi ya mwisho, 1062 00:46:02,480 --> 00:46:04,370 pia baadhi ya Microsoft Bendi, ambayo ni kama 1063 00:46:04,370 --> 00:46:07,619 lindo kwamba kuvaa kuzunguka mkono wako kwamba vile vile na API ili uweze 1064 00:46:07,619 --> 00:46:10,040 Unaweza kuandika programu yako mwenyewe kwa ajili yao. 1065 00:46:10,040 --> 00:46:12,490 >> Tuna akaunti na Apple iOS kificho hivyo 1066 00:46:12,490 --> 00:46:15,510 kwamba kama una Apple Watch au iPhone au iPad au iPod, 1067 00:46:15,510 --> 00:46:17,707 unaweza kuandika kificho kwamba kweli anaendesha juu ya hayo. 1068 00:46:17,707 --> 00:46:19,540 Tuna kundi zima ya Arduinos, ambayo ni 1069 00:46:19,540 --> 00:46:22,010 vidogo kompyuta ndogo bila kesi, kimsingi, 1070 00:46:22,010 --> 00:46:25,240 kwamba unaweza kuunganisha kupitia USB, kawaida kwa Mac yako mwenyewe au PC, 1071 00:46:25,240 --> 00:46:28,810 kuandika kificho kwamba anaendesha juu ya hizi kimwili vifaa kwamba mara nyingi kuwa sensorer juu yao 1072 00:46:28,810 --> 00:46:30,790 hivyo unaweza kuingiliana na ulimwengu wa kweli. 1073 00:46:30,790 --> 00:46:32,860 Tuna kundi zima ya vifaa Leap Motion, 1074 00:46:32,860 --> 00:46:36,500 ambayo ni vifaa USB kwa Macs na PC, hapa na tena, katika New Haven. 1075 00:46:36,500 --> 00:46:40,080 Na kama wewe kuungana kwa Mac yako, unaweza kweli kudhibiti kompyuta yako 1076 00:46:40,080 --> 00:46:42,550 kwa kuandika programu kwamba kupitia mihimili infrared, 1077 00:46:42,550 --> 00:46:46,360 takwimu za nje ambapo mikono yako binadamu ni, hata bila kugusa keyboard yako. 1078 00:46:46,360 --> 00:46:49,135 Sisi mawazo tunatarajia kushiriki haraka glimpse ya jambo hilo, kwa mfano. 1079 00:46:49,135 --> 00:46:51,428 >> [Music kucheza] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 Hivyo, tuna mzima rundo la mambo hayo, 1082 00:47:57,590 --> 00:48:01,040 pia, aitwaye Myo mkono bendi ambayo kuweka juu ya forearm yako 1083 00:48:01,040 --> 00:48:04,595 na kisha unaweza kudhibiti halisi dunia au ulimwengu virtual kama hii. 1084 00:48:04,595 --> 00:48:06,471 >> [Music kucheza] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 Au, sisi pia kuwa baadhi Google Mbao, ambayo ni halisi, kama, 1087 00:49:20,920 --> 00:49:24,841 kadi sanduku unaweza kuweka juu yako uso, lakini slide katika simu yako ndani yake 1088 00:49:24,841 --> 00:49:27,590 ili kuweka glasi ya yako simu kweli karibu na macho yako. 1089 00:49:27,590 --> 00:49:30,190 Na Google Kadi ni pretty nafuu katika $ 10 au $ 20. 1090 00:49:30,190 --> 00:49:32,230 Na ina lenses kidogo kuwa kidogo mbali kuhama 1091 00:49:32,230 --> 00:49:35,900 picha kwenye screen kwa binadamu yako macho ili kukupa hisia ya kina 1092 00:49:35,900 --> 00:49:39,550 ili kwa kweli kuwa 3D mazingira mbele yenu. 1093 00:49:39,550 --> 00:49:42,927 Sisi pia kuwa baadhi Samsung Gear, ambayo ni ghali zaidi toleo la hii, 1094 00:49:42,927 --> 00:49:46,010 lakini ambazo zinaweza vile vile kuteleza katika Android simu na kukupa udanganyifu 1095 00:49:46,010 --> 00:49:48,309 of-- au kutoa uzoefu ya ukweli virtual. 1096 00:49:48,309 --> 00:49:50,850 Na katika dakika ya mwisho wetu wawili, sisi mawazo tunatarajia kujaribu kufanya hivyo. 1097 00:49:50,850 --> 00:49:55,250 Kama naweza mradi nini Colton ina hapa tu kwa whet hamu yako, 1098 00:49:55,250 --> 00:49:58,442 basi mimi kwenda mbele na kutupa up kwenye screen kubwa hapa. 1099 00:49:58,442 --> 00:49:59,400 Napenda kuua taa. 1100 00:49:59,400 --> 00:50:02,290 Colton, je, unataka kwenda mbele na kuweka juu ya kiini yako kwa muda 1101 00:50:02,290 --> 00:50:05,171 na kuja juu juu kwa katikati ya hatua? 1102 00:50:05,171 --> 00:50:07,420 Na je, unataka project-- hii ni nini anaona Colton. 1103 00:50:07,420 --> 00:50:10,560 >> Sasa, Wi-Fi katika hapa ni si hivyo nguvu kwa kifaa hiki 1104 00:50:10,560 --> 00:50:13,870 kwamba hii ni super kulazimisha, lakini Colton ni halisi 1105 00:50:13,870 --> 00:50:15,710 katika hii Futuristic mahali kichawi. 1106 00:50:15,710 --> 00:50:16,796 Yeye tu anaona picha moja. 1107 00:50:16,796 --> 00:50:19,920 Wewe ni kuona jicho lake la kushoto na kulia kwamba ubongo wake ni wakitengeneza pamoja 1108 00:50:19,920 --> 00:50:22,260 katika pande tatu mazingira kifudifudi. 1109 00:50:22,260 --> 00:50:24,319 Yeye tu kuchaguliwa menu chaguo hapa. 1110 00:50:24,319 --> 00:50:27,360 Na hivyo tena, yeye amevaa headset hii na Samsung simu juu yake hiyo ni 1111 00:50:27,360 --> 00:50:29,080 wirelessly kinachoonyesha kwa uendeshaji yetu. 1112 00:50:29,080 --> 00:50:30,349 Sasa wewe ni juu ya Mars, nadhani? 1113 00:50:30,349 --> 00:50:31,140 COLTON: Nadhani hivyo. 1114 00:50:31,140 --> 00:50:32,181 Sina hakika [inaudible]. 1115 00:50:32,181 --> 00:50:34,250 [Kicheko] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID Malan: Zinageuka Mechi ina menus haya. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [inaudible] baadhi ya baridi maeneo kama tunataka kwenda to-- 1118 00:50:41,590 --> 00:50:43,330 >> DAVID Malan: wapi tunataka kwenda? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [inaudible] 1120 00:50:45,837 --> 00:50:48,170 DAVID Malan: Na hebu angalia ambapo Colton ya kuchukua nasi sasa. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [inaudible] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID Malan: Hivyo, kuna mengi maeneo mbalimbali unaweza kuchukua mwenyewe. 1124 00:50:56,380 --> 00:51:00,590 Kuna FAPIs kupitia ambayo unaweza kuandika michezo au mwingiliano kwamba 1125 00:51:00,590 --> 00:51:01,950 kukimbia, hatimaye, kwenye simu. 1126 00:51:01,950 --> 00:51:03,908 Hivyo, wewe kweli tu kuandika programu ya simu. 1127 00:51:03,908 --> 00:51:06,380 Lakini, shukrani kwa programu na graphics uwezo, 1128 00:51:06,380 --> 00:51:08,765 sasa Colton ni katika hii kidogo kidogo Cottage. 1129 00:51:08,765 --> 00:51:10,515 Na katika hatari ya balaa sisi wenyewe, 1130 00:51:10,515 --> 00:51:13,330 Colton na mimi itabidi fimbo karibu kwa wakati mwishoni mwa tabaka la hapa leo 1131 00:51:13,330 --> 00:51:14,300 kama Ningependa kuja na kucheza. 1132 00:51:14,300 --> 00:51:16,350 Na tutaweza kuwaleta nyuma wiki ijayo pia. 1133 00:51:16,350 --> 00:51:18,420 Bila zaidi, ado hiyo ni kwa ajili ya leo. 1134 00:51:18,420 --> 00:51:21,990 Tutaweza kuona wewe wiki ijayo. 1135 00:51:21,990 --> 00:51:24,140 >> [Music - RAGGA TWINS, "BAD MAN"] 1136 00:51:24,140 --> 00:55:23,146