1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [Music kucheza] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Hii ni CS50, na huu ni mwanzo wa wiki nane. 5 00:00:13,350 --> 00:00:17,510 Na sisi ni hivyo msisimko na kuwakaribisha nyuma, mshangao mkubwa, CS50 Ramon mwenyewe 6 00:00:17,510 --> 00:00:22,160 Galvan, mwandamizi kupanda ambaye amekuwa kutumia miezi kadhaa iliyopita 7 00:00:22,160 --> 00:00:26,190 tangu Julai katika LA, katika Anime, halisi kazi ya bidhaa mpya TV 8 00:00:26,190 --> 00:00:31,930 show inayoitwa Colony, Muumba wa ambayo ni kweli Harvard alum mwenyewe. 9 00:00:31,930 --> 00:00:36,610 Na hivyo sisi ni msisimko sana kuona hii kwanza kwenye mtandao United huu Januari. 10 00:00:36,610 --> 00:00:40,370 Hivyo kukaa tuned kwa kuwa, na kwa Ramon zaidi kwa muda wa wiki ijayo. 11 00:00:40,370 --> 00:00:42,550 >> Kujua sasa kwamba mwisho uko karibu. 12 00:00:42,550 --> 00:00:47,400 Na nini maana ya hii ni kwamba kuna si mengi yote kushoto ya CS50, kusikitisha kusema. 13 00:00:47,400 --> 00:00:49,400 Tuna tatu tu tatizo seti left-- kuna 14 00:00:49,400 --> 00:00:52,510 tatizo kuweka six-- ambayo ni katika mikono yako sasa au hivi karibuni itakuwa, 15 00:00:52,510 --> 00:00:56,080 kutokana baadaye hii week-- ni maana ya kuziba dunia yetu ya mstari amri, ambapo 16 00:00:56,080 --> 00:00:59,450 tumekuwa alitumia zaidi ya muda wetu kwa kutumia C, na dunia ya programu ya mtandao. 17 00:00:59,450 --> 00:01:02,350 Vizuri, utaona mengi ya mawazo alikopa kutoka mstari amri kazi, 18 00:01:02,350 --> 00:01:04,560 lakini pia mengi ya mpya na mawazo ya kuvutia 19 00:01:04,560 --> 00:01:07,929 ambazo pia kwenda kuwa germane kwa maombi ya simu na kwa teknolojia, 20 00:01:07,929 --> 00:01:10,470 ujumla zaidi, na ambayo guys wote ni ukoo siku hizi 21 00:01:10,470 --> 00:01:12,090 juu ya Laptops na simu na kadhalika. 22 00:01:12,090 --> 00:01:15,220 >> Hivyo itabidi kutekeleza si ukurasa wa mtandao, au tovuti 23 00:01:15,220 --> 00:01:17,620 per se, lakini halisi mtandao wa kompyuta. 24 00:01:17,620 --> 00:01:21,590 Utakuwa kuandika mapumziko ya mtandao wa kompyuta imeandikwa katika C, ambao lengo katika maisha 25 00:01:21,590 --> 00:01:25,410 ni kupokea maombi HTTP, wale bahasha virtual sisi kuendelea kuongea 26 00:01:25,410 --> 00:01:29,780 kuhusu, na kwa kweli kujibu ama kwa content-- baadhi tuli kama nukta HTML 27 00:01:29,780 --> 00:01:32,310 file, au nukta JPEG au idadi nyingine yoyote ya mafaili, 28 00:01:32,310 --> 00:01:37,070 au hata PHP faili ambapo mtandao wako server ni kwenda kutafsiri kwamba PHP 29 00:01:37,070 --> 00:01:38,332 kanuni na mate nje ya matokeo. 30 00:01:38,332 --> 00:01:40,540 Sasa, tumekuwa zinazotolewa kwa kidogo kabisa ya mfumo 31 00:01:40,540 --> 00:01:43,100 kwa kweli it-- usambazaji kificho kwa tatizo 32 00:01:43,100 --> 00:01:47,496 kuweka sita ni zaidi ya 1,000 mistari ya muda mrefu, a mengi ambayo ni ya maoni, kuwa fair-- 33 00:01:47,496 --> 00:01:49,370 lakini hii ni kweli maana kuwa fursa 34 00:01:49,370 --> 00:01:52,570 kupata mikono yako chafu mbizi ndani ya mradi haki kubwa 35 00:01:52,570 --> 00:01:55,570 kwamba tumekuwa hasa sana kuchonga nje vipande vya kwa ajili yenu, 36 00:01:55,570 --> 00:01:59,046 hivyo kwamba kweli wakati wewe exit CS50 na kuingia ulimwengu wa kweli wa programu 37 00:01:59,046 --> 00:02:00,920 na wanataka dabble katika idadi yoyote ya miradi, 38 00:02:00,920 --> 00:02:03,253 itabidi kubwa sana faraja kushusha chanzo baadhi 39 00:02:03,253 --> 00:02:05,020 kanuni, baadhi chanzo wazi mradi kwenye mtandao, 40 00:02:05,020 --> 00:02:08,174 na mbizi katika na maamuzi mabadiliko ambayo unaweza kuona inafaa. 41 00:02:08,174 --> 00:02:11,340 Tatizo kuweka saba ni kwenda kuwa juu kufanya mtandao msingi maombi yako mwenyewe 42 00:02:11,340 --> 00:02:14,140 kwamba inachukua pembejeo nguvu na inazalisha pato nguvu katika fomu 43 00:02:14,140 --> 00:02:16,920 ya tovuti etrade.com-kama. 44 00:02:16,920 --> 00:02:20,800 Na tatizo kuweka nane italenga bado lugha nyingine inayojulikana kama JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> Wakati huo huo, mwisho mradi ni juu ya upeo wa macho. 46 00:02:24,170 --> 00:02:26,800 Kinachojulikana kabla pendekezo- ni kutokana wiki kuanzia leo. 47 00:02:26,800 --> 00:02:29,930 Kabla ya proposal-- kwa vipimo, ambayo ni juu ya website-- CS50 48 00:02:29,930 --> 00:02:33,260 ni fursa mzuri kawaida kwa wewe kutuma barua pepe pretty succinct 49 00:02:33,260 --> 00:02:35,170 kwa mafundisho wenzako tu ndio mnamfundisha yake 50 00:02:35,170 --> 00:02:38,250 au wake wa kile unachokifikiria, kwa kutumia kwake kama bodi sounding. 51 00:02:38,250 --> 00:02:40,980 Na kuwa na akili timamu check-- kama wewe ni kufikiri 52 00:02:40,980 --> 00:02:43,210 kuhusu kuuma mbali mno mengi au labda kidogo sana, 53 00:02:43,210 --> 00:02:46,480 au labda wewe huna wazo lo lote na wanataka kushiriki katika mazungumzo. 54 00:02:46,480 --> 00:02:48,480 >> Baada ya hapo ni pendekezo na ripoti ya hali, 55 00:02:48,480 --> 00:02:51,860 kinachojulikana CS50 hackathon hapa katika Cambridge kwa Harvard na Yale wanafunzi 56 00:02:51,860 --> 00:02:52,362 sawa. 57 00:02:52,362 --> 00:02:54,320 Mradi wa mwisho wa utekelezaji ni basi kutokana. 58 00:02:54,320 --> 00:02:59,290 Na kisha CS50 haki hapa, Cambridge, kama vile mwingine katika New Haven. 59 00:02:59,290 --> 00:03:02,500 Hivyo pendekezo, tuangalie tovuti kwa maelezo hayo. 60 00:03:02,500 --> 00:03:06,530 >> Lakini zaidi excitingly, pia, ni fursa ya kupata mikono yako chafu, 61 00:03:06,530 --> 00:03:09,350 na akili yako wazi kwa wote rundo la mada na zana 62 00:03:09,350 --> 00:03:12,920 na mbinu kwamba ni ancillary msingi mtaala kozi, 63 00:03:12,920 --> 00:03:14,810 lakini hata hivyo kuhusiana. 64 00:03:14,810 --> 00:03:18,400 Na pia mawe wanazidi ajabu kwa kufanya miradi ya kweli ya baridi ya mwisho kwamba 65 00:03:18,400 --> 00:03:22,020 kwenda vizuri zaidi nyenzo tumekuwa kufunikwa rasmi katika tatizo seti au katika hotuba. 66 00:03:22,020 --> 00:03:24,446 Hivyo kwenda kwenye tovuti CS50 kwa orodha ya majina yote ya semina. 67 00:03:24,446 --> 00:03:26,070 Kama huna kujiandikisha bado, hiyo ni nzuri. 68 00:03:26,070 --> 00:03:29,860 Kwenda mbele na ishara ya juu bado na sisi kufuatilia kwa kuishi Streaming kiungo, 69 00:03:29,860 --> 00:03:31,844 siku na wakati ni kwenye tovuti. 70 00:03:31,844 --> 00:03:33,760 Na kila kitu kitakuwa kumbukumbu na kuweka online 71 00:03:33,760 --> 00:03:35,800 kama huwezi kufanya siku fulani na nyakati. 72 00:03:35,800 --> 00:03:39,380 >> Kama kwa kile uongo mbele thereafter-- vizuri, bila shaka, kuna CS50 hackathon. 73 00:03:39,380 --> 00:03:43,560 Hii picha, kukumbuka, kutoka wiki sifuri kuchukuliwa karibu 04:00 jioni moja katika miaka ya nyuma. 74 00:03:43,560 --> 00:03:46,900 CS50 haki, ambayo tena utafanyika katika miji yote miwili. 75 00:03:46,900 --> 00:03:49,760 Na kisha, tu kupanda mbegu, hata kama sisi bado 76 00:03:49,760 --> 00:03:54,080 na mwezi pamoja kushoto ya muhula, ikiwa Ningependa kujiunga na ualimu CS50 ya mwenyewe 77 00:03:54,080 --> 00:03:56,770 wafanyakazi, na unataka kuanza kufikiria kuwa na CA, 78 00:03:56,770 --> 00:03:59,550 au mafundisho wenzake, tunajua kwamba tutaweza kuanza kuzungumza zaidi juu ya hilo 79 00:03:59,550 --> 00:04:00,630 baadaye muhula huu. 80 00:04:00,630 --> 00:04:03,470 Lakini pichani hapa ni zaidi ya timu mwaka huu. 81 00:04:03,470 --> 00:04:06,950 >> Na hivyo, PHP-- na mimi nilikuwa na huzuni wiki iliyopita kuwa [? Allyse?] Huruma 82 00:04:06,950 --> 00:04:09,370 alikwenda juhudi za kupata sisi props haya ya ajabu 83 00:04:09,370 --> 00:04:11,720 kwamba sikuwa kuishia kutumia, hivyo kweli tu inaonekana aina ya kijinga 84 00:04:11,720 --> 00:04:15,160 kwamba tulikuwa na koleo ameketi hapa zote Siku ya mwisho ya Jumatano, na kijiko kidogo. 85 00:04:15,160 --> 00:04:17,709 Lakini hii ilikuwa metaphoric yangu njia ya kujaribu kuchora 86 00:04:17,709 --> 00:04:21,600 picha ya nini sisi ni kipindi cha mpito kutoka C kwa lugha kama PHP. 87 00:04:21,600 --> 00:04:25,480 Na hiyo inaweza kuwa alisema ya yoyote idadi ya languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 au mashada ya others-- lakini ambapo katika C Kwa mfano, kuandika mpango katika C 89 00:04:31,270 --> 00:04:34,050 inaweza kuwa kama kawaida kuchukua kijiko kama hii 90 00:04:34,050 --> 00:04:36,770 na kuchimba shimo katika ardhi, katika mchanga au uchafu. 91 00:04:36,770 --> 00:04:39,770 PHP utapata kuchukua mengi kuumwa kubwa nje ya tatizo, 92 00:04:39,770 --> 00:04:42,842 kuandika mbali kidogo kificho kutumia chombo mbali kidogo, 93 00:04:42,842 --> 00:04:45,050 kwa sababu kuna mambo mengi zaidi utendaji pieced katika. 94 00:04:45,050 --> 00:04:47,633 >> Sasa, kama kweli tulikuwa makubwa, tunatarajia kuwa na kitu cha koleo 95 00:04:47,633 --> 00:04:48,760 hapa, lakini na iwe hivyo. 96 00:04:48,760 --> 00:04:51,370 Wakati huo huo, wengine mfano sisi kuja na 97 00:04:51,370 --> 00:04:53,770 Ni, bila shaka, wewe naweza kutumia kitu kama bisibisi 98 00:04:53,770 --> 00:04:56,610 nyundo katika kitu kama msumari. 99 00:04:56,610 --> 00:04:58,980 Lakini bila shaka, haki chombo cha matumizi ni kwenda 100 00:04:58,980 --> 00:05:01,360 kuwa si sana lugha inayoitwa C-- 101 00:05:01,360 --> 00:05:03,590 na sasa mimi tu annoyed [? Sanders,?] Pengine, 102 00:05:03,590 --> 00:05:07,890 tutaweza kurekebisha kwamba later-- hivyo chombo haki ya kutumia mara nyingi 103 00:05:07,890 --> 00:05:09,640 si kwenda kuwa hii ngazi ya chini kabisa chombo. 104 00:05:09,640 --> 00:05:13,720 Na hakika, C ni si lugha ambayo zaidi ya wewe ni milele kwenda kutumia, 105 00:05:13,720 --> 00:05:15,590 au lazima lazima kutumia tena. 106 00:05:15,590 --> 00:05:18,350 >> Na kwa kweli, kidogo secret-- wakati tu 107 00:05:18,350 --> 00:05:23,160 Mimi kutumia C mwenyewe ni kiasi pretty kati ya Septemba na Desemba ya kila kuanguka 108 00:05:23,160 --> 00:05:23,870 muhula. 109 00:05:23,870 --> 00:05:25,790 Na hiyo ndiyo sababu sisi kuitumia kama nafasi 110 00:05:25,790 --> 00:05:27,852 kufundisha misingi ya programu, 111 00:05:27,852 --> 00:05:29,810 na kwa kuwa kompyuta misingi ya sayansi, takwimu 112 00:05:29,810 --> 00:05:32,435 miundo, na algorithms like-- lakini kwa haraka sana je 113 00:05:32,435 --> 00:05:35,010 kuona sasa kwamba syntax na mawazo ya msingi C 114 00:05:35,010 --> 00:05:37,530 ni hivyo ajabu kuhamishwa kwa zaidi ya kisasa 115 00:05:37,530 --> 00:05:41,130 Lugha ngazi za juu, kama PHP na Chatu na Perl na Java 116 00:05:41,130 --> 00:05:46,750 na Lengo-C-- kweli, hata kiasi Lengo-C-- lakini Swift, hizi karibu zaidi 117 00:05:46,750 --> 00:05:50,010 Lugha kwamba wengi wenu mapenzi kisha dabble na wewe mradi wa mwisho. 118 00:05:50,010 --> 00:05:55,070 >> Hivyo bila wasiwasi zaidi, hebu kweli kutumia PHP kutatua baadhi ya matatizo. 119 00:05:55,070 --> 00:06:00,230 Kumbuka kwamba mapema, mwisho wiki, sisi tu kutumika CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 tuliandika Dinky mpango kidogo kwamba alisema tu, "Jambo dunia." 121 00:06:02,990 --> 00:06:05,680 Na kisha mimi kuokolewa katika faili inayoitwa hello.php. 122 00:06:05,680 --> 00:06:07,280 Na kisha mimi mbio amri hii. 123 00:06:07,280 --> 00:06:08,080 >> Na kwa nini? 124 00:06:08,080 --> 00:06:09,900 Katika lugha ya Kiingereza, nini kinaendelea hapa? 125 00:06:09,900 --> 00:06:12,760 Nini mimi kufanya wakati Mimi mbio amri hii? 126 00:06:12,760 --> 00:06:13,405 >> Yeah? 127 00:06:13,405 --> 00:06:16,572 >> Watazamaji: Kuna baadhi ya PHP kazi kwamba anasoma nini in-- anaelewa kuwa. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Mwema, kuna baadhi ya kazi PHP-- na napenda kuwa maalumu zaidi, 129 00:06:19,696 --> 00:06:21,810 kuna programu inayoitwa PHP, a.k.a. 130 00:06:21,810 --> 00:06:25,872 Mkalimani, kwamba anaelewa yaliyomo ya hello.php, 131 00:06:25,872 --> 00:06:27,830 na anatafsiri yake juu ya chini, kushoto na kulia, 132 00:06:27,830 --> 00:06:29,590 na anafanya nini amri hizo kusema. 133 00:06:29,590 --> 00:06:33,320 Amri katika hello.php, bila shaka, ni chanzo tu kazi code-- 134 00:06:33,320 --> 00:06:35,750 na vigezo na mizunguko na kama, kwamba sisi wenyewe 135 00:06:35,750 --> 00:06:37,460 wameanza kuandika katika PHP. 136 00:06:37,460 --> 00:06:40,240 >> Lakini tofauti na C, ambayo ni Lugha ulioandaliwa, 137 00:06:40,240 --> 00:06:42,810 PHP wewe tu kuandika, na kukimbia nayo. 138 00:06:42,810 --> 00:06:46,420 Wewe ruka kwamba middleman hatua ya kuwageuza kwa zeros na ndio, 139 00:06:46,420 --> 00:06:47,790 na kisha mbio hiyo. 140 00:06:47,790 --> 00:06:50,510 Na hivyo ni suala la mafanikio ya hii nini? 141 00:06:50,510 --> 00:06:52,690 Kwa nini sisi kuruka hatua? 142 00:06:52,690 --> 00:06:55,238 Kwa nini lugha ya kisasa zaidi huwa na ruka hatua hii? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Ilikuwa faida gani? 145 00:07:01,220 --> 00:07:02,080 >> Au tu intuitively? 146 00:07:02,080 --> 00:07:04,200 Hata kama tumekuwa si Imeandikwa PHP gani kabla, 147 00:07:04,200 --> 00:07:07,210 nini manufaa kuhusu si kuandaa kanuni yako unafikiri? 148 00:07:07,210 --> 00:07:08,520 Hakuna? 149 00:07:08,520 --> 00:07:09,610 Si kutenda? 150 00:07:09,610 --> 00:07:11,350 Scratching kichwa yako? 151 00:07:11,350 --> 00:07:12,614 Naam. 152 00:07:12,614 --> 00:07:13,600 >> Watazamaji: Zaidi ya nguvu. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: Zaidi ya nguvu? 154 00:07:14,683 --> 00:07:16,032 Una maanisha nini? 155 00:07:16,032 --> 00:07:17,000 >> Watazamaji: [inaudible] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: Sawa, nzuri, hivyo kutegemea pembejeo, 158 00:07:22,390 --> 00:07:23,470 huna kukusanya yake kila wakati. 159 00:07:23,470 --> 00:07:24,990 Na kwa kweli ni kama rahisi kama that-- nini 160 00:07:24,990 --> 00:07:26,990 ni hatua ya kuendelea kukusanya kanuni yako? 161 00:07:26,990 --> 00:07:29,480 Hii ni hatua ya hiyo ni making-- hii ni wanaohitaji, 162 00:07:29,480 --> 00:07:31,900 kwa kadhaa iliyopita wiki, hatua mara mbili kama wengi 163 00:07:31,900 --> 00:07:33,820 kama tu kuendesha programu yako. 164 00:07:33,820 --> 00:07:36,940 Imekuwa ni muhimu katika kuona kwamba kuona ujumbe baadhi makosa na kadhalika, 165 00:07:36,940 --> 00:07:38,720 lakini bado ni hatua ya annoying. 166 00:07:38,720 --> 00:07:41,810 >> Na hivyo programmers barabara baada ya muda, kwa nini sio sisi 167 00:07:41,810 --> 00:07:45,327 kuanza kuandika lugha ambazo hawana haja kwamba hatua haki mitambo, 168 00:07:45,327 --> 00:07:47,160 hivyo kwamba wanaweza tu kuandika kanuni yako na kukimbia nayo. 169 00:07:47,160 --> 00:07:48,920 Lakini ilikuwa ni nini bei kuwa tuliona sisi kulipwa 170 00:07:48,920 --> 00:07:50,910 wiki iliyopita, kwa mfano mtu fulani? 171 00:07:50,910 --> 00:07:51,650 Ndiyo? 172 00:07:51,650 --> 00:07:52,370 >> Kasi. 173 00:07:52,370 --> 00:07:54,690 Hivyo [? nini?] wakalimani kidogo polepole, 174 00:07:54,690 --> 00:07:57,330 kwa kuwa zeros na ndio ni nzuri na ya haraka kwa ajili ya kompyuta 175 00:07:57,330 --> 00:08:00,070 kuelewa, kwa sababu Intel CPU, au chochote ni, 176 00:08:00,070 --> 00:08:03,070 tu anaelewa nini kinaendelea tarehe na mwelekeo wa wale wa bits. 177 00:08:03,070 --> 00:08:05,370 Wakati mkalimani ni mpango kwamba kweli 178 00:08:05,370 --> 00:08:07,980 ina kusoma Ascii chanzo kificho kwamba umeandika, 179 00:08:07,980 --> 00:08:12,700 na kubadilisha, hivyo kusema, au kufikiri jinsi ni waongofu hatimaye 180 00:08:12,700 --> 00:08:13,525 kwa zeros na ndio. 181 00:08:13,525 --> 00:08:15,650 Hivyo ni tu inachukua kidogo kidogo ya utendaji hit. 182 00:08:15,650 --> 00:08:16,858 Hivyo ni kidogo ya biashara-off. 183 00:08:16,858 --> 00:08:21,570 Sasa kama sisi kufanya hivyo zaidi ya hapa, basi mimi kwenda mbele na kufanya mfano kama ifuatavyo. 184 00:08:21,570 --> 00:08:26,610 Kama mimi kwenda katika hapa, faili mpya, mimi nina kwenda kuokoa hii tena ni hello.php. 185 00:08:26,610 --> 00:08:31,450 Na sasa mimi nina kwenda mbele na kusema, "magazeti hujambo dunia" - 186 00:08:31,450 --> 00:08:35,130 na kukumbuka kwamba naweza kutumia magazeti, sijui una kutumia magazeti-F. Na sasa chini hapa, 187 00:08:35,130 --> 00:08:42,039 kama mimi kufanya PHP wa hello.php, huh-- mimi hawaonekani kuwa kufasiriwa. 188 00:08:42,039 --> 00:08:43,412 Je, mimi kufanya makosa? 189 00:08:43,412 --> 00:08:44,710 >> Watazamaji: vikuku angled. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Yeah, unahitaji kwamba pembe mabano juu juu. 191 00:08:47,015 --> 00:08:49,390 Hivyo ni aina ya annoying, lakini wewe kupata kutumika yake haraka. 192 00:08:49,390 --> 00:08:53,500 Kama mimi na kuandika kanuni PHP, mimi ujumla haja ya kuwaambia mpango, 193 00:08:53,500 --> 00:08:56,950 au kuwaambia mkalimani, hey PHP, inakuja baadhi ya kanuni PHP. 194 00:08:56,950 --> 00:09:00,440 Na kisha kwa hatua nzuri, napenda kuifunga si na hii, lakini badala ya 195 00:09:00,440 --> 00:09:03,740 na swali tu alama pembe mabano, ili sasa chini hapa, 196 00:09:03,740 --> 00:09:06,840 kama mimi kukimbia hii tena, sasa Mimi kupata matokeo ya taka. 197 00:09:06,840 --> 00:09:09,820 >> Sasa hebu kufanya optimization kidogo, hivyo tu kwamba wameweza kuona mbele. 198 00:09:09,820 --> 00:09:14,040 Hii ni aina ya annoying kwamba mimi kuwa na kukimbia PHP nafasi hello.php, 199 00:09:14,040 --> 00:09:16,060 kwa sababu katika siku za nyuma mimi inaweza tu kuandika dot slash 200 00:09:16,060 --> 00:09:17,560 jina mpango, ambayo ni aina ya nzuri. 201 00:09:17,560 --> 00:09:19,420 Ni aina ya bora user uzoefu. 202 00:09:19,420 --> 00:09:24,160 >> Hivyo ni zamu nje unaweza kufanya hivyo katika PHP na mimi following-- 203 00:09:24,160 --> 00:09:28,780 Unaweza kutumia hii haki cryptic dua juu hapa, 204 00:09:28,780 --> 00:09:31,740 ambayo kwa ujumla aitwaye shebang, ambapo hii ni ishara mkali, 205 00:09:31,740 --> 00:09:34,270 hivyo kusema, hii ni bang au mshangao uhakika. 206 00:09:34,270 --> 00:09:38,490 Na hii sasa ni njia ya mpango juu ya kawaida Linux mfumo kuwa 207 00:09:38,490 --> 00:09:41,500 inaitwa mazingira, au env. 208 00:09:41,500 --> 00:09:43,920 Na hii line-- hadithi muda short-- mstari mmoja tu 209 00:09:43,920 --> 00:09:48,710 anasema, hey kompyuta, kupata PHP mkalimani kwa ajili yangu katika mazingira, 210 00:09:48,710 --> 00:09:50,610 kupata hiyo katika kumbukumbu yako, hivyo kusema. 211 00:09:50,610 --> 00:09:54,130 >> Na nini ni nzuri sasa, ni kwamba kama mimi kwenda chini hapa, 212 00:09:54,130 --> 00:09:57,750 Siwezi kufanya dot slash hodi nukta php, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Ruhusa alikanusha. 214 00:09:59,000 --> 00:10:02,350 Vizuri, utaona hata zaidi ya huu na tatizo kuweka saba, kama wewe 215 00:10:02,350 --> 00:10:04,060 si tayari, kwa ruhusa. 216 00:10:04,060 --> 00:10:06,510 Ni zinageuka kuwa nahitaji kutekeleza agizo hili 217 00:10:06,510 --> 00:10:10,779 aitwaye [? chamod?] kwa ajili ya mabadiliko mode-- pamoja na x hello.php. 218 00:10:10,779 --> 00:10:13,820 Nahitaji [inaudible] hii moja ya ziada hatua ambayo ni kuwaambia kompyuta yangu, 219 00:10:13,820 --> 00:10:16,400 kufanya hello.php kutekelezwa. 220 00:10:16,400 --> 00:10:21,310 Na sasa kuangalia nini happens-- nukta kufyeka hello.php, ni tu anaendesha. 221 00:10:21,310 --> 00:10:23,310 Sina haja ya kutaja mkalimani tena. 222 00:10:23,310 --> 00:10:26,680 Na siwezi kufanya hivyo hata prettier, bado, kama ningekuwa kubadili jina jambo hili. 223 00:10:26,680 --> 00:10:30,570 Kama mimi hoja hello.php tu Hujambo hivyo taarifa katika upande wa juu kushoto, 224 00:10:30,570 --> 00:10:32,860 jina mpango ni Hakika sasa tu Hello. 225 00:10:32,860 --> 00:10:37,300 Sasa naweza kufanya ni kuangalia kama C mpango, hata kama ni iliyoandikwa katika PHP-- 226 00:10:37,300 --> 00:10:39,210 au kusema ukweli idadi yoyote ya lugha nyingine. 227 00:10:39,210 --> 00:10:41,480 >> Hivyo kukuza kidogo kidogo, hakuna tofauti ya kazi. 228 00:10:41,480 --> 00:10:44,460 Lakini ni tu udadisi kidogo sasa, ili uweze kuandika mipango 229 00:10:44,460 --> 00:10:48,989 katika lugha yoyote, na user hana una kujua au huduma ya kile wale ni. 230 00:10:48,989 --> 00:10:51,030 Naam, hebu tuangalie zaidi mfano kulazimisha sasa 231 00:10:51,030 --> 00:10:52,850 kwamba mimi kuchapwa up mapema. 232 00:10:52,850 --> 00:10:54,955 Na hii inaitwa quote.php. 233 00:10:54,955 --> 00:10:56,740 Na ni inapatikana online. 234 00:10:56,740 --> 00:11:00,299 Na taarifa kwamba ni pretty short-- lakini ni mstari amri hiyo ni mpango 235 00:11:00,299 --> 00:11:02,840 kwenda kuangalia bei ya hisa kwa ajili yangu, ambayo ni kweli kwenda 236 00:11:02,840 --> 00:11:04,230 kuwa germane na tatizo kuweka saba. 237 00:11:04,230 --> 00:11:05,396 >> Basi hebu angalia nini mimi kufanya. 238 00:11:05,396 --> 00:11:08,640 Juu sana Mimi nimepata wazi mabano alama swali PHP. 239 00:11:08,640 --> 00:11:13,372 Kisha mimi nimepata mstari huu, ambapo mimi ni wanaohitaji faili inayoitwa functions.php-- 240 00:11:13,372 --> 00:11:15,080 tunakwenda kuona zaidi juu ya hili katika kidogo, 241 00:11:15,080 --> 00:11:17,340 lakini hii ni kama C ya toleo la mkali ni pamoja na, 242 00:11:17,340 --> 00:11:19,090 ambapo unataka kwenda pamoja na faili nyingine. 243 00:11:19,090 --> 00:11:23,720 PHP simu yake kuhitaji, ingawa Pia ina pamoja na kazi. 244 00:11:23,720 --> 00:11:26,861 Na zinageuka kuwa function.php ni tu kitu niliandika kabla darasani. 245 00:11:26,861 --> 00:11:29,860 Mimi kuiweka katika orodha hiyo, kwa sababu Nilitaka sababu nje baadhi ya kanuni 246 00:11:29,860 --> 00:11:31,800 kwamba sisi kutaka kutumia mahali pengine. 247 00:11:31,800 --> 00:11:34,560 >> Wakati huo huo, pengine unaweza kudai nini kinaendelea hapa. 248 00:11:34,560 --> 00:11:39,200 Hii ni tofauti kidogo kutoka C-- lakini je, ina maana na kuhakikisha matumizi sahihi? 249 00:11:39,200 --> 00:11:41,180 Kutafsiri hii zaidi kitaalam. 250 00:11:41,180 --> 00:11:45,950 Chini ya mazingira gani mimi nipo kuacha mpango, au exiting? 251 00:11:45,950 --> 00:11:47,074 Yeah? 252 00:11:47,074 --> 00:11:47,990 >> Watazamaji: Wakati huna mbili hoja mstari amri. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Wakati sina amri line hoja. 254 00:11:49,480 --> 00:11:52,396 Na kukumbuka kwamba mmoja wa wale hoja ni jina kwa mpango huo yenyewe. 255 00:11:52,396 --> 00:11:55,340 Na ya pili ni kwenda kuwa neno lingine mimi aina baada ya haraka. 256 00:11:55,340 --> 00:11:57,460 Hivyo tu kama C, huu ni njia yangu ya cheki, 257 00:11:57,460 --> 00:12:00,022 Je user kushirikiana na kuendesha programu kama mimi nia? 258 00:12:00,022 --> 00:12:01,730 Sasa, kuna kitu tofauti kidogo 259 00:12:01,730 --> 00:12:04,020 na C-- kwanza ya yote sisi kuwa ishara hii ya dola, 260 00:12:04,020 --> 00:12:07,710 na anafanya nini dola ishara kuashiria katika PHP? 261 00:12:07,710 --> 00:12:08,440 Tu kutofautiana. 262 00:12:08,440 --> 00:12:11,731 Hiyo ni all-- tu kutofautiana na kufuatiwa na chochote unataka kweli simu yake. 263 00:12:11,731 --> 00:12:14,000 Taarifa kuna kitu kutokuwepo kwa PHP mpango wangu, 264 00:12:14,000 --> 00:12:18,210 tu kama ilikuwa jana kukosa wiki, dhidi C, ambayo ni nini? 265 00:12:18,210 --> 00:12:21,620 >> Aina, lakini pia kitu kingine. 266 00:12:21,620 --> 00:12:26,409 Hakuna kitu function-- kazi kuu. 267 00:12:26,409 --> 00:12:27,450 Hakuna kazi kubwa ni. 268 00:12:27,450 --> 00:12:29,680 Wewe tu kuanza kuandika kanuni yako bila ya kuwa 269 00:12:29,680 --> 00:12:32,790 na wasiwasi juu ya haki holela mkataba wa kumtaja baadhi chaguo-msingi 270 00:12:32,790 --> 00:12:33,880 kazi kuu. 271 00:12:33,880 --> 00:12:36,720 Hivyo ARG C ni kweli tu variable kimataifa 272 00:12:36,720 --> 00:12:39,049 kwamba mkalimani hufanya inapatikana kwa mimi. 273 00:12:39,049 --> 00:12:40,090 Sasa, hii ni ya kuvutia. 274 00:12:40,090 --> 00:12:41,140 Kwa hiyo angalia mambo ya ajabu. 275 00:12:41,140 --> 00:12:43,370 Dola ishara ya hisa ni juu ya kushoto, hiyo ni kutofautiana yangu. 276 00:12:43,370 --> 00:12:45,120 Upande wa kulia, kuna inaonekana 277 00:12:45,120 --> 00:12:50,270 kazi katika PHP aitwaye chaguo-kwamba Mimi nina kupita mstari amri yangu ya mwisho 278 00:12:50,270 --> 00:12:51,902 Hoja to-- chochote neno ni. 279 00:12:51,902 --> 00:12:53,610 Na tutaweza kuona jinsi hii kazi katika wakati huu. 280 00:12:53,610 --> 00:12:55,380 >> Na kisha mwisho mimi nina kutoa taarifa bei. 281 00:12:55,380 --> 00:12:58,650 Mimi uchapishaji nje moja Mchango wa kadha wa kadha. 282 00:12:58,650 --> 00:13:02,082 Na kumbuka, hii ni njia katika PHP-- njia katika PHP-- 283 00:13:02,082 --> 00:13:04,290 ambapo huna kufanya ishara ya dola S tena. 284 00:13:04,290 --> 00:13:06,782 Unaweza tu kutumia braces curly na kuziba katika baadhi kutofautiana. 285 00:13:06,782 --> 00:13:09,240 Huwezi kuwa na wasiwasi kuhusu kutumia printf kwa njia sawa. 286 00:13:09,240 --> 00:13:13,530 >> Na kama kando, wakati wewe kuweka kutofautiana ndani ya maradufu quotes kama hii, 287 00:13:13,530 --> 00:13:17,370 unatumia mbinu dhana aitwaye kutofautiana nyongeza katika kitabu. 288 00:13:17,370 --> 00:13:20,380 Ina maana tu kuziba kutofautiana katika hapa. 289 00:13:20,380 --> 00:13:23,760 Na kama kando, baadhi yenu wanaokuja kutoka asili nyingine ya programu, 290 00:13:23,760 --> 00:13:26,960 unaweza kutumia quotes moja karibu masharti ya kufanya hivyo. 291 00:13:26,960 --> 00:13:30,290 Lazima kutumia mara mbili quotes kwa kutofautiana kitabu kufanya kazi. 292 00:13:30,290 --> 00:13:32,740 Vinginevyo utasikia halisi ona braces wale curly. 293 00:13:32,740 --> 00:13:34,500 >> Hivyo mwisho, hebu kwenda mbele na kukimbia hii. 294 00:13:34,500 --> 00:13:36,690 Napenda kufanya wastaafu yangu kidogo kubwa. 295 00:13:36,690 --> 00:13:41,940 Hebu kwenda mbele na kukimbia ndani ya kunukuu saraka yangu. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? ], kunukuu PHP kunukuu nukta PHP? 297 00:13:46,950 --> 00:13:50,290 na mimi nina kwenda kutafuta kitu kama GOOG, ambayo ni alama Ticker wake, 298 00:13:50,290 --> 00:13:55,510 na kushiriki moja ya jina lake mpya, Alphabet Inc, gharama $ 717, kama ya leo. 299 00:13:55,510 --> 00:13:58,680 Haki wote, kama tunataka kukimbia hii tena, mtu yeyote 300 00:13:58,680 --> 00:14:02,600 na mwingine hisa ticker wanataka kuangalia juu? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft Nadhani ni hii moja, MSFT-- $ 53. 302 00:14:06,770 --> 00:14:09,720 Nadhani Yahoo ni labda hiyo. 303 00:14:09,720 --> 00:14:12,130 Na kuungana ni kwamba. 304 00:14:12,130 --> 00:14:13,740 >> Hivyo ni mpango huu kufanya nini? 305 00:14:13,740 --> 00:14:16,306 Uchawi inaonekana kuwa iliyoingia kwa kuwa chaguo-kazi. 306 00:14:16,306 --> 00:14:17,430 Basi hebu tuangalie kwa haraka. 307 00:14:17,430 --> 00:14:21,815 >> Ni zinageuka kuwa haina kuja na PHP, ni katika functions.php. 308 00:14:21,815 --> 00:14:23,690 Na sisi si kwenda kwa njia huu katika kina kubwa, 309 00:14:23,690 --> 00:14:28,040 lakini taarifa neno operative hapa ni kuwa kwenye mstari sita ya functions.php-- 310 00:14:28,040 --> 00:14:29,440 I literally kusema kazi. 311 00:14:29,440 --> 00:14:31,050 Mimi kutaja jina la kazi yangu. 312 00:14:31,050 --> 00:14:34,330 Mimi kisha kutaja yoyote hoja, au vigezo, 313 00:14:34,330 --> 00:14:36,480 Nataka kazi ambayo kwa take-- hakuna aina. 314 00:14:36,480 --> 00:14:37,580 Na kisha mimi kutekeleza. 315 00:14:37,580 --> 00:14:39,240 >> Na mimi itabidi kukitikisa mikono yangu katika utekelezaji, 316 00:14:39,240 --> 00:14:42,115 tangu ni haki kwa haki ya juu sasa, lakini tutaweza kuona tena kweli 317 00:14:42,115 --> 00:14:44,700 katika wiki katika tatizo kuweka saba. 318 00:14:44,700 --> 00:14:47,490 Lakini siwezi safi hii up, pia. 319 00:14:47,490 --> 00:14:49,590 Mimi pia ni pamoja na katika kificho leo toleo la 320 00:14:49,590 --> 00:14:52,340 ya kunukuu, ambayo haina faili nukta PHP. 321 00:14:52,340 --> 00:14:57,270 Kwa sababu kile ni labda katika juu ya mpango ujulikanao kunukuu tu? 322 00:14:57,270 --> 00:15:00,140 Kwamba kinachojulikana shebang-- uungwana cryptic dua 323 00:15:00,140 --> 00:15:04,590 inayosema kupata PHP na kisha kuendesha kwenye kanuni yangu hapa. 324 00:15:04,590 --> 00:15:07,360 >> Haki wote, ili huleta sisi ambapo sisi kushoto mbali 325 00:15:07,360 --> 00:15:09,560 time-- mwisho angalau kwa baadhi ya mifano ya juu zaidi. 326 00:15:09,560 --> 00:15:13,980 Maswali yoyote hivi sasa kuhusu PHP au nini tuko kufanya? 327 00:15:13,980 --> 00:15:15,570 No-- sawa. 328 00:15:15,570 --> 00:15:16,180 Yeah? 329 00:15:16,180 --> 00:15:19,610 >> Watazamaji: Ndani Mafaili ya HTML, kufanya you-- 330 00:15:19,610 --> 00:15:22,226 [? je?] [? tu kuiita?] [Inaudible] PHP faili? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: swali nzuri. 332 00:15:23,350 --> 00:15:26,070 Katika mazingira ya mtandao, ambayo tuko halisi kuhusu mpito kwa, 333 00:15:26,070 --> 00:15:28,028 huna matumizi kinachojulikana shebang juu, 334 00:15:28,028 --> 00:15:31,980 kwa sababu mtandao server-- mara nyingi mpango ujulikanao Apache au Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet Habari Server, au idadi yoyote ya wengine mtandao wa kompyuta programu, 336 00:15:37,470 --> 00:15:40,636 anajua kwamba wakati anaona dot PHP faili, kwamba 337 00:15:40,636 --> 00:15:42,010 lazima kukimbia mkalimani juu yake. 338 00:15:42,010 --> 00:15:43,468 Haina kuangalia kwamba mstari wa kwanza. 339 00:15:43,468 --> 00:15:45,580 Hivyo kwanza mstari hila hii ni tu wakati uko 340 00:15:45,580 --> 00:15:48,330 kuandika mstari amri programs-- ambayo sisi si kufanya super mara nyingi, 341 00:15:48,330 --> 00:15:52,510 lakini ni njia yetu ya kuziba yetu C mifano kwa sasa PHP yetu. 342 00:15:52,510 --> 00:16:00,680 >> Basi hebu kweli kuziba dunia hii kutoka mstari amri dunia kwa mtandao 343 00:16:00,680 --> 00:16:02,230 kwa kufanya yafuatayo. 344 00:16:02,230 --> 00:16:05,090 Hebu kwenda mbele na kuteka juu hapa kwa muda tu. 345 00:16:05,090 --> 00:16:09,940 Hivyo kama tuna mtandao wa kompyuta, au tuseme kama tuna mbali yangu hapa, 346 00:16:09,940 --> 00:16:11,280 ambayo mimi itabidi kuteka kama hii. 347 00:16:11,280 --> 00:16:14,250 Na hapa tuna biashara kwa namna fulani. 348 00:16:14,250 --> 00:16:18,210 Na kisha juu hapa, tuna server katika building-- 349 00:16:18,210 --> 00:16:20,760 hii ni jinsi biashara works-- na katika hapa 350 00:16:20,760 --> 00:16:23,120 ni server na baadhi ya taa labda. 351 00:16:23,120 --> 00:16:27,530 Nini hasa kinachoendelea kati ya mahusiano haya mawili? 352 00:16:27,530 --> 00:16:29,240 >> Hivyo katika jengo hili ni mtandao wa kompyuta. 353 00:16:29,240 --> 00:16:31,420 Hiyo tu kompyuta kwamba mbio baadhi ya uendeshaji 354 00:16:31,420 --> 00:16:34,561 system-- labda programu huru walioitwa Apache, ambayo CS50 IDE ni mbio. 355 00:16:34,561 --> 00:16:36,310 Hivyo unaweza kweli kufikiria jengo hili 356 00:16:36,310 --> 00:16:38,579 kama kuwa jengo katika ambayo CSt0 IDE ni kuhifadhiwa. 357 00:16:38,579 --> 00:16:40,870 Hiyo ambapo nyote na akaunti, ambapo ninyi nyote 358 00:16:40,870 --> 00:16:43,130 wenyewe mtandao wa kompyuta yako mbio nyote 359 00:16:43,130 --> 00:16:45,730 na yako URLs mwenyewe ya kipekee, kama sisi kuanza kujadili, 360 00:16:45,730 --> 00:16:47,280 na utaona zaidi katika P. kuweka sita. 361 00:16:47,280 --> 00:16:49,450 >> Hapa ni mbali yangu mahali fulani kingine kwenye mtandao. 362 00:16:49,450 --> 00:16:54,550 Na hivyo wakati mimi kutembelea URL kwamba ni mali kwangu, ili trafiki biashara ni kwenda 363 00:16:54,550 --> 00:16:58,360 zaidi kwa kompyuta, kompyuta ya kupokea HTTP request-- 364 00:16:58,360 --> 00:17:02,900 kama kupata index.html na ni replying kwamba ukurasa wa mtandao. 365 00:17:02,900 --> 00:17:04,280 Hivyo hiyo ni dhana ujumla. 366 00:17:04,280 --> 00:17:07,089 Wakati kila kitu juu mpaka sasa leo, kila kitu 367 00:17:07,089 --> 00:17:09,660 kilichojitokeza tu katika mipaka ya jengo hili. 368 00:17:09,660 --> 00:17:12,910 Mimi nilikuwa kutumia laptop yangu, lakini Nilikuwa kushikamana na CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 hivyo wote wa programu hizo nilikuwa mbio Ilikuwa ndani ya kwamba server, yenyewe. 370 00:17:17,369 --> 00:17:22,660 >> Lakini sasa, hebu kuanza Reusing PHP kuandika baadhi ya mipango halisi kwamba 371 00:17:22,660 --> 00:17:24,230 ni kutumikia up na mtandao wa kompyuta. 372 00:17:24,230 --> 00:17:30,320 Na kwa kufanya hivyo, mimi nina kwenda ndani ya kundi zima la mifano 373 00:17:30,320 --> 00:17:33,710 kuwa kuanzisha wazo hili hapa. 374 00:17:33,710 --> 00:17:38,500 Hivyo hii ni aina ya njia dhana ya kuelezea programu dhana. 375 00:17:38,500 --> 00:17:41,540 >> Na kwa kweli, kama wewe exit CS50 au kazi katika miradi ya mwisho, 376 00:17:41,540 --> 00:17:43,520 au kuchukua baadhi kufuata juu ya darasa, itabidi kuanza 377 00:17:43,520 --> 00:17:45,740 kuona kwamba world-- hasa kuwa mzima 378 00:17:45,740 --> 00:17:48,300 kwa lugha kama C ambazo ni super Asili level-- 379 00:17:48,300 --> 00:17:51,290 kutambua kwamba kuna bora njia ya kuandika programu. 380 00:17:51,290 --> 00:17:53,290 Kuna baadhi ya ruwaza unaweza kufuata, 381 00:17:53,290 --> 00:17:57,640 njia fulani ya kupanga mafaili yako na njia za kumtaja kazi yako, 382 00:17:57,640 --> 00:18:00,300 ili hadithi muda mfupi, dunia ina kuja 383 00:18:00,300 --> 00:18:04,340 na rundo zima la Vifupisho na majina ya njia ya programu. 384 00:18:04,340 --> 00:18:06,260 Hizi ni mbinu tu unaweza kutumia. 385 00:18:06,260 --> 00:18:09,660 >> Mmoja wao anaitwa MVC, kwa Mfano View Mdhibiti. 386 00:18:09,660 --> 00:18:12,270 Na hii ni, kwa sasa, overly ngumu 387 00:18:12,270 --> 00:18:18,960 njia ya kusema jinsi unapaswa kuweka tovuti PHP-msingi, kwa upande wetu. 388 00:18:18,960 --> 00:18:22,140 Jinsi gani unaweza kuandaa files yako, jinsi gani unaweza kupanga mantiki yako, 389 00:18:22,140 --> 00:18:26,220 kwa njia ambayo inafanya kuwa rahisi kuandika tovuti ngumu zaidi? 390 00:18:26,220 --> 00:18:28,550 Na hakika, tutaweza haraka kufika huko kwa p-kuweka saba. 391 00:18:28,550 --> 00:18:32,020 >> Hivyo katika ulimwengu wa MVC, wewe ni kwenda kuona kwamba kanuni zetu Unaweza ujumla 392 00:18:32,020 --> 00:18:38,290 kuwa na sifa kama ama mtindo kificho, au mtawala kificho, au mtazamo kificho. 393 00:18:38,290 --> 00:18:40,200 Na mimi nina kwenda kwa oversimplify kama follows-- 394 00:18:40,200 --> 00:18:42,074 mtawala ni akili ya mpango wako, 395 00:18:42,074 --> 00:18:44,100 ni ambapo wote wa kuvutia mantiki kinatokea. 396 00:18:44,100 --> 00:18:46,110 Kwa hiyo kila kitu tumekuwa kuandika hivi sasa katika darasa, 397 00:18:46,110 --> 00:18:48,210 ni aina ya kama mtawala code-- ni kudhibiti 398 00:18:48,210 --> 00:18:50,585 mpango wako, mizunguko yako, yako masharti, kazi yako 399 00:18:50,585 --> 00:18:52,100 na vigezo na wote. 400 00:18:52,100 --> 00:18:56,160 >> Maoni, sasa, ni kwenda kuwa kidogo wazi zaidi katika dunia ya mtandao. 401 00:18:56,160 --> 00:18:59,360 Maoni ni aesthetics ya tovuti yako. 402 00:18:59,360 --> 00:19:04,080 Ni nini user sees-- picha, meza HTML, HTML, na wote 403 00:19:04,080 --> 00:19:08,220 ya kwamba, wote wa aesthetic fluffy mambo ambayo si kuwa ngumu ya kuandika, 404 00:19:08,220 --> 00:19:11,380 lakini ni tu nini wewe kuzalisha, Ni maoni kinachojulikana, aesthetics. 405 00:19:11,380 --> 00:19:13,880 Na mfano wa kuigwa, hatimaye, ni kwenda kuwa orodha stuff-- ambayo 406 00:19:13,880 --> 00:19:16,510 tutaweza kuanza mbizi katika yote zaidi Jumatano hii. 407 00:19:16,510 --> 00:19:19,740 Hivyo mtawala ni mantiki, maoni ni mambo aesthetic, 408 00:19:19,740 --> 00:19:23,500 na mfano wa kuigwa ni kwenda kuwa ambapo sisi kuhifadhi takwimu zetu halisi. 409 00:19:23,500 --> 00:19:26,410 >> Hivyo hebu tuangalie hii zaidi uthabiti kwa mfano zifuatazo. 410 00:19:26,410 --> 00:19:34,700 Mimi nina kwenda katika saraka yangu hapa chanzo leo code-- ambayo yote 411 00:19:34,700 --> 00:19:35,770 inapatikana online. 412 00:19:35,770 --> 00:19:37,800 Na mimi nina kwenda katika toleo la sifuri. 413 00:19:37,800 --> 00:19:41,500 Na hapa is-- hebu simu yake toleo la sifuri ya tovuti CS50. 414 00:19:41,500 --> 00:19:43,010 Kuna si mengi hapa wakati wote. 415 00:19:43,010 --> 00:19:46,810 Ni mtandao rahisi sana ukurasa hiyo ni pengine kwa kutumia nini HTML tags-- tu 416 00:19:46,810 --> 00:19:48,970 nadhani kutokana na mifano zamani? 417 00:19:48,970 --> 00:19:49,890 >> Nini hiyo? 418 00:19:49,890 --> 00:19:53,920 H1-- pengine kwa kuwa kubwa ujasiri cheo, kwamba alama juu juu, CS50. 419 00:19:53,920 --> 00:19:55,080 Na kile kingine ni katika kucheza? 420 00:19:55,080 --> 00:19:55,799 Yeah? 421 00:19:55,799 --> 00:19:56,840 Watazamaji: orodha Unordered. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: Unordered list-- hivyo Ul tag na labda michache ya li vitambulisho. 423 00:19:59,990 --> 00:20:01,840 Na kama huna kumbuka haya, hivyo kwa uaminifu haijalishi. 424 00:20:01,840 --> 00:20:04,170 Hizi ni fluffy aina ya maelezo ya utekelezaji wa HTML 425 00:20:04,170 --> 00:20:06,378 kwamba haraka kuangalia juu na uko nyuma juu ya njia yako. 426 00:20:06,378 --> 00:20:10,040 Tutaweza kuzingatia zaidi juu ya programu mawazo ambayo ni vipande juicier. 427 00:20:10,040 --> 00:20:12,890 >> Basi hebu tu kuchukua haraka kuangalia HTML-- na kwa kweli 428 00:20:12,890 --> 00:20:16,880 kama mimi kufungua mtazamo chanzo hapa, yup, hiyo ni nini hasa kinaendelea hapa. 429 00:20:16,880 --> 00:20:18,440 Kuna tag ul. 430 00:20:18,440 --> 00:20:20,630 Furushi ndani ya kwamba ni kwa li vitambulisho. 431 00:20:20,630 --> 00:20:24,470 Na kisha mimi alikopa URL ya mtaala halisi hapa. 432 00:20:24,470 --> 00:20:27,570 >> Na kisha katika lectures.php ni inaonekana 433 00:20:27,570 --> 00:20:31,640 ukurasa mwingine dynamically yanayotokana ambayo inaenda kuwa, hebu see-- ah, 434 00:20:31,640 --> 00:20:33,170 wiki mbili za kwanza hotuba. 435 00:20:33,170 --> 00:20:36,600 Hivyo wiki sifuri na wiki moja, hebu kuangalia Haya kama mimi kuona ukurasa chanzo, 436 00:20:36,600 --> 00:20:38,120 Pia super rahisi. 437 00:20:38,120 --> 00:20:42,430 Hizi ni kuongoza kwa kurasa mbili aitwaye week0.php, na week1.php. 438 00:20:42,430 --> 00:20:44,040 Hivyo kufikiria sasa nini kinatokea. 439 00:20:44,040 --> 00:20:50,630 >> Wakati mimi bonyeza week0.php, mbali yangu ni kufanya ombi kwa week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Mtandao wa kompyuta, a.k.a., CS50 IDE, ni kupokea kwamba bahasha virtual. 442 00:20:58,110 --> 00:21:01,040 Ni kuona ujumbe kama, kupata week0.php. 443 00:21:01,040 --> 00:21:05,060 Kisha ni kutafsiri faili, juu hadi chini, kushoto na right-- faili 444 00:21:05,060 --> 00:21:07,720 aitwaye week0.php-- na kutema mate nje ya matokeo. 445 00:21:07,720 --> 00:21:10,510 Hivyo ndani ya faili hili, week0.php, lazima 446 00:21:10,510 --> 00:21:15,410 mtawala mantiki kwamba ni kuzalisha HTML hii, na tutaweza hivi karibuni kuona kwamba. 447 00:21:15,410 --> 00:21:19,340 >> Lakini kwa sasa, napenda click kwenye wiki sifuri, na sasa tuna Jumatano na Ijumaa, 448 00:21:19,340 --> 00:21:25,260 na sasa tuna slides polepole kutoka wiki sifuri. 449 00:21:25,260 --> 00:21:27,400 Na unaweza kukumbuka hii kutoka njia ya nyuma wakati. 450 00:21:27,400 --> 00:21:29,340 Hivyo hiyo ni wote tovuti hii ni kufanya. 451 00:21:29,340 --> 00:21:31,120 >> Hivyo hebu fikiria jinsi gani kufanya hivyo. 452 00:21:31,120 --> 00:21:34,290 Mimi nina kwenda nyuma katika chanzo kanuni hapa, katika CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 na mimi nina kwenda kufungua index.php. 454 00:21:36,660 --> 00:21:38,910 Juu ya faili hii ni kundi la maoni. 455 00:21:38,910 --> 00:21:43,000 Na kisha katikati ya faili hili, zamu nje, hakuna kificho PHP wowote. 456 00:21:43,000 --> 00:21:47,380 Kwa sababu kama huna yoyote ya mabano wazi vitambulisho alama swali PHP, 457 00:21:47,380 --> 00:21:49,180 uko huru tu ya kuweka HTML. 458 00:21:49,180 --> 00:21:51,480 >> Kwa sababu gani PHP mkalimani zinatakiwa kufanya, 459 00:21:51,480 --> 00:21:53,938 ni wakati anasoma file-- hii juu hadi chini, kushoto na right-- 460 00:21:53,938 --> 00:21:59,100 ni tu kutafsiri kificho anaona kati ya mabano wale pembe swali alama. 461 00:21:59,100 --> 00:22:02,380 Na kitu kingine chochote kwamba hana kutambua kama PHP, ni tu mtemi. 462 00:22:02,380 --> 00:22:05,080 Na HTML Je, miongoni mwa mambo itakuwa tu mate nje. 463 00:22:05,080 --> 00:22:09,090 >> Hivyo faili hili linaweza kuwa na ameitwa index.html, 464 00:22:09,090 --> 00:22:11,690 lakini nina kumtaja kila kitu dot PHP kama jiwe wanazidi. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- vile vile aghali, ni baadhi tu ya HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, vile vile baadhi tu ya HTML. 467 00:22:19,840 --> 00:22:22,300 >> Lakini sasa hebu kuweka juu ya proverbial uhandisi kofia, 468 00:22:22,300 --> 00:22:24,400 na kufikiria jinsi gani tunaweza kuboresha hii. 469 00:22:24,400 --> 00:22:28,541 Siyo vigumu kufanya hivyo, lakini mimi aina ya ugatuzi katika nakala na kuweka. 470 00:22:28,541 --> 00:22:31,540 Na kwa kweli, kama mimi kufanya wiki mbili, Unajua nini mimi pengine kwenda kufanya? 471 00:22:31,540 --> 00:22:34,940 Mimi nina kwenda kwa week1.php, mimi nina kwenda kuonyesha kila kitu. 472 00:22:34,940 --> 00:22:39,110 Mimi nina kwenda nakala yake, kuweka ndani ya faili mpya iitwayo week2.php, 473 00:22:39,110 --> 00:22:42,440 tweak baadhi URLs, na kuwa na safari yangu. 474 00:22:42,440 --> 00:22:45,240 >> Hivyo kulingana na kile tumekuwa kuonekana katika C tayari, 475 00:22:45,240 --> 00:22:46,860 hii hana haki ya kujisikia, hopefully. 476 00:22:46,860 --> 00:22:49,610 Nakala, kuweka mara chache ufumbuzi wa haki. 477 00:22:49,610 --> 00:22:51,429 Basi nini tunaweza kuanza kufanya ili kuboresha hili? 478 00:22:51,429 --> 00:22:53,345 Ambapo ni fursa kwa kubuni bora? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Kwa wakati mimi kupata wiki nane, ni kwenda 481 00:22:58,760 --> 00:23:00,910 kuwa kweli annoying kama nataka kubadili 482 00:23:00,910 --> 00:23:03,930 herufi ya kila mmoja kurasa yangu, au kama nataka 483 00:23:03,930 --> 00:23:06,522 kubadili muundo wa mpangilio. 484 00:23:06,522 --> 00:23:08,396 Hivyo ambapo ni fursa kwa kubuni bora? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Naam, hebu fikiria nini pamoja katika yote ya mafaili haya. 487 00:23:15,160 --> 00:23:21,696 >> Hapa ni wiki moja, hapa ni wiki sifuri, hapa ni lectures.php, 488 00:23:21,696 --> 00:23:25,790 hapa ni index.php-- nini ni sawa na kile mbalimbali, takribani kusema, 489 00:23:25,790 --> 00:23:26,760 katika kila moja ya mafaili haya? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 Yeah? 492 00:23:32,060 --> 00:23:34,560 >> Watazamaji: [inaudible] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: Sawa, nzuri. 495 00:23:42,160 --> 00:23:46,115 Hivyo kuna mfano, hakika, ambapo kila wakati mimi kuchagua hotuba mimi, 496 00:23:46,115 --> 00:23:48,250 Mimi lazima kuzalisha sawa looking ukurasa. 497 00:23:48,250 --> 00:23:50,375 Na hivyo labda naweza kujiinua ukweli kwamba kweli, 498 00:23:50,375 --> 00:23:53,060 sisi kwa makusudi numerically indexed lectures-- yetu 499 00:23:53,060 --> 00:23:55,290 kama naweza kuweka hata zaidi Maneno katika jibu lako. 500 00:23:55,290 --> 00:23:59,984 Na ni nini kitu pekee, kwa kweli, hiyo ni kubadilisha kati ya wiki one-- 501 00:23:59,984 --> 00:24:02,400 na basi mimi kitabu chini hivyo ni takribani katika place-- sawa 502 00:24:02,400 --> 00:24:05,480 hivyo hapa ni wiki sifuri, takribani juu. 503 00:24:05,480 --> 00:24:12,370 Hapa ni wiki moja, wiki sifuri, wiki moja, wiki sifuri. 504 00:24:12,370 --> 00:24:14,370 OK, literally kama unajua hakuna mpango wowote, 505 00:24:14,370 --> 00:24:16,286 hii ni sasa tu kama muundo vinavyolingana mchezo. 506 00:24:16,286 --> 00:24:17,200 Basi nini tofauti? 507 00:24:17,200 --> 00:24:18,765 Yeah? 508 00:24:18,765 --> 00:24:19,777 >> Watazamaji: [inaudible] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Mwema, hivyo jina inabadilika, milele hivyo kidogo. 510 00:24:22,360 --> 00:24:24,010 Sifuri ni kwenda, bila shaka, kwa moja. 511 00:24:24,010 --> 00:24:25,570 Same kitu kinatokea katika tag H1. 512 00:24:25,570 --> 00:24:28,790 Na hatuna kabisa kuona kama urahisi, kwa sababu URL ni kidogo kwa muda mrefu. 513 00:24:28,790 --> 00:24:30,670 Lakini URLs wale yanabadilika kidogo. 514 00:24:30,670 --> 00:24:34,490 >> Lakini nini si kubadilisha ipo, kuthubutu mimi kusema, wengi wa yaliyomo ya page-- 515 00:24:34,490 --> 00:24:38,530 HTML tag sawa, kichwa ni huo, cheo ni karibu sawa, 516 00:24:38,530 --> 00:24:40,659 mwili ni sawa, na karibu kila kitu kingine 517 00:24:40,659 --> 00:24:42,450 ni sawa isipokuwa kwa wale kidogo tweaks. 518 00:24:42,450 --> 00:24:45,310 Hivyo ni jinsi gani sisi kwenda juu factoring baadhi ya hii nje? 519 00:24:45,310 --> 00:24:48,740 >> Naam napenda kupendekeza hasa kwamba katika toleo la pili. 520 00:24:48,740 --> 00:24:53,890 Hivyo hapa katika toleo moja, nina halisi sawa mafaili, pamoja na michache ya watu wengine. 521 00:24:53,890 --> 00:24:59,730 Hapa ni index.php-- na hata kama wewe sijawahi kuona PHP kabla, 522 00:24:59,730 --> 00:25:05,511 je, Mimi pengine kufanya kutatua huu problem-- kulingana na nini kuona hapa? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Naam, ni kwamba dhamira kidogo? 525 00:25:12,760 --> 00:25:13,450 Hakuna? 526 00:25:13,450 --> 00:25:16,020 Ndiyo, go on. 527 00:25:16,020 --> 00:25:17,380 >> Watazamaji: [inaudible] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Yep. 529 00:25:18,380 --> 00:25:20,380 >> Watazamaji: [inaudible] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: Mimi haja wewe kusema tu kidogo nguvu zaidi. 532 00:25:28,669 --> 00:25:31,084 >> Watazamaji: [inaudible] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: Sawa, nzuri. 535 00:25:36,660 --> 00:25:38,620 Na mimi think-- ilikuwa ngumu ya kusikia you-- lakini mimi 536 00:25:38,620 --> 00:25:42,690 kufikiri nini wewe ni kupata katika ni kwamba vitambulisho kwamba yalikuwa ya kawaida juu juu, 537 00:25:42,690 --> 00:25:47,710 na vitambulisho kwamba yalikuwa ya kawaida juu ya chini, sasa imekuwa factored nje, 538 00:25:47,710 --> 00:25:51,140 au kuachia nini files? 539 00:25:51,140 --> 00:25:53,476 Header.php na footer.php-- na tunakwenda 540 00:25:53,476 --> 00:25:55,600 kufanya baadhi tweaks kwa kushughulikia wasiwasi wewe tu 541 00:25:55,600 --> 00:25:59,370 amezungumzia kuhusu idadi kubadilisha, kwa mfano, kama nikasikia wewe usahihi. 542 00:25:59,370 --> 00:26:02,060 >> Lakini hiyo inaonekana kuwa kiini cha. 543 00:26:02,060 --> 00:26:04,820 Kama kulikuwa na kiasi kikubwa cha redundancy juu ya ukurasa, 544 00:26:04,820 --> 00:26:06,736 na kiasi kikubwa cha redundancy chini, 545 00:26:06,736 --> 00:26:09,280 hebu literally tu kuonyesha na kukata bidhaa hiyo nje, 546 00:26:09,280 --> 00:26:13,270 kuiweka katika file-- tofauti kama wazo la CSS, ambapo sisi factored nje 547 00:26:13,270 --> 00:26:16,710 aesthetics sawa sana, kuweka ni katika tofauti nukta PHP faili, 548 00:26:16,710 --> 00:26:20,340 kutumia zinahitaji mechanism-- ambayo ni kama C mkali include-- ambayo 549 00:26:20,340 --> 00:26:23,570 kimsingi ni kama kusema kwenda kunyakua yaliyomo ya header.php, 550 00:26:23,570 --> 00:26:25,370 na nakala na kuweka yao hapa. 551 00:26:25,370 --> 00:26:29,490 >> Lakini nini maana ya hii ni kwamba sasa katika index.php, nina mistari hiyo miwili. 552 00:26:29,490 --> 00:26:32,130 Katika lectures.php, mimi pia mistari hiyo miwili. 553 00:26:32,130 --> 00:26:35,230 Katika week0.php, mimi pia mistari hiyo miwili. 554 00:26:35,230 --> 00:26:38,380 >> Hivyo sasa, kama nataka kubadili jina la yote ya kurasa yangu, 555 00:26:38,380 --> 00:26:40,530 au nataka kubadili muundo msingi, 556 00:26:40,530 --> 00:26:44,380 Siwezi mabadiliko hayo sasa katika sehemu moja tu, au mbili header na footer places--, 557 00:26:44,380 --> 00:26:45,429 mtawalia. 558 00:26:45,429 --> 00:26:47,970 Sasa kificho la kuanzia kwa kuangalia zaidi kidogo cryptic, sawa? 559 00:26:47,970 --> 00:26:53,590 Lakini kama wewe kufikiri juu ya nini ukurasa ni doing-- kama mimi nina kuomba week0.php, 560 00:26:53,590 --> 00:26:59,880 kama juu ya kuchora juu ya here-- wakati week0.php ni ombi, 561 00:26:59,880 --> 00:27:00,960 nini maana gani? 562 00:27:00,960 --> 00:27:04,410 >> Literally, faili hili ni ombi kwa browser. 563 00:27:04,410 --> 00:27:06,240 Mtandao server-- a.k.a. 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- grabs hii file, week0.php, na anasoma 565 00:27:09,250 --> 00:27:10,780 ni juu hadi chini, kushoto na kulia. 566 00:27:10,780 --> 00:27:15,400 Kwenye mstari mmoja, ni mara moja atakutana mabano wazi alama swali PHP, zinahitaji 567 00:27:15,400 --> 00:27:17,872 kichwa nukta PHP, na hivyo nini mkalimani PHP 568 00:27:17,872 --> 00:27:20,580 does-- hiyo kujengwa katika mtandao server, kwa sababu sisi preconfigured 569 00:27:20,580 --> 00:27:24,580 ni kwa you-- ni moja kwa moja inakwenda ndani ya header.php, nakala yaliyomo, 570 00:27:24,580 --> 00:27:25,640 pastes yao hapa. 571 00:27:25,640 --> 00:27:28,790 >> Lakini basi kukutana mkalimani swali chapa mabano karibu, 572 00:27:28,790 --> 00:27:30,320 hivyo ni yote kufanyika kufikiri. 573 00:27:30,320 --> 00:27:33,400 Sasa ni tu upofu mtemi nje mistari miwili kupitia saba, 574 00:27:33,400 --> 00:27:35,240 kwa sababu ni tu HTML ghafi. 575 00:27:35,240 --> 00:27:38,470 Anapata kujipanga nane, na je, hiyo uchawi huo again-- kufungua faili, 576 00:27:38,470 --> 00:27:41,460 grabbing yaliyomo, na wanaohitaji yao au pasting yao 577 00:27:41,460 --> 00:27:42,480 haki basi au huko. 578 00:27:42,480 --> 00:27:44,210 >> Lakini mimi tu alluded mdudu. 579 00:27:44,210 --> 00:27:48,610 Hii ni hatua ubaguzi nyuma, kwa sababu kama sisi kuangalia katika header.php, 580 00:27:48,610 --> 00:27:50,850 Nimekuwa aina ya kukata kona. 581 00:27:50,850 --> 00:27:56,250 Nini kipengele gani mimi kutoa juu ili kupata arguable bora mpango huu? 582 00:27:56,250 --> 00:27:57,305 Yeah? 583 00:27:57,305 --> 00:27:58,180 Watazamaji: [inaudible] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Yeah, mimi aina ya kukata kona nontrivial. 585 00:28:00,570 --> 00:28:04,489 Wewe alisema kuwa kilichokuwa kubadilisha ilikuwa ni cheo, idadi katika cheo, 586 00:28:04,489 --> 00:28:05,530 na idadi katika H1. 587 00:28:05,530 --> 00:28:08,170 Hivyo suluhisho yangu ilikuwa, sawa, hebu tu kubadili jina ukurasa, 588 00:28:08,170 --> 00:28:10,080 na si kukabiliana na kwamba Tatizo wowote. 589 00:28:10,080 --> 00:28:12,130 Hivyo hiyo ni sehemu hatua nyuma kwa uhakika. 590 00:28:12,130 --> 00:28:14,300 >> Lakini nini ni vyema ijulikane hapa ni kwamba nini nimefanya 591 00:28:14,300 --> 00:28:17,200 ni factored vinginevyo nje mambo yote ya kawaida. 592 00:28:17,200 --> 00:28:21,520 Na katika footer.php, taarifa mimi factored nje yote ya kwamba, angalau kidogo, 593 00:28:21,520 --> 00:28:22,790 kawaida mambo ya ajabu. 594 00:28:22,790 --> 00:28:26,070 Kwa hiyo mimi haja kwa namna fulani sasa kuwa na uwezo wa kuchukua hatua nyingine mbele, na kurekebisha 595 00:28:26,070 --> 00:28:27,160 kwamba cheo masuala. 596 00:28:27,160 --> 00:28:28,180 Basi hebu kufanya hivyo. 597 00:28:28,180 --> 00:28:35,060 >> Hebu kwenda katika toleo la pili wangu hapa, ambayo, tena, ina mafaili sawa 598 00:28:35,060 --> 00:28:36,825 isipokuwa kwa moja Mbali mpya. 599 00:28:36,825 --> 00:28:38,950 Na ni kidogo zaidi verbose, lakini hebu angalia kama sisi 600 00:28:38,950 --> 00:28:40,550 Unaweza tease mbali nini kinaendelea hapa. 601 00:28:40,550 --> 00:28:45,370 Hivyo badala ya wanaohitaji header.php, na footer.php, 602 00:28:45,370 --> 00:28:50,180 Mimi wanaonekana kuwa tu wanaohitaji moja file-- aitwaye, bila shaka, helpers.php. 603 00:28:50,180 --> 00:28:52,560 Na napenda inasema sasa, nini ndani ya helpers.php 604 00:28:52,560 --> 00:28:55,330 ni tu rundo la kazi kwamba mimi aliandika, kama kabla. 605 00:28:55,330 --> 00:28:57,550 Lakini mimi kuitwa ni helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Sasa inaonekana, katika mstari tatu na 10, mimi nina 607 00:29:00,370 --> 00:29:02,840 wito functions-- mbili atatoa kichwa, atatoa footer. 608 00:29:02,840 --> 00:29:05,040 Wale wala kuja na PHP, niliandika wale mwenyewe. 609 00:29:05,040 --> 00:29:07,880 Na mimi kuziweka katika helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Sasa, tumekuwa tu kuonekana syntax hii mara moja, na ilikuwa super kifupi. 611 00:29:11,210 --> 00:29:15,330 Lakini hii ni dhahiri hoja atatoa kichwa, kazi. 612 00:29:15,330 --> 00:29:16,450 Kwa nini mimi kujua kwamba? 613 00:29:16,450 --> 00:29:18,522 Vizuri hapa ni Paren karibu, hapa ni Paren wazi. 614 00:29:18,522 --> 00:29:21,230 Na bila shaka, kama vile katika C, chochote kati ya mabano wale 615 00:29:21,230 --> 00:29:23,350 ni input-- au hoja kwa kazi. 616 00:29:23,350 --> 00:29:26,710 >> Ni aina gani ya data hoja hii, kulingana na kile nimepata yalionyesha? 617 00:29:26,710 --> 00:29:30,820 Je, mabano mraba wale zinaonyesha, kwa kuzingatia wiki iliyopita? 618 00:29:30,820 --> 00:29:33,390 Yeah, ni array-- hasa safu associative. 619 00:29:33,390 --> 00:29:35,700 Na syntax hii admittedly ni funky kidogo, 620 00:29:35,700 --> 00:29:38,860 lakini hii ni kupita tu katika jozi moja muhimu thamani. 621 00:29:38,860 --> 00:29:43,530 Muhimu ni, quote unquote cheo, na thamani ni CS50. 622 00:29:43,530 --> 00:29:46,220 >> Kama sisi alikuwa amefanya katika C, inaweza badala 623 00:29:46,220 --> 00:29:49,400 kuangalia zaidi kama huu, tu quote unquote CS50 624 00:29:49,400 --> 00:29:52,460 au kweli itakuwa curly braces, au kitu kama hicho katika C, 625 00:29:52,460 --> 00:29:55,580 ambapo muhimu ni sifuri, na thamani ni CS50. 626 00:29:55,580 --> 00:29:59,840 Lakini tena, katika PHP, ingawa syntax ni, tena, kidogo weird, 627 00:29:59,840 --> 00:30:02,860 utapata kupita katika Maneno badala ya namba 628 00:30:02,860 --> 00:30:05,120 kujiunga funguo na maadili. 629 00:30:05,120 --> 00:30:06,390 >> Basi nini hii yote ina maana gani? 630 00:30:06,390 --> 00:30:09,750 Kama mimi kwenda katika helpers.php, hebu tuangalie kazi hii. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, badala renderHeader ni kazi yangu, 632 00:30:13,620 --> 00:30:16,220 na najua kwamba kwa sababu naona kazi keyword hapa. 633 00:30:16,220 --> 00:30:19,450 Hii ni mpya kutoka C-- ni dhahiri inachukua hoja aitwaye data-- 634 00:30:19,450 --> 00:30:22,400 lakini mimi nilikuwa na wito huu kitu chochote, lakini mimi kuitwa ni data, 635 00:30:22,400 --> 00:30:25,090 tu kuwa clean-- kidogo na tu kuchukua nadhani, hasa 636 00:30:25,090 --> 00:30:28,173 kama umefanya iliyowekwa katika baadhi ya wengine juu lugha kiwango cha kabla, jambo 637 00:30:28,173 --> 00:30:29,820 juu C, conceptually. 638 00:30:29,820 --> 00:30:33,820 >> Je sawa wazi mabano Mabano ya mraba pengine ina maana gani? 639 00:30:33,820 --> 00:30:35,540 Au kitu gani maana? 640 00:30:35,540 --> 00:30:39,660 Tumekuwa hawajaona hii katika C. Yeah? 641 00:30:39,660 --> 00:30:40,480 >> Safu tupu. 642 00:30:40,480 --> 00:30:45,440 Hasa, hii ina maana kwamba kama user haina wito renderHeader 643 00:30:45,440 --> 00:30:49,340 kwa hoja, Mimi bado kwenda kuwa na hoja aitwaye data, 644 00:30:49,340 --> 00:30:52,327 lakini thamani yake ni chaguo-msingi kwenda kuwa safu tupu. 645 00:30:52,327 --> 00:30:53,660 Hivyo ni tu urahisi nzuri. 646 00:30:53,660 --> 00:30:56,493 Sina yell katika mtumiaji, au kusema wewe kutumika kazi yangu vibaya. 647 00:30:56,493 --> 00:30:59,849 Naweza tu kutoa user default thamani, kama mimi si hasa huduma. 648 00:30:59,849 --> 00:31:01,890 Sasa kazi hii, mimi nina kwenda kukitikisa mikono yangu katika. 649 00:31:01,890 --> 00:31:07,620 Lakini hii kazi dondoo inaruhusu sisi kupita vigezo hivi katika takwimu 650 00:31:07,620 --> 00:31:10,360 ndani ya header.php kwa njia hii. 651 00:31:10,360 --> 00:31:13,100 Na hii ni mwisho kipande, Nadhani, ya funky syntax. 652 00:31:13,100 --> 00:31:15,860 Hapa ni toleo yangu mpya ya header.php-- ni 653 00:31:15,860 --> 00:31:20,140 alikuwa akisema, literally, wazi mabano jina CS50, na kwamba alikuwa ni. 654 00:31:20,140 --> 00:31:21,766 Na kitu kimoja kwa H1. 655 00:31:21,766 --> 00:31:24,310 >> Sasa ni dhahiri inasema kitu pretty funky. 656 00:31:24,310 --> 00:31:28,030 Na napenda kurahisisha hii kwa muda kama ifuatavyo. 657 00:31:28,030 --> 00:31:31,020 Hii ni nini nimekuwa alibadilisha kichwa cha yangu kuwa. 658 00:31:31,020 --> 00:31:35,140 Hata hivyo, ni kupata kidogo mbaya kwa mabano daima wazi kwa PHP, 659 00:31:35,140 --> 00:31:36,610 na kisha kutumia magazeti kazi. 660 00:31:36,610 --> 00:31:40,810 Ni zinageuka kuwa PHP ina shorthand nukuu kwa hii, ambayo ni tu 661 00:31:40,810 --> 00:31:45,050 ishara sawa, ambayo ni kitaalam kazi kuitwa echo badala ya magazeti, 662 00:31:45,050 --> 00:31:46,800 lakini kitu kimoja ni, kwa ufanisi. 663 00:31:46,800 --> 00:31:48,440 >> Hiyo tu inaonekana vizuri zaidi. 664 00:31:48,440 --> 00:31:50,510 Ni tu kisintaksia sukari, kama wewe, 665 00:31:50,510 --> 00:31:52,260 kwamba inafanya kanuni yangu kuangalia vizuri kidogo. 666 00:31:52,260 --> 00:31:54,010 Lakini zinageuka, na tutaweza kuona hii tena 667 00:31:54,010 --> 00:31:57,420 kabla ya muda mrefu, tuna kutoa wito huu annoyingly kazi muda mrefu wametaka 668 00:31:57,420 --> 00:32:00,582 HTML chars maalum katika PHP, kwa sababu ni zamu nje 669 00:32:00,582 --> 00:32:02,790 kuna pembejeo fulani kwamba mtumiaji anaweza kutupa, 670 00:32:02,790 --> 00:32:05,160 au kwamba watumiaji wanaweza kutupa, kwamba ni kwenda kuvunja tovuti yetu. 671 00:32:05,160 --> 00:32:07,035 Lakini tutaweza kuona kwamba ijayo wiki na JavaScript. 672 00:32:07,035 --> 00:32:10,740 Lakini kwa sasa, tu kujua kwamba faili hili, headers.php, tu 673 00:32:10,740 --> 00:32:13,040 inachukua cheo kwamba Mimi kupita katika, ni kufanya 674 00:32:13,040 --> 00:32:17,380 uhakika ni salama kuwa hudungwa katika mtandao ukurasa, na mtemi nje kama cheo yangu 675 00:32:17,380 --> 00:32:18,640 na kama H1 yangu. 676 00:32:18,640 --> 00:32:24,440 Hivyo kama mimi kwenda katika toleo hili sasa, taarifa kwamba mihadhara ina jina lake nyuma, 677 00:32:24,440 --> 00:32:28,630 wiki sifuri ina jina lake nyuma, na Hakika, HTML mimi nina kuzalisha 678 00:32:28,630 --> 00:32:32,110 ni kufanana na nini toleo yangu ya kwanza was-- isipokuwa kwa whitespace yangu, 679 00:32:32,110 --> 00:32:35,150 kwa sababu nimeanza formatting kanuni yangu tofauti kidogo. 680 00:32:35,150 --> 00:32:38,082 Lakini nimepata yanayotokana zote kificho najali. 681 00:32:38,082 --> 00:32:39,790 Hivyo basi mimi pause kwa muda tu na kuona 682 00:32:39,790 --> 00:32:42,200 kama kuna maswali yoyote au kuchanganyikiwa nimekuwa kuundwa. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Haki wote, hivyo hebu twist vigumu kidogo hapa 685 00:32:48,150 --> 00:32:51,500 ili kuona kama kuna nafasi ya kuboresha. 686 00:32:51,500 --> 00:32:56,130 Helpers.php pia alikuwa na haya kazi, iitwayo renderFooter. 687 00:32:56,130 --> 00:32:59,652 Na nini vyema ijulikane kuhusu renderHeader, na renderFooter? 688 00:32:59,652 --> 00:33:02,610 Na tena, kwa madhumuni ya leo, unajua kwamba dondoo kazi ni 689 00:33:02,610 --> 00:33:08,280 njia yangu ya kupita hoja ndani ya header.php na footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Pole? 692 00:33:11,780 --> 00:33:13,056 >> Watazamaji: [inaudible] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Yeah, mimi tu iliyopita the zinahitaji line. 694 00:33:15,180 --> 00:33:19,410 Hivyo literally, nimekuwa dhambi ya kuiga na pasting, bado tena. 695 00:33:19,410 --> 00:33:21,920 Siyo idadi kubwa ya mistari, lakini kuja on-- 696 00:33:21,920 --> 00:33:25,220 kama mimi nina kuiga na pasting kila kitu tu kubadili neno moja kidogo, 697 00:33:25,220 --> 00:33:28,610 na neno moja kidogo kwamba Alan anasema nje ni footer hapa, dhidi header hapa. 698 00:33:28,610 --> 00:33:30,670 Vinginevyo, kila kitu ni kufanana, isipokuwa kwa, 699 00:33:30,670 --> 00:33:32,180 bila shaka, majina ya kazi ya. 700 00:33:32,180 --> 00:33:33,690 Kwa hiyo kile tunaweza kufanya vizuri zaidi? 701 00:33:33,690 --> 00:33:39,810 >> Vizuri basi mimi kufungua toleo hili hapa, ambapo katika helpers.php, 702 00:33:39,810 --> 00:33:42,300 kwa nini sio mimi tu kupata kidogo nadhifu kuhusu hili? 703 00:33:42,300 --> 00:33:46,410 Kuandika kidogo ngumu zaidi kanuni, lakini simu yake atatoa? 704 00:33:46,410 --> 00:33:48,470 Hivyo tuna nini mimi kimsingi iliyopita? 705 00:33:48,470 --> 00:33:51,770 >> Inachukua hoja now-- hoja mbili, data bado. 706 00:33:51,770 --> 00:33:54,444 Na kisha nini kwanza jina pengine kuwa kutumika kwa ajili, 707 00:33:54,444 --> 00:33:55,860 kulingana na kile wewe ni kusoma hapa? 708 00:33:55,860 --> 00:33:58,452 Hata kama baadhi ya syntax ni bado mpya. 709 00:33:58,452 --> 00:33:59,660 Dola ishara template ni nini? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Pole? 712 00:34:03,016 --> 00:34:03,710 >> Watazamaji: Header au footer. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: Header au footer. 714 00:34:04,510 --> 00:34:07,134 Hivyo inaonekana, niliamua kwamba kama Kitu pekee hiyo ni kubadilisha 715 00:34:07,134 --> 00:34:10,159 ni nini template nataka kwa print-- na kwa template 716 00:34:10,159 --> 00:34:13,100 Jamani ni mwongozo kwa kificho kwamba nataka pato, 717 00:34:13,100 --> 00:34:16,350 lakini nataka kuziba katika baadhi values-- hivyo kama ni header tu 718 00:34:16,350 --> 00:34:20,440 au footer, kwa nini sio mimi parameterize kuwa na kuwaita ishara ya dola hoja 719 00:34:20,440 --> 00:34:21,409 template? 720 00:34:21,409 --> 00:34:26,250 Na kisha syntax hii funky inaruhusu mimi kujenga njia katika kutofautiana hapa. 721 00:34:26,250 --> 00:34:28,030 >> Hivyo njia ishara ya dola ni kutofautiana. 722 00:34:28,030 --> 00:34:31,120 Je syntax hii kufanya, kama wewe ni ukoo? 723 00:34:31,120 --> 00:34:32,512 Yeah? 724 00:34:32,512 --> 00:34:34,065 >> Watazamaji: [inaudible] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Hasa. 726 00:34:34,940 --> 00:34:37,600 Kama template ni, unquote kunukuu, kichwa, au kama template ni, 727 00:34:37,600 --> 00:34:41,170 unquote kunukuu, footer, kwamba mstari huko kwamba nimepata yalionyesha, mstari nane, 728 00:34:41,170 --> 00:34:46,330 ni tu kuchukua jina hilo, kama mpira wa kichwa, na concatenating kwa nukta PHP. 729 00:34:46,330 --> 00:34:49,750 Hivyo hatukuwa na alama hii katika C. Hii nukta operator ni 730 00:34:49,750 --> 00:34:54,520 jambo la kushangaza katika PHP-- kama wewe ni ukoo na JavaScript au Java, 731 00:34:54,520 --> 00:34:56,949 unaweza kutumia pamoja ishara ya kufanya concatenation. 732 00:34:56,949 --> 00:34:59,974 >> Katika C, ni maumivu katika neck-- na mimi nina hivyo pole, katika p-kuweka sita, 733 00:34:59,974 --> 00:35:02,390 wewe ni kwenda na kufanya Haya ni maumivu ya shingo 734 00:35:02,390 --> 00:35:03,930 kwa concatenate masharti. 735 00:35:03,930 --> 00:35:04,670 Kwa nini? 736 00:35:04,670 --> 00:35:06,580 Naam, kwa sababu kama nimepata kamba hiyo ni hii kwa muda mrefu, 737 00:35:06,580 --> 00:35:09,538 na mwingine kamba hiyo ni hii kwa muda mrefu, huwezi kuziba yao kwa pamoja. 738 00:35:09,538 --> 00:35:11,070 Je, badala yake una kufanya katika C? 739 00:35:11,070 --> 00:35:11,680 Yeah? 740 00:35:11,680 --> 00:35:12,380 >> Watazamaji: [inaudible] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Una malloc , au kumbukumbu kutumia safu juu ya stack. 742 00:35:15,090 --> 00:35:17,214 Na kwa kweli kuwa na kufanya kwamba safu kubwa ya kutosha 743 00:35:17,214 --> 00:35:20,940 walionao hii pamoja na hayo, pamoja na backslash sifuri. 744 00:35:20,940 --> 00:35:24,994 Kisha concatenate yao pamoja kwa kutumia koroga paka au manually na kwa kitanzi, 745 00:35:24,994 --> 00:35:26,160 au idadi yoyote ya mbinu. 746 00:35:26,160 --> 00:35:27,760 Na sisi kuonyesha kadhaa katika p-kuweka sita. 747 00:35:27,760 --> 00:35:29,080 >> Ni maumivu ya shingo. 748 00:35:29,080 --> 00:35:34,190 Na hii ni kweli nini maana mimi kuhusu huu dhidi Haya kama C dhidi PHP. 749 00:35:34,190 --> 00:35:36,870 Wewe tu kupata mengi zaidi utendaji kwa ajili ya bure, 750 00:35:36,870 --> 00:35:39,030 ili uweze kuzingatia, walau, siku ya furaha 751 00:35:39,030 --> 00:35:41,190 sehemu ya coding, Mradi unataka kutatua, 752 00:35:41,190 --> 00:35:43,190 badala ya kiwango cha chini minutiae. 753 00:35:43,190 --> 00:35:49,840 >> Hivyo hii inazalisha tu header.php au footer.php kulingana na ambayo moja mimi wito. 754 00:35:49,840 --> 00:35:52,280 Na hakika kama mimi kwenda ndani ya index.php, ilani 755 00:35:52,280 --> 00:35:56,230 yote yale changed-- Badala ya wito atatoa kichwa au kutoa footer, 756 00:35:56,230 --> 00:36:00,230 Mimi nina wito atatoa, ikifuatiwa na jina la template kwamba nataka kufanya. 757 00:36:00,230 --> 00:36:02,370 Na utaona hii, pia, katika tatizo kuweka saba, 758 00:36:02,370 --> 00:36:05,530 ambapo sisi kuruhusu kutumia kazi sawa na kufanya mashada 759 00:36:05,530 --> 00:36:07,550 na mashada ya kurasa tofauti za mtandao. 760 00:36:07,550 --> 00:36:10,570 >> Hivyo badala ya kukaa pia mengi zaidi juu ya details-- wale 761 00:36:10,570 --> 00:36:13,210 ambayo utaona tena katika Tatizo kuweka seven-- hebu angalia 762 00:36:13,210 --> 00:36:16,850 katika mwanzo wa suluhisho sasa tatizo ya kuvutia zaidi. 763 00:36:16,850 --> 00:36:19,310 Hivi sasa, hakuna kitu tumekuwa amefanya ina data kuokolewa. 764 00:36:19,310 --> 00:36:22,920 Kwa kweli, wakati tu tumekuwa milele kuokolewa kitu ambacho tumefanya katika darasa hili 765 00:36:22,920 --> 00:36:31,030 ni wakati tulikuwa demo rahisi sana muda nyuma, ambapo tulikuwa faili IO katika C, 766 00:36:31,030 --> 00:36:34,520 na nadhani mimi niliandika kwa jina langu, na Jina Hana, na jina Maria, 767 00:36:34,520 --> 00:36:37,610 au labda jina Andy, na kisha sisi kuokolewa file-- CSV 768 00:36:37,610 --> 00:36:39,430 comma kutengwa maadili faili. 769 00:36:39,430 --> 00:36:43,530 >> Na tulikuwa fopen-- Nadhani tulikuwa fprintf kama mimi kukumbuka, 770 00:36:43,530 --> 00:36:44,910 na sisi kuokolewa faili. 771 00:36:44,910 --> 00:36:46,920 Sasa, kwamba ni rahisi mfumo wa database. 772 00:36:46,920 --> 00:36:50,230 Kama unataka kufanya tovuti kwa Frosh IMS mpango, ambapo freshmen 773 00:36:50,230 --> 00:36:53,390 Unaweza kujiandikisha kwa ajili ya michezo, wewe walau wanataka kufanya kitu kwa data hizo. 774 00:36:53,390 --> 00:36:55,370 Wiki iliyopita, hatukuwa na kitu na data-- sisi tu alisema, 775 00:36:55,370 --> 00:36:56,661 wewe ni kusajiliwa, si kweli. 776 00:36:56,661 --> 00:36:58,950 Au labda mimi Emailed mwangalizi, na kwamba alikuwa ni. 777 00:36:58,950 --> 00:37:02,110 >> Lakini itakuwa nzuri kama mimi naweza kutoa kwamba mwangalizi jalada la CSV, 778 00:37:02,110 --> 00:37:03,340 kama Excel file. 779 00:37:03,340 --> 00:37:05,090 Au bado bora, ingekuwa kuwa nzuri kama mimi naweza 780 00:37:05,090 --> 00:37:08,830 kuweka majina watumiaji hao 'na Dorm majina na yote hayo 781 00:37:08,830 --> 00:37:11,740 katika orodha kwamba anaishi tu juu ya milele, 782 00:37:11,740 --> 00:37:13,530 mpaka mimi kuchagua kufuta data. 783 00:37:13,530 --> 00:37:15,645 Database ambayo inaruhusu mimi swala habari. 784 00:37:15,645 --> 00:37:18,070 Na hakika, hilo ndilo orodha ni. 785 00:37:18,070 --> 00:37:20,470 >> Sisi kuanzisha leo, na wiki ijayo, pia, teknolojia 786 00:37:20,470 --> 00:37:25,020 aitwaye SQL-- Uliza muundo Lugha, ambayo ni lugha nyingine. 787 00:37:25,020 --> 00:37:28,750 Ni kimsingi kompyuta lugha, lakini kwa database. 788 00:37:28,750 --> 00:37:31,760 Na database kwa sasa, tu kufikiria kama super dhana toleo la 789 00:37:31,760 --> 00:37:35,710 ya Microsoft Excel, au Google Spreadsheets, au Apple Hesabu. 790 00:37:35,710 --> 00:37:39,950 Ni kwa ujumla mpango kwamba inaruhusu kuhifadhi rundo zima la data 791 00:37:39,950 --> 00:37:43,960 katika safu na nguzo, kabisa kama waweza katika Excel. 792 00:37:43,960 --> 00:37:47,100 >> Lakini nini ni nzuri, hasa kama sisi siyo super ukoo na Excel, 793 00:37:47,100 --> 00:37:52,040 nini SQL inaruhusu kufanya ni swala hii Maelezo kwa kuandika mstari wa kanuni 794 00:37:52,040 --> 00:37:55,220 ambapo unaweza, hata kama yako Mbegu ina milioni safu ndani yake, 795 00:37:55,220 --> 00:37:57,190 unaweza kupata mambo super haraka. 796 00:37:57,190 --> 00:37:59,950 Kwa kweli, Excel ni hasa mbaya wakati seti kubwa data. 797 00:37:59,950 --> 00:38:02,460 Na kwa kweli, hadi chache miaka iliyopita, aligeuka 798 00:38:02,460 --> 00:38:08,890 Excel ingekuwa tu kuruhusu kuhifadhi safu hadi 65,535 wa data-- ambayo 799 00:38:08,890 --> 00:38:12,020 Inaonekana kama mengi, lakini wakati wakati mimi alikuwa mwanafunzi Grad, 800 00:38:12,020 --> 00:38:14,920 na Nakumbuka tripping juu hii kwa sababu nilikuwa kuzalisha 801 00:38:14,920 --> 00:38:17,900 CSV files kwa utafiti wangu na mimi alitaka kuchambua yao haraka 802 00:38:17,900 --> 00:38:19,530 na tu kufungua katika Excel. 803 00:38:19,530 --> 00:38:23,730 Bila shaka, kompyuta yangu tu kugonga, kwa sababu nilikuwa na zaidi ya 65,000 safu. 804 00:38:23,730 --> 00:38:27,210 >> Lakini wapi 65535 kuja kutoka? 805 00:38:27,210 --> 00:38:29,670 Kilichokuwa Microsoft kufanya, labda? 806 00:38:29,670 --> 00:38:32,430 Kama wewe ni vizuri na mamlaka yako ya mbili? 807 00:38:32,430 --> 00:38:37,160 Naam, walikuwa kutumia 16-bit thamani ya kuwakilisha idadi mstari. 808 00:38:37,160 --> 00:38:41,310 Na mbili hadi 16 ni 65,536-- bala moja, kwa sababu kama wewe 809 00:38:41,310 --> 00:38:45,414 sifuri ripoti ina maana kwamba alikuwa zaidi idadi ya mistari mimi naweza kuwa. 810 00:38:45,414 --> 00:38:46,830 Na ilikuwa ni uamuzi wa kubuni. 811 00:38:46,830 --> 00:38:52,760 Kwa kuokoa 16 bits, wao mdogo kwangu kwa safu 16,000, badala ya bilioni 4, 812 00:38:52,760 --> 00:38:54,322 ambayo mimi naweza kuwa na walau. 813 00:38:54,322 --> 00:38:57,030 Lakini kwa sasa, tunakwenda kuanzisha hii zaidi katika mazingira ya mtandao. 814 00:38:57,030 --> 00:39:00,390 Na nini ni nzuri kuhusu SQL ni kwamba hata ingawa ni pretty nguvu na mzuri 815 00:39:00,390 --> 00:39:04,050 kisasa, ni kweli majipu shughuli chini ya nne muhimu, nne 816 00:39:04,050 --> 00:39:08,060 kazi muhimu, kama wewe will-- kuchagua, kwa retrieving data, kutafuta 817 00:39:08,060 --> 00:39:12,510 kwa data; kufuta au kufuta data; kuingiza kwa ajili ya kuongeza safu ya database; 818 00:39:12,510 --> 00:39:13,410 na uboreshaji. 819 00:39:13,410 --> 00:39:17,010 Hivyo kama wewe milele kutumika Google Spreadsheets, Apple Hesabu, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, una kunyongwa, zaidi uwezekano, kila 821 00:39:19,310 --> 00:39:22,530 wa shughuli hizo kama binadamu na tu kutumia keyboard yako na mouse-- 822 00:39:22,530 --> 00:39:26,050 kuingiza data, kwa kutumia macho yako kuchagua au kutafuta data, 823 00:39:26,050 --> 00:39:28,360 au update data, au kufuta data. 824 00:39:28,360 --> 00:39:29,870 >> Hivyo hii ina maana gani? 825 00:39:29,870 --> 00:39:34,300 Naam, kabla ya imewekwa katika CS50 IDE ni mpango ujulikanao MySQL. 826 00:39:34,300 --> 00:39:37,050 Ni bure, wazi chanzo Mbegu hiyo ni super maarufu. 827 00:39:37,050 --> 00:39:40,590 Facebook, kwa mfano, kuitumia hii siku, miongoni mwa zana nyingine kwamba wanatumia. 828 00:39:40,590 --> 00:39:44,300 Na mengi ya Nje maarufu sana kutumia ni katika sehemu kubwa kwa sababu ni haraka, 829 00:39:44,300 --> 00:39:45,230 na kwa sababu ni bure. 830 00:39:45,230 --> 00:39:46,820 Ingawa kwa hakika mbadala zipo. 831 00:39:46,820 --> 00:39:49,580 Na baadhi yenu wanaweza dabble kwa mbadala kwa ajili ya miradi ya mwisho. 832 00:39:49,580 --> 00:39:55,330 >> Hii ni screenshot, wakati huo huo, bila chombo mtandao msingi inayoitwa phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 Ni kwa bahati mbaya kuwa chombo hiki mtandao msingi ni pia 834 00:39:58,260 --> 00:40:01,720 Imeandikwa katika lugha, PHP, lakini nini ni maana ya kufanya 835 00:40:01,720 --> 00:40:04,620 ni kutupa msingi mtandao interface kwa database. 836 00:40:04,620 --> 00:40:07,180 Kwa sababu MySQL kawaida ni kitu, kihistoria, wewe 837 00:40:07,180 --> 00:40:08,770 ingekuwa kuingiliana na tu na mstari amri. 838 00:40:08,770 --> 00:40:10,811 Na itakuwa super annoying na arcane kuwa 839 00:40:10,811 --> 00:40:14,487 kwa aina amri textual kuchagua data, kuingiza data, na kufuta data. 840 00:40:14,487 --> 00:40:16,820 Hivyo baadhi ya watu kwenye mtandao aliandika mpango mtandao msingi 841 00:40:16,820 --> 00:40:18,900 kwamba hebu kusimamia data katika database yetu. 842 00:40:18,900 --> 00:40:23,040 Ni kama kubonyeza mara mbili juu ya Excel, na mbio toleo mtandao msingi wake. 843 00:40:23,040 --> 00:40:26,370 >> Na nini wewe ni kwenda kutumia hii kwa hatimaye wiki ijayo, si katika p-kuweka sita, 844 00:40:26,370 --> 00:40:28,680 lakini ni kujenga kitu aitwaye CS50 Fedha, ambayo 845 00:40:28,680 --> 00:40:32,630 ni kwenda na orodha ya watumiaji, na majina ya utumiaji na nywila, 846 00:40:32,630 --> 00:40:34,860 dola ni sawa kuwa wao kuwa katika akaunti zao za benki. 847 00:40:34,860 --> 00:40:37,280 Ni kwenda kuwa kitu unaweza kutumia ili kuhifadhi 848 00:40:37,280 --> 00:40:39,910 alama na kiasi ya hifadhi ya kwamba watumiaji 849 00:40:39,910 --> 00:40:42,567 nimenunua kwa kutumia virtual dola kwamba utasikia kuwapa. 850 00:40:42,567 --> 00:40:44,900 Na ni kwenda kuruhusu watumiaji kujiandikisha kwa ajili ya tovuti yako, 851 00:40:44,900 --> 00:40:47,190 hivyo kwamba hata rafiki yako Unaweza tune katika tovuti yako 852 00:40:47,190 --> 00:40:49,360 na kwa kweli kujiandikisha, kuingia katika, na kucheza karibu 853 00:40:49,360 --> 00:40:52,807 na kujaribu kupata kosa katika kanuni yako, na kujaribu kupata mende katika tovuti yako. 854 00:40:52,807 --> 00:40:55,390 Na wao itabidi tu kujiandikisha na kuongeza wenyewe, kwa ufanisi, 855 00:40:55,390 --> 00:40:58,120 kupitia kificho kuandika kwa orodha yako. 856 00:40:58,120 --> 00:41:02,470 >> Kwa mfano, hii ni screenshot haraka yale orodha ili kuangalia kama. 857 00:41:02,470 --> 00:41:05,190 Hii ilikuwa ni kutoka kwa mmoja wa solutions-- mwaka jana 858 00:41:05,190 --> 00:41:07,760 hii ni kama mini Excel faili, kuhifadhiwa katika orodha yetu, 859 00:41:07,760 --> 00:41:09,950 kuhifadhiwa katika programu hii inaitwa MySQL. 860 00:41:09,950 --> 00:41:13,260 Upande wa kushoto, nimekuwa inaonekana kutokana na kila mtumiaji Idadi ya kipekee. 861 00:41:13,260 --> 00:41:16,200 Katika safu ya pili, Nimekupa kila mtu mtumiaji name-- yangu mwenyewe 862 00:41:16,200 --> 00:41:16,880 kati yao. 863 00:41:16,880 --> 00:41:21,430 Na upande wa kulia, Nimekuwa amewapa hash. 864 00:41:21,430 --> 00:41:26,760 >> Sasa hii ni kweli neno la siri, lakini siyo Nakala wazi password. 865 00:41:26,760 --> 00:41:30,160 Ni nenosiri encrypted, ikiwa wewe, au nywila hash. 866 00:41:30,160 --> 00:41:32,000 Ambayo tutaweza kurudi kwa kabla ya muda mrefu. 867 00:41:32,000 --> 00:41:34,340 >> Lakini kama wameweza milele kusoma makala kuhusu jinsi 868 00:41:34,340 --> 00:41:37,950 password yako katika baadhi ya benki au baadhi tovuti anaweza kuwa kuathirika, 869 00:41:37,950 --> 00:41:39,630 inaweza kwa ujumla maana moja ya mambo mawili. 870 00:41:39,630 --> 00:41:42,780 Hivyo hii ni tu Excerpt ya watumiaji sita. 871 00:41:42,780 --> 00:41:45,460 Wote wa sasa unaweza kufikiri nje kupitia kukatwakatwa au ngozi 872 00:41:45,460 --> 00:41:47,690 nini siri watu wetu sita ya watu. 873 00:41:47,690 --> 00:41:49,720 Lakini kama wameweza milele wamezipata tahadhari au kuomba msamaha 874 00:41:49,720 --> 00:41:52,803 kutoka kampuni au tovuti msemo, pole, hacker kuvunja katika orodha yetu, 875 00:41:52,803 --> 00:41:56,360 unapaswa pengine mabadiliko yako neno la siri, nini kinaweza kuwa ina maana gani? 876 00:41:56,360 --> 00:41:59,670 >> Naam, moja, inaweza kuwa na maana Kampuni imekuwa zaidi moronic, 877 00:41:59,670 --> 00:42:03,630 na imekuwa hifadhi password yako katika safu kama hii, kimaandishi. 878 00:42:03,630 --> 00:42:05,840 Ambayo ina maana mshitaki, ambaye aliiba database, 879 00:42:05,840 --> 00:42:07,440 halisi anajua yako jina la mtumiaji na neno la siri. 880 00:42:07,440 --> 00:42:08,960 Hiyo ni uwezekano hali mbaya zaidi. 881 00:42:08,960 --> 00:42:11,710 Na kama utaona katika p-kuweka saba, hivyo ni rahisi kuepuka. 882 00:42:11,710 --> 00:42:15,624 Hakuna kabisa sababu ya kuwa aina ya ujinga katika biashara ya leo. 883 00:42:15,624 --> 00:42:18,540 Two-- na tutaweza kupata baadhi ya makala kushuhudia ukweli kwamba hii bado 884 00:42:18,540 --> 00:42:21,710 itatendeka, nonetheless-- mbili, labda adui 885 00:42:21,710 --> 00:42:23,840 aliiba hili toleo la database. 886 00:42:23,840 --> 00:42:27,110 Ambayo bado ni aina ya mbaya, kwa sababu sasa wanajua kwamba nina wateja sita, 887 00:42:27,110 --> 00:42:29,270 Najua majina user ya wateja hao sita, 888 00:42:29,270 --> 00:42:32,910 na najua encrypted matoleo, au matoleo heshi, 889 00:42:32,910 --> 00:42:34,340 ya nywila wale wateja sita '. 890 00:42:34,340 --> 00:42:37,010 Lakini yeyote katika nyinyi ambaye anaweza wamefanya [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 ambapo kupasuka siri, au alichukua a tuangalie kwamba toleo la tatizo 892 00:42:41,150 --> 00:42:46,280 kuweka, kwa nini ni bado inatia mashaka kidogo kama adui anajua hash yako 893 00:42:46,280 --> 00:42:47,435 nywila? 894 00:42:47,435 --> 00:42:49,732 >> Watazamaji: Kwa sababu hawakuweza kuingia kamusi nzima 895 00:42:49,732 --> 00:42:50,690 ndani ya heshi. 896 00:42:50,690 --> 00:42:54,520 Na kama password yako ni kamusi neno, [? wanaweza tu match--?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Hasa, adui unaweza tu kuandika kanuni, kama baadhi yenu 898 00:42:57,640 --> 00:43:00,526 alifanya kwa [? Hacker?] 2, ambapo wewe iterate juu ya 899 00:43:00,526 --> 00:43:03,400 maneno yote katika kamusi, au michanganyiko yote uwezekano wa A 900 00:43:03,400 --> 00:43:06,610 kupitia Z na moja kupitia nine-- ambayo inaonekana kama mengi, na ni. 901 00:43:06,610 --> 00:43:08,361 Lakini kwa kompyuta, ni pretty darn haraka. 902 00:43:08,361 --> 00:43:10,610 Na kwa kweli, kwamba alikuwa hatua ya [? Hacker 2,?] Alikuwa 903 00:43:10,610 --> 00:43:12,540 kuchukua mambo ambayo halisi inaonekana kama hii, 904 00:43:12,540 --> 00:43:14,900 na mhandisi reverse nini ni kweli alikuwa. 905 00:43:14,900 --> 00:43:17,270 >> Hivyo tutaangalia jinsi tunaweza kuhifadhi hii kwa ufanisi zaidi. 906 00:43:17,270 --> 00:43:20,210 Zamu nje, nashiriki katika MySQL, kuna ni kwenda kuwa aina ya data. 907 00:43:20,210 --> 00:43:22,800 Na moja ya sehemu furaha kuhusu kubuni Mbegu, kwa kuwa waaminifu, 908 00:43:22,800 --> 00:43:25,810 ni kweli kuamua kwa ajili yako mwenyewe ni jinsi gani wewe kuwakilisha data? 909 00:43:25,810 --> 00:43:29,630 Lazima wewe kuwakilisha idadi ya simu kama int, kama idadi kubwa, au kwa muda mrefu? 910 00:43:29,630 --> 00:43:31,630 Au wewe kweli kufanya hivyo kama mlolongo wa chars? 911 00:43:31,630 --> 00:43:33,780 Na kunaweza kuwa sana athari zisizo yasiyo na maana ya hii. 912 00:43:33,780 --> 00:43:36,714 >> Kwa kweli, moja ya mwanzo, furaha hadithi germane 913 00:43:36,714 --> 00:43:39,880 ni wakati Mark Zuckerberg alikuwa anajenga Facebook, awali ilikuwa imeandikwa katika, 914 00:43:39,880 --> 00:43:42,300 na bado kwa kiasi kikubwa imeandikwa katika PHP. 915 00:43:42,300 --> 00:43:45,400 Na moja ya changamoto kubwa wao wanakabiliwa mapema ilikuwa kuongeza. 916 00:43:45,400 --> 00:43:48,820 Wakati wameshika kuongeza shule baada ya shule baada ya shule, kwa ufahamu wangu, 917 00:43:48,820 --> 00:43:51,639 moja ya ufumbuzi awali alikuwa kimsingi nakala na kuweka 918 00:43:51,639 --> 00:43:53,430 baadhi ya database na baadhi ya kanuni, 919 00:43:53,430 --> 00:43:55,346 ili Harvard alikuwa mbio juu ya kompyuta yake mwenyewe, 920 00:43:55,346 --> 00:43:56,995 na MIT alikuwa akikimbia kwenye kompyuta yake mwenyewe. 921 00:43:56,995 --> 00:43:59,120 Na hii ndiyo sababu, kwa baadhi ambao wanaweza kukumbuka, 922 00:43:59,120 --> 00:44:01,510 unaweza kuwa na marafiki katika mitandao mingine. 923 00:44:01,510 --> 00:44:05,050 >> Pengine hawana marafiki MIT au Harvard miaka 10 au hivyo iliyopita, 924 00:44:05,050 --> 00:44:07,467 lakini hawakuweza span mitandao kwa sehemu kwa sababu hiyo. 925 00:44:07,467 --> 00:44:10,550 Na moja ya changamoto kubwa kwa Mark na kwa makampuni kama Facebook 926 00:44:10,550 --> 00:44:13,460 ni kweli utunzaji mamia na maelfu na mamilioni 927 00:44:13,460 --> 00:44:14,460 ya maombi kwa pili. 928 00:44:14,460 --> 00:44:16,501 Hivyo mambo tutaweza kuanza kuzungumza juu ya wiki hii 929 00:44:16,501 --> 00:44:19,860 ni kweli kwenda kuwa germane na kuandika programu bora, na maarufu 930 00:44:19,860 --> 00:44:23,040 zana ya kufanikiwa wanaweza kushughulikia kura ya watumiaji. 931 00:44:23,040 --> 00:44:25,460 >> Hivyo tutaweza majadiliano juu ya mambo kama Indexing na kutafuta, 932 00:44:25,460 --> 00:44:26,910 lakini hiyo ni kwa ajili ya leo. 933 00:44:26,910 --> 00:44:28,780 Tutaona wewe kwa zaidi juu ya Jumatano. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [Music - "Seinfeld" THEME] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: Wewe unaweza na hivyo, na Ondoa kutoka humo. 937 00:44:35,943 --> 00:44:38,859 Na huna kwa fimbo na baadhi ya kiasi kabla ya kuamua ya kumbukumbu. 938 00:44:38,859 --> 00:44:40,580 Naam, nini kwamba kwenda kuitwa? 939 00:44:40,580 --> 00:44:42,369 >> SPIKA 1: Naam, nini kinaendelea? 940 00:44:42,369 --> 00:44:43,535 SPIKA 2: Nini maana? 941 00:44:43,535 --> 00:44:44,451 Yeye kutoa hotuba. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: Na tunaweza kutumia kazi kuitwa malloc kwa memory-- 943 00:44:47,650 --> 00:44:50,050 >> SPIKA 1: Kwanini mikono yake kusonga? 944 00:44:50,050 --> 00:44:52,450 >> SPIKA 2: Naam that's-- unajua, hiyo ni kawaida. 945 00:44:52,450 --> 00:44:57,162 Ni tu kama yeye ana haki sausages kubwa kunyongwa huko. 946 00:44:57,162 --> 00:44:59,040 >> SPIKA 1: Hiyo ni kawaida? 947 00:44:59,040 --> 00:45:03,096 >> SPIKA 2: Yeah, nadhani sisi tu kudhani yeye ajali 948 00:45:03,096 --> 00:45:06,840 kubadilishwa kuondoa harufu yake pamoja na gundi. 949 00:45:06,840 --> 00:45:07,608