1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [MIZIK jwe] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Sa a se CS50, ak sa a se kòmansman an nan semèn uit. 5 00:00:13,350 --> 00:00:17,510 Apre sa, nou ap tèlman eksite akeyi tounen, gwo sipriz, pwòp Ramon CS50 nan 6 00:00:17,510 --> 00:00:22,160 Galvan, yon wo grade k ap monte ki te depans mwa ki sot pase plizyè 7 00:00:22,160 --> 00:00:26,190 depi Jiyè nan LA, nan Hollywood, literalman ap travay sou yon mak nouvo televizyon 8 00:00:26,190 --> 00:00:31,930 montre rele Koloni, kreyatè a nan yo ki se aktyèlman yon alun Harvard tèt li. 9 00:00:31,930 --> 00:00:36,610 Se konsa, nou ap trè eksite yo wè sa a premye sou rezo a USA sa a mwa janvye. 10 00:00:36,610 --> 00:00:40,370 Se konsa, rete branche pou sa, ak pou plis Ramon pou semèn ki ap vini yo. 11 00:00:40,370 --> 00:00:42,550 >> Konnen kounye a ke fen an se tou pre. 12 00:00:42,550 --> 00:00:47,400 Ak sa ki sa sa vle di se ke gen nan pa tout sa ki anpil rete nan CS50, tris yo di. 13 00:00:47,400 --> 00:00:49,400 Nou gen jis twa pwoblèm kouche bò gòch- gen nan 14 00:00:49,400 --> 00:00:52,510 pwoblèm mete six-- ki se nan men ou kounye a oswa byento pral, 15 00:00:52,510 --> 00:00:56,080 akòz pita nan week-- vle di ke yo pon mond nou an nan liy la bay lòd, kote 16 00:00:56,080 --> 00:00:59,450 nou te depanse pifò nan tan nou an lè l sèvi avèk C, ak mond lan nan pwogram entènèt. 17 00:00:59,450 --> 00:01:02,350 Oke, ou ap wè yon anpil nan lide prete nan men travay la liy lòd, 18 00:01:02,350 --> 00:01:04,560 men tou, yon anpil nan nouvo ak lide enteresan 19 00:01:04,560 --> 00:01:07,929 ki yo tou pral fè konvnabl pou mobil aplikasyon pou ak pou teknoloji, 20 00:01:07,929 --> 00:01:10,470 plis jeneralman, ak kote ou mesye yo tout yo konnen yo sèjousi 21 00:01:10,470 --> 00:01:12,090 sou laptops ak telefòn ak renmen an. 22 00:01:12,090 --> 00:01:15,220 >> Se konsa, ou pral aplike pa yon paj wèb, oswa yon sit entènèt 23 00:01:15,220 --> 00:01:17,620 se pou chak, men yon sèvè sit entènèt vrè. 24 00:01:17,620 --> 00:01:21,590 Ou pral ekri tout rès yon sèvè sit entènèt ekri nan C, ki gen objektif nan lavi 25 00:01:21,590 --> 00:01:25,410 se yo resevwa demann HTTP, sa yo ki anvlòp vityèl nou kenbe pale 26 00:01:25,410 --> 00:01:29,780 sou, ak aktyèlman reponn swa ak kèk content-- estatik tankou yon dot HTML 27 00:01:29,780 --> 00:01:32,310 dosye, oswa yon dot JPEG oswa nenpòt lòt kantite dosye, 28 00:01:32,310 --> 00:01:37,070 oswa menm yon dosye PHP kijan entènèt ou sèvè ki pral ka esplike nou rèv ki PHP 29 00:01:37,070 --> 00:01:38,332 Kòd ak krache soti rezilta yo. 30 00:01:38,332 --> 00:01:40,540 Koulye a, nou te bay ou ak byen yon ti jan nan fondasyon 31 00:01:40,540 --> 00:01:43,100 pou l-- tout bon an Kòd distribisyon pou pwoblèm 32 00:01:43,100 --> 00:01:47,496 mete sis se sou 1,000 liy long, se yon anpil nan ki se kòmantè, yo dwe fair-- 33 00:01:47,496 --> 00:01:49,370 men sa a se reyèlman vle di yo dwe yon opòtinite 34 00:01:49,370 --> 00:01:52,570 yo ka resevwa men ou plonje sal nan yon jistis gwo pwojè 35 00:01:52,570 --> 00:01:55,570 ke nou te trè espesyalman fè mete pòtre soti moso nan pou ou, 36 00:01:55,570 --> 00:01:59,046 se konsa ki vrèman lè ou sòti CS50 ak antre nan mond reyèl la nan pwogram 37 00:01:59,046 --> 00:02:00,920 epi ou vle travayèz nan nenpòt ki kantite pwojè, 38 00:02:00,920 --> 00:02:03,253 ou pral gen pi plis konfò Téléchargez kèk sous 39 00:02:03,253 --> 00:02:05,020 Kòd, gen kèk sous louvri pwojè sou entènèt la, 40 00:02:05,020 --> 00:02:08,174 ak plonje nan ak fè chanjman ki ou wè anfòm. 41 00:02:08,174 --> 00:02:11,340 Pwoblèm mete sèt a pwal sou fè aplikasyon pwòp ki baze sou wèb ou 42 00:02:11,340 --> 00:02:14,140 ki pran opinyon dinamik ak pwodui dinamik pwodiksyon nan fòm lan 43 00:02:14,140 --> 00:02:16,920 nan yon sit entènèt etrade.com-renmen. 44 00:02:16,920 --> 00:02:20,800 Ak pwoblèm mete uit pral konsantre sou ankò yon lòt lang ke yo rekonèt kòm JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> Pandan se tan, final la pwojè se sou orizon an. 46 00:02:24,170 --> 00:02:26,800 Sa yo rele pre-Pwopozisyon an se akòz yon semèn soti nan jodi a. 47 00:02:26,800 --> 00:02:29,930 Pre-proposal-- pou chak spesifikasyon la, ki se sou website-- CS50 nan 48 00:02:29,930 --> 00:02:33,260 se yon opòtinite bèl aksidantèl pou ou voye yon imel bèl somèr 49 00:02:33,260 --> 00:02:35,170 parèy ansèyman ou jis yo enstrwir l ' 50 00:02:35,170 --> 00:02:38,250 oswa li nan sa ki w ap panse, nan itilize l 'oswa li kòm yon tablo kònen klewon. 51 00:02:38,250 --> 00:02:40,980 Epi yo gen yon saniti check-- si wi ou non w ap panse 52 00:02:40,980 --> 00:02:43,210 sou mòde koupe twò lajan oswa petèt twò piti, 53 00:02:43,210 --> 00:02:46,480 oswa petèt ou pa gen okenn lide tou sa epi ou vle angaje yo nan yon konvèsasyon. 54 00:02:46,480 --> 00:02:48,480 >> Apre sa se yon pwopozisyon ak estati rapò, 55 00:02:48,480 --> 00:02:51,860 sa yo rele CS50 Hackathon a isit la nan Cambridge pou Harvard ak Yale elèv yo 56 00:02:51,860 --> 00:02:52,362 sanble. 57 00:02:52,362 --> 00:02:54,320 Pwojè a final la aplikasyon se lè sa a garanti dwa moun. 58 00:02:54,320 --> 00:02:59,290 Lè sa a, yon jis CS50 isit la, nan Cambridge, osi byen ke yon lòt nan New Haven. 59 00:02:59,290 --> 00:03:02,500 Se konsa, pwopozisyon an, pran yon gade nan sit entènèt la pou moun Nap. 60 00:03:02,500 --> 00:03:06,530 >> Men, plis excitingly, tou, se yon opòtinite yo ka resevwa men ou sal, 61 00:03:06,530 --> 00:03:09,350 ak lespri nou fèm ou ouvè a yon antye pakèt moun sou sijè ak zouti 62 00:03:09,350 --> 00:03:12,920 ak teknik ki Segondè progranm debaz kou a nan, 63 00:03:12,920 --> 00:03:14,810 men Alòske ki gen rapò. 64 00:03:14,810 --> 00:03:18,400 Epi tou wòch bèl bagay STEPPING fè vrèman fre pwojè final ki 65 00:03:18,400 --> 00:03:22,020 mache byen pi lwen pase materyèl nou te kouvri fòmèlman nan pwoblèm kouche oswa nan konferans. 66 00:03:22,020 --> 00:03:24,446 Se konsa, ale nan sit entènèt CS50 a pou Lis a tout antye nan seminè. 67 00:03:24,446 --> 00:03:26,070 Si ou pa enskri ankò, sa a, se amann. 68 00:03:26,070 --> 00:03:29,860 Ale pi devan epi enskri toujou ak nou pral swiv moute ak yon lyen difizyon ap viv, 69 00:03:29,860 --> 00:03:31,844 jou a ak tan se sou sit entènèt la. 70 00:03:31,844 --> 00:03:33,760 Apre sa, tout bagay pral vin anrejistre epi mete sou entènèt 71 00:03:33,760 --> 00:03:35,800 si ou pa ka fè nan jou ak lè patikilye. 72 00:03:35,800 --> 00:03:39,380 >> Tankou sa ki bay manti devan thereafter-- byen, nan kou, gen nan Hackathon nan CS50. 73 00:03:39,380 --> 00:03:43,560 Sa a foto, sonje, ki soti nan semèn zewo pran alantou 4 AM Yon jou swa nan ane sot pase yo. 74 00:03:43,560 --> 00:03:46,900 Jis nan CS50, ki ankò pral pran plas nan tou de vil yo. 75 00:03:46,900 --> 00:03:49,760 Lè sa a,, jis ki plante a pitit pitit, menm si nou toujou 76 00:03:49,760 --> 00:03:54,080 gen yon mwa plis rete nan semès, si ou ta renmen rantre nan pwòp ansèyman CS50 nan 77 00:03:54,080 --> 00:03:56,770 anplwaye yo, epi ou vle kòmanse panse sou vin tounen yon CA, 78 00:03:56,770 --> 00:03:59,550 oswa ansèyman parèy, konnen ke nou pral kòmanse pale plis sou sa 79 00:03:59,550 --> 00:04:00,630 pita nan semès. 80 00:04:00,630 --> 00:04:03,470 Men, isit la se foto pi fò nan ekip ane sa a. 81 00:04:03,470 --> 00:04:06,950 >> Se konsa, PHP-- epi mwen te tris konsa semèn pase a ke [? Allyse?] Dous 82 00:04:06,950 --> 00:04:09,370 te ale nan efò sa a pou trape nou sa yo akseswar bèl bagay 83 00:04:09,370 --> 00:04:11,720 ke mwen pa t 'fini lè l sèvi avèk, se konsa li vrèman jis gade kalite estipid 84 00:04:11,720 --> 00:04:15,160 ke nou te yon pèl chita isit la tout jou Mèkredi dènye a, ak yon ti kras kiyè. 85 00:04:15,160 --> 00:04:17,709 Men, sa a te metaforik mwen fason pou ap eseye penti 86 00:04:17,709 --> 00:04:21,600 foto a sou rezon ki fè nou ap tranzisyon soti nan C rive nan yon lang tankou PHP. 87 00:04:21,600 --> 00:04:25,480 Ak menm bagay la te kapab di nan nenpòt ki kantite languages-- Java, Piton, Ruby 88 00:04:25,480 --> 00:04:31,270 oswa grap nan others-- men tandiske nan C, pou egzanp, ekri yon pwogram nan C 89 00:04:31,270 --> 00:04:34,050 ta ka tipikman fè tankou pran yon kiyè tankou sa a 90 00:04:34,050 --> 00:04:36,770 ak fouye yon twou nan nan tè, nan sab la oswa pousyè tè a. 91 00:04:36,770 --> 00:04:39,770 PHP pèmèt ou pran anpil pi gwo mòde soti nan pwoblèm nan, 92 00:04:39,770 --> 00:04:42,842 ekri byen lwen mwens Kòd lè l sèvi avèk yon zouti byen lwen ki pi piti, 93 00:04:42,842 --> 00:04:45,050 paske gen nan anpil plis fonctionnalités pieced an. 94 00:04:45,050 --> 00:04:47,633 >> Koulye a, si nou te reyèlman dramatik, nou ta gen yon bagay yo pèl 95 00:04:47,633 --> 00:04:48,760 isit la, men se konsa se pou li. 96 00:04:48,760 --> 00:04:51,370 Pandan se tan, lòt la metafò nou te vini ak 97 00:04:51,370 --> 00:04:53,770 se, nan kou, ou te kapab sèvi ak yon bagay tankou yon kle 98 00:04:53,770 --> 00:04:56,610 , yon mato nan yon bagay tankou yon klou. 99 00:04:56,610 --> 00:04:58,980 Men, nan kou, dwa pou zouti yo sèvi ak ki pral 100 00:04:58,980 --> 00:05:01,360 yo dwe pa tèlman nan ak lang yo rele C-- 101 00:05:01,360 --> 00:05:03,590 e kounye a, mwen jis énervé [? Sanders,?] Pwobableman, 102 00:05:03,590 --> 00:05:07,890 nou pral ranje ki later-- konsa zouti nan dwa sèvi ak souvan 103 00:05:07,890 --> 00:05:09,640 a pa pral yo dwe zouti sa a nivo ki pi ba. 104 00:05:09,640 --> 00:05:13,720 Ak tout bon, C se pa yon lang ki pi fò nan w ap janm ale yo sèvi ak, 105 00:05:13,720 --> 00:05:15,590 oswa yo ta dwe nesesèman itilize ankò. 106 00:05:15,590 --> 00:05:18,350 >> Lè an reyalite, yon ti kras secret-- tan la sèlman 107 00:05:18,350 --> 00:05:23,160 Mwen sèvi ak C tèt mwen se bèl anpil ant Mwa septanm ak mwa desanm nan chak sezon otòn 108 00:05:23,160 --> 00:05:23,870 semès. 109 00:05:23,870 --> 00:05:25,790 Epi sa a, paske nou sèvi ak li kòm yon opòtinite 110 00:05:25,790 --> 00:05:27,852 yo anseye fondamantal yo a pwogramasyon, 111 00:05:27,852 --> 00:05:29,810 epi ak sa òdinatè fondamantal syans, done 112 00:05:29,810 --> 00:05:32,435 estrikti, algoritm ak nan like-- men trè byen vit pral ou 113 00:05:32,435 --> 00:05:35,010 wè kounye a ke sentaks la ak lide yo kache C 114 00:05:35,010 --> 00:05:37,530 yo, se pou bèl transfere nan plis modèn 115 00:05:37,530 --> 00:05:41,130 pi wo nivo lang, tankou PHP ak Piton ak pèrl ak Java 116 00:05:41,130 --> 00:05:46,750 ak Objektif-C-- aktyèlman, pa tèlman Objektif-C-- men Swift, sa yo plus 117 00:05:46,750 --> 00:05:50,010 lang ke anpil nan ou pral Lè sa a, travayèz avèk ou final pwojè. 118 00:05:50,010 --> 00:05:55,070 >> Se konsa, san yo pa plis tarde, kite a aktyèlman itilize PHP yo rezoud kèk pwoblèm. 119 00:05:55,070 --> 00:06:00,230 Sonje byen, byen bonè nan, dènye semèn, nou jis itilize CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 nou te ekri yon pwogram ti kras miyon ki jis te di, "Alo lemonn." 121 00:06:02,990 --> 00:06:05,680 Lè sa a, Mwen sove l 'nan yon dosye rele hello.php. 122 00:06:05,680 --> 00:06:07,280 Lè sa a, mwen kouri kòmandman sa a. 123 00:06:07,280 --> 00:06:08,080 >> E poukisa? 124 00:06:08,080 --> 00:06:09,900 Nan lang angle, ki sa k ap pase sou isit la? 125 00:06:09,900 --> 00:06:12,760 Ki sa ki te mwen fè lè Mwen kouri kòmandman sa a? 126 00:06:12,760 --> 00:06:13,405 >> Yeah? 127 00:06:13,405 --> 00:06:16,572 >> ODYANS: Genyen kèk PHP fonksyon ki li sa k ap in-- konprann sa. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Bon, gen nan kèk fonksyon PHP-- ak kite m 'gen plis espesifik, 129 00:06:19,696 --> 00:06:21,810 gen nan yon pwogram yo rele PHP, a.k.a. 130 00:06:21,810 --> 00:06:25,872 Yon entèprèt, ki konprann sa ki nan hello.php, 131 00:06:25,872 --> 00:06:27,830 epi entèprete li anwo jouk anba, gòch a dwat, 132 00:06:27,830 --> 00:06:29,590 ak fè sa ki sa yo kòmandman yo di. 133 00:06:29,590 --> 00:06:33,320 Kòmandman yo nan hello.php, nan kou, se jis sous fonksyon code-- 134 00:06:33,320 --> 00:06:35,750 ak varyab ak pasan ak renmen an, ke nou tèt nou 135 00:06:35,750 --> 00:06:37,460 te kòmanse ekri nan PHP. 136 00:06:37,460 --> 00:06:40,240 >> Men, kontrèman ak C, ki se yon lang konpile, 137 00:06:40,240 --> 00:06:42,810 PHP ou jis ekri li, epi kouri li. 138 00:06:42,810 --> 00:06:46,420 Ou sote ki etap entèrmedyèr nan konvèti li nan zewo ak moun yo, 139 00:06:46,420 --> 00:06:47,790 ak Lè sa a kouri li. 140 00:06:47,790 --> 00:06:50,510 Se konsa, ki sa ki yon tèt nan sa a? 141 00:06:50,510 --> 00:06:52,690 Poukisa nou sote etap la? 142 00:06:52,690 --> 00:06:55,238 Poukisa lang plis modèn yo gen tandans sote etap sa a? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Ki sa ki te benefis la? 145 00:07:01,220 --> 00:07:02,080 >> Oswa jis entwitif? 146 00:07:02,080 --> 00:07:04,200 Menm si nou pa te ekri anpil PHP anvan, 147 00:07:04,200 --> 00:07:07,210 sa ki nan benefisye sou pa konpile kòd ou a ou panse? 148 00:07:07,210 --> 00:07:08,520 Se pa? 149 00:07:08,520 --> 00:07:09,610 Pa komèt? 150 00:07:09,610 --> 00:07:11,350 Grate tèt ou a? 151 00:07:11,350 --> 00:07:12,614 Yeah. 152 00:07:12,614 --> 00:07:13,600 >> ODYANS: Plis dinamik. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: Plis dinamik? 154 00:07:14,683 --> 00:07:16,032 Sa'w vlé di? 155 00:07:16,032 --> 00:07:17,000 >> ODYANS: [fèbl] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: OK, bon, se konsa depann sou opinyon an, 158 00:07:22,390 --> 00:07:23,470 ou pa bezwen konpile li chak fwa. 159 00:07:23,470 --> 00:07:24,990 Apre sa, li vrèman se kòm senp tankou sa that-- 160 00:07:24,990 --> 00:07:26,990 se pwen an nan k ap kontinye yo konpile kòd ou a? 161 00:07:26,990 --> 00:07:29,480 Sa a se jis yon etap sa a, se making-- sa a se ki mande, 162 00:07:29,480 --> 00:07:31,900 pou plizyè ki sot pase a semèn, de fwa tankou anpil etap 163 00:07:31,900 --> 00:07:33,820 kòm jis kouri pwogram ou an. 164 00:07:33,820 --> 00:07:36,940 Li te itil nan wè ke ou wè kèk mesaj erè ak pou fè, 165 00:07:36,940 --> 00:07:38,720 men li la toujou jis yon etap anmèdan. 166 00:07:38,720 --> 00:07:41,810 >> Se konsa, reyalize pwogramasyon apre yon sèten tan, poukisa pa fè sa nou 167 00:07:41,810 --> 00:07:45,327 kòmanse ekri lang ki pa fè sa bezwen ke etap san patipri mekanik, 168 00:07:45,327 --> 00:07:47,160 se konsa ki ka jis ekri kòd ou a epi kouri li. 169 00:07:47,160 --> 00:07:48,920 Men, sa ki te pri a ke nou te wè nou peye 170 00:07:48,920 --> 00:07:50,910 semèn pase a, ak yon sèl egzanp patikilye? 171 00:07:50,910 --> 00:07:51,650 Wi? 172 00:07:51,650 --> 00:07:52,370 >> Vitès. 173 00:07:52,370 --> 00:07:54,690 Se konsa, [? ki sa?] entèprèt la yon ti kras pi dousman, 174 00:07:54,690 --> 00:07:57,330 nan ki zewo ak moun yo yo se bèl ak vit pou yon òdinatè 175 00:07:57,330 --> 00:08:00,070 yo konprann, paske nan Intel CPU, oswa kèlkeswa sa li ye, 176 00:08:00,070 --> 00:08:03,070 jis konprann sa k ap pase sou ak sa yo ki modèl nan miyèt moso. 177 00:08:03,070 --> 00:08:05,370 Lè nou konsidere ke yon entèprèt se yon pwogram ki vrèman 178 00:08:05,370 --> 00:08:07,980 gen li sous la ASCII Kòd ke ou te ekri nan Liv la 179 00:08:07,980 --> 00:08:12,700 ak konvèti li, se konsa pale, oswa figi konnen kouman li konvèti finalman 180 00:08:12,700 --> 00:08:13,525 zewo ak inite. 181 00:08:13,525 --> 00:08:15,650 Se konsa, li jis pran yon ti kras ti jan nan yon frape pèfòmans. 182 00:08:15,650 --> 00:08:16,858 Se konsa, li yon ti jan nan yon komès-off. 183 00:08:16,858 --> 00:08:21,570 Koulye a, si nou fè sa sou isit la, kite m ' ale pi devan epi fè yon egzanp jan sa a. 184 00:08:21,570 --> 00:08:26,610 Si m 'ale nan isit la, nouvo dosye, mwen pral pou konsève pou sa a ankò se hello.php. 185 00:08:26,610 --> 00:08:31,450 Epi, koulye a mwen pral ale pi devan ak di, "ekri an lèt detache alo mond" - 186 00:08:31,450 --> 00:08:35,130 ak sonje ke mwen ka itilize enprime, mwen pa fè sa gen yo sèvi ak ekri an lèt detache-F. Epi, koulye a desann isit la, 187 00:08:35,130 --> 00:08:42,039 si m 'fè PHP a hello.php, huh-- mwen pa sanble yo te entèprete li. 188 00:08:42,039 --> 00:08:43,412 Ki sa m 'fè ki mal? 189 00:08:43,412 --> 00:08:44,710 >> ODYANS: braslè yo Incline. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Yeah, ou bezwen ki ang bracket moute tèt. 191 00:08:47,015 --> 00:08:49,390 Se konsa, li nan kalite anmèdan, men ou jwenn itilize li byen vit. 192 00:08:49,390 --> 00:08:53,500 Si mwen gen yo ekri Kòd PHP, mwen jeneralman bezwen di pwogram nan, 193 00:08:53,500 --> 00:08:56,950 oswa di entèprèt la, hey PHP, isit la vini kèk kòd PHP. 194 00:08:56,950 --> 00:09:00,440 Lè sa a, pou bon mezi, mwen ta fèmen sa a pa ak sa a, men pito 195 00:09:00,440 --> 00:09:03,740 ak jis kesyon ang make bracket, se konsa ke kounye a desann isit la, 196 00:09:03,740 --> 00:09:06,840 si mwen kouri sa a ankò, kounye a Mwen jwenn rezilta a vle. 197 00:09:06,840 --> 00:09:09,820 >> Koulye a, kite a fè yon optimize ti tay, jis pou ke ou te wè l 'anvan. 198 00:09:09,820 --> 00:09:14,040 Sa a se kalite anmèdan ke mwen gen kouri PHP espas hello.php, 199 00:09:14,040 --> 00:09:16,060 paske nan mwen ki sot pase a te kapab jis ekri dot koupe 200 00:09:16,060 --> 00:09:17,560 Non pwogram nan, ki se kalite bèl. 201 00:09:17,560 --> 00:09:19,420 Li nan kalite yon eksperyans itilizatè pi bon. 202 00:09:19,420 --> 00:09:24,160 >> Se konsa, li vire soti ou ka fè sa nan PHP ak mwen an annapre 203 00:09:24,160 --> 00:09:28,780 ka itilize sa a san patipri skre enkantasyon nan tèt la isit la, 204 00:09:28,780 --> 00:09:31,740 ki se jeneralman yo te rele yon kaz, kijan sa a se yon senbòl byen file, 205 00:09:31,740 --> 00:09:34,270 se konsa pale, sa a se yon Bang oswa yon pwen esklamasyon. 206 00:09:34,270 --> 00:09:38,490 Lè sa a kounye a se chemen an nan yon pwogram sou yon sistèm Linux tipik ki 207 00:09:38,490 --> 00:09:41,500 yo rele anviwònman, oswa ENV. 208 00:09:41,500 --> 00:09:43,920 Lè sa a line-- istwa long ti-liy yon sèl jis 209 00:09:43,920 --> 00:09:48,710 di, hey òdinatè, jwenn PHP a entèprèt pou m 'nan anviwònman an, 210 00:09:48,710 --> 00:09:50,610 jwenn li nan memwa ou, se konsa pale. 211 00:09:50,610 --> 00:09:54,130 >> Ak sa ki nan bèl kounye a, se ke si m 'desann isit la, 212 00:09:54,130 --> 00:09:57,750 Mwen kapab fè koupe dot alo dot php, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Pèmisyon refize. 214 00:09:59,000 --> 00:10:02,350 Oke, ou ap wè menm plis nan sa a ak pwoblèm mete sèt, si ou 215 00:10:02,350 --> 00:10:04,060 pa gen deja, ak autorisations. 216 00:10:04,060 --> 00:10:06,510 Li sanble ke mwen bezwen al touye kòmandman sa a 217 00:10:06,510 --> 00:10:10,779 rele [? chamod?] pou yon chanjman mode-- yon plis x hello.php. 218 00:10:10,779 --> 00:10:13,820 Mwen bezwen [fèbl] yon sèl sa a plis etap ki ap di òdinatè mwen an, 219 00:10:13,820 --> 00:10:16,400 fè hello.php ègzèkutabl. 220 00:10:16,400 --> 00:10:21,310 Epi, koulye a gade sa happens-- dot koupe hello.php, li jis kouri. 221 00:10:21,310 --> 00:10:23,310 Mwen pa bezwen presize entèprèt la ankò. 222 00:10:23,310 --> 00:10:26,680 Apre sa, mwen ka fè li menm bèl pase, toujou, si mwen chanje non bagay sa a. 223 00:10:26,680 --> 00:10:30,570 Si m 'deplase hello.php nan jis Hello-- konsa remake nan bò gòch nan tèt, 224 00:10:30,570 --> 00:10:32,860 Non pwogram lan a se tout bon kounye a jis Bonjou. 225 00:10:32,860 --> 00:10:37,300 Koulye a, mwen ka fè l 'gade tankou yon pwogram C, menm si li nan ekri nan PHP-- 226 00:10:37,300 --> 00:10:39,210 oswa nenpòt ki kantite franchman nan lòt lang. 227 00:10:39,210 --> 00:10:41,480 >> Se konsa, majinal amelyorasyon, okenn diferans fonksyonèl. 228 00:10:41,480 --> 00:10:44,460 Men, li la jis yon ti kras kiryozite kounye a, se konsa ke ou ka ekri pwogram 229 00:10:44,460 --> 00:10:48,989 nan nenpòt lang, ak itilizatè a pa fè sa gen konnen oswa pran swen sa moun ye. 230 00:10:48,989 --> 00:10:51,030 Oke, kite pou yo gade nan yon pi plis irezistib egzanp kounye a 231 00:10:51,030 --> 00:10:52,850 ke mwen vide moute nan davans. 232 00:10:52,850 --> 00:10:54,955 Lè sa a yo rele quote.php. 233 00:10:54,955 --> 00:10:56,740 Lè li nan disponib sou entènèt. 234 00:10:56,740 --> 00:11:00,299 Apre sa, remake ke li a trè ti- men li la yon pwogram liy lòd sa a, se 235 00:11:00,299 --> 00:11:02,840 pral gade moute pri stock pou m ', ki se aktyèlman pral 236 00:11:02,840 --> 00:11:04,230 yo dwe konvnabl nan pwoblèm mete sèt. 237 00:11:04,230 --> 00:11:05,396 >> Se konsa, kite a wè sa m ap fè a. 238 00:11:05,396 --> 00:11:08,640 Nan tèt la anpil mwen te gen nan louvri bracket kesyon mak PHP. 239 00:11:08,640 --> 00:11:13,372 Lè sa a, mwen te gen liy sa a, annakò ak sa mwen menm ki egzije yon dosye rele functions.php-- 240 00:11:13,372 --> 00:11:15,080 nou ap ale nan wè plis sou sa a nan yon ti jan, 241 00:11:15,080 --> 00:11:17,340 men sa a se tankou C a vèsyon an byen file enkli ladan yo, 242 00:11:17,340 --> 00:11:19,090 kote ou vle ale gen ladan yon lòt dosye. 243 00:11:19,090 --> 00:11:23,720 PHP rele l mande pou, menm si li tou te gen yon gen ladan fonksyon. 244 00:11:23,720 --> 00:11:26,861 Apre sa, li vire soti ke se function.php jis yon bagay mwen te ekri anvan klas la. 245 00:11:26,861 --> 00:11:29,860 Mwen mete l 'nan anyè a menm, paske Mwen te vle faktè soti kèk kòd 246 00:11:29,860 --> 00:11:31,800 ke nou ta ka vle itilize yon lòt kote. 247 00:11:31,800 --> 00:11:34,560 >> Pandan se tan, ou kapab pwobableman dégager sa k ap pase isit la. 248 00:11:34,560 --> 00:11:39,200 Sa a se yon ti kras diferan de C-- men ki sa mwen vle di pa asire bon itilizasyon? 249 00:11:39,200 --> 00:11:41,180 Translate sa a plis teknikman. 250 00:11:41,180 --> 00:11:45,950 Nan ki sikonstans mwen yon moun kite fimen pwogram nan, oswa sòti? 251 00:11:45,950 --> 00:11:47,074 Yeah? 252 00:11:47,074 --> 00:11:47,990 >> ODYANS: Lè ou pa gen de liy lòd agiman. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Lè m 'pa gen bay lòd liy agiman. 254 00:11:49,480 --> 00:11:52,396 Epi sonje ke youn nan moun ki agiman se non pwogram nan tèt li. 255 00:11:52,396 --> 00:11:55,340 Ak dezyèm lan a pwal yon lòt mo mwen tape apre èd memwa a. 256 00:11:55,340 --> 00:11:57,460 Se konsa, jis tankou C, sa a se yon fason mwen an tcheke, 257 00:11:57,460 --> 00:12:00,022 t 'itilizatè a kolabore ak kouri pwogram nan jan mwen gen entansyon? 258 00:12:00,022 --> 00:12:01,730 Koulye a, gen nan yon bagay yon ti kras diferan 259 00:12:01,730 --> 00:12:04,020 ak C-- premye nan tout sa nou gen siy dola sa a, 260 00:12:04,020 --> 00:12:07,710 ak kisa ki yon dola siyen don nan PHP? 261 00:12:07,710 --> 00:12:08,440 Jis yon varyab. 262 00:12:08,440 --> 00:12:11,731 Sa a all-- jis yon varyab ki te swiv pa tou sa ou vle ki aktyèlman rele li. 263 00:12:11,731 --> 00:12:14,000 Avi gen yon bagay manke nan pwogram PHP m 'yo, 264 00:12:14,000 --> 00:12:18,210 jis tankou li te manke pase a semèn, kont C, ki se ki sa? 265 00:12:18,210 --> 00:12:21,620 >> Yon kalite, men tou, yon lòt bagay. 266 00:12:21,620 --> 00:12:26,409 Pa gen okenn yon bagay fonksyon-fonksyon prensipal la. 267 00:12:26,409 --> 00:12:27,450 Gen nan pa gen fonksyon prensipal la. 268 00:12:27,450 --> 00:12:29,680 Ou jis kòmanse ekri kòd ou a san yo pa gen 269 00:12:29,680 --> 00:12:32,790 enkyete sou yon jistis abitrè konvansyon a nonmen kèk default 270 00:12:32,790 --> 00:12:33,880 fonksyon prensipal la. 271 00:12:33,880 --> 00:12:36,720 Se konsa, ARG C se jis reyèlman yon varyab mondyal 272 00:12:36,720 --> 00:12:39,049 ki entèprèt la fè disponib nan m '. 273 00:12:39,049 --> 00:12:40,090 Koulye a, sa a se enteresan. 274 00:12:40,090 --> 00:12:41,140 Se konsa, gade moute bagay. 275 00:12:41,140 --> 00:12:43,370 Stock siy dola se sou a kite, sa a, se varyab m 'yo. 276 00:12:43,370 --> 00:12:45,120 Sou bò nan men dwat, gen nan aparamman 277 00:12:45,120 --> 00:12:50,270 yon fonksyon nan PHP rele Passage ki M 'ap pase liy dènye lòd mwen 278 00:12:50,270 --> 00:12:51,902 agiman to-- tou sa pawòl Bondye a se. 279 00:12:51,902 --> 00:12:53,610 Epitou, n ap wè ki jan sa a ap travay nan yon moman. 280 00:12:53,610 --> 00:12:55,380 >> Lè sa a, anfen mwen rapò pri an. 281 00:12:55,380 --> 00:12:58,650 Mwen enprime soti yon sèl pati nan sa yo ak sa yo. 282 00:12:58,650 --> 00:13:02,082 Epi sonje, sa a se nan fason nan PHP-- yon fason nan PHP-- 283 00:13:02,082 --> 00:13:04,290 kote ou pa dwe fè siyen an dola S ankò. 284 00:13:04,290 --> 00:13:06,782 Ou ka jis itilize aparèy òtopedik Curly ak ploge nan kèk varyab. 285 00:13:06,782 --> 00:13:09,240 Ou pa gen enkyete sou lè l sèvi avèk printf nan menm fason an. 286 00:13:09,240 --> 00:13:13,530 >> Apre sa, kòm yon sou kote, lè ou mete yon varyab andedan nan quotes doub tankou sa a, 287 00:13:13,530 --> 00:13:17,370 w ap itilize yon teknik anpenpan rele varyab entèpolasyon. 288 00:13:17,370 --> 00:13:20,380 Li jis vle di ploge varyab la nan isit la. 289 00:13:20,380 --> 00:13:23,760 Apre sa, kòm yon sou kote, kèk nan nou ki moun ki vini soti nan lòt orijin pwogram, 290 00:13:23,760 --> 00:13:26,960 ou pa gen dwa sèvi ak quotes sèl alantou strings fè sa. 291 00:13:26,960 --> 00:13:30,290 Ou dwe itilize quotes doub pou varyab entèpolasyon nan travay. 292 00:13:30,290 --> 00:13:32,740 Sinon ou pral literalman wè sa yo aparèy òtopedik Curly. 293 00:13:32,740 --> 00:13:34,500 >> Se konsa, anfen, se pou yo ale pi devan epi kouri sa a. 294 00:13:34,500 --> 00:13:36,690 Kite m 'fè m' yon ti kras tèminal pi gran. 295 00:13:36,690 --> 00:13:41,940 Kite m 'ale pi devan epi kouri andedan nan anyè quote m 'yo. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? quote?] PHP quote dot PHP, 297 00:13:46,950 --> 00:13:50,290 ak mwen pral pou fè rechèch pou yon bagay tankou GOOG, ki se senbòl montr li yo, 298 00:13:50,290 --> 00:13:55,510 ak youn pati nan nouvo non li yo, Alfabèt Inc, koute $ 717, tankou jodi a. 299 00:13:55,510 --> 00:13:58,680 Tout dwa, si nou vle kouri sa a ankò, nenpòt moun 300 00:13:58,680 --> 00:14:02,600 gen yon lòt stock montr yo vle yo gade jiska? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft mwen panse ke se yon sèl sa a, MSFT-- $ 53. 302 00:14:06,770 --> 00:14:09,720 Mwen panse ke Yahoo se petèt sa. 303 00:14:09,720 --> 00:14:12,130 Apre sa, Facebook se sa. 304 00:14:12,130 --> 00:14:13,740 >> Se konsa, ki sa ki pwogram sa a ap fè? 305 00:14:13,740 --> 00:14:16,306 Majik la sanble ap entegre nan ki fonksyon Passage. 306 00:14:16,306 --> 00:14:17,430 Se konsa, kite a pran yon gade rapid. 307 00:14:17,430 --> 00:14:21,815 >> Li sanble ke pa vini ak PHP, li nan nan functions.php. 308 00:14:21,815 --> 00:14:23,690 Epi nou pa pral ale nan sa a nan gwo detay, 309 00:14:23,690 --> 00:14:28,040 men remake pawòl Bondye a isit la se espyon ki sou liy sis nan functions.php-- 310 00:14:28,040 --> 00:14:29,440 Mwen literalman di fonksyon. 311 00:14:29,440 --> 00:14:31,050 Mwen presize non an nan fonksyon m 'yo. 312 00:14:31,050 --> 00:14:34,330 Mwen Lè sa a presize nenpòt agiman, oswa paramèt, 313 00:14:34,330 --> 00:14:36,480 Mwen vle ke fonksyon take-- pa gen okenn kalite. 314 00:14:36,480 --> 00:14:37,580 Lè sa a, mwen aplike li. 315 00:14:37,580 --> 00:14:39,240 >> Apre sa, mwen pral balanse men m ' a aplikasyon an, 316 00:14:39,240 --> 00:14:42,115 depi li nan dwa san patipri avanse kounye a, men nou pral wè l 'ankò aktyèlman 317 00:14:42,115 --> 00:14:44,700 nan yon semèn nan pwoblèm mete sèt. 318 00:14:44,700 --> 00:14:47,490 Men, mwen ka netwaye sa a moute, tou. 319 00:14:47,490 --> 00:14:49,590 Mwen menm mwen te enkli nan Kòd la jodi a yon vèsyon 320 00:14:49,590 --> 00:14:52,340 a quote, ki pa gen okenn dosye dot PHP. 321 00:14:52,340 --> 00:14:57,270 Paske ki sa ki prezimableman nan la tèt nan pwogram nan rele jis site? 322 00:14:57,270 --> 00:15:00,140 Sa sa yo rele shebang-- nan san patipri skre enkantasyon 323 00:15:00,140 --> 00:15:04,590 ki di jwenn PHP ak Lè sa a kouri l 'sou kòd m' isit la. 324 00:15:04,590 --> 00:15:07,360 >> Tout dwa, se konsa ki pote nou kote nou sispann 325 00:15:07,360 --> 00:15:09,560 time-- dènye kwake ak kèk egzanp ki pi avanse. 326 00:15:09,560 --> 00:15:13,980 Nenpòt kesyon byen lwen sou konsa PHP oswa sa n ap fè? 327 00:15:13,980 --> 00:15:15,570 No-- tout dwa. 328 00:15:15,570 --> 00:15:16,180 Yeah? 329 00:15:16,180 --> 00:15:19,610 >> ODYANS: Anndan nan Dosye HTML, fè you-- 330 00:15:19,610 --> 00:15:22,226 [? ou?] [? jis rele li?] yon [fèbl] PHP dosye? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: Bon kesyon. 332 00:15:23,350 --> 00:15:26,070 Nan yon kontèks entènèt, ki nou ap literalman sou yo tranzisyon nan, 333 00:15:26,070 --> 00:15:28,028 ou pa sèvi ak sa yo rele an kaz nan tèt la, 334 00:15:28,028 --> 00:15:31,980 paske server-- wèb la souvan yon pwogram yo rele Apache oswa Microsoft 335 00:15:31,980 --> 00:15:37,470 Ii, Entènèt Enfòmasyon sèvè, oswa nenpòt ki kantite lòt lojisyèl sèvè sit entènèt, 336 00:15:37,470 --> 00:15:40,636 konnen ke lè li wè yon dosye dot PHP, ke li 337 00:15:40,636 --> 00:15:42,010 ta dwe kouri entèprèt la sou li. 338 00:15:42,010 --> 00:15:43,468 Li pa gade nan ki liy an premye. 339 00:15:43,468 --> 00:15:45,580 Se konsa, liy sa a premye jwe fent se jis lè w ap 340 00:15:45,580 --> 00:15:48,330 liy lòd ekri programs-- nou pa pral fè super souvan, 341 00:15:48,330 --> 00:15:52,510 men li la fason nou nan Tranzisyon egzanp C nou yo kounye a PHP nou yo. 342 00:15:52,510 --> 00:16:00,680 >> Se konsa nou tout bon pon mond sa a soti nan mond lan liy lòd nan entènèt la 343 00:16:00,680 --> 00:16:02,230 pa fè sa ki annapre yo. 344 00:16:02,230 --> 00:16:05,090 Kite m 'ale pi devan epi trase sou isit la pou jis yon ti moman. 345 00:16:05,090 --> 00:16:09,940 Se konsa, si nou gen yon sèvè wèb, ou pito si nou gen laptop mwen sou isit la, 346 00:16:09,940 --> 00:16:11,280 ki mwen pral trase tankou sa a. 347 00:16:11,280 --> 00:16:14,250 Ak isit la nou gen nan entènèt nan kèk fòm. 348 00:16:14,250 --> 00:16:18,210 Lè sa a, sou isit la, nou gen yon sèvè nan yon building-- 349 00:16:18,210 --> 00:16:20,760 sa a se ki jan entènèt la fonctionne-ak nan isit la 350 00:16:20,760 --> 00:16:23,120 se yon sèvè ak kèk limyè petèt. 351 00:16:23,120 --> 00:16:27,530 Ki sa ki nan aktyèlman ale sou ant de koneksyon sa yo? 352 00:16:27,530 --> 00:16:29,240 >> Se konsa, nan sa a bilding se yon sèvè wèb. 353 00:16:29,240 --> 00:16:31,420 Se jis yon òdinatè ki nan kouri kèk opere 354 00:16:31,420 --> 00:16:34,561 sistèm-petèt lojisyèl an gratis ki rele Apache, ki CS50 IDE ap kouri. 355 00:16:34,561 --> 00:16:36,310 Se konsa, ou kapab aktyèlman panse a sa a bilding 356 00:16:36,310 --> 00:16:38,579 tankou se te bilding lan nan ki CSt0 IDE se ki estoke. 357 00:16:38,579 --> 00:16:40,870 Sa a kote tout nan ou gen kont, kote tout nan nou 358 00:16:40,870 --> 00:16:43,130 gen sèvè pwòp entènèt ou an kouri, nou tout ki 359 00:16:43,130 --> 00:16:45,730 gen URL pwòp ou a inik, kòm nou te kòmanse diskite sou, 360 00:16:45,730 --> 00:16:47,280 epi ou pral wè plis nan P. mete sis. 361 00:16:47,280 --> 00:16:49,450 >> Isit la nan yon kote laptop mwen lòt sou entènèt la. 362 00:16:49,450 --> 00:16:54,550 Se konsa, lè m 'ale nan yon URL ki fè pati m ', ki trafik entènèt ki pral 363 00:16:54,550 --> 00:16:58,360 sou nan sèvè a, nan nan sèvè resevwa yon HTTP request-- 364 00:16:58,360 --> 00:17:02,900 tankou yon jwenn index.html ak li a Replying ak sa yo ki paj entènèt. 365 00:17:02,900 --> 00:17:04,280 Se konsa, sa a, se paradigm la an jeneral. 366 00:17:04,280 --> 00:17:07,089 Lè nou konsidere ke tout bagay moute jouk jòdi a, jodi a, tout bagay 367 00:17:07,089 --> 00:17:09,660 te pase sèlman nan la limit nan sa a bilding nan. 368 00:17:09,660 --> 00:17:12,910 Mwen te lè l sèvi avèk laptop mwen, men Mwen te konekte nan CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 se konsa tout nan pwogram sa yo mwen te kouri te andedan nan ki sèvè, tèt li. 370 00:17:17,369 --> 00:17:22,660 >> Men koulye a,, kite la kòmanse resèvi PHP yo ekri kèk pwogram aktyèl ki 371 00:17:22,660 --> 00:17:24,230 yo te sèvi moute pa yon sèvè sit entènèt. 372 00:17:24,230 --> 00:17:30,320 Men, fè sa, mwen pral ale nan yon pakèt antye nan egzanp 373 00:17:30,320 --> 00:17:33,710 ki prezante ide sa a isit la. 374 00:17:33,710 --> 00:17:38,500 Se konsa, sa a se kalite yon fason anpenpan nan dekri yon paradigm pwogram. 375 00:17:38,500 --> 00:17:41,540 >> Lè an reyalite, menm jan ou sòti CS50 oswa travay sou pwojè final la, 376 00:17:41,540 --> 00:17:43,520 oswa pran kèk swiv sou klas, ou pral kòmanse 377 00:17:43,520 --> 00:17:45,740 yo wè ke world-- nan espesyalman li te gen grandi 378 00:17:45,740 --> 00:17:48,300 ak lang tankou C ki super ba nivo kap 379 00:17:48,300 --> 00:17:51,290 reyalize ke gen nan pi bon fason nan lojisyèl ekri. 380 00:17:51,290 --> 00:17:53,290 Gen sèten modèl ou ka swiv, 381 00:17:53,290 --> 00:17:57,640 sèten fason pou òganize dosye ou ak fason pou nonmen fonksyon ou, 382 00:17:57,640 --> 00:18:00,300 se konsa ke istwa long kout, te mond lan vini 383 00:18:00,300 --> 00:18:04,340 ak yon pakèt antye nan akwonim ak non pou fason nan pwogram. 384 00:18:04,340 --> 00:18:06,260 Sa yo se sèlman teknik ou ta ka sèvi ak. 385 00:18:06,260 --> 00:18:09,660 >> Yonn ladan yo te rele mv, pou ki gen konpòtman egzanplè Gade Kontwolè. 386 00:18:09,660 --> 00:18:12,270 Lè sa a se jis, pou kounye a, yon tro konplike 387 00:18:12,270 --> 00:18:18,960 fason pou li di ki jan ou ta dwe mete deyò yon sit entènèt PHP ki baze sou, nan ka nou an. 388 00:18:18,960 --> 00:18:22,140 Ki jan ou fè òganize dosye ou, ki jan ou òganize lojik ou, 389 00:18:22,140 --> 00:18:26,220 nan yon fason ki fè li pi fasil ekri ak pi konplike? 390 00:18:26,220 --> 00:18:28,550 Ak tout bon, nou pral byen vit jwenn la ansanm ak p-mete sèt. 391 00:18:28,550 --> 00:18:32,020 >> Se konsa, nan mond lan nan mv, w ap ale yo wè ke Kòd nou an kapab jeneralman 392 00:18:32,020 --> 00:18:38,290 yo kab karakterize kòm swa Kòd modèl, oswa kòd kontwolè, oswa kòd vi. 393 00:18:38,290 --> 00:18:40,200 Apre sa, mwen pral senplifye li kòm follows-- 394 00:18:40,200 --> 00:18:42,074 kontwolè a se nan sèvo nan pwogram ou an, 395 00:18:42,074 --> 00:18:44,100 li nan kote tout de la enteresan lojik k ap pase. 396 00:18:44,100 --> 00:18:46,110 Se konsa, tout sa nou te ekri konsa byen lwen nan klas la, 397 00:18:46,110 --> 00:18:48,210 se kalite tankou kontwolè code-- li nan kontwole 398 00:18:48,210 --> 00:18:50,585 pwogram ou an, pasan ou, ou kondisyon, fonksyon ou 399 00:18:50,585 --> 00:18:52,100 ak varyab ak tou sa. 400 00:18:52,100 --> 00:18:56,160 >> Pwen de vi, kounye a, yo ale nan gen yon ti kras plis evidan nan mond lan nan entènèt la. 401 00:18:56,160 --> 00:18:59,360 Yon View se estetik yo nan sit entènèt ou. 402 00:18:59,360 --> 00:19:04,080 Li nan sa ki itilizatè a sees-- imaj yo, tab yo HTML, HTML tags yo, ansanm ak tout 403 00:19:04,080 --> 00:19:08,220 de sa, tout nan ayestetik nan an gonfle bagay ki se pa sa ki difisil yo ekri, 404 00:19:08,220 --> 00:19:11,380 men se jis sa w ap génération, se gade nan sa yo rele, estetik yo. 405 00:19:11,380 --> 00:19:13,880 Ak modèl, finalman, ki pral yo dwe baz done stuff-- ki 406 00:19:13,880 --> 00:19:16,510 nou pral kòmanse plonje nan tout plis nan sa a Mèkredi. 407 00:19:16,510 --> 00:19:19,740 Se konsa, kontwolè se lojik la, wè se bagay la ayestetik, 408 00:19:19,740 --> 00:19:23,500 ak modèl a pwal kote nou magazen done aktyèl nou yo. 409 00:19:23,500 --> 00:19:26,410 >> Se konsa, kite pou yo gade nan sa a plis konkrètman ak egzanp sa a. 410 00:19:26,410 --> 00:19:34,700 Mwen pral ale nan anyè m 'isit la nan sous la jodi a code-- tout nan yo ki 411 00:19:34,700 --> 00:19:35,770 ki disponib sou entènèt. 412 00:19:35,770 --> 00:19:37,800 Apre sa, mwen pral ale nan vèsyon zewo. 413 00:19:37,800 --> 00:19:41,500 Ak isit la is-- kite nan rele l 'la vèsyon zewo nan sit entènèt CS50 la. 414 00:19:41,500 --> 00:19:43,010 Genyen pa anpil isit la nan tout. 415 00:19:43,010 --> 00:19:46,810 Li se yon paj entènèt trè senp sa a, se pwobableman lè l sèvi avèk sa HTML tags-- jis 416 00:19:46,810 --> 00:19:48,970 devine soti nan egzanp sot pase yo? 417 00:19:48,970 --> 00:19:49,890 >> Ki sa ki nan sa? 418 00:19:49,890 --> 00:19:53,920 H1-- pwobableman pou sa gwo fonse Tit, ki logo moute tèt, CS50. 419 00:19:53,920 --> 00:19:55,080 Ak sa ki lòt bagay se nan jwe? 420 00:19:55,080 --> 00:19:55,799 Yeah? 421 00:19:55,799 --> 00:19:56,840 ODYANS: lis unordered. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: Unordered list-- konsa nan UL tag e petèt yon koup la LI Tags. 423 00:19:59,990 --> 00:20:01,840 Men, si ou pa sonje sa yo, li onètman pa gen pwoblèm. 424 00:20:01,840 --> 00:20:04,170 Sa yo se an gonfle sòt de aplikasyon detay sou HTML 425 00:20:04,170 --> 00:20:06,378 ke ou byen vit gade moute epi w ap tounen sou wout ou. 426 00:20:06,378 --> 00:20:10,040 Nou pral konsantre plis sou pwogram lan lide ki moso yo juicier. 427 00:20:10,040 --> 00:20:12,890 >> Se konsa an n jis pran yon rapid gade nan HTML-- nan ak tout bon 428 00:20:12,890 --> 00:20:16,880 si mwen louvri moute sous la View isit la, wi, ki nan ekzakteman ki sa k ap pase sou isit la. 429 00:20:16,880 --> 00:20:18,440 Genyen yon tag UL. 430 00:20:18,440 --> 00:20:20,630 Pare solèy andedan nan se sa ki LI Tags. 431 00:20:20,630 --> 00:20:24,470 Lè sa a, mwen prete URL la a progranm aktyèl la isit la. 432 00:20:24,470 --> 00:20:27,570 >> Lè sa a, nan nan lectures.php se aparamman 433 00:20:27,570 --> 00:20:31,640 yon lòt paj dynamique pwodwi ki nan ale nan gen, se pou yo see-- ah, 434 00:20:31,640 --> 00:20:33,170 de premye semèn yo nan konferans. 435 00:20:33,170 --> 00:20:36,600 Se konsa, semèn zewo ak yon sèl semèn, se pou yo gade nan sa a men si mwen wè paj sous, 436 00:20:36,600 --> 00:20:38,120 tou super senp. 437 00:20:38,120 --> 00:20:42,430 Sa yo ki mennen ale nan de paj rele week0.php, ak week1.php. 438 00:20:42,430 --> 00:20:44,040 Se konsa, konsidere kounye a sa k ap pase. 439 00:20:44,040 --> 00:20:50,630 >> Lè m 'klike sou week0.php, laptop mwen ap fè yon demann pou week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Sèvè a sou sit wèb ★ a.k.a., CS50 IDE, ap resevwa ki anvlòp vityèl. 442 00:20:58,110 --> 00:21:01,040 Li nan wè yon mesaj tankou, jwenn week0.php. 443 00:21:01,040 --> 00:21:05,060 Li se lè sa a entèprete dosye a, tèt jouk anba, gòch a regleman dosye a 444 00:21:05,060 --> 00:21:07,720 rele week0.php-- ak voye krache deyò rezilta yo. 445 00:21:07,720 --> 00:21:10,510 Se konsa, andedan nan sa a ranpli, week0.php, yo dwe 446 00:21:10,510 --> 00:21:15,410 lojik la kontwolè ki génération HTML sa a, epi nou pral byento wè sa. 447 00:21:15,410 --> 00:21:19,340 >> Men, pou kounye a, kite m 'klike sou semèn zewo, e kounye a, nou gen Mèkredi ak Vandredi, 448 00:21:19,340 --> 00:21:25,260 e kounye a, nou gen glisad yo tou dousman soti nan semèn zewo. 449 00:21:25,260 --> 00:21:27,400 Apre sa, ou ta ka sonje sa a soti nan fason tounen lè. 450 00:21:27,400 --> 00:21:29,340 Se konsa, ki nan tout sit entènèt sa a ap fè. 451 00:21:29,340 --> 00:21:31,120 >> Se konsa nou konsidere ki jan li a fè sa. 452 00:21:31,120 --> 00:21:34,290 Mwen pral ale tounen nan la sous Kòd isit la, nan CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 ak mwen pral louvri moute index.php. 454 00:21:36,660 --> 00:21:38,910 Nan tèt yo nan sa a ranpli se yon pakèt moun sou kòmantè. 455 00:21:38,910 --> 00:21:43,000 Lè sa a, nan mitan an nan sa a ranpli, li vire soti, se pa Kòd PHP tou. 456 00:21:43,000 --> 00:21:47,380 Paske si ou pa gen nenpòt nan la louvri bracket Tags kesyon mak PHP, 457 00:21:47,380 --> 00:21:49,180 w ap lib yo jis mete HTML. 458 00:21:49,180 --> 00:21:51,480 >> Paske sa a PHP se entèprèt sipoze fè, 459 00:21:51,480 --> 00:21:53,938 se lè sa a li li file-- anwo jouk anba, gòch a regleman 460 00:21:53,938 --> 00:21:59,100 li sèlman entèprete Kòd li wè ant moun parantèz ang kesyon make. 461 00:21:59,100 --> 00:22:02,380 Apre sa, tout lòt bagay ki li pa fè sa rekonèt kòm PHP, li jis krache deyò. 462 00:22:02,380 --> 00:22:05,080 Apre sa, HTML se nan mitan bagay la li pral jis krache deyò. 463 00:22:05,080 --> 00:22:09,090 >> Se konsa, sa a ranpli te kapab gen te rele index.html, 464 00:22:09,090 --> 00:22:11,690 men mwen nonmen tout bagay dot PHP kòm yon wòch kite. 465 00:22:11,690 --> 00:22:15,960 Menm jan an tou Lectures.php-- underwhelming, li nan sèlman kèk HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, Menm jan an tou sèlman kèk HTML. 467 00:22:19,840 --> 00:22:22,300 >> Men koulye a, se pou yo mete yo sou nan provèrbyo chapo jeni, 468 00:22:22,300 --> 00:22:24,400 epi konsidere ki jan nou ka amelyore sa a. 469 00:22:24,400 --> 00:22:28,541 Li pa di yo fè sa a, men mwen kalite a dekonsantre nan kopi ak keratin. 470 00:22:28,541 --> 00:22:31,540 Ak nan reyalite, si mwen fè semèn de, ou konnen sa m ap pwobableman pral fè? 471 00:22:31,540 --> 00:22:34,940 Mwen pral pou yo ale nan week1.php, mwen ale nan mete aksan sou tout bagay. 472 00:22:34,940 --> 00:22:39,110 Mwen pral kopi li, kole li nan yon dosye nouvo rele week2.php, 473 00:22:39,110 --> 00:22:42,440 ajiste kèk URL, epi yo dwe sou wout mwen. 474 00:22:42,440 --> 00:22:45,240 >> Se konsa, ki baze sou sa nou te wè deja nan C, 475 00:22:45,240 --> 00:22:46,860 sa a pa santi dwa, èspere ke. 476 00:22:46,860 --> 00:22:49,610 Kopi, keratin raman solisyon a dwat. 477 00:22:49,610 --> 00:22:51,429 Se konsa, sa nou kapab kòmanse pou fè pou amelyore sa a? 478 00:22:51,429 --> 00:22:53,345 Kote yo ye opòtinite yo pou pi bon konsepsyon? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Depi lè a mwen jwenn yo semèn uit, li pral 481 00:22:58,760 --> 00:23:00,910 yo dwe reyèlman anmèdan si mwen vle chanje 482 00:23:00,910 --> 00:23:03,930 font la nan chak youn nan paj m 'yo, oswa si mwen vle 483 00:23:03,930 --> 00:23:06,522 chanje estrikti a nan Layout la. 484 00:23:06,522 --> 00:23:08,396 Se konsa, kote nan opòtinite pou pou pi bon konsepsyon? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Oke, kite la konsidere sa ki nan pataje atravè tout nan dosye sa yo. 487 00:23:15,160 --> 00:23:21,696 >> Isit la nan semèn yon sèl, isit la nan semèn zewo, isit la nan lectures.php, 488 00:23:21,696 --> 00:23:25,790 isit la nan ki sa ki index.php-- menm bagay la ak ki sa ki diferan, apeprè pale, 489 00:23:25,790 --> 00:23:26,760 nan chak nan sa yo dosye? 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 >> ODYANS: [fèbl] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: OK, bon. 495 00:23:42,160 --> 00:23:46,115 Se konsa, gen nan yon modèl, siman, annakò ak sa chak fwa mwen chwazi konferans mwen menm, 496 00:23:46,115 --> 00:23:48,250 Mwen ta dwe génération yon trè menm jan kap paj. 497 00:23:48,250 --> 00:23:50,375 Se konsa, petèt mwen kapab ogmante lefèt ke reyèlman, 498 00:23:50,375 --> 00:23:53,060 nou fè espre numériquement Catalogue lectures-- nou an 499 00:23:53,060 --> 00:23:55,290 si mwen ka mete menm plis mo nan repons ou an. 500 00:23:55,290 --> 00:23:59,984 Ak sa ki se bagay la sèlman, reyèlman, ki nan chanje ant semèn yonn- 501 00:23:59,984 --> 00:24:02,400 ak kite m 'desann se konsa li a apeprè nan menm place-- nan 502 00:24:02,400 --> 00:24:05,480 se konsa isit la se semèn zewo, apeprè nan tèt la. 503 00:24:05,480 --> 00:24:12,370 Isit la se yon sèl semèn, semèn zewo, semèn yon sèl, semèn zewo. 504 00:24:12,370 --> 00:24:14,370 OK, literalman si ou konnen pa gen okenn pwogram tou sa, 505 00:24:14,370 --> 00:24:16,286 sa a se kounye a jis tankou yon modèl matche jwèt. 506 00:24:16,286 --> 00:24:17,200 Se konsa, sa ki nan diferan? 507 00:24:17,200 --> 00:24:18,765 Yeah? 508 00:24:18,765 --> 00:24:19,777 >> ODYANS: [fèbl] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Bon, se konsa tit la ap chanje, tout tan se konsa yon ti kras. 510 00:24:22,360 --> 00:24:24,010 Zewo ki pral, nan kou, nan yon sèl. 511 00:24:24,010 --> 00:24:25,570 Menm bagay kap pase nan tag nan H1. 512 00:24:25,570 --> 00:24:28,790 Apre sa, nou pa byen wè li kòm fasil, paske URL yo se yon ti kras long. 513 00:24:28,790 --> 00:24:30,670 Men, moun yo ap chanje URL yon ti kras. 514 00:24:30,670 --> 00:24:34,490 >> Men, sa ki pa nan chanje se, se bay gabèl mwen di, pi fò nan sa ki nan page-- nan 515 00:24:34,490 --> 00:24:38,530 tag nan HTML nan menm bagay la, ki an tèt a se menm, tit la a se prèske menm bagay la, 516 00:24:38,530 --> 00:24:40,659 kò a se menm bagay la, ak prèske tout lòt bagay 517 00:24:40,659 --> 00:24:42,450 se menm bagay la eksepte pou moun ti kras reglaj. 518 00:24:42,450 --> 00:24:45,310 Se konsa, ki jan nou ka ale sou faktè kèk nan sa a soti? 519 00:24:45,310 --> 00:24:48,740 >> Oke, kite m 'pwopoze egzakteman ki nan vèsyon kap vini an. 520 00:24:48,740 --> 00:24:53,890 Se konsa, isit nan vèsyon youn, mwen gen egzak la dosye menm, plis yon koup la lòt moun. 521 00:24:53,890 --> 00:24:59,730 Isit la nan index.php-- e menm si ou pa janm te wè PHP anvan, 522 00:24:59,730 --> 00:25:05,511 ki sa mwen pwobableman fè yo rezoud sa a problem-- ki baze sou sa ou wè la a? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Yeah, se ke yon angajman ti tay? 525 00:25:12,760 --> 00:25:13,450 Se pa? 526 00:25:13,450 --> 00:25:16,020 Wi, ale sou. 527 00:25:16,020 --> 00:25:17,380 >> ODYANS: [fèbl] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Oui. 529 00:25:18,380 --> 00:25:20,380 >> ODYANS: [fèbl] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: Mwen bezwen ou a pale jis yon ti kras pi fò. 532 00:25:28,669 --> 00:25:31,084 >> ODYANS: [fèbl] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: OK, bon. 535 00:25:36,660 --> 00:25:38,620 Apre sa, mwen Monchè li te difisil renmen tande pale you-- men mwen 536 00:25:38,620 --> 00:25:42,690 panse sa w ap vin nan se ke Tags ki te komen moute tèt, 537 00:25:42,690 --> 00:25:47,710 ak Tags ki te komen sou la anba, gen kounye a te faktè soti, 538 00:25:47,710 --> 00:25:51,140 oswa rlege nan sa depoze? 539 00:25:51,140 --> 00:25:53,476 Header.php ak footer.php-- e nou pral 540 00:25:53,476 --> 00:25:55,600 fè kèk reglaj adrese enkyetid la ou jis 541 00:25:55,600 --> 00:25:59,370 leve soti vivan sou chanje nan nimewo, pou egzanp, si m 'te tande ou kòrèkteman. 542 00:25:59,370 --> 00:26:02,060 >> Men, sa sanble ap Esansyèl la nan li. 543 00:26:02,060 --> 00:26:04,820 Si te gen yon kantite lajan gwo èkse nan tèt la nan paj la, 544 00:26:04,820 --> 00:26:06,736 ak yon kantite lajan gwo èkse nan pati anba a, 545 00:26:06,736 --> 00:26:09,280 se pou yo literalman jis rekò e li te koupe ke kontni soti, 546 00:26:09,280 --> 00:26:13,270 mete l 'nan yon file-- separe jis tankou lide a nan CSS, kote nou faktè soti 547 00:26:13,270 --> 00:26:16,710 estetik trè menm jan, mete li nan yon separe dosye dot PHP, 548 00:26:16,710 --> 00:26:20,340 itilize mande pou nan mechanism-- ki se tankou C byen file include-- ki 549 00:26:20,340 --> 00:26:23,570 se esansyèlman tankou di ale gen tan pwan sa ki nan header.php, 550 00:26:23,570 --> 00:26:25,370 ak fè kopi epi kole yo isit la. 551 00:26:25,370 --> 00:26:29,490 >> Men, sa ki sa sa vle di se ke kounye a nan index.php, mwen gen de liy sa yo. 552 00:26:29,490 --> 00:26:32,130 Nan lectures.php, Mwen menm mwen te gen de liy sa yo. 553 00:26:32,130 --> 00:26:35,230 Nan week0.php, Mwen menm mwen te gen de liy sa yo. 554 00:26:35,230 --> 00:26:38,380 >> Se konsa, kounye, si mwen vle chanje tit la nan tout nan paj m 'yo, 555 00:26:38,380 --> 00:26:40,530 oswa mwen vle chanje a estrikti fondamantal, 556 00:26:40,530 --> 00:26:44,380 Mwen ka chanje li kounye a nan jis yon sèl kote, oswa de places-- header ak footer, 557 00:26:44,380 --> 00:26:45,429 respektivman. 558 00:26:45,429 --> 00:26:47,970 Koulye a, kòmanse kòd la nan fè yon gade yon ti kras plis skre, dwa? 559 00:26:47,970 --> 00:26:53,590 Men, si ou panse sou sa paj la se doing-- si mwen mande week0.php, 560 00:26:53,590 --> 00:26:59,880 jis tankou sou desen an sou isit lan-- lè se mande week0.php, 561 00:26:59,880 --> 00:27:00,960 ki sa sa vle di? 562 00:27:00,960 --> 00:27:04,410 >> Literalman, sa a ranpli se mande sa navigatè a. 563 00:27:04,410 --> 00:27:06,240 A.k.a. entènèt la server-- 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- bèn sa a ranpli, week0.php, ak li 565 00:27:09,250 --> 00:27:10,780 li anwo jouk anba, gòch a dwat. 566 00:27:10,780 --> 00:27:15,400 Sou liy yon sèl, li imedyatman rankont louvri bracket kesyon mak PHP, mande pou 567 00:27:15,400 --> 00:27:17,872 header dot PHP, e konsa sa entèprèt la PHP 568 00:27:17,872 --> 00:27:20,580 does-- ki nan bati nan entènèt la sèvè, paske nou prekonfigure 569 00:27:20,580 --> 00:27:24,580 li pou li otomatikman ale you-- nan header.php, kopi sa ki, 570 00:27:24,580 --> 00:27:25,640 kole yo isit la. 571 00:27:25,640 --> 00:27:28,790 >> Men, Lè sa rankont yo entèprèt kesyon mak fèmen bracket, 572 00:27:28,790 --> 00:27:30,320 se konsa li a tout fè panse. 573 00:27:30,320 --> 00:27:33,400 Koulye a, li jis je fèmen krache soti liy de a sèt, 574 00:27:33,400 --> 00:27:35,240 paske li nan jis HTML anvan tout koreksyon. 575 00:27:35,240 --> 00:27:38,470 Gets nan liy uit, ak fè ki menm majik again-- louvri dosye a, 576 00:27:38,470 --> 00:27:41,460 arachman sa ki, ak ki mande yo oswa kole yo 577 00:27:41,460 --> 00:27:42,480 Lè sa a, dwat oswa a. 578 00:27:42,480 --> 00:27:44,210 >> Men, mwen jis mansyone nan yon ensèk. 579 00:27:44,210 --> 00:27:48,610 Sa a se yon etap yon pati bak, paske si nou gade nan header.php, 580 00:27:48,610 --> 00:27:50,850 Mwen te kalite koupe yon kwen. 581 00:27:50,850 --> 00:27:56,250 Ki sa ki karakteristik mwen te bay moute yo nan lòd jwenn sa a pi bon konsepsyon plozibl? 582 00:27:56,250 --> 00:27:57,305 Yeah? 583 00:27:57,305 --> 00:27:58,180 ODYANS: [fèbl] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Yeah, mwen kalite a koupe yon kwen nontrivial. 585 00:28:00,570 --> 00:28:04,489 Ou fè remake ke sa ki te chanje te tit la, nimewo a nan tit la, 586 00:28:04,489 --> 00:28:05,530 ak nimewo a nan H1 a. 587 00:28:05,530 --> 00:28:08,170 Se konsa, solisyon m 'te, OK, kite yo jis chanje non paj la, 588 00:28:08,170 --> 00:28:10,080 epi yo pa fè fas ak sa pwoblèm tou. 589 00:28:10,080 --> 00:28:12,130 Se konsa, sa a, se yon pati nan etap bak pou asire w. 590 00:28:12,130 --> 00:28:14,300 >> Men, sa ki enpòtan pou remake isit la se se ke sa mwen te fè 591 00:28:14,300 --> 00:28:17,200 se otreman faktè soti tout bagay la komen. 592 00:28:17,200 --> 00:28:21,520 Ak nan footer.php, remake mwen faktè soti nan tout sa, kwake pi piti, 593 00:28:21,520 --> 00:28:22,790 komen bagay. 594 00:28:22,790 --> 00:28:26,070 Se konsa, mwen bezwen yon jan kanmenm kounye a kapab pran yon lòt etap pou pi devan, ak lojisyèl ranje 595 00:28:26,070 --> 00:28:27,160 ke pwoblèm tit. 596 00:28:27,160 --> 00:28:28,180 Se konsa nou fè sa. 597 00:28:28,180 --> 00:28:35,060 >> Kite m 'ale nan dezyèm vèsyon m' isit la, ki, ankò, gen dosye yo menm 598 00:28:35,060 --> 00:28:36,825 eksepte pou yon sèl nouvo de sa. 599 00:28:36,825 --> 00:28:38,950 Lè li nan yon ti kras plis sil, men kite a wè si nou 600 00:28:38,950 --> 00:28:40,550 ka toumante apa ki sa k ap pase sou isit la. 601 00:28:40,550 --> 00:28:45,370 Se konsa, olye pou yo mande header.php, ak footer.php, 602 00:28:45,370 --> 00:28:50,180 Mwen sanble yo sèlman mande yon sèl dwe file-- rele, nan kou, helpers.php. 603 00:28:50,180 --> 00:28:52,560 Ak kite m 'ladann kounye a, sa ki nan andedan nan helpers.php 604 00:28:52,560 --> 00:28:55,330 se jis yon pakèt moun sou fonksyon ke mwen te ekri, jis tankou anvan. 605 00:28:55,330 --> 00:28:57,550 Men, mwen rele l 'helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Koulye a, aparamman, nan liy twa ak 10, mwen se 607 00:29:00,370 --> 00:29:02,840 rele de functions-- rann header, rann footer. 608 00:29:02,840 --> 00:29:05,040 Moun sa yo ki pa vini ak PHP, mwen te ekri sa yo tèt mwen. 609 00:29:05,040 --> 00:29:07,880 Apre sa, mwen mete yo nan helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Koulye a, nou te sèlman wè sentaks sa a yon fwa, epi li te super kout. 611 00:29:11,210 --> 00:29:15,330 Men, sa a se aparamman yon diskisyon rann header, fonksyon an. 612 00:29:15,330 --> 00:29:16,450 Poukisa pou m 'konnen sa? 613 00:29:16,450 --> 00:29:18,522 Oke isit la nan yon fèmen paren, isit la nan yon paren louvri. 614 00:29:18,522 --> 00:29:21,230 Ak nan kou, jis tankou nan C, anyen ant moun parantèz 615 00:29:21,230 --> 00:29:23,350 se yon input-- oswa yon agiman nan fonksyon an. 616 00:29:23,350 --> 00:29:26,710 >> Ki sa ki se kalite a done nan agiman sa a, ki baze sou sa mwen te make? 617 00:29:26,710 --> 00:29:30,820 Ki sa ki fè moun parantèz kare endike, ki baze sou semèn pase a? 618 00:29:30,820 --> 00:29:33,390 Yeah, li nan yon array-- espesyalman yon etalaj asosyatif. 619 00:29:33,390 --> 00:29:35,700 Apre sa, sentaks sa a Byensir se yon ti kras fenki, 620 00:29:35,700 --> 00:29:38,860 men sa a se jis pase nan yon sèl kle valè pè. 621 00:29:38,860 --> 00:29:43,530 Kle a se, quote unquote Tit, ak valè a se CS50. 622 00:29:43,530 --> 00:29:46,220 >> Si nou te fè sa a nan C, li ta ka olye pou 623 00:29:46,220 --> 00:29:49,400 gade plis tankou sa a, jis quote unquote CS50-- 624 00:29:49,400 --> 00:29:52,460 oswa aktyèlman li ta Curly aparèy òtopedik, oswa yon bagay tankou sa nan C, 625 00:29:52,460 --> 00:29:55,580 kote kle a se zewo, ak valè a se CS50. 626 00:29:55,580 --> 00:29:59,840 Men, ankò, nan PHP, menm si nan sentaks se, ankò, yon ti kras etranj, 627 00:29:59,840 --> 00:30:02,860 li pèmèt ou pase nan Mo olye pou yo nimewo 628 00:30:02,860 --> 00:30:05,120 asosye kle ak valè. 629 00:30:05,120 --> 00:30:06,390 >> Se konsa, sa sa a tout vle di? 630 00:30:06,390 --> 00:30:09,750 Si m 'ale nan helpers.php, se pou yo gade nan fonksyon sa a. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, olye renderHeader se fonksyon m 'yo, 632 00:30:13,620 --> 00:30:16,220 e mwen konnen sa paske mwen wè mo kle a fonksyon isit la. 633 00:30:16,220 --> 00:30:19,450 Sa a se nouvo soti nan C-- li aparamman pran yon agiman rele data-- 634 00:30:19,450 --> 00:30:22,400 men mwen te kapab yo te rele sa a anyen, men mwen rele l 'done, 635 00:30:22,400 --> 00:30:25,090 jis yo dwe yon ti kras clean-- ak jis pran yon devine, espesyalman 636 00:30:25,090 --> 00:30:28,173 si ou te pwograme nan kèk lòt pi wo ak lang nivo anvan, yon bagay 637 00:30:28,173 --> 00:30:29,820 pi wo a C, concept. 638 00:30:29,820 --> 00:30:33,820 >> Ki sa egal bracket louvri bracket kare pwobableman vle di? 639 00:30:33,820 --> 00:30:35,540 Ou sa ki ka sa vle di? 640 00:30:35,540 --> 00:30:39,660 Nou pa te wè sa a nan C. Yeah? 641 00:30:39,660 --> 00:30:40,480 >> Yon etalaj vid. 642 00:30:40,480 --> 00:30:45,440 Espesyalman, sa a vle di ke si itilizatè a pa rele renderHeader 643 00:30:45,440 --> 00:30:49,340 ak yon agiman, mwen toujou ale gen yon agiman rele done, 644 00:30:49,340 --> 00:30:52,327 men valè default li yo se pral fè yon etalaj vid. 645 00:30:52,327 --> 00:30:53,660 Se konsa, li nan jis yon konvenyans bèl. 646 00:30:53,660 --> 00:30:56,493 Mwen pa gen rele nan itilizatè a, oubyen li ou te itilize fonksyon m 'mal. 647 00:30:56,493 --> 00:30:59,849 Mwen kapab jis bay itilizatè a yon default valè, si mwen pa patikilyèman pran swen. 648 00:30:59,849 --> 00:31:01,890 Koulye a, fonksyon sa a, mwen se ale nan balanse men m 'nan. 649 00:31:01,890 --> 00:31:07,620 Men, fonksyon ekstrè sa a pèmèt nou yo pase sa yo varyab nan done 650 00:31:07,620 --> 00:31:10,360 nan header.php nan fason sa a. 651 00:31:10,360 --> 00:31:13,100 Lè sa a se moso nan dènye a, Mwen panse ke, nan fenki sentaks. 652 00:31:13,100 --> 00:31:15,860 Isit la se nouvo vèsyon m ' a header.php-- li 653 00:31:15,860 --> 00:31:20,140 te konn ap di, literalman, louvri bracket Tit CS50, ak sa ki te li. 654 00:31:20,140 --> 00:31:21,766 Apre sa, menm bagay pou H1 a. 655 00:31:21,766 --> 00:31:24,310 >> Koulye a, li aparamman di yon bagay bèl Funky. 656 00:31:24,310 --> 00:31:28,030 Ak kite m 'senplifye sa a pou yon moman jan sa a. 657 00:31:28,030 --> 00:31:31,020 Sa a se sa mwen te chanje tit mwen yo dwe. 658 00:31:31,020 --> 00:31:35,140 Sepandan, li nan ap resevwa yon ti kras lèd parantèz toujou ap louvri yo avèk PHP, 659 00:31:35,140 --> 00:31:36,610 ak Lè sa a sèvi ak fonksyon an ekri an lèt detache. 660 00:31:36,610 --> 00:31:40,810 Li sanble ke PHP gen yon steno notasyon pou sa a, ki se jis 661 00:31:40,810 --> 00:31:45,050 yon siy egal, ki se teknikman yon fonksyon rele eko olye pou yo enprime, 662 00:31:45,050 --> 00:31:46,800 men li la menm bagay la, efektivman. 663 00:31:46,800 --> 00:31:48,440 >> Sa jis sanble pi bon. 664 00:31:48,440 --> 00:31:50,510 Se jis nan yon Massachusetts Institute of Technology sik, si ou vle, 665 00:31:50,510 --> 00:31:52,260 ki fè kòd m 'gade yon ti kras pi byen. 666 00:31:52,260 --> 00:31:54,010 Men, li vire soti, li nou pral wè sa a ankò 667 00:31:54,010 --> 00:31:57,420 anvan lontan, nou gen yo rele sa a annoyingly fonksyon lontan rele 668 00:31:57,420 --> 00:32:00,582 HTML charaktèr espesyal nan PHP, paske li vire soti 669 00:32:00,582 --> 00:32:02,790 gen sèten entrain ki itilizatè a ta ka ban nou, 670 00:32:02,790 --> 00:32:05,160 oswa ke itilizatè ta ka ban nou, ke yo pral kraze sit nou an. 671 00:32:05,160 --> 00:32:07,035 Men, nou pral wè ke pwochen semèn ak JavaScript. 672 00:32:07,035 --> 00:32:10,740 Men, pou kounye a, jis konnen ke sa a ranpli, headers.php, tou senpleman 673 00:32:10,740 --> 00:32:13,040 pran tit la ki Mwen te pase a, li fè 674 00:32:13,040 --> 00:32:17,380 asire w li nan san danje yo dwe sou fòm piki nan yon sit entènèt paj, epi li krache li soti kòm tit mwen 675 00:32:17,380 --> 00:32:18,640 ak jan H1 mwen. 676 00:32:18,640 --> 00:32:24,440 Se konsa, si m 'ale nan vèsyon sa-a kounye a, remake ke konferans gen tit li yo tounen, 677 00:32:24,440 --> 00:32:28,630 semèn zewo gen tit li yo tounen, ak tout bon, HTML a mwen génération 678 00:32:28,630 --> 00:32:32,110 se ki idantik ak sa premye vèsyon m ' was-- eksepte pou blan m 'yo, 679 00:32:32,110 --> 00:32:35,150 paske mwen te kòmanse fòma kòd m 'yon ti kras yon lòt jan. 680 00:32:35,150 --> 00:32:38,082 Men, mwen te pwodwi tout kòd a mwen pran swen sou yo. 681 00:32:38,082 --> 00:32:39,790 Se pou m 'pran yon poz pou jis yon ti moman ak wè 682 00:32:39,790 --> 00:32:42,200 si gen nan nenpòt kesyon oswa konfizyon mwen te kreye. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Tout dwa, se konsa kite a tòde yon ti kras pi rèd isit la 685 00:32:48,150 --> 00:32:51,500 yo wè si gen nan yon opòtinite pou amelyorasyon. 686 00:32:51,500 --> 00:32:56,130 Helpers.php tou te gen sa a fonksyon, ki rele renderFooter. 687 00:32:56,130 --> 00:32:59,652 Ak sa ki nan enpòtan pou remake sou renderHeader, ak renderFooter? 688 00:32:59,652 --> 00:33:02,610 Epi ankò, pou rezon jodi a, konnen ki fonksyon an ekstrè se jis 689 00:33:02,610 --> 00:33:08,280 wout mwen nan agiman pase nan header.php ak footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Padon? 692 00:33:11,780 --> 00:33:13,056 >> ODYANS: [fèbl] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Yeah, mwen sèlman chanje a mande pou liy. 694 00:33:15,180 --> 00:33:19,410 Se konsa, literalman, mwen te pran angajman peche a a kopye ak kole, men ankò. 695 00:33:19,410 --> 00:33:21,920 Li pa yon nimewo gwo nan liy, Men, vin on-- 696 00:33:21,920 --> 00:33:25,220 si mwen kopye e kole tout bagay jis chanje yon ti kras mo, 697 00:33:25,220 --> 00:33:28,610 ak yon ti kras pawòl Bondye a ki Alan pwen soti se footer isit la, kont header isit la. 698 00:33:28,610 --> 00:33:30,670 Sinon, tout bagay se ki idantik yo, eksepte pou, 699 00:33:30,670 --> 00:33:32,180 nan kou, non fonksyon an. 700 00:33:32,180 --> 00:33:33,690 Se konsa, sa nou ta ka fè pi byen? 701 00:33:33,690 --> 00:33:39,810 >> Oke, kite m 'louvri moute vèsyon sa-a isit la, annakò ak sa nan helpers.php, 702 00:33:39,810 --> 00:33:42,300 poukisa yo pa mwen jis jwenn yon ti kras pi entelijan sou sa a? 703 00:33:42,300 --> 00:33:46,410 Ekri yon ti kras pi konplike Kòd, men rele l 'rann? 704 00:33:46,410 --> 00:33:48,470 Se konsa, sa m 'fondamantalman chanje? 705 00:33:48,470 --> 00:33:51,770 >> Li pran yon agiman now-- de agiman, done toujou. 706 00:33:51,770 --> 00:33:54,444 Lè sa a, sa ki nan premye a Non pwobableman te itilize pou, 707 00:33:54,444 --> 00:33:55,860 ki baze sou sa w ap li isit la? 708 00:33:55,860 --> 00:33:58,452 Menm si kèk nan sentaks la se toujou nouvo. 709 00:33:58,452 --> 00:33:59,660 Ki sa ki se an dola modèl mirak konsa? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Padon? 712 00:34:03,016 --> 00:34:03,710 >> ODYANS: Header oswa footer. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: Header oswa footer. 714 00:34:04,510 --> 00:34:07,134 Se konsa, aparamman, mwen deside ke si bagay la sèlman ki nan chanje 715 00:34:07,134 --> 00:34:10,159 se sa ki modèl mwen vle print-- ak pa modèl 716 00:34:10,159 --> 00:34:13,100 Mwen vle di sa a se plan pou kòd ki mwen vle pwodiksyon, 717 00:34:13,100 --> 00:34:16,350 men mwen vle ploge nan kèk values-- Se konsa, si li nan sèlman header 718 00:34:16,350 --> 00:34:20,440 oswa footer, poukisa pa mwen paramètres ki ak rele siy lan agiman dola 719 00:34:20,440 --> 00:34:21,409 modèl? 720 00:34:21,409 --> 00:34:26,250 Lè sa a, sa a sentaks fenki pèmèt m ' yo kreye yon chemen nan yon varyab isit la. 721 00:34:26,250 --> 00:34:28,030 >> Se konsa, chemen siy dola se yon varyab. 722 00:34:28,030 --> 00:34:31,120 Ki sa sentaks sa a fè, si w ap abitye? 723 00:34:31,120 --> 00:34:32,512 Yeah? 724 00:34:32,512 --> 00:34:34,065 >> ODYANS: [fèbl] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Egzakteman. 726 00:34:34,940 --> 00:34:37,600 Si modèl se, quote unquote, header, oswa si modèl se, 727 00:34:37,600 --> 00:34:41,170 quote unquote, footer, ki liy gen ke mwen te make, liy uit, 728 00:34:41,170 --> 00:34:46,330 se tou senpleman pran ke non, tankou header, ak konkatenan l 'ak dot PHP. 729 00:34:46,330 --> 00:34:49,750 Se konsa, nou pa t 'gen sa a operatè nan C. Sa a operatè dot se 730 00:34:49,750 --> 00:34:54,520 yon bagay etonan nan PHP-- si w ap abitye avèk JavaScript oswa Java, 731 00:34:54,520 --> 00:34:56,949 ou ka itilize plis nan siyen fè Anchènman. 732 00:34:56,949 --> 00:34:59,974 >> Nan C, li se yon doulè nan neck-- nan ak mwen se konsa regrèt, nan p-mete sis, 733 00:34:59,974 --> 00:35:02,390 w ap ale nan dwe fè sa a men li se yon doulè nan kou a 734 00:35:02,390 --> 00:35:03,930 anchene strings. 735 00:35:03,930 --> 00:35:04,670 Poukisa? 736 00:35:04,670 --> 00:35:06,580 Oke, paske si ou te gen yon afè sa a, se sa a depi lontan, 737 00:35:06,580 --> 00:35:09,538 ak yon lòt fisèl sa a, se sa a depi lontan, ou pa kapab jis ploge yo ansanm. 738 00:35:09,538 --> 00:35:11,070 Ki sa ou olye pou dwe fè nan C? 739 00:35:11,070 --> 00:35:11,680 Yeah? 740 00:35:11,680 --> 00:35:12,380 >> ODYANS: [fèbl] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Ou gen malok memwa, oswa itilize yon etalaj sou pil la. 742 00:35:15,090 --> 00:35:17,214 Epi ou gen aktyèlman yo fè ki etalaj gwo ase 743 00:35:17,214 --> 00:35:20,940 nan anfòm sa a plis sa a, plis antislach a zewo. 744 00:35:20,940 --> 00:35:24,994 Lè sa a, lè l sèvi avèk anchene yo ansanm brase chat oswa manyèlman ak yon pou riban, 745 00:35:24,994 --> 00:35:26,160 oswa nenpòt ki kantite teknik. 746 00:35:26,160 --> 00:35:27,760 Apre sa, nou montre w yon koup nan p-mete sis. 747 00:35:27,760 --> 00:35:29,080 >> Li se yon doulè nan kou an. 748 00:35:29,080 --> 00:35:34,190 Lè sa a se vrèman sa mwen vle di sou sa a kont sa a men tankou C kont PHP. 749 00:35:34,190 --> 00:35:36,870 Ou jis jwenn anpil plis fonctionnalités pou gratis, 750 00:35:36,870 --> 00:35:39,030 pou ke ou ka konsantre, depreferans, sou plezi nan 751 00:35:39,030 --> 00:35:41,190 yon pati nan kodaj, nan pwojè ou vle rezoud, 752 00:35:41,190 --> 00:35:43,190 olye ke karakteristik nan nivo ki ba. 753 00:35:43,190 --> 00:35:49,840 >> Se konsa, sa a jis jenere header.php oswa footer.php ki baze sou ki yon sèl mwen rele. 754 00:35:49,840 --> 00:35:52,280 Ak tout bon si mwen ale nan index.php, avi 755 00:35:52,280 --> 00:35:56,230 tout sa ki nan changed-- Olye pou yo rele rann header oswa footer rann, 756 00:35:56,230 --> 00:36:00,230 M ap rele rann, swiv pa nan non nan modèl la ke mwen vle fè. 757 00:36:00,230 --> 00:36:02,370 Men, ou pral wè sa a, tou, nan pwoblèm mete sèt, 758 00:36:02,370 --> 00:36:05,530 kijan nou pèmèt ou sèvi ak nan menm fonksyon fè grap 759 00:36:05,530 --> 00:36:07,550 ak grap nan paj wèb diferan. 760 00:36:07,550 --> 00:36:10,570 >> Se konsa, olye ke rete twò pi plis sou sa yo details-- 761 00:36:10,570 --> 00:36:13,210 kote ou pral wè ankò nan pwoblèm seri seven-- kite pou yo gade 762 00:36:13,210 --> 00:36:16,850 a kounye a nan konmansman an nan yon solisyon nan yon pwoblèm plis enteresan. 763 00:36:16,850 --> 00:36:19,310 Konsa byen lwen, pa gen anyen nou te fè gen done sove. 764 00:36:19,310 --> 00:36:22,920 An reyalite, lè a sèlman nou te janm sove yon bagay nou te fè nan klas sa a 765 00:36:22,920 --> 00:36:31,030 se lè nou te gen yon Demo trè senp yon ti moman tounen, annakò ak sa nou itilize dosye IO nan C, 766 00:36:31,030 --> 00:36:34,520 e mwen panse mwen tape nan non mwen, epi Non Hannah la, ak non Maria a, 767 00:36:34,520 --> 00:36:37,610 oswa petèt Non Andy a, ak lè sa a nou sove yon file-- CSV 768 00:36:37,610 --> 00:36:39,430 vigil separe valè dosye-a. 769 00:36:39,430 --> 00:36:43,530 >> Apre sa, nou itilize fopen-- Mwen panse ke nou itilize fprintf jan mwen sonje, 770 00:36:43,530 --> 00:36:44,910 epi nou sove yon dosye-a. 771 00:36:44,910 --> 00:36:46,920 Koulye a,, se sa ki pi senp la fòm yon baz done. 772 00:36:46,920 --> 00:36:50,230 Si ou vle fè yon sit entènèt pou a Pwogram Frosh IMS, annakò ak sa elèv premye ane 773 00:36:50,230 --> 00:36:53,390 ka enskri pou yon espò, ou depreferans vle fè yon bagay ak sa done. 774 00:36:53,390 --> 00:36:55,370 Semèn pase a, nou te fè sa pa gen anyen ak data-- nan nou jis te di, 775 00:36:55,370 --> 00:36:56,661 w ap anrejistre, pa vrèman. 776 00:36:56,661 --> 00:36:58,950 Oswa petèt mwen kouriyèl nan PROCTOR, ak sa ki te li. 777 00:36:58,950 --> 00:37:02,110 >> Men, li ta dwe nice si mwen te kapab bay ki PROCTOR yon dosye CSV, 778 00:37:02,110 --> 00:37:03,340 tankou yon dosye Excel. 779 00:37:03,340 --> 00:37:05,090 Oswa pi bon toujou, li ta dwe nice si mwen te kapab 780 00:37:05,090 --> 00:37:08,830 mete non moun ki itilizatè 'ak dòtwa non ak nan tout sa 781 00:37:08,830 --> 00:37:11,740 nan yon baz done ki jis ap viv sou pou tout tan, 782 00:37:11,740 --> 00:37:13,530 jouk tan mwen chwazi yo efase done yo. 783 00:37:13,530 --> 00:37:15,645 Yon baz done ki pèmèt m 'sijè rechèch enfòmasyon. 784 00:37:15,645 --> 00:37:18,070 Ak tout bon, se sa ki yon baz done se. 785 00:37:18,070 --> 00:37:20,470 >> Nou entwodui jodi a, e semèn pwochèn, tou, yon teknoloji 786 00:37:20,470 --> 00:37:25,020 rele SQL yon rekèt estriktire Lang, ki se yon lòt lang. 787 00:37:25,020 --> 00:37:28,750 Li nan esansyèlman se yon pwogram ak lang, men pou baz done. 788 00:37:28,750 --> 00:37:31,760 Apre sa, yon baz done pou kounye a, jis panse a kòm yon vèsyon super anpenpan 789 00:37:31,760 --> 00:37:35,710 nan Microsoft Excel, oswa Google Tableur, oswa Apple Numbers. 790 00:37:35,710 --> 00:37:39,950 Li nan jeneralman yon pwogram ki pèmèt ou nan magazen yon pakèt antye nan done 791 00:37:39,950 --> 00:37:43,960 nan ranje ak kolòn, byen tankou ou ta ka nan Excel. 792 00:37:43,960 --> 00:37:47,100 >> Men, sa ki nan bèl, espesyalman si nou pa super abitye avèk Excel, 793 00:37:47,100 --> 00:37:52,040 sa SQL pèmèt ou fè se sa a query enfòmasyon pa ekri liy nan Kòd 794 00:37:52,040 --> 00:37:55,220 kote ou ka, menm si ou baz done gen yon milyon dola ranje nan li, 795 00:37:55,220 --> 00:37:57,190 ou ka jwenn bagay sa yo Super vit. 796 00:37:57,190 --> 00:37:59,950 An reyalite, Excel se patikilyèman move nan aparèy televisyon HD done gwo. 797 00:37:59,950 --> 00:38:02,460 Lè an reyalite, jiska yon kèk ane de sa, yo te tounen soti 798 00:38:02,460 --> 00:38:08,890 Excel ta sèlman pèmèt ou nan magazen jiska 65.535 ranje nan data-- ki 799 00:38:08,890 --> 00:38:12,020 son tankou yon anpil, men nan la fwa mwen te yon elèv grad, 800 00:38:12,020 --> 00:38:14,920 ak mwen sonje Tripping sou sa a paske mwen te génération 801 00:38:14,920 --> 00:38:17,900 CSV dosye pou rechèch mwen epi mwen te vle analize yo byen vit 802 00:38:17,900 --> 00:38:19,530 pa jis ouvèti moute nan Excel. 803 00:38:19,530 --> 00:38:23,730 Natirèlman, òdinatè mwen an jis te fè aksidan, paske mwen te gen plis pase 65,000 ranje. 804 00:38:23,730 --> 00:38:27,210 >> Men, kote t '65.535 nan soti? 805 00:38:27,210 --> 00:38:29,670 Ki sa ki te fè Microsoft, prezimableman? 806 00:38:29,670 --> 00:38:32,430 Si ou se bon ak pouvwa ou nan de? 807 00:38:32,430 --> 00:38:37,160 Yeah, yo te lè l sèvi avèk yon 16-bit valè ki reprezante nimewo a ranje. 808 00:38:37,160 --> 00:38:41,310 Ak de a 16 se 65,536-- youn mwens, paske si ou 809 00:38:41,310 --> 00:38:45,414 zewo endèks vle di ke te an pi kantite ranje mwen te kapab genyen. 810 00:38:45,414 --> 00:38:46,830 Epi, se te jis yon desizyon konsepsyon. 811 00:38:46,830 --> 00:38:52,760 Pa ekonomize 16 Bits, yo limite m ' 16,000 ranje, olye pou yo 4 milya de dola, 812 00:38:52,760 --> 00:38:54,322 ki mwen te kapab te gen depreferans. 813 00:38:54,322 --> 00:38:57,030 Men, pou kounye a, nou ap ale nan prezante sa a plis nan yon kontèks entènèt. 814 00:38:57,030 --> 00:39:00,390 Ak sa ki nan bèl sou SQL se ke menm menm si li a trè pwisan ak bèl 815 00:39:00,390 --> 00:39:04,050 sofistike, li vrèman klou desann nan kat kle operasyon, kat 816 00:39:04,050 --> 00:39:08,060 kle fonksyon, si ou will-- chwazi, pou retwouve done, chèche 817 00:39:08,060 --> 00:39:12,510 pou done; efase oswa efase done; Insert pou ajoute ranje nan baz done a; 818 00:39:12,510 --> 00:39:13,410 ak jour. 819 00:39:13,410 --> 00:39:17,010 Se konsa, si ou te janm itilize Google Tableur, Apple Numbers, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, ou te egzekite, gen plis chans, tout 821 00:39:19,310 --> 00:39:22,530 nan operasyon sa yo kòm yon moun pa jis lè l sèvi avèk klavye ou ak mouse-- 822 00:39:22,530 --> 00:39:26,050 mete done, lè l sèvi avèk je ou yo ka chwazi oswa rechèch pou done, 823 00:39:26,050 --> 00:39:28,360 oswa aktyalizasyon done, oswa efase done. 824 00:39:28,360 --> 00:39:29,870 >> Se konsa, sa sa vle di? 825 00:39:29,870 --> 00:39:34,300 Oke, pre-enstale nan CS50 IDE se yon pwogram yo rele miskl. 826 00:39:34,300 --> 00:39:37,050 Li se yon gratis, louvri-sous baz done sa a, se super popilè. 827 00:39:37,050 --> 00:39:40,590 Facebook, pou egzanp, sèvi ak li nan sa a jou, nan mitan lòt zouti yo ke yo itilize. 828 00:39:40,590 --> 00:39:44,300 Ak yon anpil nan sit entènèt trè popilè itilize l 'nan gwo pati paske li nan vit, 829 00:39:44,300 --> 00:39:45,230 ak paske li nan gratis. 830 00:39:45,230 --> 00:39:46,820 Menm si sètènman altènativ egziste. 831 00:39:46,820 --> 00:39:49,580 Se konsa, kèk nan ou ta ka travayèz ak altènativ pou pwojè final la. 832 00:39:49,580 --> 00:39:55,330 >> Sa a se yon D, pandan se tan, nan yon zouti ki baze sou wèb ki rele fpmyadmen. 833 00:39:55,330 --> 00:39:58,260 Li se yon konyensidans ki zouti ki baze sou wèb sa a tou se 834 00:39:58,260 --> 00:40:01,720 ekri nan yon lang, PHP, men ki sa li la vle di ke yo fè 835 00:40:01,720 --> 00:40:04,620 se ban nou yon sit entènèt ki baze sou koòdone nan yon baz done. 836 00:40:04,620 --> 00:40:07,180 Paske miskl tipikman se yon bagay, istorikman, ou 837 00:40:07,180 --> 00:40:08,770 ta kominike avèk sèlman ak yon liy lòd. 838 00:40:08,770 --> 00:40:10,811 Epi li ta ka super anmèdan ak Esoteric gen 839 00:40:10,811 --> 00:40:14,487 tape kòmandman textuelle nan chwazi done, insert done, ak efase done. 840 00:40:14,487 --> 00:40:16,820 Se konsa, gen kèk moun ki sou entènèt la te ekri yon pwogram ki baze sou wèb 841 00:40:16,820 --> 00:40:18,900 ki jis fè nou jere done yo nan baz done nou an. 842 00:40:18,900 --> 00:40:23,040 Se tankou doub klike sou Excel, ak kouri yon vèsyon ki baze sou wèb ladan l '. 843 00:40:23,040 --> 00:40:26,370 >> Ak sa ki w ap ale nan sèvi ak sa a pou finalman semèn pwochèn, pa nan p-mete sis, 844 00:40:26,370 --> 00:40:28,680 men se yo bati yon bagay rele CS50 Finans, ki 845 00:40:28,680 --> 00:40:32,630 ki pral gen yon baz done nan itilizatè yo, ki gen non itilizatè yo ak modpas, 846 00:40:32,630 --> 00:40:34,860 dola kantite lajan ke yo gen nan kont labank yo. 847 00:40:34,860 --> 00:40:37,280 Li k ap pase yo dwe yon bagay ou itilize nan magazen 848 00:40:37,280 --> 00:40:39,910 senbòl yo ak kantite yo ki nan aksyon ke itilizatè 849 00:40:39,910 --> 00:40:42,567 te achte lè l sèvi avèk vityèl dola ke ou pral bay yo. 850 00:40:42,567 --> 00:40:44,900 Epi, se k ap pase yo ki pèmèt itilizatè pou w anrejistre pou sit ou, 851 00:40:44,900 --> 00:40:47,190 se konsa ke menm zanmi ou yo kapab melodi nan nan sit entènèt ou 852 00:40:47,190 --> 00:40:49,360 ak aktyèlman enskri, ouvri sesyon an, ak jwe otou 853 00:40:49,360 --> 00:40:52,807 epi eseye jwenn fòt nan kòd ou a, epi eseye jwenn pinèz nan sit entènèt ou. 854 00:40:52,807 --> 00:40:55,390 Apre sa, yo pral tou senpleman enskri pa ajoute tèt yo, efektivman, 855 00:40:55,390 --> 00:40:58,120 via Kòd ou ekri nan baz done ou yo. 856 00:40:58,120 --> 00:41:02,470 >> Pou egzanp, sa a se yon D rapid nan sa ki yon baz done ta ka sanble. 857 00:41:02,470 --> 00:41:05,190 Sa a te nan youn nan solutions-- ane pase a 858 00:41:05,190 --> 00:41:07,760 sa a, se tankou yon mini Excel ranpli, ki estoke nan baz done nou an, 859 00:41:07,760 --> 00:41:09,950 ki estoke nan lojisyèl sa a yo rele miskl. 860 00:41:09,950 --> 00:41:13,260 Sou bò men gòch, mwen te aparamman bay chak itilizatè yon nimewo inik. 861 00:41:13,260 --> 00:41:16,200 Nan dezyèm kolòn nan, mwen te bay tout moun yon itilizatè name-- pwòp mwen 862 00:41:16,200 --> 00:41:16,880 pami yo. 863 00:41:16,880 --> 00:41:21,430 Yo, epi sou bò nan men dwat, Mwen te ba yo yon regle. 864 00:41:21,430 --> 00:41:26,760 >> Koulye a, sa a se aktyèlman yon modpas, men li la pa yon modpas tèks plenn. 865 00:41:26,760 --> 00:41:30,160 Li se yon modpas chiffres, si ou pral, oswa yon modpas regle. 866 00:41:30,160 --> 00:41:32,000 Ki nou pral tounen vin jwenn anvan lontan. 867 00:41:32,000 --> 00:41:34,340 >> Men, si ou te janm li yon atik sou ki jan 868 00:41:34,340 --> 00:41:37,950 modpas ou nan kèk bank oswa kèk sit ta ka yo te konpwomèt, 869 00:41:37,950 --> 00:41:39,630 li ka jeneralman vle di youn nan de bagay sa yo. 870 00:41:39,630 --> 00:41:42,780 Se konsa, sa a se jis yon ekstrè nan sis itilizatè. 871 00:41:42,780 --> 00:41:45,460 Tout moun nan ou koulye a kapab konnen soti atravè ranje andedan oswa fann 872 00:41:45,460 --> 00:41:47,690 sa modpas sis moun nou an ye. 873 00:41:47,690 --> 00:41:49,720 Men, si ou te janm vinn yon alèt oswa yon ekskiz 874 00:41:49,720 --> 00:41:52,803 ki sòti nan yon konpayi oswa sou sit wèb li di, regrèt sa, yon HACKER te kraze nan baz done nou an, 875 00:41:52,803 --> 00:41:56,360 ou ta dwe pwobableman chanje ou modpas, sa ki ka sa vle di? 876 00:41:56,360 --> 00:41:59,670 >> Oke, yon sèl, te kapab vle di nan Konpayi te plis embesil, 877 00:41:59,670 --> 00:42:03,630 e li te estoke modpas ou nan yon kolòn tankou sa a, kode. 878 00:42:03,630 --> 00:42:05,840 Ki vle di lènmi nou yo, ki te vòlè baz done a, 879 00:42:05,840 --> 00:42:07,440 literalman konnen ou non itilizatè ak modpas. 880 00:42:07,440 --> 00:42:08,960 Sa a senaryo ki pi mal posib. 881 00:42:08,960 --> 00:42:11,710 Ak jan ou pral wè nan p-seri sèt, tèlman fasil pou fè pou evite. 882 00:42:11,710 --> 00:42:15,624 Gen se absoliman pa gen okenn eskiz pou sa fòm sòt nan entènèt la jodi a. 883 00:42:15,624 --> 00:42:18,540 Two-- epi n ap jwenn kèk atik a pral temwaye lefèt ke sa a toujou 884 00:42:18,540 --> 00:42:21,710 rive, nonetheless-- de, petèt lènmi nou yo 885 00:42:21,710 --> 00:42:23,840 te vòlè vèsyon sa-a nan baz done a. 886 00:42:23,840 --> 00:42:27,110 Ki se toujou kalite move, paske kounye a yo konnen ke mwen gen sis kliyan, 887 00:42:27,110 --> 00:42:29,270 Mwen konnen non yo itilizatè de sis kliyan sa yo, 888 00:42:29,270 --> 00:42:32,910 e mwen konnen chiffres nan vèsyon, oswa vèsyon yo ache, 889 00:42:32,910 --> 00:42:34,340 nan modpas sis kliyan moun '. 890 00:42:34,340 --> 00:42:37,010 Men, nenpòt nan nou ki ta ka te fè [? Pirataj 2?] 891 00:42:37,010 --> 00:42:41,150 kote ou fann modpas, oswa pran yon gade nan ki vèsyon an pwoblèm nan 892 00:42:41,150 --> 00:42:46,280 seri, poukisa se li toujou yon ti kras inkyétant si advèsè a konnen regle ou 893 00:42:46,280 --> 00:42:47,435 modpas? 894 00:42:47,435 --> 00:42:49,732 >> ODYANS: Paske yo te kapab antre nan diksyonè a tout antye 895 00:42:49,732 --> 00:42:50,690 nan fonksyon an regle. 896 00:42:50,690 --> 00:42:54,520 Men, si modpas ou a se yon diksyonè mo, [? yo ka jis match?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Egzakteman, lènmi nou yo ka jis ekri kòd, tankou kèk nan nou 898 00:42:57,640 --> 00:43:00,526 te fè pou [? Pirataj?] 2, kijan ou repekte sou 899 00:43:00,526 --> 00:43:03,400 tout nan mo sa yo nan diksyonè a, oswa tout konbinezon posib pou yon 900 00:43:03,400 --> 00:43:06,610 a Z ak youn nan nine-- ki son tankou yon anpil, epi li ye. 901 00:43:06,610 --> 00:43:08,361 Men, pou yon òdinatè, li nan trè reprize vit. 902 00:43:08,361 --> 00:43:10,610 Lè an reyalite, sa ki te nan pwen nan [? Pirataj 2,?] Te 903 00:43:10,610 --> 00:43:12,540 pran bagay ki literalman sanble tankou sa a, 904 00:43:12,540 --> 00:43:14,900 ak ranvèse enjenyè ki sa li aktyèlman te ye a. 905 00:43:14,900 --> 00:43:17,270 >> Se konsa, nou pral gade nan ki jan nou kapab magazen sa a pi plis efikasite. 906 00:43:17,270 --> 00:43:20,210 Vire soti, Erezman nan miskl, gen yo pral yo dwe done kalite. 907 00:43:20,210 --> 00:43:22,800 Ak youn nan pati pyès sa yo plezi sou konsepsyon baz done, yo dwe onèt, 908 00:43:22,800 --> 00:43:25,810 se aktyèlman n ap deside pou tèt ou ki jan ou ta dwe reprezante done yo? 909 00:43:25,810 --> 00:43:29,630 Ou ta dwe reprezante yon nimewo telefòn kòm yon int, tankou yon nimewo gwo, oswa yon tan? 910 00:43:29,630 --> 00:43:31,630 Ou, ou aktyèlman fè li kòm yon sekans nan charaktèr? 911 00:43:31,630 --> 00:43:33,780 Apre sa, ka trè enpak nan sa a ki pa Peye-trivial. 912 00:43:33,780 --> 00:43:36,714 >> An reyalite, youn nan la pi bonè, istwa plezi konvnabl 913 00:43:36,714 --> 00:43:39,880 se lè Mak Zuckerberg te bati Facebook, li te orijinèlman ekri nan, 914 00:43:39,880 --> 00:43:42,300 epi ou toujou ap se lajman ekri nan PHP. 915 00:43:42,300 --> 00:43:45,400 Ak youn nan pi gwo defi yo yo te fè fas byen bonè nan te dekale. 916 00:43:45,400 --> 00:43:48,820 Lè yo kenbe ajoute apre lekòl lekòl apre lekòl, nan mwen konnen, 917 00:43:48,820 --> 00:43:51,639 youn nan solisyon yo yo te orijinal te esansyèlman a kapab bay kopi ak keratin 918 00:43:51,639 --> 00:43:53,430 kèk nan baz done yo ak kèk nan kòd la, 919 00:43:53,430 --> 00:43:55,346 se konsa ke Harvard te kouri sou sèvè pwòp li yo, 920 00:43:55,346 --> 00:43:56,995 ak MIT te kouri sou sèvè pwòp li yo. 921 00:43:56,995 --> 00:43:59,120 Lè sa a te poukisa, pou kèk nan nou ki ta ka sonje, 922 00:43:59,120 --> 00:44:01,510 ou pa t 'kapab gen zanmi nan lòt rezo. 923 00:44:01,510 --> 00:44:05,050 >> Ou pwobableman pa gen zanmi nan MIT oswa Harvard 10 oswa konsa ane de sa, 924 00:44:05,050 --> 00:44:07,467 men ou pa t 'kapab span rezo pou an pati rezon sa. 925 00:44:07,467 --> 00:44:10,550 Ak youn nan pi gwo defi yo pou Mak ak pou konpayi tankou Facebook 926 00:44:10,550 --> 00:44:13,460 se aktyèlman manyen dè santèn ak dè milye ak dè milyon 927 00:44:13,460 --> 00:44:14,460 nan demann pou chak dezyèm. 928 00:44:14,460 --> 00:44:16,501 Se konsa, bagay sa yo nou pral kòmanse ap pale de semèn sa a 929 00:44:16,501 --> 00:44:19,860 se reyèlman ale nan dwe konvnabl nan ekri bon lojisyèl, ak populè 930 00:44:19,860 --> 00:44:23,040 zouti siksè ki ka okipe anpil nan itilizatè. 931 00:44:23,040 --> 00:44:25,460 >> Se konsa, nou pral pale sou bagay sa yo tankou Indexing ak chache, 932 00:44:25,460 --> 00:44:26,910 men sa se li pou jodi a. 933 00:44:26,910 --> 00:44:28,780 Nou pral wè ou pou plis nan Mèkredi. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [MIZIK - "Seinfeld" tèm] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: ou kapab li, epi fè soustraksyon soti nan li. 937 00:44:35,943 --> 00:44:38,859 Apre sa, ou pa bezwen bwa avèk kèk kantite lajan pre-detèmine nan memwa. 938 00:44:38,859 --> 00:44:40,580 Oke, sa k ap ki pral yo dwe rele? 939 00:44:40,580 --> 00:44:42,369 >> Oratè 1: Oke, sa k ap pase sou? 940 00:44:42,369 --> 00:44:43,535 Oratè 2: Ki sa ou vle di? 941 00:44:43,535 --> 00:44:44,451 Li te bay yon konferans. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: Epi nou ka sèvi ak yon fonksyon rele malok memory-- 943 00:44:47,650 --> 00:44:50,050 >> Oratè 1: Poukisa yo pa bra l 'k ap deplase? 944 00:44:50,050 --> 00:44:52,450 >> Oratè 2: Bon that's-- ou konnen, sa a, se nòmal. 945 00:44:52,450 --> 00:44:57,162 Li nan jis tankou li te gen jis sosis gwo pandye la. 946 00:44:57,162 --> 00:44:59,040 >> Oratè 1: Sa a nòmal? 947 00:44:59,040 --> 00:45:03,096 >> Oratè 2: Yeah, mwen panse ke nou jis asime li aksidantèlman 948 00:45:03,096 --> 00:45:06,840 ranplase l 'ak deyodoran superglue. 949 00:45:06,840 --> 00:45:07,608