1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [TÓNLIST spila] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Þetta er CS50, og þetta er upphaf viku átta. 5 00:00:13,350 --> 00:00:17,510 Og við erum svo spennt að fagna aftur, stór koma á óvart, eigin Ramon CS50 er 6 00:00:17,510 --> 00:00:22,160 Galvan, hækkandi háttsettur sem hefur verið eyða undanfarna mánuði 7 00:00:22,160 --> 00:00:26,190 frá því í júlí í Los Angeles, í Hollywood, bókstaflega vinna á a vörumerki nýr TV 8 00:00:26,190 --> 00:00:31,930 Þátturinn kallast Colony, höfundur sem er í raun Harvard alum sjálfur. 9 00:00:31,930 --> 00:00:36,610 Og svo við erum mjög spennt að sjá þetta Frumraun á USA net í janúar. 10 00:00:36,610 --> 00:00:40,370 Svo dvöl lag fyrir það, og til meira Ramon fyrir næstu vikur. 11 00:00:40,370 --> 00:00:42,550 >> Veit nú að enda er í nánd. 12 00:00:42,550 --> 00:00:47,400 Og hvað þýðir þetta er að það er ekki allt sem mikið eftir af CS50, sorglegt að segja. 13 00:00:47,400 --> 00:00:49,400 Við höfum bara þrjá vandamál setur left-- það er 14 00:00:49,400 --> 00:00:52,510 Heimadæmi six-- sem er í hendur nú eða fljótlega verður, 15 00:00:52,510 --> 00:00:56,080 vegna síðar á þessu week-- er ætlað að brúa heimar okkar um stjórn lína, þar 16 00:00:56,080 --> 00:00:59,450 við höfum eytt mestum tíma okkar með C, og heimurinn forritun á vefnum. 17 00:00:59,450 --> 00:01:02,350 Jæja, þú munt sjá mikið af hugmyndum láni frá stjórn lína vinnu, 18 00:01:02,350 --> 00:01:04,560 en einnig mikið af nýju og áhugaverðar hugmyndir 19 00:01:04,560 --> 00:01:07,929 sem eru líka að fara að vera germane fyrir hreyfanlegur umsókn og fyrir tækni, 20 00:01:07,929 --> 00:01:10,470 almennt, sem þú krakkar eru kunnugir nú á dögum 21 00:01:10,470 --> 00:01:12,090 á fartölvur og síma og þess háttar. 22 00:01:12,090 --> 00:01:15,220 >> Svo þú munt framkvæma ekki a vefur blaðsíða, eða a website 23 00:01:15,220 --> 00:01:17,620 í sjálfu sér, en í raun vefur framreiðslumaður. 24 00:01:17,620 --> 00:01:21,590 Þú verður að skrifa restina af vefþjóni skrifað í C, en tilgangur í lífinu 25 00:01:21,590 --> 00:01:25,410 er að fá HTTP beiðnir, þá raunverulegur umslag við halda að tala 26 00:01:25,410 --> 00:01:29,780 um, og í raun bregðast annaðhvort með sumir truflanir content-- eins punktur HTML 27 00:01:29,780 --> 00:01:32,310 skrá, eða punktur JPEG eða önnur fjöldi skráa, 28 00:01:32,310 --> 00:01:37,070 eða jafnvel PHP skrá þar vefur Miðlarinn er að fara að túlka þessi PHP 29 00:01:37,070 --> 00:01:38,332 kóða og spýta út niðurstöður. 30 00:01:38,332 --> 00:01:40,540 Nú höfum við veitt þér töluvert af ramma 31 00:01:40,540 --> 00:01:43,100 fyrir it-- örugglega dreifingu póstnúmer fyrir vandamál 32 00:01:43,100 --> 00:01:47,496 setja sex er yfir 1000 línur lengi, einhver sem er athugasemdir, til að vera fair-- 33 00:01:47,496 --> 00:01:49,370 en þetta er í raun ætlað að vera tækifæri 34 00:01:49,370 --> 00:01:52,570 að fá þinn snertið ekki óhrein köfun í nokkuð stóru verkefni 35 00:01:52,570 --> 00:01:55,570 sem við höfum mjög sérstaklega skorið út stykki af fyrir þig, 36 00:01:55,570 --> 00:01:59,046 þannig að í raun þegar þú hættir CS50 og inn í raunverulega heimi forritun 37 00:01:59,046 --> 00:02:00,920 og vilja til að notaði í allir tala um verkefni, 38 00:02:00,920 --> 00:02:03,253 þú munt hafa miklu meiri þægindi sækja sumir uppspretta 39 00:02:03,253 --> 00:02:05,020 númer, sumir opinn uppspretta verkefni á vefnum, 40 00:02:05,020 --> 00:02:08,174 og köfun í og ​​gera breytingar sem þú sérð vel á sig kominn. 41 00:02:08,174 --> 00:02:11,340 Heimadæmi sjö er að fara að vera um gera eigin vefur-undirstaða umsókn þína 42 00:02:11,340 --> 00:02:14,140 sem tekur dynamic inntak og framleiðir dynamic framleiðsla á formi 43 00:02:14,140 --> 00:02:16,920 af etrade.com eins website. 44 00:02:16,920 --> 00:02:20,800 Og vandamál setja átta mun leggja áherslu á enn annað tungumál þekkt sem JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> Á meðan, the það sem kemur síðas Verkefnið er á sjóndeildarhringnum. 46 00:02:24,170 --> 00:02:26,800 Svonefnd pre-tillögu er vegna viku frá í dag. 47 00:02:26,800 --> 00:02:29,930 Pre-proposal-- á forskrift, sem er á website-- CS50 er 48 00:02:29,930 --> 00:02:33,260 er nokkuð frjálslegur tækifæri fyrir þú þarft að senda nokkuð gagnorðar tölvupóst 49 00:02:33,260 --> 00:02:35,170 til kennslu náungi þinn bara að apprise honum 50 00:02:35,170 --> 00:02:38,250 eða henni um hvað þú ert að hugsa, að nota hann eða hana sem hljómandi borð. 51 00:02:38,250 --> 00:02:40,980 Og hafa geðheilsu check-- hvort sem þú ert að hugsa 52 00:02:40,980 --> 00:02:43,210 um að ætla líka mikið eða kannski of lítið, 53 00:02:43,210 --> 00:02:46,480 eða kannski þú hefur ekki hugmynd hvað og vilja til að taka þátt í samræðum. 54 00:02:46,480 --> 00:02:48,480 >> Síðan er tillaga og stöðuskýrsla, 55 00:02:48,480 --> 00:02:51,860 svokölluð CS50 Hackathon hér í Cambridge fyrir Harvard og Yale nemenda 56 00:02:51,860 --> 00:02:52,362 eins. 57 00:02:52,362 --> 00:02:54,320 Lokaverkefni er framkvæmd er þá vegna. 58 00:02:54,320 --> 00:02:59,290 Og þá CS50 sanngjarnt hér í Cambridge, sem og annað í New Haven. 59 00:02:59,290 --> 00:03:02,500 Svo tillögu, taka a líta á the website fyrir þá upplýsingar. 60 00:03:02,500 --> 00:03:06,530 >> En meira excitingly líka, er tækifæri til að fá þinn snertið ekki óhrein, 61 00:03:06,530 --> 00:03:09,350 og hugsanir yðar opnast heild fullt af efni og verkfæri 62 00:03:09,350 --> 00:03:12,920 og aðferðir sem eru viðbót kjarnastarfsemi kennsluáætlun námskeiðsins er, 63 00:03:12,920 --> 00:03:14,810 en engu að síður tengjast. 64 00:03:14,810 --> 00:03:18,400 Og einnig dásamlegt stepping steinum til gera mjög flott lokaverkefni sem 65 00:03:18,400 --> 00:03:22,020 fara vel út efni sem við höfum fjallað formlega í vandamál setur eða í fyrirlestri. 66 00:03:22,020 --> 00:03:24,446 Svo fara á heimasíðu CS50 er fyrir allt verkefnaskrá á málstofum. 67 00:03:24,446 --> 00:03:26,070 Ef þú skráir ekki enn, það er fínt. 68 00:03:26,070 --> 00:03:29,860 Fara á undan og skrá sig enn og við munum fylgja með lifandi straumspilun, 69 00:03:29,860 --> 00:03:31,844 dagurinn og tíminn er á heimasíðu. 70 00:03:31,844 --> 00:03:33,760 Og allt verður skráð og setja á netinu 71 00:03:33,760 --> 00:03:35,800 ef þú getur ekki gert sérstaklega dögum og tímum. 72 00:03:35,800 --> 00:03:39,380 >> Um hvað er framundan thereafter-- vel, auðvitað, það er CS50 Hackathon. 73 00:03:39,380 --> 00:03:43,560 Þessi mynd, muna, frá viku núll tekin um 4:00 eitt kvöld í ár fortíð. 74 00:03:43,560 --> 00:03:46,900 CS50 sanngjörn, sem aftur mun fara fram í báðum borgum. 75 00:03:46,900 --> 00:03:49,760 Og þá bara að planta fræ, jafnvel þótt við enn 76 00:03:49,760 --> 00:03:54,080 hafa mánuð plús eftir af önninni, ef þú vilt að taka þátt eigin kennslu CS50 er 77 00:03:54,080 --> 00:03:56,770 starfsfólk og þú vilt að byrja hugsa um að verða CA, 78 00:03:56,770 --> 00:03:59,550 eða kennslu náungi, ég veit að Við munum byrja að tala meira um það 79 00:03:59,550 --> 00:04:00,630 síðar á þessari önn. 80 00:04:00,630 --> 00:04:03,470 En á myndinni hér er flest lið á þessu ári. 81 00:04:03,470 --> 00:04:06,950 >> Og svo, PHP-- og ég var svo sorglegt í síðustu viku að [? Allyse?] Vel 82 00:04:06,950 --> 00:04:09,370 fór til vinnu að fá okkur þessar skemmtilegu leikmunir 83 00:04:09,370 --> 00:04:11,720 sem ég gerði ekki enda upp með, svo það í raun bara horfði Hvílík heimska 84 00:04:11,720 --> 00:04:15,160 sem við höfðum moka sitja hér í allan dagur á miðvikudaginn, og smá skeið. 85 00:04:15,160 --> 00:04:17,709 En þetta var metaphoric mín leið til að reyna að mála 86 00:04:17,709 --> 00:04:21,600 mynd af hverju við erum að breyting úr C í tungumáli líkt PHP. 87 00:04:21,600 --> 00:04:25,480 Og sama má segja um hvaða Fjöldi languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 eða bunches af others-- en þar í C, til dæmis, skrifa forrit í C 89 00:04:31,270 --> 00:04:34,050 gæti venjulega vera eins taka skeið svona 90 00:04:34,050 --> 00:04:36,770 og grafa holu í sem jörð, í sandi eða drullu. 91 00:04:36,770 --> 00:04:39,770 PHP er hægt að taka mikið stærri bit út af vandamálinu, 92 00:04:39,770 --> 00:04:42,842 skrifa mun minna kóða með mun minni tól, 93 00:04:42,842 --> 00:04:45,050 vegna þess að það er svo miklu meira virkni púslað í. 94 00:04:45,050 --> 00:04:47,633 >> Nú, ef við vorum í raun mikil, við verðum eitthvað að moka 95 00:04:47,633 --> 00:04:48,760 hér, en svo vera það. 96 00:04:48,760 --> 00:04:51,370 Á sama tíma, hinn samlíking við komum upp með 97 00:04:51,370 --> 00:04:53,770 er, að sjálfsögðu, þú gætir nota eitthvað eins og skiptilykil 98 00:04:53,770 --> 00:04:56,610 að negla í eitthvað eins og nagli. 99 00:04:56,610 --> 00:04:58,980 En auðvitað, rétt tól til að nota er að fara 100 00:04:58,980 --> 00:05:01,360 að vera ekki svo mikið kallað tungumál C-- 101 00:05:01,360 --> 00:05:03,590 og nú er ég bara pirruð [? Sanders,?] Líklega, 102 00:05:03,590 --> 00:05:07,890 við munum festa það later-- svo rétt tól til að nota oft 103 00:05:07,890 --> 00:05:09,640 er ekki að fara að vera þetta lægsta tól. 104 00:05:09,640 --> 00:05:13,720 Og reyndar, C er ekki tungumál sem flest ykkar eru alltaf að fara að nota, 105 00:05:13,720 --> 00:05:15,590 eða ætti endilega að nota aftur. 106 00:05:15,590 --> 00:05:18,350 >> Og í raun, lítið secret-- eina tíma 107 00:05:18,350 --> 00:05:23,160 Ég nota C sjálfur er ansi mikið á milli September og desember á hvert haust 108 00:05:23,160 --> 00:05:23,870 önn. 109 00:05:23,870 --> 00:05:25,790 Og það er vegna þess að við nota það sem tækifæri 110 00:05:25,790 --> 00:05:27,852 að kenna undirstöðuatriði forritun, 111 00:05:27,852 --> 00:05:29,810 og með það tölvu vísindi grundvallaratriði, gögn 112 00:05:29,810 --> 00:05:32,435 mannvirki, reiknirit og like-- en mjög fljótt verður þú 113 00:05:32,435 --> 00:05:35,010 sjá nú að setningafræði og hugmyndir að baki C 114 00:05:35,010 --> 00:05:37,530 eru svo frábærlega yfirfæranleg á nútímalegri 115 00:05:37,530 --> 00:05:41,130 Hærra tungumál, eins og PHP og Python og Perl og Java 116 00:05:41,130 --> 00:05:46,750 og Objective-C-- raun, ekki svo mikið Objective-C-- en Swift, þessir nýrri 117 00:05:46,750 --> 00:05:50,010 tungumál sem margir af þú vilja þá notaði með þér lokaverkefni. 118 00:05:50,010 --> 00:05:55,070 >> Svo án frekari fjaðrafok, við skulum í raun nota PHP til að leysa nokkur vandamál. 119 00:05:55,070 --> 00:06:00,230 Muna að snemma, síðustu viku, sem við notuðum bara CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 við skrifaði Dinky lítið forrit sem bara sagt, "Halló heimur". 121 00:06:02,990 --> 00:06:05,680 Og þá er ég spara það í skrá sem heitir hello.php. 122 00:06:05,680 --> 00:06:07,280 Og þá er ég hljóp þessa skipun. 123 00:06:07,280 --> 00:06:08,080 >> Og hvers vegna? 124 00:06:08,080 --> 00:06:09,900 Á ensku, hvað er að gerast hér? 125 00:06:09,900 --> 00:06:12,760 Hvað var ég að gera þegar Ég hljóp þessa skipun? 126 00:06:12,760 --> 00:06:13,405 >> Já? 127 00:06:13,405 --> 00:06:16,572 >> Áhorfendur: Það er einhver virka PHP sem les hvað er in-- skilur að. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Gott, það er sumir virka PHP-- og láta mig vera nákvæmari, 129 00:06:19,696 --> 00:06:21,810 það er forrit sem heitir PHP, gengur einnig undir nafninu 130 00:06:21,810 --> 00:06:25,872 Túlk, sem skilur innihald hello.php, 131 00:06:25,872 --> 00:06:27,830 og túlkar hana efst til botn, vinstri til hægri, 132 00:06:27,830 --> 00:06:29,590 og gerir það sem þeir skipanir segja. 133 00:06:29,590 --> 00:06:33,320 Skipanir í hello.php, auðvitað, er bara fengið code-- aðgerðir 134 00:06:33,320 --> 00:06:35,750 og breytur og lykkjur og þess háttar, sem við sjálf 135 00:06:35,750 --> 00:06:37,460 hafa byrjað að skrifa í PHP. 136 00:06:37,460 --> 00:06:40,240 >> En ólíkt C, sem er a safna saman tungumál, 137 00:06:40,240 --> 00:06:42,810 PHP þú skrifar bara það, og keyra það. 138 00:06:42,810 --> 00:06:46,420 Þú sleppa því milliliður skref umbreyta það til núll og sjálfur, 139 00:06:46,420 --> 00:06:47,790 og þá að keyra það. 140 00:06:47,790 --> 00:06:50,510 Og svo er það sem kosti af þessu? 141 00:06:50,510 --> 00:06:52,690 Hvers vegna erum við skipstjóri skref? 142 00:06:52,690 --> 00:06:55,238 Hvers vegna gera meira nútíma tungumál hafa tilhneigingu til að sleppa þessu skrefi? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Hvað var gagn? 145 00:07:01,220 --> 00:07:02,080 >> Eða bara innsæi? 146 00:07:02,080 --> 00:07:04,200 Jafnvel þótt við höfum ekki skrifað mikið PHP áður, 147 00:07:04,200 --> 00:07:07,210 hvað er gagnlegt um ekki gerð númerið þitt finnst þér? 148 00:07:07,210 --> 00:07:08,520 Nei? 149 00:07:08,520 --> 00:07:09,610 Að fremja? 150 00:07:09,610 --> 00:07:11,350 Þú klóra höfuð þitt? 151 00:07:11,350 --> 00:07:12,614 Já. 152 00:07:12,614 --> 00:07:13,600 >> Áhorfendur: Meira dynamic. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: Meira dynamic? 154 00:07:14,683 --> 00:07:16,032 Hvað meinaru? 155 00:07:16,032 --> 00:07:17,000 >> Áhorfendur: [inaudible] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: Allt í lagi, gott, svo eftir inntak, 158 00:07:22,390 --> 00:07:23,470 þú þarft ekki að þýða það í hvert skipti. 159 00:07:23,470 --> 00:07:24,990 Og það er í raun eins einfalt og that-- hvað 160 00:07:24,990 --> 00:07:26,990 er að benda á að halda áfram að safna saman númerið þitt? 161 00:07:26,990 --> 00:07:29,480 Þetta er bara skref sem er making-- þetta er þurfa, 162 00:07:29,480 --> 00:07:31,900 á undanförnum vikur, tvisvar eins og margir skref 163 00:07:31,900 --> 00:07:33,820 eins og bara að keyra forritið þitt. 164 00:07:33,820 --> 00:07:36,940 Það hefur verið gagnlegt í að sjá um að þú sjá nokkrar villa skilaboð og svo framvegis, 165 00:07:36,940 --> 00:07:38,720 en það er samt bara pirrandi skref. 166 00:07:38,720 --> 00:07:41,810 >> Og svo forritari áttaði yfir tíma, hvers vegna er það ekki 167 00:07:41,810 --> 00:07:45,327 byrja að skrifa tungumál sem gera ekki þurfum að nokkuð vélrænni skref, 168 00:07:45,327 --> 00:07:47,160 svo sem bara skrifa númerið þitt og keyra það. 169 00:07:47,160 --> 00:07:48,920 En hvað var verðið sem við sáum við greitt 170 00:07:48,920 --> 00:07:50,910 í síðustu viku, með einu tilteknu dæmi? 171 00:07:50,910 --> 00:07:51,650 Já? 172 00:07:51,650 --> 00:07:52,370 >> Speed. 173 00:07:52,370 --> 00:07:54,690 Svo [? hvað er?] túlkar svolítið hægar, 174 00:07:54,690 --> 00:07:57,330 í því núll og sjálfur er gott og hratt fyrir tölvu 175 00:07:57,330 --> 00:08:00,070 að skilja, vegna þess að Intel CPU, eða hvað sem það er, 176 00:08:00,070 --> 00:08:03,070 bara skilur hvað er að gerast á með þeim mynstrum af bitum. 177 00:08:03,070 --> 00:08:05,370 En túlk er forrit sem raunverulega 178 00:08:05,370 --> 00:08:07,980 hefur til að lesa ASCII uppspretta kóða sem þú hefur skrifað, 179 00:08:07,980 --> 00:08:12,700 og umbreyta það, svo að segja, eða reikna út hvernig það breytir endanum 180 00:08:12,700 --> 00:08:13,525 að núll og sjálfur. 181 00:08:13,525 --> 00:08:15,650 Þannig að það tekur bara smá hluti af frammistöðu högg. 182 00:08:15,650 --> 00:08:16,858 Svo það er a hluti af a málamiðlun. 183 00:08:16,858 --> 00:08:21,570 Nú ef við gerum þetta hérna, láttu mig fara á undan og gera dæmi sem hér segir. 184 00:08:21,570 --> 00:08:26,610 Ef ég fer í hér, nýja skrá, ég ætla til að spara þetta aftur er hello.php. 185 00:08:26,610 --> 00:08:31,450 Og nú ætla ég að fara á undan og segja, "prenta halló heimur" - 186 00:08:31,450 --> 00:08:35,130 og muna að ég get notað prenta, ég ekki að nota print-F. Og nú hérna, 187 00:08:35,130 --> 00:08:42,039 ef ég geri PHP af hello.php, huh-- I virðast ekki hafa túlkað það. 188 00:08:42,039 --> 00:08:43,412 Hvað gerði ég rangt? 189 00:08:43,412 --> 00:08:44,710 >> Áhorfendur: The horn armbönd. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Já, þú þarft sem oddklofi upp efst. 191 00:08:47,015 --> 00:08:49,390 Svo það er góður af pirrandi, en þú venst því fljótt. 192 00:08:49,390 --> 00:08:53,500 Ef ég þarf að skrifa PHP kóðann, ég yfirleitt þarf að segja forritinu, 193 00:08:53,500 --> 00:08:56,950 eða segja túlkur, hey PHP, hér kemur smá PHP kóða. 194 00:08:56,950 --> 00:09:00,440 Og þá fyrir gott mál, myndi ég loka þessu ekki með þetta, heldur 195 00:09:00,440 --> 00:09:03,740 með bara spurningarmerki horn krappi, svo að nú hérna, 196 00:09:03,740 --> 00:09:06,840 ef ég keyra þetta aftur, nú Ég fá viðkomandi niðurstöðu. 197 00:09:06,840 --> 00:09:09,820 >> Nú skulum gera lítilsháttar hagræðingu, bara svo að þú hafir séð það áður. 198 00:09:09,820 --> 00:09:14,040 Þetta er góður af pirrandi að ég að keyra PHP rúm hello.php, 199 00:09:14,040 --> 00:09:16,060 vegna þess að í síðasta I gæti bara skrifa punktur rista 200 00:09:16,060 --> 00:09:17,560 Nafnið program, sem er góður af gaman. 201 00:09:17,560 --> 00:09:19,420 Það er góður af a betri reynslu notenda. 202 00:09:19,420 --> 00:09:24,160 >> Svo kemur í ljós að þú getur gert þetta í PHP með following-- I 203 00:09:24,160 --> 00:09:28,780 Hægt er að nota þetta nokkuð dulinn incantation efst hér, 204 00:09:28,780 --> 00:09:31,740 sem er almennt kallað klabbið, þar er mikil tákn, 205 00:09:31,740 --> 00:09:34,270 svo að segja, þetta er Bang eða upphrópunarmerki. 206 00:09:34,270 --> 00:09:38,490 Og þetta er nú leiðin til forrit á dæmigerðum Linux kerfi sem 207 00:09:38,490 --> 00:09:41,500 er kallað umhverfi eða ENV. 208 00:09:41,500 --> 00:09:43,920 Og þetta line-- langa sögu short-- lína einn bara 209 00:09:43,920 --> 00:09:48,710 segir, hey tölva, finna PHP túlkur fyrir mig í umhverfinu, 210 00:09:48,710 --> 00:09:50,610 finna það í minni, svo að segja. 211 00:09:50,610 --> 00:09:54,130 >> Og hvað er gott nú, er að ef ég fer niður hér, 212 00:09:54,130 --> 00:09:57,750 Ég get gert punktur rista halló punktur PHP, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Aðgangi hafnað. 214 00:09:59,000 --> 00:10:02,350 Jæja, þú munt sjá enn meira af þessu með Heimadæmi sjö, ef þú 215 00:10:02,350 --> 00:10:04,060 hafa ekki nú þegar, með leyfi. 216 00:10:04,060 --> 00:10:06,510 Það kemur í ljós að ég þarf að framkvæma þessa skipun 217 00:10:06,510 --> 00:10:10,779 kallaði [? chamod?] til breytinga mode-- plús x hello.php. 218 00:10:10,779 --> 00:10:13,820 Ég þarf [inaudible] þetta einn til viðbótar skref sem er að segja tölvuna mína, 219 00:10:13,820 --> 00:10:16,400 gera hello.php executable. 220 00:10:16,400 --> 00:10:21,310 Og nú að horfa á það happens-- punktur rista hello.php, keyrir það bara. 221 00:10:21,310 --> 00:10:23,310 Ég þarf ekki að tilgreina túlkurinn lengur. 222 00:10:23,310 --> 00:10:26,680 Og ég get gert það enn fallegri, enn, ef ég endurnefna þetta. 223 00:10:26,680 --> 00:10:30,570 Ef ég flyt hello.php bara Hello-- svo tilkynningar í efst til vinstri, 224 00:10:30,570 --> 00:10:32,860 nafn forritsins er reyndar nú bara Hello. 225 00:10:32,860 --> 00:10:37,300 Nú get ég gert það líta út eins og C program, jafnvel þó að það er skrifað í PHP-- 226 00:10:37,300 --> 00:10:39,210 eða hreinskilnislega allir tala af öðrum tungumálum. 227 00:10:39,210 --> 00:10:41,480 >> Svo lélegur aukahluti, enginn hagnýtur munur. 228 00:10:41,480 --> 00:10:44,460 En það er bara smá forvitni nú, þannig að þú getur skrifað forrit 229 00:10:44,460 --> 00:10:48,989 á hvaða tungumáli, og notandinn er ekki að vita eða sjá hvað þeir eru. 230 00:10:48,989 --> 00:10:51,030 Jæja, við skulum líta á fleiri sannfærandi dæmi nú 231 00:10:51,030 --> 00:10:52,850 sem ég þeyttum upp fyrirfram. 232 00:10:52,850 --> 00:10:54,955 Og þetta er kallað quote.php. 233 00:10:54,955 --> 00:10:56,740 Og það er í boði á netinu. 234 00:10:56,740 --> 00:11:00,299 Og eftir að það er nokkuð short-- en það er a stjórn lína program sem er 235 00:11:00,299 --> 00:11:02,840 að fara að horfa upp hlutabréfaverð fyrir mig, sem er í raun að fara 236 00:11:02,840 --> 00:11:04,230 að vera germane að Heimadæmi sjö. 237 00:11:04,230 --> 00:11:05,396 >> Svo skulum sjá hvað ég er að gera. 238 00:11:05,396 --> 00:11:08,640 Á the mjög toppur ég hef fengið að opinn krappi spurningarmerki PHP. 239 00:11:08,640 --> 00:11:13,372 Þá hef ég þessa línu, þar sem ég er þurfa til skrá sem heitir functions.php-- 240 00:11:13,372 --> 00:11:15,080 við erum að fara að sjá meira um þetta í smá, 241 00:11:15,080 --> 00:11:17,340 en þetta er eins og C er útgáfa af skarpur eru, 242 00:11:17,340 --> 00:11:19,090 þar sem þú vilt fara eru aðra skrá. 243 00:11:19,090 --> 00:11:23,720 PHP kallar það þurfa, þó það Einnig hefur ma hlutverki. 244 00:11:23,720 --> 00:11:26,861 Og það kemur í ljós að function.php er bara eitthvað sem ég skrifaði áður bekknum. 245 00:11:26,861 --> 00:11:29,860 Ég setti það í sömu möppu, því Mig langaði til að þáttur út nokkur númer 246 00:11:29,860 --> 00:11:31,800 að við might vilja til að nota annars staðar. 247 00:11:31,800 --> 00:11:34,560 >> Á sama tíma, getur þú sennilega álykta hvað er að gerast hér. 248 00:11:34,560 --> 00:11:39,200 Þetta er svolítið öðruvísi frá C-- en hvað ég meina með því að tryggja rétta notkun? 249 00:11:39,200 --> 00:11:41,180 Þýða þessa meira tæknilega. 250 00:11:41,180 --> 00:11:45,950 Undir hvaða kringumstæðum er ég hætta forritið, eða spennandi? 251 00:11:45,950 --> 00:11:47,074 Já? 252 00:11:47,074 --> 00:11:47,990 >> Áhorfendur: Þegar þú ert ekki tveir stjórn lína rifrildi. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Þegar ég hef ekki að stjórn lína rifrildi. 254 00:11:49,480 --> 00:11:52,396 Og muna að einn af þeim rök er áætlunarinnar nafnið sjálft. 255 00:11:52,396 --> 00:11:55,340 Og annað er að fara að vera annað orð ég gerð eftir hvetja. 256 00:11:55,340 --> 00:11:57,460 Svo bara eins og C, þetta er leið mín að stöðva, 257 00:11:57,460 --> 00:12:00,022 gerði notandinn vinna og hlaupa the program eins og ég ætlaði? 258 00:12:00,022 --> 00:12:01,730 Nú, það er eitthvað svolítið öðruvísi 259 00:12:01,730 --> 00:12:04,020 með C-- fyrst af öllu sem við hafa þetta dollaramerki, 260 00:12:04,020 --> 00:12:07,710 og hvað þýðir dollara undirrita tákna í PHP? 261 00:12:07,710 --> 00:12:08,440 Bara breyta. 262 00:12:08,440 --> 00:12:11,731 Það er all-- bara breyta eftir hvað sem þú vilt í raun og veru kalla það. 263 00:12:11,731 --> 00:12:14,000 Taka það er eitthvað vantar PHP forrit mínu, 264 00:12:14,000 --> 00:12:18,210 bara eins og það vantaði síðast viku, á móti C, sem er hvað? 265 00:12:18,210 --> 00:12:21,620 >> A tegundir, en einnig eitthvað annað. 266 00:12:21,620 --> 00:12:26,409 Það er engin eitthvað function-- meginhlutverki. 267 00:12:26,409 --> 00:12:27,450 Það er engin Helsta hlutverk. 268 00:12:27,450 --> 00:12:29,680 Þú byrjar bara að skrifa númerið þitt án þess að þurfa 269 00:12:29,680 --> 00:12:32,790 að hafa áhyggjur af tiltölulega handahófskennt samningur um nafngiftir sumir sjálfgefið 270 00:12:32,790 --> 00:12:33,880 virka helsta. 271 00:12:33,880 --> 00:12:36,720 Svo er arg C bara virkilega a global breyta 272 00:12:36,720 --> 00:12:39,049 sem túlkur gerir í boði fyrir mig. 273 00:12:39,049 --> 00:12:40,090 Nú, þetta er áhugavert. 274 00:12:40,090 --> 00:12:41,140 Svo líta upp efni. 275 00:12:41,140 --> 00:12:43,370 Dollaramerki lager er á vinstri, það er breyta mín. 276 00:12:43,370 --> 00:12:45,120 Á hægri hönd hlið, það er greinilega 277 00:12:45,120 --> 00:12:50,270 fall í PHP heitir útlit sem Ég er liggur síðasta stjórn lína mín 278 00:12:50,270 --> 00:12:51,902 rök to-- hvað orðið er. 279 00:12:51,902 --> 00:12:53,610 Og við munum sjá hvernig þetta virkar í smá stund. 280 00:12:53,610 --> 00:12:55,380 >> Og þá loks ég tilkynna verðið. 281 00:12:55,380 --> 00:12:58,650 Ég er að prenta út eitt Hlutur svo og svo. 282 00:12:58,650 --> 00:13:02,082 Og muna, þetta er Leiðin PHP-- hátt í PHP-- 283 00:13:02,082 --> 00:13:04,290 þar sem þú þarft ekki að gera dollara merki S lengur. 284 00:13:04,290 --> 00:13:06,782 Þú getur bara notað hrokkið axlabönd og stinga í sumum breytu. 285 00:13:06,782 --> 00:13:09,240 Þú þarft ekki að hafa áhyggjur af með því að nota printf á sama hátt. 286 00:13:09,240 --> 00:13:13,530 >> Og eins og til hliðar, þegar þú setur breytu inni gæsalappa eins og þetta, 287 00:13:13,530 --> 00:13:17,370 þú ert að nota fínt tækni heitir breyta innskot. 288 00:13:17,370 --> 00:13:20,380 Það þýðir bara stinga breytu hér. 289 00:13:20,380 --> 00:13:23,760 Og eins og til hliðar, sumir af þú sem koma frá öðrum bakgrunn forritun, 290 00:13:23,760 --> 00:13:26,960 þú getur ekki notað einn quotes um strengi til að gera þetta. 291 00:13:26,960 --> 00:13:30,290 Þú verður að nota gæsalappa fyrir breyta innskot til að vinna. 292 00:13:30,290 --> 00:13:32,740 Annars þarftu bókstaflega sjá þessar hrokkið axlabönd. 293 00:13:32,740 --> 00:13:34,500 >> Svo loksins, við skulum fara á undan og keyra þetta. 294 00:13:34,500 --> 00:13:36,690 Leyfðu mér að gera flugstöðinni minn svolítið stærri. 295 00:13:36,690 --> 00:13:41,940 Leyfðu mér að fara á undan og keyra inni tilvísun skrá minn. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? vitna?] PHP tilvitnun punktur PHP, 297 00:13:46,950 --> 00:13:50,290 og ég ætla að leita að einhverju eins GOOG, sem er auà hennar, 298 00:13:50,290 --> 00:13:55,510 og einn hlut af nýju nafni sínu, Alphabet Inc, kosta $ 717, eins og í dag. 299 00:13:55,510 --> 00:13:58,680 Allt í lagi, ef við viljum keyra þetta aftur, einhver 300 00:13:58,680 --> 00:14:02,600 hafa annað hlutabréfaborða þeir vilja til að líta upp? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft ég held er þetta, MSFT-- 53 $. 302 00:14:06,770 --> 00:14:09,720 Ég held Yahoo er kannski það. 303 00:14:09,720 --> 00:14:12,130 Og Facebook er að. 304 00:14:12,130 --> 00:14:13,740 >> Svo er það þetta forrit að gera? 305 00:14:13,740 --> 00:14:16,306 Galdur virðist vera embed in í því útlit virka. 306 00:14:16,306 --> 00:14:17,430 Svo skulum taka a fljótur líta. 307 00:14:17,430 --> 00:14:21,815 >> Það kemur í ljós að ekki koma PHP, er það í functions.php. 308 00:14:21,815 --> 00:14:23,690 Og við munum ekki fara í gegnum þetta í smáatriðum, 309 00:14:23,690 --> 00:14:28,040 en taka aðgerð orð hér er að á línu sex af functions.php-- 310 00:14:28,040 --> 00:14:29,440 Ég segi bókstaflega virka. 311 00:14:29,440 --> 00:14:31,050 Ég tilgreina nafn virka mínum. 312 00:14:31,050 --> 00:14:34,330 Ég tilgreina þá hvaða rök, eða breytur, 313 00:14:34,330 --> 00:14:36,480 Ég vil að virka til að take-- engin tegundir. 314 00:14:36,480 --> 00:14:37,580 Og þá er ég að framkvæma það. 315 00:14:37,580 --> 00:14:39,240 >> Og ég ætla að veifa hendi minni á framkvæmd, 316 00:14:39,240 --> 00:14:42,115 þar sem það er nokkuð háþróaður rétt nú, en við munum sjá hann aftur í raun 317 00:14:42,115 --> 00:14:44,700 í viku í Heimadæmi sjö. 318 00:14:44,700 --> 00:14:47,490 En ég get þrífa þetta upp líka. 319 00:14:47,490 --> 00:14:49,590 Ég hef líka í númer í dag útgáfu 320 00:14:49,590 --> 00:14:52,340 af tilvísun, sem hefur enga punktur PHP skrá. 321 00:14:52,340 --> 00:14:57,270 Vegna þess að það er væntanlega á því Efst á forrit sem heitir bara vitna? 322 00:14:57,270 --> 00:15:00,140 Að svokölluð shebang-- á nokkuð dulinn incantation 323 00:15:00,140 --> 00:15:04,590 sem segir að finna PHP og þá keyra það á númerið mitt hér. 324 00:15:04,590 --> 00:15:07,360 >> Allt í lagi, þannig að koma okkur að þar sem við var horfið 325 00:15:07,360 --> 00:15:09,560 Síðast time-- vísu með sumir fleiri háþróaður dæmi. 326 00:15:09,560 --> 00:15:13,980 Einhverjar spurningar svona langt um PHP eða hvað við erum að gera? 327 00:15:13,980 --> 00:15:15,570 No-- allt í lagi. 328 00:15:15,570 --> 00:15:16,180 Já? 329 00:15:16,180 --> 00:15:19,610 >> Áhorfendur: Inni í HTML skrár, gera you-- 330 00:15:19,610 --> 00:15:22,226 [? þú?] [? bara kalla það?] a [inaudible] PHP skrá? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: Góð spurning. 332 00:15:23,350 --> 00:15:26,070 Í a vefur samhengi sem við erum bókstaflega um að umskipti, 333 00:15:26,070 --> 00:15:28,028 þú notar ekki svokölluð klabbið efst, 334 00:15:28,028 --> 00:15:31,980 vegna þess að vefþjóni oft forrit sem heitir Apache eða Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet Information Server, eða allir tala um aðrar vefur framreiðslumaður hugbúnaður, 336 00:15:37,470 --> 00:15:40,636 veit að þegar það sér punktur PHP skrá, að það 337 00:15:40,636 --> 00:15:42,010 ætti að keyra á túlkur á það. 338 00:15:42,010 --> 00:15:43,468 Það þýðir ekki að líta á þessi fyrstu línu. 339 00:15:43,468 --> 00:15:45,580 Svo þetta fyrstu línu bragð er bara þegar þú ert 340 00:15:45,580 --> 00:15:48,330 skrifa stjórn lína programs-- sem við munum ekki gera frábær oft, 341 00:15:48,330 --> 00:15:52,510 en það er leið okkar að brúa C dæmin til hafa PHP okkar. 342 00:15:52,510 --> 00:16:00,680 >> Svo skulum örugglega brúa þennan heim frá stjórn lína heimi til vefur 343 00:16:00,680 --> 00:16:02,230 með því að gera eftirfarandi. 344 00:16:02,230 --> 00:16:05,090 Leyfðu mér að fara á undan og draga hérna fyrir réttlátur a augnablik. 345 00:16:05,090 --> 00:16:09,940 Svo ef við hafa a vefur framreiðslumaður, eða öllu heldur ef við höfum fartölvuna mína hérna, 346 00:16:09,940 --> 00:16:11,280 sem ég teikna svona. 347 00:16:11,280 --> 00:16:14,250 Og hér höfum við það internet í einhverju formi. 348 00:16:14,250 --> 00:16:18,210 Og þá hérna, við höfum miðlara í building-- 349 00:16:18,210 --> 00:16:20,760 þetta er hvernig netið works-- og hér 350 00:16:20,760 --> 00:16:23,120 er miðlara með nokkrum ljósum kannski. 351 00:16:23,120 --> 00:16:27,530 Hvað er raunverulega að gerast milli þessara tveggja tenginga? 352 00:16:27,530 --> 00:16:29,240 >> Svo í þessari byggingu er vefur framreiðslumaður. 353 00:16:29,240 --> 00:16:31,420 Það er bara tölva sem er að keyra eitthvað rekstri 354 00:16:31,420 --> 00:16:34,561 system-- kannski frjáls hugbúnaður heitir Apache, sem CS50 IDE er í gangi. 355 00:16:34,561 --> 00:16:36,310 Svo þú getur raunverulega hugsa um þessa byggingu 356 00:16:36,310 --> 00:16:38,579 eins og að vera bygging í sem CSt0 IDE er geymt. 357 00:16:38,579 --> 00:16:40,870 Það er þar sem allt sem þú þarft reikninga, þar sem allir ykkar 358 00:16:40,870 --> 00:16:43,130 hafa eigin vefþjón þinn gangi, allir þér 359 00:16:43,130 --> 00:16:45,730 hafa eigin einstaka þinn vefslóðir, eins og við byrjuðum að ræða, 360 00:16:45,730 --> 00:16:47,280 og þú munt sjá fleiri í P. setja sex. 361 00:16:47,280 --> 00:16:49,450 >> Hér er minn laptop einhvers staðar annars á internetinu. 362 00:16:49,450 --> 00:16:54,550 Og svo þegar ég fer á vefslóð sem tilheyrir mér, sem internetið umferð er að fara 363 00:16:54,550 --> 00:16:58,360 yfir á miðlara, framreiðslumaður er fengu HTTP request-- 364 00:16:58,360 --> 00:17:02,900 eins og að fá index.html og það er svara þeirri vefsíðu. 365 00:17:02,900 --> 00:17:04,280 Svo er það almenn hugmyndafræði. 366 00:17:04,280 --> 00:17:07,089 En allt upp Þangað til nú í dag, allt 367 00:17:07,089 --> 00:17:09,660 var að gerast aðeins í takmörk þessarar byggingar. 368 00:17:09,660 --> 00:17:12,910 Ég var að nota fartölvuna mína, en Ég var tengd við CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 svo öll slík forrit sem ég var að keyra var inni í þjóninum, sjálft. 370 00:17:17,369 --> 00:17:22,660 >> En nú skulum við byrja endurnýta PHP að skrifa nokkrar raunverulegar áætlanir sem 371 00:17:22,660 --> 00:17:24,230 er boðið upp af vefþjóni. 372 00:17:24,230 --> 00:17:30,320 Og til að gera þetta, ég ætla að fara í a heild búnt af dæmum 373 00:17:30,320 --> 00:17:33,710 sem kynna þessa hugmynd hér. 374 00:17:33,710 --> 00:17:38,500 Svo er þetta eins konar fínt leið lýsa forritun fyrirmynd. 375 00:17:38,500 --> 00:17:41,540 >> Og í raun, eins og þú hættir CS50 eða vinna á lokaverkefnum, 376 00:17:41,540 --> 00:17:43,520 eða taka sumir fylgja á bekknum, þú munt byrja 377 00:17:43,520 --> 00:17:45,740 að sjá að við world-- sérstaklega hafa vaxið upp 378 00:17:45,740 --> 00:17:48,300 með tungumálum eins og C sem eru frábær lítil level-- 379 00:17:48,300 --> 00:17:51,290 gera sér grein fyrir að það er betra leiðir skriftir hugbúnaður. 380 00:17:51,290 --> 00:17:53,290 Það eru ákveðnar mynstur sem þú getur fylgst með, 381 00:17:53,290 --> 00:17:57,640 ákveðnar leiðir skipuleggja skrár og leiðir til að nafngiftir aðgerðir þínar, 382 00:17:57,640 --> 00:18:00,300 svo að langa sögu stutta, heimurinn hefur komið upp 383 00:18:00,300 --> 00:18:04,340 með a heild búnt af skammstöfunum og nöfn leiðir forritun. 384 00:18:04,340 --> 00:18:06,260 Þetta eru bara aðferðir sem þú gætir notað. 385 00:18:06,260 --> 00:18:09,660 >> Og einn af þeim er kallaður MVC, fyrir Model View Controller. 386 00:18:09,660 --> 00:18:12,270 Og þetta er bara fyrir nú, óhóflega flókið 387 00:18:12,270 --> 00:18:18,960 leið til að segja hvernig þú ættir að leggja út PHP-undirstaða website, í okkar tilviki. 388 00:18:18,960 --> 00:18:22,140 Hvernig heldur þú að skipuleggja skrár, hvernig gera þú skipuleggja rökfræði þinni, 389 00:18:22,140 --> 00:18:26,220 á þann hátt sem gerir það auðveldara að skrifa flóknari vefsíður? 390 00:18:26,220 --> 00:18:28,550 Og reyndar, munum við fljótt þangað með p-setja sjö. 391 00:18:28,550 --> 00:18:32,020 >> Svo í heimi MVC, ætlar þú að fara að sjá að númerið okkar getur almennt 392 00:18:32,020 --> 00:18:38,290 að einkennast eins annaðhvort reglnanna, eða stjórnandi númer, eða skoða númer. 393 00:18:38,290 --> 00:18:40,200 Og ég ætla að málin það sem follows-- 394 00:18:40,200 --> 00:18:42,074 stjórnandi er heila program, 395 00:18:42,074 --> 00:18:44,100 það er þar allt í áhugavert rökfræði gerist. 396 00:18:44,100 --> 00:18:46,110 Svo allt sem við höfum verið skrifa svona langt í bekknum, 397 00:18:46,110 --> 00:18:48,210 er góður af eins og stjórnandi code-- það er að stjórna 398 00:18:48,210 --> 00:18:50,585 program, lykkjur þín, þinn skilyrði, virka þinn 399 00:18:50,585 --> 00:18:52,100 og breytur og allt það. 400 00:18:52,100 --> 00:18:56,160 >> Views, nú, eru að fara að vera svolítið meiri í heiminum á vefnum. 401 00:18:56,160 --> 00:18:59,360 Horft er fagurfræði af vefsvæði þínu. 402 00:18:59,360 --> 00:19:04,080 Það er það sem notandinn sees-- myndirnar, HTML töflur, HTML tags, og allt 403 00:19:04,080 --> 00:19:08,220 um það, allar Fluffy fagurfræði efni sem er ekki það erfitt að skrifa, 404 00:19:08,220 --> 00:19:11,380 en er bara það sem þú ert að búa til, er svokölluð útsýni, fagurfræði. 405 00:19:11,380 --> 00:19:13,880 Og líkan, að lokum, er að fara að vera gagnasafn stuff-- sem 406 00:19:13,880 --> 00:19:16,510 munum við byrja köfun í öllum Því meira sem þetta miðvikudagur. 407 00:19:16,510 --> 00:19:19,740 Svo stjórnandi er rökfræði, útsýni er fagurfræði efni, 408 00:19:19,740 --> 00:19:23,500 og fyrirmynd er að fara að vera þar við geyma raunveruleg gögn okkar. 409 00:19:23,500 --> 00:19:26,410 >> Svo skulum líta á þetta meira concretely með eftirfarandi dæmi. 410 00:19:26,410 --> 00:19:34,700 Ég ætla að fara inn í möppuna mína hér af upptökum í dag code-- allt sem 411 00:19:34,700 --> 00:19:35,770 er í boði á netinu. 412 00:19:35,770 --> 00:19:37,800 Og ég ætla að fara í útgáfu núll. 413 00:19:37,800 --> 00:19:41,500 Og hér is-- skulum kalla hann útgáfa núll af heimasíðu CS50 er. 414 00:19:41,500 --> 00:19:43,010 Það er ekki mikið hér yfirleitt. 415 00:19:43,010 --> 00:19:46,810 Það er mjög einfalt vefsíðu sem er sennilega nota það HTML tags-- bara 416 00:19:46,810 --> 00:19:48,970 giska síðustu dæmum? 417 00:19:48,970 --> 00:19:49,890 >> Hvað er þetta? 418 00:19:49,890 --> 00:19:53,920 H1-- sennilega fyrir það stór feitletruð titill, sem logo upp efst, CS50. 419 00:19:53,920 --> 00:19:55,080 Og hvað er að verki? 420 00:19:55,080 --> 00:19:55,799 Já? 421 00:19:55,799 --> 00:19:56,840 Áhorfendur: Óraðaður listi. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: Óraðaður list-- svo UL tag og kannski par af LI tags. 423 00:19:59,990 --> 00:20:01,840 Og ef þú manst ekki þessir, það heiðarlega skiptir ekki máli. 424 00:20:01,840 --> 00:20:04,170 Þetta eru Fluffy konar framkvæmd upplýsingar um HTML 425 00:20:04,170 --> 00:20:06,378 að þú lítur fljótt upp og þú ert aftur á vegi þínum. 426 00:20:06,378 --> 00:20:10,040 Við munum leggja áherslu meira á forritun hugmyndir sem eru að juicier stykki. 427 00:20:10,040 --> 00:20:12,890 >> Svo skulum við taka bara fljótur líta á HTML-- og örugglega 428 00:20:12,890 --> 00:20:16,880 ef ég opna View Source hér, jamm, Það er einmitt það sem er að gerast hér. 429 00:20:16,880 --> 00:20:18,440 Það er UL tag. 430 00:20:18,440 --> 00:20:20,630 Hreiður inni í því er að lágstyrks- tags. 431 00:20:20,630 --> 00:20:24,470 Og þá er ég að láni slóðina á raunverulegri kennsluáætlun hér. 432 00:20:24,470 --> 00:20:27,570 >> Og síðan í lectures.php er greinilega 433 00:20:27,570 --> 00:20:31,640 annar virk mynda síðu það er að fara að hafa, við skulum see-- Ah, 434 00:20:31,640 --> 00:20:33,170 fyrstu tvær vikurnar í fyrirlestri. 435 00:20:33,170 --> 00:20:36,600 Svo viku núll og viku einn, við skulum líta á this-- ef ég skoða síðu uppspretta, 436 00:20:36,600 --> 00:20:38,120 Einnig frábær einfalt. 437 00:20:38,120 --> 00:20:42,430 Þetta eru leiðir til tvær síður heitir week0.php og week1.php. 438 00:20:42,430 --> 00:20:44,040 Svo íhuga nú hvað er að gerast. 439 00:20:44,040 --> 00:20:50,630 >> Þegar ég smelli á week0.php, laptop minn er að gera beiðni um week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Vefþjónninn, gengur einnig undir nafninu, CS50 IDE, fær að raunverulegur umslag. 442 00:20:58,110 --> 00:21:01,040 Það er að sjá skilaboð eins, fá week0.php. 443 00:21:01,040 --> 00:21:05,060 Það er síðan túlka skrá, efst til botn, vinstri til right-- skrána 444 00:21:05,060 --> 00:21:07,720 heitir week0.php-- og spúandi niðurstöður. 445 00:21:07,720 --> 00:21:10,510 Svo inni af þessari skrá, week0.php, verður að vera 446 00:21:10,510 --> 00:21:15,410 stjórnandi rökfræði sem er að búa þetta HTML, og við munum fljótlega sjá að. 447 00:21:15,410 --> 00:21:19,340 >> En nú, láttu mig smella á viku núll, og nú höfum við miðvikudag og föstudag, 448 00:21:19,340 --> 00:21:25,260 og nú höfum við glærur hægt af viku núll. 449 00:21:25,260 --> 00:21:27,400 Og þú gætir muna þetta frá leið til baka þegar. 450 00:21:27,400 --> 00:21:29,340 Svo er það allt þetta vefsvæði er að gera. 451 00:21:29,340 --> 00:21:31,120 >> Svo skulum við íhuga hvernig það er að gera þetta. 452 00:21:31,120 --> 00:21:34,290 Ég ætla að fara aftur inn í Kóðinn hér í CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 og ég ætla að opna index.php. 454 00:21:36,660 --> 00:21:38,910 Efst á þessa skrá er fullt af athugasemdum. 455 00:21:38,910 --> 00:21:43,000 Og þá í the miðja af þessari skrá, það kemur í ljós, er ekki PHP kóðann neinu tagi. 456 00:21:43,000 --> 00:21:47,380 Vegna þess að ef þú ert ekki með neina af opinn krappi spurningarmerki PHP tags, 457 00:21:47,380 --> 00:21:49,180 þú ert frjáls til að bara að setja HTML. 458 00:21:49,180 --> 00:21:51,480 >> Vegna þess að það er PHP túlkur er ætlað að gera, 459 00:21:51,480 --> 00:21:53,938 er þegar það les þessa file-- toppur til botn, vinstri til right-- 460 00:21:53,938 --> 00:21:59,100 það túlkar aðeins kóðann það sér á milli þessir oddklofar spurningarmerki. 461 00:21:59,100 --> 00:22:02,380 Og allt annað að það er ekki viðurkenna sem PHP, það spits bara út. 462 00:22:02,380 --> 00:22:05,080 Og HTML er meðal efni það verður bara að spýta út. 463 00:22:05,080 --> 00:22:09,090 >> Þannig að þetta skrá gæti hafa verið kallaður index.html, 464 00:22:09,090 --> 00:22:11,690 en ég ætla að nefna allt punktur PHP sem stepping steinn. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- álíka underwhelming, er það bara sumir HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, álíka bara sumir HTML. 467 00:22:19,840 --> 00:22:22,300 >> En nú skulum setja á proverbial verkfræði húfu, 468 00:22:22,300 --> 00:22:24,400 og íhuga hvernig við getum bætt það. 469 00:22:24,400 --> 00:22:28,541 Það er ekki erfitt að gera þetta, en ég góður af dreifstýringu í afrita og líma. 470 00:22:28,541 --> 00:22:31,540 Og í raun, ef ég geri viku tvö, þú veit hvað ég er líklega að fara að gera? 471 00:22:31,540 --> 00:22:34,940 Ég ætla að fara til week1.php, ég er að fara að varpa ljósi allt. 472 00:22:34,940 --> 00:22:39,110 Ég ætla að afrita það, líma það í nýja skrá sem heitir week2.php, 473 00:22:39,110 --> 00:22:42,440 klip nokkrar vefslóðir, og vera á leiðinni. 474 00:22:42,440 --> 00:22:45,240 >> Svo miðað við það sem við höfum séð í C þegar, 475 00:22:45,240 --> 00:22:46,860 þetta virkar ekki finnst rétt, vonandi. 476 00:22:46,860 --> 00:22:49,610 Afrita, líma sjaldan rétt lausn. 477 00:22:49,610 --> 00:22:51,429 Og hvað getum við byrjað að gera til að bæta þetta? 478 00:22:51,429 --> 00:22:53,345 Hvar eru tækifærin fyrir betri hönnun? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Þegar ég fá að viku átta, það er að fara 481 00:22:58,760 --> 00:23:00,910 að vera mjög pirrandi ef ég vil breyta 482 00:23:00,910 --> 00:23:03,930 letrið á hver og einn síðurnar, eða ef ég vil 483 00:23:03,930 --> 00:23:06,522 að breyta uppbyggingu skipulag. 484 00:23:06,522 --> 00:23:08,396 Svo hvar er tækifæri fyrir betri hönnun? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Jæja, við skulum íhuga hvað er hluti yfir allar þessar skrár. 487 00:23:15,160 --> 00:23:21,696 >> Hér er viku einn, hér er viku núll, hér er lectures.php, 488 00:23:21,696 --> 00:23:25,790 hér er index.php-- það er sama og Hvað er öðruvísi, bil að tala, 489 00:23:25,790 --> 00:23:26,760 á öllum þessum skrám? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 Já? 492 00:23:32,060 --> 00:23:34,560 >> Áhorfendur: [inaudible] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: Allt í lagi, gott. 495 00:23:42,160 --> 00:23:46,115 Svo er það mynstur, örugglega, þar í hvert skipti sem ég vel fyrirlestrinum, 496 00:23:46,115 --> 00:23:48,250 Ég skal búa til mjög svipuð útlit síðu. 497 00:23:48,250 --> 00:23:50,375 Og svo kannski get ég nýta sú staðreynd að í raun, 498 00:23:50,375 --> 00:23:53,060 við vísvitandi tölulega verðtryggð lectures-- okkar 499 00:23:53,060 --> 00:23:55,290 ef ég get sett enn meira orð í svari þínu. 500 00:23:55,290 --> 00:23:59,984 Og hvað er það eina sem, í raun, sem er að breytast á milli viku one-- 501 00:23:59,984 --> 00:24:02,400 og láta mig fletta niður svo það er nokkurn veginn í sama place-- 502 00:24:02,400 --> 00:24:05,480 svo hér er viku núll, u.þ.b. efst. 503 00:24:05,480 --> 00:24:12,370 Hér er viku einn, viku núll, viku einn, viku núll. 504 00:24:12,370 --> 00:24:14,370 OK, bókstaflega ef þú veist ekkert forrit af neinu tagi, 505 00:24:14,370 --> 00:24:16,286 þetta er nú bara eins og mynstur samsvörun leikur. 506 00:24:16,286 --> 00:24:17,200 Svo er það öðruvísi? 507 00:24:17,200 --> 00:24:18,765 Já? 508 00:24:18,765 --> 00:24:19,777 >> Áhorfendur: [inaudible] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Gott, svo titill er að breytast, alltaf svo lítið. 510 00:24:22,360 --> 00:24:24,010 Zero er að fara, að sjálfsögðu, að einn. 511 00:24:24,010 --> 00:24:25,570 Sami hlutur er að gerast í H1 tag. 512 00:24:25,570 --> 00:24:28,790 Og við gerum ekki alveg að sjá það eins auðveldlega, vegna þess að vefslóðir eru svolítið lengi. 513 00:24:28,790 --> 00:24:30,670 En þeir slóðir eru að breytast lítillega. 514 00:24:30,670 --> 00:24:34,490 >> En hvað er ekki að breytast er, þora ég segja, af innihaldi page-- 515 00:24:34,490 --> 00:24:38,530 HTML tag er sama, höfuð er sama, titill er nánast það sama, 516 00:24:38,530 --> 00:24:40,659 líkaminn er sama og nánast allt annað 517 00:24:40,659 --> 00:24:42,450 er það sama nema fyrir þessir litlu klip. 518 00:24:42,450 --> 00:24:45,310 Og hvernig getum við farið um þátta eitthvað af þessu út? 519 00:24:45,310 --> 00:24:48,740 >> Jæja látið mig leggja nákvæmlega að í næstu útgáfu. 520 00:24:48,740 --> 00:24:53,890 Svo hér í útgáfu eitt, ég hef nákvæmlega Sömu skrár, auk a par af öðrum. 521 00:24:53,890 --> 00:24:59,730 Hér er index.php-- og jafnvel ef þú hefur aldrei séð PHP áður, 522 00:24:59,730 --> 00:25:05,511 hvað er ég að gera sennilega að leysa þetta problem-- miðað við það sem þú sérð hér? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Já, er að lítilsháttar skuldbindingu? 525 00:25:12,760 --> 00:25:13,450 Nei? 526 00:25:13,450 --> 00:25:16,020 Já, fara á. 527 00:25:16,020 --> 00:25:17,380 >> Áhorfendur: [inaudible] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Já. 529 00:25:18,380 --> 00:25:20,380 >> Áhorfendur: [inaudible] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: ég þarf að tala bara smá hávær. 532 00:25:28,669 --> 00:25:31,084 >> Áhorfendur: [inaudible] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: Allt í lagi, gott. 535 00:25:36,660 --> 00:25:38,620 Og ég think-- það var erfitt að heyra you-- en ég 536 00:25:38,620 --> 00:25:42,690 hugsa hvað þú ert að fá á er að merkin sem voru algeng upp efst, 537 00:25:42,690 --> 00:25:47,710 og merkingar sem voru algeng á botn, hafa nú verið tekið út, 538 00:25:47,710 --> 00:25:51,140 eða relegated að hvaða skrá? 539 00:25:51,140 --> 00:25:53,476 Header.php og footer.php-- og við erum að fara 540 00:25:53,476 --> 00:25:55,600 að gera nokkrar klip til takast á áhyggjum þú bara 541 00:25:55,600 --> 00:25:59,370 hækkað um tölurnar breytast, fyrir dæmi, ef ég heyrði þig rétt. 542 00:25:59,370 --> 00:26:02,060 >> En það virðist vera GIST það. 543 00:26:02,060 --> 00:26:04,820 Ef það var mikið magn af offramboð efst á síðunni, 544 00:26:04,820 --> 00:26:06,736 og a gríðarstór magn af offramboð neðst, 545 00:26:06,736 --> 00:26:09,280 skulum bókstaflega bara hápunktur og skera þessi efni út, 546 00:26:09,280 --> 00:26:13,270 setja það í sér file-- bara eins hugmyndin um CSS, þar sem við reiknað út 547 00:26:13,270 --> 00:26:16,710 mjög svipuð fagurfræði, setja það í sér punktur PHP skrá, 548 00:26:16,710 --> 00:26:20,340 nota þarf mechanism-- sem er eins C Sharp include-- sem 549 00:26:20,340 --> 00:26:23,570 er í meginatriðum eins og að segja að fara grípa innihald header.php, 550 00:26:23,570 --> 00:26:25,370 og afrita og líma þær hér. 551 00:26:25,370 --> 00:26:29,490 >> En hvað þýðir þetta er að nú í index.php, ég þá tvær línur. 552 00:26:29,490 --> 00:26:32,130 Í lectures.php, ég líka hafa þessir tvær línur. 553 00:26:32,130 --> 00:26:35,230 Í week0.php, ég líka hafa þessir tvær línur. 554 00:26:35,230 --> 00:26:38,380 >> Svo nú, ef ég vil breyta titill allar síður mínum, 555 00:26:38,380 --> 00:26:40,530 eða ég vil breyta grundvallaratriði uppbyggingu, 556 00:26:40,530 --> 00:26:44,380 Ég get breytt því núna í aðeins einum stað, eða tveir places-- haus og fót, 557 00:26:44,380 --> 00:26:45,429 í sömu röð. 558 00:26:45,429 --> 00:26:47,970 Nú upphafið kóðann er að líta aðeins meira dulinn, ekki satt? 559 00:26:47,970 --> 00:26:53,590 En ef þú hugsar um það á síðunni er doing-- ef ég biðja week0.php, 560 00:26:53,590 --> 00:26:59,880 bara eins og á teikningu yfir here-- þegar óskað er eftir week0.php, 561 00:26:59,880 --> 00:27:00,960 hvað þýðir það? 562 00:27:00,960 --> 00:27:04,410 >> Bókstaflega, þessi skrá er óskað eftir vafra. 563 00:27:04,410 --> 00:27:06,240 Í vefþjóni gengur einnig undir nafninu 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- grípur þetta skrá, week0.php, og les 565 00:27:09,250 --> 00:27:10,780 það toppur til botn, vinstri til hægri. 566 00:27:10,780 --> 00:27:15,400 Á línu eitt, kynni það strax opinn krappi spurningarmerki PHP, þurfa 567 00:27:15,400 --> 00:27:17,872 haus punktur PHP, og svo hvað PHP túlkur 568 00:27:17,872 --> 00:27:20,580 does-- sem er byggt inn í the vefur miðlara, vegna þess að við forstillt 569 00:27:20,580 --> 00:27:24,580 það fyrir you-- það fer sjálfkrafa í header.php afrit innihald, 570 00:27:24,580 --> 00:27:25,640 Límir þá hér. 571 00:27:25,640 --> 00:27:28,790 >> En þá túlkaþjónustu fundur spurningarmerki nálægt krappi, 572 00:27:28,790 --> 00:27:30,320 svo það er allt gert að hugsa. 573 00:27:30,320 --> 00:27:33,400 Nú spits það bara í blindni út línum tvö með sjö, 574 00:27:33,400 --> 00:27:35,240 vegna þess að það er bara hrár HTML. 575 00:27:35,240 --> 00:27:38,470 Fær að stilla átta, og gerir það Sama galdur again-- opna skrána, 576 00:27:38,470 --> 00:27:41,460 grabbing innihald, og þurfa þá eða líma þær 577 00:27:41,460 --> 00:27:42,480 rétt þá eða þar. 578 00:27:42,480 --> 00:27:44,210 >> En ég benti bara villu. 579 00:27:44,210 --> 00:27:48,610 Þetta er að hluta skref afturábak, vegna þess að ef við lítum í header.php, 580 00:27:48,610 --> 00:27:50,850 Ég hef konar skera horn. 581 00:27:50,850 --> 00:27:56,250 Hvað lögun gerði ég gefa upp til til að öðlast þessa áreiðanlegur betri hönnun? 582 00:27:56,250 --> 00:27:57,305 Já? 583 00:27:57,305 --> 00:27:58,180 Áhorfendur: [inaudible] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Já, ég konar af skera nontrivial horn. 585 00:28:00,570 --> 00:28:04,489 Þú benti á að það var að breytast var titill, fjöldi í titlinum, 586 00:28:04,489 --> 00:28:05,530 og fjöldi í H1. 587 00:28:05,530 --> 00:28:08,170 Svo lausnin mín var, OK, við skulum bara endurnefna síðu, 588 00:28:08,170 --> 00:28:10,080 og ekki takast á við það vandamál af neinu tagi. 589 00:28:10,080 --> 00:28:12,130 Svo er það að hluta stíga aftur á bak fyrir viss. 590 00:28:12,130 --> 00:28:14,300 >> En hvað er athyglisvert hér er að það sem ég hef gert 591 00:28:14,300 --> 00:28:17,200 er annars reiknað út öllum sameiginlegum efni. 592 00:28:17,200 --> 00:28:21,520 Og í footer.php, eftir ég reiknað út allt það, að vísu minni, 593 00:28:21,520 --> 00:28:22,790 algengar efni. 594 00:28:22,790 --> 00:28:26,070 Þannig að ég þarf einhvern veginn að nú að vera fær um að taka eitt skref áfram, og festa 595 00:28:26,070 --> 00:28:27,160 þessi titill málefni. 596 00:28:27,160 --> 00:28:28,180 Svo skulum gera það. 597 00:28:28,180 --> 00:28:35,060 >> Leyfðu mér að fara inn í seinni útgáfa minn Hér, sem, aftur, hefur sömu skrár 598 00:28:35,060 --> 00:28:36,825 nema einn nýja viðbót. 599 00:28:36,825 --> 00:28:38,950 Og það er lítið meira fjölorður, en við skulum sjá hvort við 600 00:28:38,950 --> 00:28:40,550 getur stríða í sundur hvað er að gerast hér. 601 00:28:40,550 --> 00:28:45,370 Þannig að í stað þess að þurfa header.php og footer.php, 602 00:28:45,370 --> 00:28:50,180 Ég virðist vera aðeins krefjast þess að einn file-- kallað, að sjálfsögðu, helpers.php. 603 00:28:50,180 --> 00:28:52,560 Og láta mig kveða nú, hvað er inni í helpers.php 604 00:28:52,560 --> 00:28:55,330 er bara fullt af aðgerðum sem ég skrifaði, eins og áður. 605 00:28:55,330 --> 00:28:57,550 En ég kallaði það helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Nú virðist, í lína þrjú og 10, ég er 607 00:29:00,370 --> 00:29:02,840 kalla tvær functions-- láta haus, bakið fæti. 608 00:29:02,840 --> 00:29:05,040 Þeir koma ekki með PHP, skrifaði ég þær sjálfur. 609 00:29:05,040 --> 00:29:07,880 Og ég setti þá í helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Nú höfum við aðeins séð þetta setningafræði einu sinni, og það var frábær stutt. 611 00:29:11,210 --> 00:29:15,330 En þetta er greinilega rök að láta haus, sem virka. 612 00:29:15,330 --> 00:29:16,450 Hvers vegna veit ég það? 613 00:29:16,450 --> 00:29:18,522 Jæja hér er náinn paren, hér er opinn paren. 614 00:29:18,522 --> 00:29:21,230 Og auðvitað, rétt eins og í C, nokkuð á milli þessara sviga 615 00:29:21,230 --> 00:29:23,350 er input-- eða rök að virka. 616 00:29:23,350 --> 00:29:26,710 >> Hvað er gögn tegund þessa röksemdafærslu, miðað við það sem ég hef bent? 617 00:29:26,710 --> 00:29:30,820 Hvað gera þessir hornklofum benda, byggt á síðustu viku? 618 00:29:30,820 --> 00:29:33,390 Já, það er array-- sérstaklega tengin array. 619 00:29:33,390 --> 00:29:35,700 Og þetta setningafræði vísu er svolítið angurvær, 620 00:29:35,700 --> 00:29:38,860 en þetta er bara farið í einn lykill gildi par. 621 00:29:38,860 --> 00:29:43,530 Lykilatriðið er, vitna unquote titill, og gildið er CS50. 622 00:29:43,530 --> 00:29:46,220 >> Ef við hefðum gert þetta í C, gæti það í staðinn 623 00:29:46,220 --> 00:29:49,400 líta meira eins og þetta, bara vitna unquote CS50-- 624 00:29:49,400 --> 00:29:52,460 eða í raun væri hrokkið axlabönd, eða eitthvað svoleiðis í C, 625 00:29:52,460 --> 00:29:55,580 þar sem lykillinn er núll, og gildi er CS50. 626 00:29:55,580 --> 00:29:59,840 En aftur, í PHP, jafnvel þótt setningafræði er, aftur, svolítið skrítið, 627 00:29:59,840 --> 00:30:02,860 það gerir þér kleift að fara í orð í stað númer 628 00:30:02,860 --> 00:30:05,120 að tengja takka með gildum. 629 00:30:05,120 --> 00:30:06,390 >> Svo hvað þýðir þetta allt þýðir? 630 00:30:06,390 --> 00:30:09,750 Ef ég fer inn helpers.php, við skulum líta á þessa aðgerð. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, frekar renderHeader er virka minn, 632 00:30:13,620 --> 00:30:16,220 og ég veit að því að ég sé virka leitarorð hér. 633 00:30:16,220 --> 00:30:19,450 Þetta er nýtt frá C-- það virðist tekur rök kallast data-- 634 00:30:19,450 --> 00:30:22,400 en ég hefði getað kallað þetta neitt, en ég kallaði það gögn, 635 00:30:22,400 --> 00:30:25,090 bara til að vera svolítið clean-- og bara taka giska, sérstaklega 636 00:30:25,090 --> 00:30:28,173 ef þú hefur forritað í einhverjum öðrum meiri tungumál áður, eitthvað 637 00:30:28,173 --> 00:30:29,820 ofan C, eðli. 638 00:30:29,820 --> 00:30:33,820 >> Hvað gerir jafnan opið krappi ferningur krappi meina sennilega? 639 00:30:33,820 --> 00:30:35,540 Eða hvað gæti það þýtt? 640 00:30:35,540 --> 00:30:39,660 Við höfum ekki séð þetta í C Já? 641 00:30:39,660 --> 00:30:40,480 >> Tómt array. 642 00:30:40,480 --> 00:30:45,440 Sérstaklega, þetta þýðir að ef the notandi hjartarskinn ekki kalla renderHeader 643 00:30:45,440 --> 00:30:49,340 með rifrildi, ég er enn að fara að hafa rök kallast gögn, 644 00:30:49,340 --> 00:30:52,327 en sjálfgefið gildi er að fara að vera tómt array. 645 00:30:52,327 --> 00:30:53,660 Svo það er bara gott þægindi. 646 00:30:53,660 --> 00:30:56,493 Ég þarf ekki að æpa á notanda, eða segja að þú notaðir virka minn rangt. 647 00:30:56,493 --> 00:30:59,849 Ég get bara gefa notandanum sjálfgefið gildi, ef ég er ekki sérstaklega annt. 648 00:30:59,849 --> 00:31:01,890 Nú þetta virka, ég er að fara að veifa höndum mínum á. 649 00:31:01,890 --> 00:31:07,620 En þetta þykkni virka leyfa okkur að fara þessar breytur í gögnum 650 00:31:07,620 --> 00:31:10,360 inn header.php á eftirfarandi hátt. 651 00:31:10,360 --> 00:31:13,100 Og þetta er síðasta stykki, Ég held, að angurvær setningafræði. 652 00:31:13,100 --> 00:31:15,860 Hér er ný útgáfa mín af header.php-- það 653 00:31:15,860 --> 00:31:20,140 notað til að segja, bókstaflega, opinn krappi titill CS50, og það var það. 654 00:31:20,140 --> 00:31:21,766 Og það sama fyrir H1. 655 00:31:21,766 --> 00:31:24,310 >> Nú segir það virðist eitthvað ansi angurvær. 656 00:31:24,310 --> 00:31:28,030 Og láta mig einfalda þetta um stund eins og hér segir. 657 00:31:28,030 --> 00:31:31,020 Þetta er það sem ég hef breytt titil minn til að vera. 658 00:31:31,020 --> 00:31:35,140 Hins vegar er það að fá smá ljót stöðugt opnum sviga með PHP, 659 00:31:35,140 --> 00:31:36,610 og þá nota prenta virka. 660 00:31:36,610 --> 00:31:40,810 Það kemur í ljós að PHP er styttingin merki fyrir þetta, sem er bara 661 00:31:40,810 --> 00:31:45,050 jafnaðarmerki, sem er tæknilega a virka heitir echo stað á prenti, 662 00:31:45,050 --> 00:31:46,800 en það er sama, í raun. 663 00:31:46,800 --> 00:31:48,440 >> Það lítur bara betur. 664 00:31:48,440 --> 00:31:50,510 Það er bara nokkur dæmi um setningarleg sykur, ef þú vilt, 665 00:31:50,510 --> 00:31:52,260 sem gerir númerið mitt líta svolítið betur. 666 00:31:52,260 --> 00:31:54,010 En það kemur í ljós, og við munum sjá þetta aftur 667 00:31:54,010 --> 00:31:57,420 áður en langt, höfum við að kalla þetta óþægilega langur virka heitir 668 00:31:57,420 --> 00:32:00,582 HTML sérstök stafir í PHP, vegna þess að það kemur í ljós 669 00:32:00,582 --> 00:32:02,790 það eru ákveðin inntak að notandinn gæti gefið okkur, 670 00:32:02,790 --> 00:32:05,160 eða að notendur gætu gefið okkur, sem eru að fara að brjóta á síðuna okkar. 671 00:32:05,160 --> 00:32:07,035 En við munum sjá að næsta viku með JavaScript. 672 00:32:07,035 --> 00:32:10,740 En nú, bara vita að þessi skrá, headers.php, einfaldlega 673 00:32:10,740 --> 00:32:13,040 tekur titilinn sem Ég fór í það að gera 674 00:32:13,040 --> 00:32:17,380 viss um að það er óhætt að sprauta inn í a vefur síðu, og það spits það út eins og titill minn 675 00:32:17,380 --> 00:32:18,640 og eins H1 minn. 676 00:32:18,640 --> 00:32:24,440 Svo ef ég fer í þessari útgáfu núna, eftir því að fyrirlestrar eru titil sinn aftur, 677 00:32:24,440 --> 00:32:28,630 viku núll hefur titil sinn aftur, og reyndar HTML ég búa 678 00:32:28,630 --> 00:32:32,110 er eins og hvaða fyrstu útgáfu minni was-- nema bil mitt, 679 00:32:32,110 --> 00:32:35,150 vegna þess að ég hef byrjað að forsníða númerið mitt svolítið öðruvísi. 680 00:32:35,150 --> 00:32:38,082 En ég hef búið allt kóðinn ég hugsa um. 681 00:32:38,082 --> 00:32:39,790 Svo láta mig gera hlé bara smá stund og sjá 682 00:32:39,790 --> 00:32:42,200 ef það er einhverjar spurningar eða rugl sem ég hef búið til. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Allt í lagi, þannig að við skulum snúa svolítið erfiðara hér 685 00:32:48,150 --> 00:32:51,500 til að sjá hvort það er tækifæri til úrbóta. 686 00:32:51,500 --> 00:32:56,130 Helpers.php hafði einnig þetta virka, sem heitir renderFooter. 687 00:32:56,130 --> 00:32:59,652 Og hvað er athyglisvert renderHeader og renderFooter? 688 00:32:59,652 --> 00:33:02,610 Og aftur, vegna í dag, veit að þykkni virka er bara 689 00:33:02,610 --> 00:33:08,280 mín leið brottför rök í header.php og footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Sorry? 692 00:33:11,780 --> 00:33:13,056 >> Áhorfendur: [inaudible] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Já, bara ég breytt krefjast línu. 694 00:33:15,180 --> 00:33:19,410 Svo bókstaflega, ég hef framið synd að afrita og líma, enn og aftur. 695 00:33:19,410 --> 00:33:21,920 Það er ekki a gríðarstór tala línum, en koma on-- 696 00:33:21,920 --> 00:33:25,220 ef ég er að afrita og líma allt bara að breyta einum smá orð, 697 00:33:25,220 --> 00:33:28,610 og eitt lítið orð sem Alan bendir út er fót hér, á móti haus hér. 698 00:33:28,610 --> 00:33:30,670 Annars, allt er eins nema, 699 00:33:30,670 --> 00:33:32,180 auðvitað, nöfn sem virka er. 700 00:33:32,180 --> 00:33:33,690 Svo hvað getum við gert betur? 701 00:33:33,690 --> 00:33:39,810 >> Jæja látið mig opna þessa útgáfu hér, þar sem í helpers.php, 702 00:33:39,810 --> 00:33:42,300 hvers vegna get ég ekki fá bara lítið betri um þetta? 703 00:33:42,300 --> 00:33:46,410 Skrifa örlítið flóknara kóða, en kalla það bakið? 704 00:33:46,410 --> 00:33:48,470 Svo hvað hef ég breyst í grundvallaratriðum? 705 00:33:48,470 --> 00:33:51,770 >> Það tekur rök now-- tvær breytur, gögn enn. 706 00:33:51,770 --> 00:33:54,444 Og þá er það fyrsta sem Nafnið líklega verið notað, 707 00:33:54,444 --> 00:33:55,860 miðað við það sem þú ert að lesa hér? 708 00:33:55,860 --> 00:33:58,452 Jafnvel þótt sumir af the setningafræði er enn nýr. 709 00:33:58,452 --> 00:33:59,660 Hvað er dollaramerki sniðmát? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Sorry? 712 00:34:03,016 --> 00:34:03,710 >> Áhorfendur: haus eða fót. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: haus eða fót. 714 00:34:04,510 --> 00:34:07,134 Svo virðist, ákvað ég að ef það eina sem er að breytast 715 00:34:07,134 --> 00:34:10,159 er það sniðmát sem ég vil að print-- og með sniðmát 716 00:34:10,159 --> 00:34:13,100 Ég meina þetta er Teikning til númer sem ég vil að framleiðsla, 717 00:34:13,100 --> 00:34:16,350 en ég vil tengja í sumum values-- þannig að ef það er bara haus 718 00:34:16,350 --> 00:34:20,440 eða fót, hví ekki ég parameterize sem og kalla rök dollaramerki 719 00:34:20,440 --> 00:34:21,409 sniðmát? 720 00:34:21,409 --> 00:34:26,250 Og þá er þetta angurvær setningafræði leyfir mér til að búa til slóð í breytu hér. 721 00:34:26,250 --> 00:34:28,030 >> Svo dollaramerki leið er breytilegt. 722 00:34:28,030 --> 00:34:31,120 Hvað gerir þessa setningafræði gera, ef þú ert kunnuglegur? 723 00:34:31,120 --> 00:34:32,512 Já? 724 00:34:32,512 --> 00:34:34,065 >> Áhorfendur: [inaudible] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Einmitt. 726 00:34:34,940 --> 00:34:37,600 Ef sniðmát er, vitna unquote, haus, eða ef sniðmát er, 727 00:34:37,600 --> 00:34:41,170 vitna unquote, fæti, þessi lína þarna sem ég hef bent, lína átta, 728 00:34:41,170 --> 00:34:46,330 er einfaldlega að taka þetta nafn, eins og haus, og concatenating það með punktur PHP. 729 00:34:46,330 --> 00:34:49,750 Þannig að við hefðum ekki þessa rekstraraðila í C. Þetta punktur rekstraraðila er 730 00:34:49,750 --> 00:34:54,520 furðulegur hlutur í PHP-- ef þú ert þekki JavaScript eða Java, 731 00:34:54,520 --> 00:34:56,949 þú getur notað plús undirrita að gera samtenging. 732 00:34:56,949 --> 00:34:59,974 >> Í C, er það verk í neck-- og ég er svo leitt, í P-setja sex, 733 00:34:59,974 --> 00:35:02,390 þú ert að fara að þurfa að gera this-- það er sársauki í hálsi 734 00:35:02,390 --> 00:35:03,930 til concatenate strengi. 735 00:35:03,930 --> 00:35:04,670 Hvers vegna? 736 00:35:04,670 --> 00:35:06,580 Jæja, vegna þess að ef þú hefur fengið band sem er þetta lengi, 737 00:35:06,580 --> 00:35:09,538 og annar band sem er þetta lengi, þú getur ekki bara stinga þeim saman. 738 00:35:09,538 --> 00:35:11,070 Hvað þarftu staðinn að gera í C? 739 00:35:11,070 --> 00:35:11,680 Já? 740 00:35:11,680 --> 00:35:12,380 >> Áhorfendur: [inaudible] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Þú þarft að malloc minni, eða nota array á mánudaginn. 742 00:35:15,090 --> 00:35:17,214 Og þú ert í raun að gera það array nógu stór 743 00:35:17,214 --> 00:35:20,940 að passa þetta plús þetta, auk sviga núll. 744 00:35:20,940 --> 00:35:24,994 Þá concatenate þeim saman með hrærið köttur eða handvirkt með for lykkju, 745 00:35:24,994 --> 00:35:26,160 eða allir tala af tækni. 746 00:35:26,160 --> 00:35:27,760 Og við sýna þér nokkra í P-setja sex. 747 00:35:27,760 --> 00:35:29,080 >> Það er sársauki í hálsinum. 748 00:35:29,080 --> 00:35:34,190 Og þetta er sannarlega það sem ég meina um þetta á móti this-- eins og C móti PHP. 749 00:35:34,190 --> 00:35:36,870 Þú færð bara svo miklu meira virkni fyrir frjáls, 750 00:35:36,870 --> 00:35:39,030 svo að þú getir einbeitt, helst á gaman 751 00:35:39,030 --> 00:35:41,190 hluti af erfðaskrá, sem Verkefnið þú vilt leysa, 752 00:35:41,190 --> 00:35:43,190 frekar en lágt minutiae. 753 00:35:43,190 --> 00:35:49,840 >> Þannig að þetta bara býr header.php eða footer.php byggt á sem einn ég kalla. 754 00:35:49,840 --> 00:35:52,280 Og reyndar ef ég fer í index.php tilkynning 755 00:35:52,280 --> 00:35:56,230 allt sem er changed-- stað starf gera haus eða láta fót, 756 00:35:56,230 --> 00:36:00,230 Ég ætla að hringja bakið, í framhaldi af því Heiti sniðmát sem ég vil gera. 757 00:36:00,230 --> 00:36:02,370 Og þú munt sjá þetta líka, í Heimadæmi sjö, 758 00:36:02,370 --> 00:36:05,530 þar sem við leyfa þér að nota Sama virka til að gera bunches 759 00:36:05,530 --> 00:36:07,550 og bunches af mismunandi vefsíðum. 760 00:36:07,550 --> 00:36:10,570 >> Svo frekar en að búa of miklu meira um þá details-- 761 00:36:10,570 --> 00:36:13,210 sem þú munt sjá aftur í Heimadæmi seven-- skulum líta 762 00:36:13,210 --> 00:36:16,850 á núna upphafi lausn til fleiri áhugaverður vandamál. 763 00:36:16,850 --> 00:36:19,310 Svona langt, ekkert sem við höfum gert hefur vistað upplýsingarnar. 764 00:36:19,310 --> 00:36:22,920 Í raun, í eina skiptið sem við höfum alltaf vistað eitthvað sem við höfum gert í þessum flokki 765 00:36:22,920 --> 00:36:31,030 er þegar við höfðum mjög einfalt demo hríð aftur, þar sem við notuðum skrá IO í C, 766 00:36:31,030 --> 00:36:34,520 og ég held að ég slóst í mínu nafni, og Nafnið Hönnu, og nafn Maríu, 767 00:36:34,520 --> 00:36:37,610 eða kannski nafn Andy, og þá erum við hólpnir CSV file-- 768 00:36:37,610 --> 00:36:39,430 kommu aðskilin gildum skrá. 769 00:36:39,430 --> 00:36:43,530 >> Og við notuðum fopen-- ég held við notuðum fprintf sem ég man, 770 00:36:43,530 --> 00:36:44,910 og við vistað skrá. 771 00:36:44,910 --> 00:36:46,920 Nú, það er einfaldasta form a gagnagrunninum. 772 00:36:46,920 --> 00:36:50,230 Ef þú vilt gera heimasíðu fyrir Frosh Spjallboð program, þar nýnema 773 00:36:50,230 --> 00:36:53,390 getur skráð sig í íþróttum, þú helst langar að gera eitthvað með þeim gögnum. 774 00:36:53,390 --> 00:36:55,370 Í síðustu viku, gerði við ekkert með data-- ég sagði bara, 775 00:36:55,370 --> 00:36:56,661 þú ert skráður, í raun ekki. 776 00:36:56,661 --> 00:36:58,950 Eða kannski ég send í Proctor, og það var það. 777 00:36:58,950 --> 00:37:02,110 >> En það væri gott ef ég gæti gefa því Proctor CSV skrá, 778 00:37:02,110 --> 00:37:03,340 eins og Excel skrá. 779 00:37:03,340 --> 00:37:05,090 Eða enn betra, myndi það gott ef ég gæti 780 00:37:05,090 --> 00:37:08,830 setja nöfn þeirra notenda 'og dorm nöfn og allt það 781 00:37:08,830 --> 00:37:11,740 í gagnagrunn sem bara lifir að eilífu, 782 00:37:11,740 --> 00:37:13,530 þangað til ég valið að eyða gögnum. 783 00:37:13,530 --> 00:37:15,645 A gagnagrunnur sem gerir mér fyrirspurn upplýsingar. 784 00:37:15,645 --> 00:37:18,070 Og reyndar, það er það sem gagnagrunnur. 785 00:37:18,070 --> 00:37:20,470 >> Við kynna í dag, og í næstu viku líka, tækni 786 00:37:20,470 --> 00:37:25,020 kallað SQL-- a Structured Query Tungumál, sem er annað mál. 787 00:37:25,020 --> 00:37:28,750 Það er fyrst og fremst á forritun tungumál, en fyrir gagnagrunna. 788 00:37:28,750 --> 00:37:31,760 Og gagnagrunnur fyrir núna, bara hugsað sem frábær ímynda útgáfu 789 00:37:31,760 --> 00:37:35,710 Microsoft Excel eða Google Tafla, eða Apple Numbers. 790 00:37:35,710 --> 00:37:39,950 Það er yfirleitt forrit sem gerir þér að geyma a heild búnt af gögnum 791 00:37:39,950 --> 00:37:43,960 í raðir og dálka, alveg eins og þú gætir í Excel. 792 00:37:43,960 --> 00:37:47,100 >> En hvað er gott, sérstaklega ef við erum ekki frábær þekki Excel, 793 00:37:47,100 --> 00:37:52,040 hvað SQL leyfir þér að gera er að fyrirspurn þessi Upplýsingar með því að skrifa línur af kóða 794 00:37:52,040 --> 00:37:55,220 þar sem þú getur, jafnvel ef þú Gagnagrunnurinn hefur milljón raðir í það, 795 00:37:55,220 --> 00:37:57,190 þú getur fundið það frábær fljótur. 796 00:37:57,190 --> 00:37:59,950 Í raun, Excel er sérstaklega slæmt á stórum gagnagrunnum. 797 00:37:59,950 --> 00:38:02,460 Og í raun, allt að nokkrar árum síðan, kom í ljós 798 00:38:02,460 --> 00:38:08,890 Excel vildi bara leyfa þér að geyma allt að 65,535 raðir data-- sem 799 00:38:08,890 --> 00:38:12,020 hljómar eins og a einhver fjöldi, en á þegar ég var að Grad nemandi, 800 00:38:12,020 --> 00:38:14,920 og ég man tripping yfir þetta vegna þess að ég var að búa 801 00:38:14,920 --> 00:38:17,900 CSV skrár fyrir rannsóknum mínum og ég langaði til að greina þá fljótt 802 00:38:17,900 --> 00:38:19,530 bara með því að opna upp í Excel. 803 00:38:19,530 --> 00:38:23,730 Auðvitað, tölvan mín hrundi bara, vegna þess að ég hafði meira en 65.000 raðir. 804 00:38:23,730 --> 00:38:27,210 >> En hvar var 65.535 koma frá? 805 00:38:27,210 --> 00:38:29,670 Hvað var Microsoft að gera, væntanlega? 806 00:38:29,670 --> 00:38:32,430 Ef þú ert góður með völd þín í tvo? 807 00:38:32,430 --> 00:38:37,160 Já, þeir voru með 16-bita gildi að tákna röð númer. 808 00:38:37,160 --> 00:38:41,310 Og tveir til 16 er 65,536-- mínus einn, því ef þú 809 00:38:41,310 --> 00:38:45,414 núll Vísitala þýðir að það var mest fjölda lína sem ég gæti hafa. 810 00:38:45,414 --> 00:38:46,830 Og það var bara hönnun ákvörðun. 811 00:38:46,830 --> 00:38:52,760 Með því að vista 16 bita, þeir takmarkast mig að 16.000 raðir í stað 4 milljarða, 812 00:38:52,760 --> 00:38:54,322 sem ég gæti hafa haft fullkomlega. 813 00:38:54,322 --> 00:38:57,030 En nú erum við að fara að kynna þetta meira í a vefur samhengi. 814 00:38:57,030 --> 00:39:00,390 Og hvað er gott um SQL er að jafnvel þó er það nokkuð öflugur og falleg 815 00:39:00,390 --> 00:39:04,050 háþróuð, snýst það í raun niður á fjórar helstu aðgerðir, fjórar 816 00:39:04,050 --> 00:39:08,060 Takkarnir, ef þú will-- velja, til að endurheimta gögn, leita 817 00:39:08,060 --> 00:39:12,510 fyrir gögn; eyða eða eyða gögnum; setja til að bæta raðir í gagnagrunn; 818 00:39:12,510 --> 00:39:13,410 og uppfærslu. 819 00:39:13,410 --> 00:39:17,010 Svo ef þú hefur einhvern tíma notað Google Tafla, Apple Numbers, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, hefur þú framkvæma, líklega, allt 821 00:39:19,310 --> 00:39:22,530 þessara aðgerða sem mönnum með bara að nota lyklaborðið og mouse-- 822 00:39:22,530 --> 00:39:26,050 innsetning gagna, með augun til að velja eða leita að gögnum, 823 00:39:26,050 --> 00:39:28,360 eða uppfæra gögn eða eyða gögnum. 824 00:39:28,360 --> 00:39:29,870 >> Svo hvað þýðir þetta? 825 00:39:29,870 --> 00:39:34,300 Jæja, pre-setja í embætti í CS50 IDE er forrit sem heitir MySQL. 826 00:39:34,300 --> 00:39:37,050 Það er ókeypis, opinn-uppspretta gagnagrunni sem er frábær vinsæll. 827 00:39:37,050 --> 00:39:40,590 Facebook, til dæmis, notar það til að þetta dag, meðal annars verkfæri sem þeir nota. 828 00:39:40,590 --> 00:39:44,300 Og mikið af mjög vinsæll vefsíður nota það í stórum hluta vegna þess að það er hratt, 829 00:39:44,300 --> 00:39:45,230 og vegna þess að það er ókeypis. 830 00:39:45,230 --> 00:39:46,820 Þó vissulega val til. 831 00:39:46,820 --> 00:39:49,580 Og sumir af þú might notaði við val fyrir lokaverkefni. 832 00:39:49,580 --> 00:39:55,330 >> Þetta er screenshot, á meðan, af a vefur-undirstaða tól sem heitir phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 Það er tilviljun að Þessi vefur-undirstaða tól er einnig 834 00:39:58,260 --> 00:40:01,720 skrifað á tungumáli, PHP, en hvað það er ætlað að gera 835 00:40:01,720 --> 00:40:04,620 er gefa okkur a vefur-undirstaða tengi við gagnagrunn. 836 00:40:04,620 --> 00:40:07,180 Vegna MySQL venjulega er eitthvað, sögulega, þér 837 00:40:07,180 --> 00:40:08,770 myndi hafa samskipti við aðeins með stjórn lína. 838 00:40:08,770 --> 00:40:10,811 Og það væri frábær pirrandi og yfirnáttúrulegt að hafa 839 00:40:10,811 --> 00:40:14,487 að slá texta skipanir til að velja gögn, setja gögn og eyða gögnum. 840 00:40:14,487 --> 00:40:16,820 Svo sumir á internetinu skrifaði a vefur-undirstaða forrit 841 00:40:16,820 --> 00:40:18,900 sem bara láta okkur stjórna gögnin í gagnagrunninum okkar. 842 00:40:18,900 --> 00:40:23,040 Það er eins og að tvísmella á Excel og keyra vefur-undirstaða útgáfa hennar. 843 00:40:23,040 --> 00:40:26,370 >> Og hvað þú ert að fara að nota þetta fyrir lokum í næstu viku, ekki í P-setja sex, 844 00:40:26,370 --> 00:40:28,680 en er að byggja eitthvað kallað CS50 Fjármál, sem 845 00:40:28,680 --> 00:40:32,630 er að fara að hafa gagnagrunn um notendur, með notendanöfn og lykilorð, 846 00:40:32,630 --> 00:40:34,860 dollara fjárhæðir sem þeir hafa í bankareikninga þeirra. 847 00:40:34,860 --> 00:40:37,280 Það er að fara að vera eitthvað sem þú notar til að geyma 848 00:40:37,280 --> 00:40:39,910 tákn og magn hlutabréf sem notendur 849 00:40:39,910 --> 00:40:42,567 hafa keypt með raunverulegur dollara sem þú munt gefa þeim. 850 00:40:42,567 --> 00:40:44,900 Og það er að fara að leyfa notendum að skrá fyrir síðuna þína, 851 00:40:44,900 --> 00:40:47,190 svo að jafnvel vinum þínum getur stillt á vefsvæðið þitt 852 00:40:47,190 --> 00:40:49,360 og í raun skrá, skrá þig inn og leika í kring 853 00:40:49,360 --> 00:40:52,807 og reyna að finna sök í kóðanum þínum, og reyna að finna galla í vefsvæði þínu. 854 00:40:52,807 --> 00:40:55,390 Og þeir einfaldlega að nýskrá með bæta sig, í raun, 855 00:40:55,390 --> 00:40:58,120 um kóða sem þú skrifar til þinn gagnasafn. 856 00:40:58,120 --> 00:41:02,470 >> Til dæmis, þetta er a fljótur screenshot um hvað gagnagrunnur gæti litið út. 857 00:41:02,470 --> 00:41:05,190 Þetta var frá einum af solutions-- síðasta ári 858 00:41:05,190 --> 00:41:07,760 þetta er eins og lítill Excel skrá eru geymdar í gagnagrunni okkar, 859 00:41:07,760 --> 00:41:09,950 geymd í þessum hugbúnaði sem heitir MySQL. 860 00:41:09,950 --> 00:41:13,260 Á vinstri hönd hlið, ég hef greinilega gefið hverjum notanda einstakt númer. 861 00:41:13,260 --> 00:41:16,200 Í öðrum dálki, hef ég gefið allir notandi name-- mína eigin 862 00:41:16,200 --> 00:41:16,880 meðal þeirra. 863 00:41:16,880 --> 00:41:21,430 Og á hægri hönd hlið, Ég hef gefið þeim kjötkássa. 864 00:41:21,430 --> 00:41:26,760 >> Nú er þetta í raun lykilorð en það er ekki látlaus texti lykilorð. 865 00:41:26,760 --> 00:41:30,160 Það er dulkóðað lykilorð, ef þú verður, eða kjötkássa lykilorð. 866 00:41:30,160 --> 00:41:32,000 Sem við munum koma aftur til áður en langur. 867 00:41:32,000 --> 00:41:34,340 >> En ef þú hefur lesið alltaf grein um hvernig 868 00:41:34,340 --> 00:41:37,950 Lykilorðið þitt á einhverjum banka eða einhver website gæti hafa verið léleg, 869 00:41:37,950 --> 00:41:39,630 það getur yfirleitt þýtt eitt af tvennu. 870 00:41:39,630 --> 00:41:42,780 Svo er þetta bara útdráttur úr sex notendum. 871 00:41:42,780 --> 00:41:45,460 Öll ykkar nú er hægt að reikna út um reiðhestur eða sprunga 872 00:41:45,460 --> 00:41:47,690 hvað lykilorð okkar sex manns eru í. 873 00:41:47,690 --> 00:41:49,720 En ef þú hefur einhvern tíma fengið viðvörun eða afsökunarbeiðni 874 00:41:49,720 --> 00:41:52,803 frá fyrirtæki eða heimasíðu orðatiltæki, Því miður, a tölvusnápur braust inn hjá okkur, 875 00:41:52,803 --> 00:41:56,360 þú ættir sennilega að breyta þinn lykilorð, hvað gæti það þýtt? 876 00:41:56,360 --> 00:41:59,670 >> Jæja, einn, gæti þýtt að Fyrirtækið hefur verið moronic, 877 00:41:59,670 --> 00:42:03,630 og hefur verið að geyma lykilorð í dálki eins og þetta, ódulrituð. 878 00:42:03,630 --> 00:42:05,840 Sem þýðir andstæðing, sem stal gagnagrunninn, 879 00:42:05,840 --> 00:42:07,440 bókstaflega veit þinn notandanafn og lykilorð. 880 00:42:07,440 --> 00:42:08,960 Það er versta mögulega atburðarás. 881 00:42:08,960 --> 00:42:11,710 Og eins og þú munt sjá í p-setja sjö, svo auðvelt að forðast. 882 00:42:11,710 --> 00:42:15,624 Það er engin afsökun fyrir að form af heimsku á internetinu í dag. 883 00:42:15,624 --> 00:42:18,540 Two-- og við munum finna nokkrar greinar að vitna þá staðreynd að þetta enn 884 00:42:18,540 --> 00:42:21,710 gerist, nonetheless-- tvö, kannski andstæðingurinn 885 00:42:21,710 --> 00:42:23,840 stal þessa útgáfu af gagnagrunninum. 886 00:42:23,840 --> 00:42:27,110 Sem er enn góður af slæmt, því nú þeir vita, að ég hef sex viðskiptavini, 887 00:42:27,110 --> 00:42:29,270 Ég veit að notendanöfn þessara sex viðskiptavini, 888 00:42:29,270 --> 00:42:32,910 og ég veit að dulkóðuð útgáfur, eða tætt útgáfur, 889 00:42:32,910 --> 00:42:34,340 lykilorða þeirra sex viðskiptavina. 890 00:42:34,340 --> 00:42:37,010 En einhver ykkar sem gæti hafa gert [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 þar sem þú klikkaður lykilorð, eða tók a líta á þessi útgáfa af vandamálinu 892 00:42:41,150 --> 00:42:46,280 sett, hvers vegna er það enn smá áhyggjuefni ef andstæðingurinn veit kjötkássa þitt 893 00:42:46,280 --> 00:42:47,435 lykilorð? 894 00:42:47,435 --> 00:42:49,732 >> Áhorfendur: Vegna þess að þeir gátu inn í heild orðabók 895 00:42:49,732 --> 00:42:50,690 í kjötkássa virka. 896 00:42:50,690 --> 00:42:54,520 Og ef lykilorðið þitt er orðabók orð, [? þeir geta bara match--?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Einmitt, andstæðingurinn getur bara að skrifa kóðann, eins og sumir af þú 898 00:42:57,640 --> 00:43:00,526 gerði fyrir [? Hacker?] 2, þar sem þú iterate yfir 899 00:43:00,526 --> 00:43:03,400 öll orð í orðabókinni, eða allar mögulegar samsetningar af A 900 00:43:03,400 --> 00:43:06,610 gegnum Z og einn í gegnum nine-- sem hljómar eins mikið, og það er. 901 00:43:06,610 --> 00:43:08,361 En fyrir tölvu, það er laglegur fjári hratt. 902 00:43:08,361 --> 00:43:10,610 Og í raun, það var benda á [? Hacker 2,?] Var 903 00:43:10,610 --> 00:43:12,540 að taka efni sem bókstaflega lítur út eins og þetta, 904 00:43:12,540 --> 00:43:14,900 og andstæða verkfræðingur hvað það var í raun. 905 00:43:14,900 --> 00:43:17,270 >> Þannig að við munum líta á hvernig við getum geyma þetta á skilvirkari hátt. 906 00:43:17,270 --> 00:43:20,210 Skrúfjárn út, sem betur fer í MySQL, það eru að fara að vera gagnatög. 907 00:43:20,210 --> 00:43:22,800 Og einn af the gaman hluti um gagnasafn hönnun, til að vera heiðarlegur, 908 00:43:22,800 --> 00:43:25,810 er í raun að ákveða fyrir sjálfan þig hvernig ættir þú að tákna gögnin? 909 00:43:25,810 --> 00:43:29,630 Ættir þú að tákna símanúmer sem int, eins og stór númer, eða fyrir löngu? 910 00:43:29,630 --> 00:43:31,630 Eða gerirðu raun það sem röð af stafir? 911 00:43:31,630 --> 00:43:33,780 Og það getur verið mjög ekki léttvæg áhrif af þessu. 912 00:43:33,780 --> 00:43:36,714 >> Í raun, einn af Elstu skemmtilegir germane sögur 913 00:43:36,714 --> 00:43:39,880 er þegar Mark Zuckerberg var að byggja Facebook var það upphaflega skrifað í, 914 00:43:39,880 --> 00:43:42,300 og enn er að mestu skrifað í PHP. 915 00:43:42,300 --> 00:43:45,400 Og eitt af stærstu viðfangsefnum þeir standa frammi snemma var stigstærð. 916 00:43:45,400 --> 00:43:48,820 Þegar þeir héldu að bæta skóla eftir skóli eftir skóla, við þekkingu mína, 917 00:43:48,820 --> 00:43:51,639 einn af upprunalegu lausnir var í raun að afrita og líma 918 00:43:51,639 --> 00:43:53,430 sumir af gagnagrunnum og sumir af the merkjamál, 919 00:43:53,430 --> 00:43:55,346 svo sem Harvard var gangi á eigin miðlara sínum, 920 00:43:55,346 --> 00:43:56,995 og MIT var að keyra á eigin miðlara sínum. 921 00:43:56,995 --> 00:43:59,120 Og þetta var ástæðan fyrir suma ykkar sem gæti muna, 922 00:43:59,120 --> 00:44:01,510 þú gætir ekki hafa vini í önnur net. 923 00:44:01,510 --> 00:44:05,050 >> Þú sennilega ekki vini á MIT eða Harvard 10 eða svo árum, 924 00:44:05,050 --> 00:44:07,467 en þú getur ekki span net fyrir að hluta af þeim sökum. 925 00:44:07,467 --> 00:44:10,550 Og eitt af stærstu viðfangsefnum fyrir Mark og fyrir fyrirtæki eins og Facebook 926 00:44:10,550 --> 00:44:13,460 er í raun meðhöndlun hundruð og þúsundir og milljónir 927 00:44:13,460 --> 00:44:14,460 beiðna á sekúndu. 928 00:44:14,460 --> 00:44:16,501 Svo það sem við munum byrja tala um í þessari viku 929 00:44:16,501 --> 00:44:19,860 eru í raun að fara að vera germane til skrifa góða hugbúnaður, og almennt 930 00:44:19,860 --> 00:44:23,040 vel verkfæri sem ræð fullt af notendum. 931 00:44:23,040 --> 00:44:25,460 >> Þannig að við munum tala um hluti eins flokkun og rannsakandi, 932 00:44:25,460 --> 00:44:26,910 en það er það í dag. 933 00:44:26,910 --> 00:44:28,780 Við munum sjá þig meira á miðvikudag. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [TÓNLIST - "Seinfeld" þema] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: Þú getur til það, og draga úr henni. 937 00:44:35,943 --> 00:44:38,859 Og þú þarft ekki að standa með sumir fyrirfram ákveðinn upphæð af minni. 938 00:44:38,859 --> 00:44:40,580 Jæja, hvað er að fara að vera kölluð? 939 00:44:40,580 --> 00:44:42,369 >> Ræðumaður 1: Jæja, hvað er að gerast? 940 00:44:42,369 --> 00:44:43,535 Ræðumaður 2: Hvað meinarðu? 941 00:44:43,535 --> 00:44:44,451 Hann er að gefa fyrirlestur. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: Og við getum notað virka kallaði malloc að memory-- 943 00:44:47,650 --> 00:44:50,050 >> Ræðumaður 1: Hvers vegna eru ekki vopn hans að flytja? 944 00:44:50,050 --> 00:44:52,450 >> Ræðumaður 2: Jæja that's-- þú veist, það er bara eðlilegt. 945 00:44:52,450 --> 00:44:57,162 Það er bara eins og hann hefur bara stór pylsur hangandi þar. 946 00:44:57,162 --> 00:44:59,040 >> Ræðumaður 1: Það er eðlilegt? 947 00:44:59,040 --> 00:45:03,096 >> Ræðumaður 2: Já, ég held að við bara ráð fyrir að hann óvart 948 00:45:03,096 --> 00:45:06,840 komi deodorant hans með superglue. 949 00:45:06,840 --> 00:45:07,608