1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [Daqq tal-mużika] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Dan huwa CS50, u dan huwa l-bidu ta 'tmien ġimgħat. 5 00:00:13,350 --> 00:00:17,510 U aħna qed hekk eċċitati li jilqgħu lura, sorpriża kbira, Ramon CS50 stess 6 00:00:17,510 --> 00:00:22,160 Galvan, anzjan żieda li kien infiq l-aħħar diversi xhur 7 00:00:22,160 --> 00:00:26,190 minn Lulju fil LA, fil Hollywood, litteralment jaħdmu fuq marka ġodda tat-TV 8 00:00:26,190 --> 00:00:31,930 juru imsejħa Colony, il-kreatur ta 'liema huwa attwalment alumi Harvard innifsu. 9 00:00:31,930 --> 00:00:36,610 U hekk aħna qed eċċitati ħafna biex tara dan debutt fuq in-netwerk USA din Jannar. 10 00:00:36,610 --> 00:00:40,370 Sabiex tissospendi sintonizzat għal dan, u għall aktar Ramon għall-ġimgħat li ġejjin. 11 00:00:40,370 --> 00:00:42,550 >> Kun af issa li t-tmiem huwa qrib. 12 00:00:42,550 --> 00:00:47,400 U dak li dan ifisser huwa li ma jkunx hemm kollha li ħafna xellug tal CS50, imdejjaq ngħid. 13 00:00:47,400 --> 00:00:49,400 Għandna biss tlieta problema settijiet left-- hemm 14 00:00:49,400 --> 00:00:52,510 problema sett six-- li huwa idejk issa jew dalwaqt se jkunu, 15 00:00:52,510 --> 00:00:56,080 lest aktar tard din week-- huwa maħsub biex jimtela dinjiet tagħna ta 'kmand tal-linja, fejn 16 00:00:56,080 --> 00:00:59,450 aħna ħadthom jintefqu ħafna mill-ħin tagħna jużaw C, u d-dinja ta 'programmazzjoni web. 17 00:00:59,450 --> 00:01:02,350 Well, inti taf tara ħafna ideat mislufa mill-ħidma linja tal-kmand, 18 00:01:02,350 --> 00:01:04,560 iżda wkoll ħafna ta 'ġodda u ideat interessanti 19 00:01:04,560 --> 00:01:07,929 li huma wkoll ser ikunu germane għall applikazzjonijiet mobbli u għat-teknoloġija, 20 00:01:07,929 --> 00:01:10,470 b'mod aktar ġenerali, li magħhom inti guys huma kollha familjari llum 21 00:01:10,470 --> 00:01:12,090 fuq laptops u telefowns u simili. 22 00:01:12,090 --> 00:01:15,220 >> Allura inti ser timplimenta mhux paġna web, jew websajt 23 00:01:15,220 --> 00:01:17,620 per se, iżda web server attwali. 24 00:01:17,620 --> 00:01:21,590 Inti se jikteb il-bqija ta 'web server miktub fl C, li l-għan fil-ħajja 25 00:01:21,590 --> 00:01:25,410 huwa li jirċievu talbiet HTTP, dawk pakketti virtwali inżommu nitkellmu 26 00:01:25,410 --> 00:01:29,780 dwar, u effettivament tirrispondi jew ma xi content-- statiku bħal dot HTML 27 00:01:29,780 --> 00:01:32,310 fajl, jew tikka JPEG jew kwalunkwe numru ieħor ta 'fajls, 28 00:01:32,310 --> 00:01:37,070 jew saħansitra fajl PHP biha web tiegħek server se tinterpreta dan PHP 29 00:01:37,070 --> 00:01:38,332 kodiċi u bżiq out-riżultati. 30 00:01:38,332 --> 00:01:40,540 Issa, konna sakemm illi inti ma pjuttost ftit ta 'qafas 31 00:01:40,540 --> 00:01:43,100 għall it-- tabilħaqq l- kodiċi ta 'distribuzzjoni għall-problema 32 00:01:43,100 --> 00:01:47,496 sett sitt huwa aktar minn 1,000 linji twil, Ħafna li huwa kummenti, bħala l fair-- 33 00:01:47,496 --> 00:01:49,370 iżda dan huwa tassew maħsub li huwa opportunità 34 00:01:49,370 --> 00:01:52,570 li tinkiseb idejk għadis maħmuġ fi proġett pjuttost kbir 35 00:01:52,570 --> 00:01:55,570 li konna ħafna speċifikament minquxin out biċċiet ta 'għalik, 36 00:01:55,570 --> 00:01:59,046 b'tali mod li verament meta inti ħruġ CS50 u jidħlu fid-dinja reali ta 'programmazzjoni 37 00:01:59,046 --> 00:02:00,920 u jridu dabble fil kwalunkwe numru ta 'proġetti, 38 00:02:00,920 --> 00:02:03,253 inti ser ikollok ħafna akbar kumdità tniżżil xi sors 39 00:02:03,253 --> 00:02:05,020 kodiċi, xi sors miftuħ proġett fuq il-web, 40 00:02:05,020 --> 00:02:08,174 idrokarburi, u għadis u jagħmlu bidliet li tara xieraq. 41 00:02:08,174 --> 00:02:11,340 Problema stabbiliti seba se jkun ta 'madwar jagħmlu web-based applikazzjoni tiegħek 42 00:02:11,340 --> 00:02:14,140 li jieħu kontribuzzjonit dinamika u tipproduċi output dinamika fil-forma 43 00:02:14,140 --> 00:02:16,920 ta 'websajt' etrade.com simili. 44 00:02:16,920 --> 00:02:20,800 U l-problema stabbilita tmien se tiffoka fuq għadhom lingwa oħra magħrufa bħala JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> Sadanittant, l-aħħar proġett huwa fuq l-orizzont. 46 00:02:24,170 --> 00:02:26,800 L-hekk imsejħa pre-proposta huwa dovut ġimgħa mil-lum. 47 00:02:26,800 --> 00:02:29,930 Pre-proposal-- kull l-ispeċifikazzjoni, li hija fuq website-- CS50 s 48 00:02:29,930 --> 00:02:33,260 hija opportunità pretty każwali għall inti tibgħat email pretty qosor 49 00:02:33,260 --> 00:02:35,170 li sħabi tagħlim tiegħek biss li tinforma lilu 50 00:02:35,170 --> 00:02:38,250 jew tagħha ta 'dak li qed jaħsbu, li użu dwarha bħala mezz ta 'ġbir. 51 00:02:38,250 --> 00:02:40,980 U jkollhom sanità check-- jekk int taħseb 52 00:02:40,980 --> 00:02:43,210 dwar gdim off wisq kemm jew forsi ftit wisq, 53 00:02:43,210 --> 00:02:46,480 jew forsi ikollok ebda idea tkun xi tkun u jridu jimpenjaw ruħhom fil-konverżazzjoni. 54 00:02:46,480 --> 00:02:48,480 >> Wara hija proposta u rapport tal-istatus, 55 00:02:48,480 --> 00:02:51,860 l-hekk imsejħa hackathon CS50 hawn fil Cambridge għall Harvard u Yale istudenti 56 00:02:51,860 --> 00:02:52,362 bl-istess mod. 57 00:02:52,362 --> 00:02:54,320 Il-proġett aħħari implimentazzjoni huwa imbagħad lejn. 58 00:02:54,320 --> 00:02:59,290 U mbagħad CS50 ġust hawn, fil Cambridge, kif ukoll ieħor fi New Haven. 59 00:02:59,290 --> 00:03:02,500 Allura l-proposta, tagħti ħarsa lejn il-websajt għall dawk id-dettalji. 60 00:03:02,500 --> 00:03:06,530 >> Iżda aktar excitingly, wisq, huwa opportunità li tikseb idejk maħmuġin, 61 00:03:06,530 --> 00:03:09,350 u imħuħ tiegħek miftuħa lill-impjegati whole mazz ta 'suġġetti u għodod 62 00:03:09,350 --> 00:03:12,920 u tekniki li huma anċillari li sillabu qalba tal-kors, l 63 00:03:12,920 --> 00:03:14,810 iżda madankollu relatati. 64 00:03:14,810 --> 00:03:18,400 U wkoll skaluni isbaħ għal tagħmel proġetti finali verament jibred li 65 00:03:18,400 --> 00:03:22,020 jmorru lil hinn sew mill-materjal konna koperti formalment problema settijiet jew lecture. 66 00:03:22,020 --> 00:03:24,446 Allura jmorru għall-websajt CS50 għall l-roster kollu ta 'seminars. 67 00:03:24,446 --> 00:03:26,070 Jekk inti ma tirreġistra għadhom, li l-multa. 68 00:03:26,070 --> 00:03:29,860 Jimxi 'l quddiem u jiffirmaw xorta u aħna se segwitu ma 'rabta streaming live, 69 00:03:29,860 --> 00:03:31,844 il-jum u l-ħin huwa fuq il-websajt. 70 00:03:31,844 --> 00:03:33,760 U kollox se jkun rreġistrati u mqiegħda online 71 00:03:33,760 --> 00:03:35,800 jekk inti ma tistax tagħmel il- partikolari ġranet u ħinijiet. 72 00:03:35,800 --> 00:03:39,380 >> Fir-rigward dak li jinsab quddiem thereafter-- ukoll, naturalment, hemm il-hackathon CS50. 73 00:03:39,380 --> 00:03:43,560 Dan ir-ritratt, irtirar, minn żero ġimgħa meħuda madwar 4:00 waħda filgħaxija fl-aħħar snin. 74 00:03:43,560 --> 00:03:46,900 Il CS50 ġust, li għal darb'oħra se ssir fiż-żewġ ibliet. 75 00:03:46,900 --> 00:03:49,760 U mbagħad, biss għall-pjanti l- żerriegħa, anke jekk aħna xorta 76 00:03:49,760 --> 00:03:54,080 ikollu xahar plus xellug tal semestru, jekk inti tixtieq li jissieħbu tagħlim CS50 stess 77 00:03:54,080 --> 00:03:56,770 persunal, u inti tixtieq li tibda ħsieb dwar issir CA, 78 00:03:56,770 --> 00:03:59,550 jew sħabi tagħlim, jafu li aħna ser jibda jitkellem aktar dwar dak 79 00:03:59,550 --> 00:04:00,630 aktar tard din semestru. 80 00:04:00,630 --> 00:04:03,470 Iżda isaffru hawn huwa aktar tat-tim din is-sena. 81 00:04:03,470 --> 00:04:06,950 >> U għalhekk, PHP-- u I kien tant imdejjaq aħħar ġimgħa li [? Allyse?] Ġentilment 82 00:04:06,950 --> 00:04:09,370 marru għall-isforz ta 'jkollna us dawn props isbaħ 83 00:04:09,370 --> 00:04:11,720 li jien ma tispiċċa bl-użu, u għalhekk verament biss ħares tip ta 'stupid 84 00:04:11,720 --> 00:04:15,160 li kellna pala seduta hawn kollha jum aħħar Erbgħa, u mgħarfa ftit. 85 00:04:15,160 --> 00:04:17,709 Iżda dan kien metaforika tiegħi mod ta 'tipprova żebgħa 86 00:04:17,709 --> 00:04:21,600 l-istampa ta 'għaliex aħna qed transizzjonijiet minn C għal lingwa bħal PHP. 87 00:04:21,600 --> 00:04:25,480 U l-istess jista 'jingħad dwar kull Numru ta 'languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 jew għenieqed ta 'others-- iżda billi fl C, per eżempju, kitba ta 'programm C 89 00:04:31,270 --> 00:04:34,050 jista 'tipikament ikun simili teħid ta 'mgħarfa bħal dan 90 00:04:34,050 --> 00:04:36,770 u tħaffir toqba fil- art, fir-ramel jew il-ħmieġ. 91 00:04:36,770 --> 00:04:39,770 PHP tippermetti li tieħu ħafna gdim akbar barra mill-problema, 92 00:04:39,770 --> 00:04:42,842 miktub ferm inqas kodiċi użu ta 'għodda ferm iżgħar, 93 00:04:42,842 --> 00:04:45,050 għaliex hemm daqstant aktar funzjonalità għaqqadtu fil. 94 00:04:45,050 --> 00:04:47,633 >> Issa, kieku konna verament drammatiku, aħna'd jkollhom xi ħaġa li pala 95 00:04:47,633 --> 00:04:48,760 hawn, iżda dan ikun hekk. 96 00:04:48,760 --> 00:04:51,370 Sadanittant, l-ieħor metafora aħna ħarāet bil 97 00:04:51,370 --> 00:04:53,770 huwa, ovvjament, inti tista jużaw xi ħaġa bħal wrench 98 00:04:53,770 --> 00:04:56,610 martell fil xi ħaġa bħal dwiefer. 99 00:04:56,610 --> 00:04:58,980 Iżda naturalment, id-dritt għodda għall-użu huwa għaddej 100 00:04:58,980 --> 00:05:01,360 li mhux tant il- lingwa imsejħa C-- 101 00:05:01,360 --> 00:05:03,590 u issa I biss imdejqa [? Sanders,?] Probabbilment, 102 00:05:03,590 --> 00:05:07,890 aħna ser jiffissaw dak later-- hekk l-għodda dritt li jużaw spiss 103 00:05:07,890 --> 00:05:09,640 mhux se tkun din l-għodda iktar livell baxx. 104 00:05:09,640 --> 00:05:13,720 U fil-fatt, C ma tkunx lingwa li ħafna minnkom qatt ser tuża, 105 00:05:13,720 --> 00:05:15,590 jew għandhom neċessarjament jużaw mill-ġdid. 106 00:05:15,590 --> 00:05:18,350 >> U fil-fatt, ftit secret-- il-ħin biss 107 00:05:18,350 --> 00:05:23,160 I użu C myself hija pjuttost bejn Settembru u Diċembru ta 'kull waqgħa 108 00:05:23,160 --> 00:05:23,870 semestru. 109 00:05:23,870 --> 00:05:25,790 U dan għaliex aħna jużawha bħala opportunità 110 00:05:25,790 --> 00:05:27,852 biex jgħallmu l-prinċipji fundamentali ta 'programmazzjoni, 111 00:05:27,852 --> 00:05:29,810 u magħha kompjuter fundamentali xjenza, data 112 00:05:29,810 --> 00:05:32,435 strutturi, algoritmi u l- like-- iżda malajr ħafna se inti 113 00:05:32,435 --> 00:05:35,010 tara issa li l-sintassi u l-ideat sottostanti C 114 00:05:35,010 --> 00:05:37,530 huma tant wonderfully trasferibbli għal aktar modern 115 00:05:37,530 --> 00:05:41,130 lingwi ta 'livell ogħla, bħall PHP u Python u Perl u Java 116 00:05:41,130 --> 00:05:46,750 u Għan-C-- attwalment, mhux tant Għan-C-- iżda Swift, dawn aktar ġodda 117 00:05:46,750 --> 00:05:50,010 lingwi li ħafna minnkom se imbagħad dabble miegħek proġett finali. 118 00:05:50,010 --> 00:05:55,070 >> Allura mingħajr aktar dewmien, ejja fil-fatt użu PHP biex isolvu xi problemi. 119 00:05:55,070 --> 00:06:00,230 Ifakkar li kmieni, l-aħħar ġimgħa, aħna biss użati CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 aħna kiteb programm ftit dinky li biss qal, "Hello dinja." 121 00:06:02,990 --> 00:06:05,680 U mbagħad I meħlusin fil fajl imsejjaħ hello.php. 122 00:06:05,680 --> 00:06:07,280 U mbagħad I dam dan il-kmand. 123 00:06:07,280 --> 00:06:08,080 >> U għaliex? 124 00:06:08,080 --> 00:06:09,900 Bl-Ingliż, x'inhu għaddej hawn? 125 00:06:09,900 --> 00:06:12,760 X'kienet I tagħmel meta I dam dan il-kmand? 126 00:06:12,760 --> 00:06:13,405 >> Yeah? 127 00:06:13,405 --> 00:06:16,572 >> UDJENZA: Hemm xi PHP funzjoni li taqra dak li in-- jifhem li. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Good, hemm xi funzjoni PHP-- u let me tkun aktar speċifika, 129 00:06:19,696 --> 00:06:21,810 hemm program imsejjaħ PHP, a.k.a. 130 00:06:21,810 --> 00:06:25,872 Interpretu, li jifhem il-kontenut tal hello.php, 131 00:06:25,872 --> 00:06:27,830 u tinterpreta dan fuq għal qiegħ, xellug għal-lemin, 132 00:06:27,830 --> 00:06:29,590 u ma dak dawk jikkmanda jgħidu. 133 00:06:29,590 --> 00:06:33,320 Il-kmandijiet fil hello.php, naturalment, huwa biss sors code-- funzjonijiet 134 00:06:33,320 --> 00:06:35,750 u l-varjabbli u loops u bħalhom, li aħna lilna nfusna 135 00:06:35,750 --> 00:06:37,460 bdew kitba fil-PHP. 136 00:06:37,460 --> 00:06:40,240 >> Iżda b'differenza Ċ, li hija lingwa ikkumpilata, 137 00:06:40,240 --> 00:06:42,810 PHP inti biss jiktbu dan, u run. 138 00:06:42,810 --> 00:06:46,420 Inti skip dak il-pass middleman ta dan jinbidel biex żerijiet u dawk, 139 00:06:46,420 --> 00:06:47,790 u mbagħad ġestjoni tiegħu. 140 00:06:47,790 --> 00:06:50,510 U għalhekk dak li huwa rasu 'dan? 141 00:06:50,510 --> 00:06:52,690 Għaliex aħna taqbeż il-pass? 142 00:06:52,690 --> 00:06:55,238 Għaliex lingwi aktar moderni tendenza li skip dan il-pass? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Liema kienet l-benefiċċju? 145 00:07:01,220 --> 00:07:02,080 >> Jew biss intuwittivament? 146 00:07:02,080 --> 00:07:04,200 Anki jekk aħna ħadthom ma miktub kemm PHP qabel, 147 00:07:04,200 --> 00:07:07,210 x'hemm benefiċċju dwar li ma kumpilazzjoni kodiċi tiegħek taħseb? 148 00:07:07,210 --> 00:07:08,520 Nru? 149 00:07:08,520 --> 00:07:09,610 Mhux jikkommettu? 150 00:07:09,610 --> 00:07:11,350 Grif ras tiegħek? 151 00:07:11,350 --> 00:07:12,614 Yeah. 152 00:07:12,614 --> 00:07:13,600 >> UDJENZA: Aktar dinamiku. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: Aktar dinamiku? 154 00:07:14,683 --> 00:07:16,032 Dak li jfisser? 155 00:07:16,032 --> 00:07:17,000 >> UDJENZA: [inaudible] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: OK, tajba, sabiex jiddependi fuq il-kontribut, 158 00:07:22,390 --> 00:07:23,470 inti ma għandekx li josservawha kull darba. 159 00:07:23,470 --> 00:07:24,990 U huwa verament huwa kif Sempliċi kemm that-- dak 160 00:07:24,990 --> 00:07:26,990 huwa l-punt ta 'tkomplija biex jikkompilaw kodiċi tiegħek? 161 00:07:26,990 --> 00:07:29,480 Dan huwa biss pass thats making-- dan jeħtieġ, 162 00:07:29,480 --> 00:07:31,900 għall-aħħar diversi ġimgħat, id-doppju passi 163 00:07:31,900 --> 00:07:33,820 kif biss running program tiegħek. 164 00:07:33,820 --> 00:07:36,940 Huwa kien utli li jara li inti tara xi messaġġi ta 'żball u oħrajn, 165 00:07:36,940 --> 00:07:38,720 iżda huwa għadu biss pass annoying. 166 00:07:38,720 --> 00:07:41,810 >> U hekk programmaturi realizzati matul iż-żmien, għaliex ma we 167 00:07:41,810 --> 00:07:45,327 tibda tikteb lingwi li ma jkunux bżonn li pass pjuttost mekkaniku, 168 00:07:45,327 --> 00:07:47,160 sabiex tkun tista tikteb biss kodiċi tiegħek u run. 169 00:07:47,160 --> 00:07:48,920 Imma dak kien il-prezz li rajna aħna mħallsa 170 00:07:48,920 --> 00:07:50,910 ġimgħa li għaddiet, ma eżempju wieħed partikolari? 171 00:07:50,910 --> 00:07:51,650 Iva? 172 00:07:51,650 --> 00:07:52,370 >> Veloċità. 173 00:07:52,370 --> 00:07:54,690 So [? x'hemm?] interpreti ftit aktar bil-mod, 174 00:07:54,690 --> 00:07:57,330 f'dak żerijiet u dawk li huma sbieħ u veloċi għal kompjuter 175 00:07:57,330 --> 00:08:00,070 biex jinftiehem, minħabba li l- Intel CPU, jew kwalunkwe huwa, 176 00:08:00,070 --> 00:08:03,070 biss jifhem x'inhu għaddej fuq ma 'dawk mudelli ta' bits. 177 00:08:03,070 --> 00:08:05,370 Billi interpretu huwa programm li verament 178 00:08:05,370 --> 00:08:07,980 għandu jaqra s-sors ascii kodiċi li għandek bil-miktub, 179 00:08:07,980 --> 00:08:12,700 u jinqaleb, biex ngħidu hekk, jew figura kif li tikkonverti finalment 180 00:08:12,700 --> 00:08:13,525 li żerijiet u dawk. 181 00:08:13,525 --> 00:08:15,650 Allura hija biss tieħu ftit daqsxejn ta 'hit prestazzjoni. 182 00:08:15,650 --> 00:08:16,858 Allura huwa daqsxejn ta 'kompromess. 183 00:08:16,858 --> 00:08:21,570 Issa jekk nagħmlu dan minn hawn, let me imorru quddiem u jagħmlu eżempju kif ġej. 184 00:08:21,570 --> 00:08:26,610 Jekk immur fil hawn, fajl ġdid, jien ser biex jiffrankaw din darb'oħra huwa hello.php. 185 00:08:26,610 --> 00:08:31,450 U issa jien se jimxi 'l quddiem u jgħidu, "print Hello dinja" - 186 00:08:31,450 --> 00:08:35,130 u jfakkru li nista 'nuża print, jien ma għandek tuża print-F. U issa l hawn, 187 00:08:35,130 --> 00:08:42,039 jekk I do PHP ta hello.php, I huh-- ma jidhirx li interpretawha. 188 00:08:42,039 --> 00:08:43,412 What did I do wrong? 189 00:08:43,412 --> 00:08:44,710 >> UDJENZA: Il-brazzuletti angolata. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Yeah, inti għandek bżonn dak l-angolu bracket top up. 191 00:08:47,015 --> 00:08:49,390 Allura huwa tip ta 'annoying, iżda inti jidraw lilha malajr. 192 00:08:49,390 --> 00:08:53,500 Jekk ikolli biex jikteb il-kodiċi PHP, I ġeneralment jeħtieġu li tgħid il-programm, 193 00:08:53,500 --> 00:08:56,950 jew tgħid il-interpretu, ħej PHP, hawnhekk jidħol xi kodiċi PHP. 194 00:08:56,950 --> 00:09:00,440 U mbagħad għal miżura tajba, nixtieq qrib dan ma ma 'dan, iżda pjuttost 195 00:09:00,440 --> 00:09:03,740 bil angolu marka biss kwistjoni parentesi, b'tali mod li issa r hawn, 196 00:09:03,740 --> 00:09:06,840 jekk I run dan mill-ġdid, issa I tikseb ir-riżultat mixtieq. 197 00:09:06,840 --> 00:09:09,820 >> Issa ejja do a search żgħir, biss sabiex inti stajt tidher qabel. 198 00:09:09,820 --> 00:09:14,040 Dan huwa tip ta 'annoying li I jiddekorri hello.php ispazju PHP, 199 00:09:14,040 --> 00:09:16,060 għaliex fil-passat I tista 'biss tikteb dot slash 200 00:09:16,060 --> 00:09:17,560 isem tal-programm, li huwa tip ta 'sbieħ. 201 00:09:17,560 --> 00:09:19,420 Huwa tip ta 'esperjenza aħjar għall-utent. 202 00:09:19,420 --> 00:09:24,160 >> Għalhekk jirriżulta li inti tista 'tagħmel dan fil PHP mal-I following-- 203 00:09:24,160 --> 00:09:28,780 jista 'juża dan pjuttost cryptic incantation fil-quċċata hawn, 204 00:09:28,780 --> 00:09:31,740 li ġeneralment tissejjaħ shebang, li permezz tagħha din hija simbolu qawwi, 205 00:09:31,740 --> 00:09:34,270 biex ngħidu hekk, din hija bang jew punt exclamation. 206 00:09:34,270 --> 00:09:38,490 U dan issa hija t-triq għal programm fuq sistema Linux tipiċi li 207 00:09:38,490 --> 00:09:41,500 huwa msejjaħ ambjent, jew pakk. 208 00:09:41,500 --> 00:09:43,920 U dan line-- storja twila short-- linja waħda biss 209 00:09:43,920 --> 00:09:48,710 jgħid, ħej kompjuter, isibu l-PHP interpretu għalija fl-ambjent, 210 00:09:48,710 --> 00:09:50,610 jsibuha fil-memorja tiegħek, biex ngħidu hekk. 211 00:09:50,610 --> 00:09:54,130 >> U x'hemm sbieħ issa, huwa li jekk jien jinżlu hawn, 212 00:09:54,130 --> 00:09:57,750 I tista 'tagħmel dot slash bonjour dot PHP, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Permess miċħud. 214 00:09:59,000 --> 00:10:02,350 Well, inti taf tara aktar ta 'dan bil-problema stabbiliti seba ', jekk inti 215 00:10:02,350 --> 00:10:04,060 ma jkunux diġà, ma permessi. 216 00:10:04,060 --> 00:10:06,510 Jirriżulta li għandi bżonn sabiex tesegwixxi dan il-kmand 217 00:10:06,510 --> 00:10:10,779 imsejħa [? chamod?] għall-bidla mode-- plus x hello.php. 218 00:10:10,779 --> 00:10:13,820 I bżonn [inaudible] dan wieħed addizzjonali pass li javżak-kompjuter tiegħi, 219 00:10:13,820 --> 00:10:16,400 jagħmlu eżekutibbli hello.php. 220 00:10:16,400 --> 00:10:21,310 U issa jaraw dak happens-- dot slash hello.php, hija biss tmur. 221 00:10:21,310 --> 00:10:23,310 I m'għandhomx bżonn li jispeċifikaw l-interpretu aktar. 222 00:10:23,310 --> 00:10:26,680 U jien jista 'jagħmilha ferm prettier, xorta, jekk I semmi mill-ġdid dan il-ħaġa. 223 00:10:26,680 --> 00:10:30,570 Jekk nimxi hello.php għal ftit Hello-- hekk avviż fil-quċċata xellug, 224 00:10:30,570 --> 00:10:32,860 isem tal-programm huwa tabilħaqq issa biss Hello. 225 00:10:32,860 --> 00:10:37,300 Issa I jista 'jagħmilha look like a program C, anki jekk huwa miktub fil PHP-- 226 00:10:37,300 --> 00:10:39,210 jew franchement kwalunkwe numru ta 'lingwi oħra. 227 00:10:39,210 --> 00:10:41,480 >> Allura titjib marġinali, ebda differenza funzjonali. 228 00:10:41,480 --> 00:10:44,460 Iżda huwa biss kurżità ftit issa, sabiex inti tista 'tikteb programmi 229 00:10:44,460 --> 00:10:48,989 fi kwalunkwe lingwa, u l-utent ma għandek tkun taf jew kura x'inhuma dawn huma. 230 00:10:48,989 --> 00:10:51,030 Well, ejja nħarsu lejn aktar Eżempju konvinċenti issa 231 00:10:51,030 --> 00:10:52,850 li I bit-tarjola up-quddiem. 232 00:10:52,850 --> 00:10:54,955 U dan jissejjaħ quote.php. 233 00:10:54,955 --> 00:10:56,740 U huwa disponibbli online. 234 00:10:56,740 --> 00:11:00,299 U tinnota li huwa pjuttost short-- imma hija programm kmand linja li l- 235 00:11:00,299 --> 00:11:02,840 ser tħares up prezzijiet istokk għalija, li huwa attwalment għaddejjin 236 00:11:02,840 --> 00:11:04,230 li jkun germane għall-problema stabbiliti sebgħa. 237 00:11:04,230 --> 00:11:05,396 >> Mela ejja ara dak li qed nagħmel. 238 00:11:05,396 --> 00:11:08,640 Fuq nett stajt ltqajna l- miftuħa trade mark in kwistjoni parentesi PHP. 239 00:11:08,640 --> 00:11:13,372 Imbagħad I ħadthom ltqajna din il-linja, fejn I am jeħtieġu fajl imsejjaħ functions.php-- 240 00:11:13,372 --> 00:11:15,080 aħna qed tmur biex tara aktar fuq dan ftit, 241 00:11:15,080 --> 00:11:17,340 iżda dan huwa simili C verżjoni ta 'jaqtgħu jinkludu, 242 00:11:17,340 --> 00:11:19,090 fejn inti tixtieq li tmur jinkludu fajl ieħor. 243 00:11:19,090 --> 00:11:23,720 PHP jitlob jirrikjedi, għalkemm għandu wkoll jinkludi funzjoni. 244 00:11:23,720 --> 00:11:26,861 U jirriżulta li function.php hija biss xi ħaġa I kiteb qabel klassi. 245 00:11:26,861 --> 00:11:29,860 I poġġih fl-istess direttorju, minħabba Jien ridt li fattur out xi kodiċi 246 00:11:29,860 --> 00:11:31,800 li aħna tista 'tixtieq tuża xi mkien ieħor. 247 00:11:31,800 --> 00:11:34,560 >> Sadanittant, inti tista 'probabbilment jiddeduċu x'inhu għaddej hawn. 248 00:11:34,560 --> 00:11:39,200 Dan huwa xi ftit differenti minn C-- iżda liema do I jfisser minn tiżgura użu xieraq? 249 00:11:39,200 --> 00:11:41,180 Ittraduċi din teknikament aktar. 250 00:11:41,180 --> 00:11:45,950 Taħt liema ċirkostanzi am I jaqtagħhom-programm, jew joħorġu? 251 00:11:45,950 --> 00:11:47,074 Yeah? 252 00:11:47,074 --> 00:11:47,990 >> UDJENZA: Meta inti ma għandekx żewġ argumenti kmand linja. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Meta I ma jkollhomx għall-kmand argumenti linja. 254 00:11:49,480 --> 00:11:52,396 U ftakar li wieħed minn dawk argumenti huwa l-isem tal-programm innifsu. 255 00:11:52,396 --> 00:11:55,340 U t-tieni se tkun kelma oħra tip I wara l pront. 256 00:11:55,340 --> 00:11:57,460 Hekk biss bħal C, dan huwa tiegħi mod ta 'verifika, 257 00:11:57,460 --> 00:12:00,022 ma l-utent jikkooperaw u imexxu l-programm kif I maħsub? 258 00:12:00,022 --> 00:12:01,730 Issa, hemm xi ħaġa differenti ftit 259 00:12:01,730 --> 00:12:04,020 ma C-- ewwel nett irridu jkollhom dan is-sinjal dollaru, 260 00:12:04,020 --> 00:12:07,710 u x'ma jaħdimx dollaru sinjal jindika fil-PHP? 261 00:12:07,710 --> 00:12:08,440 Just varjabbli. 262 00:12:08,440 --> 00:12:11,731 Li all-- biss varjabbli segwit minn tkun xi tkun tixtieq li attwalment hija sejħa. 263 00:12:11,731 --> 00:12:14,000 Avviż hemm xi ħaġa nieqsa mill-programm PHP tiegħi, 264 00:12:14,000 --> 00:12:18,210 biss bhalu kien nieqes aħħar ġimgħa, versus C, li huwa dak? 265 00:12:18,210 --> 00:12:21,620 >> A tipi, iżda wkoll xi ħaġa oħra. 266 00:12:21,620 --> 00:12:26,409 M'hemm l-ebda ħaġa function-- funzjoni prinċipali. 267 00:12:26,409 --> 00:12:27,450 M'hemm l-ebda funzjoni prinċipali. 268 00:12:27,450 --> 00:12:29,680 Inti biss tibda tikteb kodiċi tiegħek mingħajr ma jkollhom 269 00:12:29,680 --> 00:12:32,790 għalfejn tinkwieta dwar pjuttost arbitrarja konvenzjoni ta 'tismija xi nuqqas 270 00:12:32,790 --> 00:12:33,880 funzjoni prinċipali. 271 00:12:33,880 --> 00:12:36,720 Allura arg C huwa biss verament varjabbli globali 272 00:12:36,720 --> 00:12:39,049 li l-interpretu jagħmel disponibbli għalija. 273 00:12:39,049 --> 00:12:40,090 Issa, dan huwa interessanti. 274 00:12:40,090 --> 00:12:41,140 Sabiex tfittex up Jittieħed. 275 00:12:41,140 --> 00:12:43,370 Istokk sinjal dollaru huwa fuq il- xellug, li l-varjabbli tiegħi. 276 00:12:43,370 --> 00:12:45,120 Min-naħa tal-lemin, apparentement hemm 277 00:12:45,120 --> 00:12:50,270 funzjoni fl PHP imsejħa lookup li Jien tgħaddi linja ta 'kmand tiegħi aħħar 278 00:12:50,270 --> 00:12:51,902 argument to-- ikun x'ikun l-kelma hija. 279 00:12:51,902 --> 00:12:53,610 U aħna ser tara kif dan xogħlijiet fil-mument. 280 00:12:53,610 --> 00:12:55,380 >> U allura finalment jien rappurtar tal-prezz. 281 00:12:55,380 --> 00:12:58,650 Jien stampar ta wieħed sehem tal tali u tali. 282 00:12:58,650 --> 00:13:02,082 U ftakar, dan huwa l- mod PHP-- mod li PHP-- 283 00:13:02,082 --> 00:13:04,290 fejn inti ma għandekx tagħmel is-sinjal dollaru S aktar. 284 00:13:04,290 --> 00:13:06,782 Tista 'biss tuża ċineg kaboċċi u plug f'xi varjabbli. 285 00:13:06,782 --> 00:13:09,240 Inti ma għandekx għalfejn tinkwieta dwar użu printf bl-istess mod. 286 00:13:09,240 --> 00:13:13,530 >> U bħala twarrib, meta inti tpoġġi varjabbli ġewwa tal kwotazzjonijiet doppja bħal dan, 287 00:13:13,530 --> 00:13:17,370 qed tuża teknika fancy imsejħa interpolazzjoni varjabbli. 288 00:13:17,370 --> 00:13:20,380 Dan ifisser biss plagg l-varjabbli fil hawn. 289 00:13:20,380 --> 00:13:23,760 U bħala twarrib, xi wħud minnkom li ġejjin minn sfondi programmazzjoni oħra, 290 00:13:23,760 --> 00:13:26,960 inti ma tistax tuża kwotazzjonijiet uniku madwar kordi biex jagħmlu dan. 291 00:13:26,960 --> 00:13:30,290 Għandek tuża kwotazzjonijiet doppja għall interpolazzjoni varjabbli li jaħdmu. 292 00:13:30,290 --> 00:13:32,740 Inkella inti ser litteralment tara dawk braces kaboċċi. 293 00:13:32,740 --> 00:13:34,500 >> Allura fl-aħħar, ejja imorru quddiem u run dan. 294 00:13:34,500 --> 00:13:36,690 Let me jagħmlu terminal tiegħi ftit akbar. 295 00:13:36,690 --> 00:13:41,940 Let me imorru quddiem u run ġewwa ta 'direttorju kwotazzjoni tiegħi. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? quote?] quote PHP dot PHP, 297 00:13:46,950 --> 00:13:50,290 u jien ser tfittex xi ħaġa bħal GOOG, li hija simbolu ticker tagħha, 298 00:13:50,290 --> 00:13:55,510 u sehem wieħed mill-isem ġdid tagħha, Alfabett Inc, l-ispiża $ 717, mil-lum. 299 00:13:55,510 --> 00:13:58,680 Dritt kollox, jekk irridu li run dan mill-ġdid, kulħadd 300 00:13:58,680 --> 00:14:02,600 jkollhom ticker oħra b'responsabbiltà li tixtieq tfittex up? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft naħseb huwa dan wieħed, MSFT-- $ 53. 302 00:14:06,770 --> 00:14:09,720 Naħseb Yahoo huwa forsi dak. 303 00:14:09,720 --> 00:14:12,130 U Facebook huwa dak. 304 00:14:12,130 --> 00:14:13,740 >> Allura dak li huwa dan il-programm tagħmel? 305 00:14:13,740 --> 00:14:16,306 Il-maġija jidher li jkun minsuġ f'dik il-funzjoni lookup. 306 00:14:16,306 --> 00:14:17,430 Mela ejja tagħti ħarsa. 307 00:14:17,430 --> 00:14:21,815 >> Jirriżulta li ma jaqax ma PHP, huwa fil functions.php. 308 00:14:21,815 --> 00:14:23,690 U aħna mhux se jmorru permezz dan f'dettall kbir, 309 00:14:23,690 --> 00:14:28,040 iżda tinnota l-kelma operattiva hawnhekk hija li fuq il-linja sitta mill functions.php-- 310 00:14:28,040 --> 00:14:29,440 I litteralment say funzjoni. 311 00:14:29,440 --> 00:14:31,050 I jispeċifika l-isem tal-funzjoni tiegħi. 312 00:14:31,050 --> 00:14:34,330 I imbagħad tispeċifika kwalunkwe argumenti, jew il-parametri, 313 00:14:34,330 --> 00:14:36,480 Irrid dik il-funzjoni li take-- ebda tipi. 314 00:14:36,480 --> 00:14:37,580 U mbagħad I timplimentaha. 315 00:14:37,580 --> 00:14:39,240 >> U jien ser mewġa naħa tiegħi fil-implimentazzjoni, 316 00:14:39,240 --> 00:14:42,115 peress li huwa dritt pjuttost avvanzat issa, imma aħna ser tara mill-ġdid fil-fatt 317 00:14:42,115 --> 00:14:44,700 fil-ġimgħa fil-problema stabbiliti sebgħa. 318 00:14:44,700 --> 00:14:47,490 Imma nista 'tnaddaf dan up, wisq. 319 00:14:47,490 --> 00:14:49,590 I wkoll inklużi fil kodiċi tal-lum verżjoni 320 00:14:49,590 --> 00:14:52,340 tal kwotazzjoni, li m'għandux fajl dot PHP. 321 00:14:52,340 --> 00:14:57,270 Minħabba dak li huwa preżumibbilment fl- quċċata tal-programm imsejjaħ biss jikkwotaw? 322 00:14:57,270 --> 00:15:00,140 Li l-hekk imsejħa shebang-- l incantation pjuttost cryptic 323 00:15:00,140 --> 00:15:04,590 li tgħid ssib PHP u mbagħad run fuq kodiċi tiegħi hawn. 324 00:15:04,590 --> 00:15:07,360 >> Kull dritt, hekk li ġġib ahna fejn aħna jitħalla 'off 325 00:15:07,360 --> 00:15:09,560 aħħar time-- għalkemm xi eżempji aktar avvanzati. 326 00:15:09,560 --> 00:15:13,980 Kwalunkwe mistoqsijiet s'issa dwar PHP jew dak li aħna qed tagħmel? 327 00:15:13,980 --> 00:15:15,570 No-- id-dritt. 328 00:15:15,570 --> 00:15:16,180 Yeah? 329 00:15:16,180 --> 00:15:19,610 >> UDJENZA: Ġewwa l- Fajls HTML, do you-- 330 00:15:19,610 --> 00:15:22,226 [? do you?] [? biss sejħa hija?] a [inaudible] file PHP? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: Tajba kwistjoni. 332 00:15:23,350 --> 00:15:26,070 F'kuntest web, li aħna qed litteralment dwar biex jgħaddi għal, 333 00:15:26,070 --> 00:15:28,028 inti ma jużawx l-hekk imsejħa shebang fil-quċċata, 334 00:15:28,028 --> 00:15:31,980 minħabba li l-server-- web spiss programm imsejjaħ Apache jew Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet Information Server, jew kwalunkwe numru ta 'software ieħor web server, 336 00:15:37,470 --> 00:15:40,636 jaf li meta jara fajl dot PHP, li 337 00:15:40,636 --> 00:15:42,010 għandhom imexxu l-interpretu fuqha. 338 00:15:42,010 --> 00:15:43,468 Ma nħarsu lejn l-ewwel linja. 339 00:15:43,468 --> 00:15:45,580 Allura dan l-ewwel trick linja huwa biss meta int 340 00:15:45,580 --> 00:15:48,330 miktub linja ta 'kmand programs-- li aħna mhux se tagħmel super spiss, 341 00:15:48,330 --> 00:15:52,510 imma hija mod tagħna ta 'bridging Eżempji Ċ tagħna biex issa PHP tagħna. 342 00:15:52,510 --> 00:16:00,680 >> Mela ejja tabilħaqq titnaqqas id-dinja mid-dinja linja ta 'kmand għall-web 343 00:16:00,680 --> 00:16:02,230 billi tagħmel dan li ġej. 344 00:16:02,230 --> 00:16:05,090 Let me imorru quddiem u tiġbed minn hawn għal ftit mument. 345 00:16:05,090 --> 00:16:09,940 Mela jekk ikollna web server, jew pjuttost jekk ikollna laptop tiegħi hawn fuq, 346 00:16:09,940 --> 00:16:11,280 li jiena ser tiġbed bħal dan. 347 00:16:11,280 --> 00:16:14,250 U hawn aħna għandna l- internet f'xi forma. 348 00:16:14,250 --> 00:16:18,210 U mbagħad minn hawn, aħna għandna server ta 'building-- 349 00:16:18,210 --> 00:16:20,760 dan huwa kif l-internet works-- u fil hawn 350 00:16:20,760 --> 00:16:23,120 huwa server ma 'xi dwal forsi. 351 00:16:23,120 --> 00:16:27,530 X'inhu attwalment għaddejjin bejn dawn iż-żewġ konnessjonijiet? 352 00:16:27,530 --> 00:16:29,240 >> Allura f'dan il-bini huwa web server. 353 00:16:29,240 --> 00:16:31,420 Li jinsab biss kompjuter li l-ġirja xi operattiva 354 00:16:31,420 --> 00:16:34,561 system-- forsi l-softwer b'xejn imsejjaħ Apache, li CS50 IDE qed taħdem. 355 00:16:34,561 --> 00:16:36,310 Allura inti tista 'attwalment think ta 'dan il-bini 356 00:16:36,310 --> 00:16:38,579 bħala l-bini li CSt0 IDE huwa maħżun. 357 00:16:38,579 --> 00:16:40,870 Li meta lilkom kollha jkollhom kontijiet, fejn lilkom kollha 358 00:16:40,870 --> 00:16:43,130 jkollhom web server tiegħek stess tmexxija, lilkom kollha 359 00:16:43,130 --> 00:16:45,730 jkollhom URLs unika tiegħek stess, kif bdejna biex jiddiskutu, 360 00:16:45,730 --> 00:16:47,280 u tkun taf tara aktar fil P. stabbiliti sitt. 361 00:16:47,280 --> 00:16:49,450 >> Hawn laptop tiegħi x'imkien inkella fuq l-internet. 362 00:16:49,450 --> 00:16:54,550 U hekk meta I żjara URL li tappartjeni lili, li t-traffiku internet huwa għaddej 363 00:16:54,550 --> 00:16:58,360 trasferiti għas-server, il-server tirċievi HTTP request-- 364 00:16:58,360 --> 00:17:02,900 bħal nikseb index.html u huwa risposta għal dik il-paġna web. 365 00:17:02,900 --> 00:17:04,280 Allura dak l-paradigma ġenerali. 366 00:17:04,280 --> 00:17:07,089 Billi kollox up sa issa lum, kollox 367 00:17:07,089 --> 00:17:09,660 kien qed jiġri biss fil- konfini ta 'dan il-bini. 368 00:17:09,660 --> 00:17:12,910 I kienet qed tuża laptop tiegħi, iżda I kienu konnessi mat CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 sabiex kollha ta 'dawk il-programmi I kien għaddej kien ġewwa ta 'dak is-server, hija stess. 370 00:17:17,369 --> 00:17:22,660 >> Imma issa, ejja nibdew użu mill-ġdid PHP jiktbu xi programmi attwali li 371 00:17:22,660 --> 00:17:24,230 huma servuti minn web server. 372 00:17:24,230 --> 00:17:30,320 U biex tagħmel dan, jien se jmorru fi mazz sħiħ ta 'eżempji 373 00:17:30,320 --> 00:17:33,710 li jintroduċu din l-idea hawnhekk. 374 00:17:33,710 --> 00:17:38,500 Allura dan huwa tip ta 'mod fancy ta tiddeskrivi paradigma programmazzjoni. 375 00:17:38,500 --> 00:17:41,540 >> U fil-fatt, kif inti ħruġ CS50 jew jaħdmu fuq proġetti finali, 376 00:17:41,540 --> 00:17:43,520 jew jieħu xi isegwu fuq il-klassi, inti ser tibda 377 00:17:43,520 --> 00:17:45,740 biex tara li l-world-- speċjalment wara li kibret 378 00:17:45,740 --> 00:17:48,300 mal-lingwi bħall C li huma level-- super baxxi 379 00:17:48,300 --> 00:17:51,290 tirrealizza li hemm aħjar modi ta 'kitba software. 380 00:17:51,290 --> 00:17:53,290 Hemm ċerti mudelli inti tista 'ssegwi, 381 00:17:53,290 --> 00:17:57,640 ċerti mezzi ta 'organizzazzjoni fajls tiegħek u modi ta 'ismijiet funzjonijiet tiegħek, 382 00:17:57,640 --> 00:18:00,300 sabiex storja twila fil-qosor, id-dinja għandha toħroġ 383 00:18:00,300 --> 00:18:04,340 bil-mazz sħiħ ta 'akronimi u ismijiet għall-modi ta 'programmazzjoni. 384 00:18:04,340 --> 00:18:06,260 Dawn huma biss tekniki inti tista 'tuża. 385 00:18:06,260 --> 00:18:09,660 >> U wieħed minnhom huwa msejjaħ MVC, għall-Mudell View-Kontrollur. 386 00:18:09,660 --> 00:18:12,270 U dan huwa biss, għall issa, l kkumplikati wisq 387 00:18:12,270 --> 00:18:18,960 mod ta 'tgħid kif għandek jistabbilixxu websajt bbażata fuq PHP, fil-każ tagħna. 388 00:18:18,960 --> 00:18:22,140 Kif inti torganizza fajls tiegħek, kif taħseb li torganizza loġika tiegħek, 389 00:18:22,140 --> 00:18:26,220 b'mod li jagħmilha aktar faċli biex jiktbu websajts aktar ikkumplikati? 390 00:18:26,220 --> 00:18:28,550 U fil-fatt, aħna ser malajr naslu s'hemm bil-p sett sebgħa. 391 00:18:28,550 --> 00:18:32,020 >> Allura fid-dinja ta 'MVC, int ser biex tara li kodiċi tagħna tista ġeneralment 392 00:18:32,020 --> 00:18:38,290 ikunu kkaratterizzati bħala jew kodiċi mudell, jew kodiċi kontrollur, jew kodiċi fehma. 393 00:18:38,290 --> 00:18:40,200 U jien ser oversimplify bħala follows-- 394 00:18:40,200 --> 00:18:42,074 il-kontrollur huwa l- imħuħ tal-programm tiegħek, 395 00:18:42,074 --> 00:18:44,100 huwa fejn kollha ta 'l- loġika interessanti jiġri. 396 00:18:44,100 --> 00:18:46,110 Hekk kollox aħna kont qed miktub s'issa fil-klassi, 397 00:18:46,110 --> 00:18:48,210 huwa tip simili kontrollur code-- huwa kontroll 398 00:18:48,210 --> 00:18:50,585 programm tiegħek, loops tiegħek, tiegħek kundizzjonijiet, il-funzjonijiet tiegħek 399 00:18:50,585 --> 00:18:52,100 u l-varjabbli u dak kollu. 400 00:18:52,100 --> 00:18:56,160 >> Views, issa, ser tkun ftit aktar ovvji fid-dinja tal-web. 401 00:18:56,160 --> 00:18:59,360 Veduta hija l-estetika tal-website tiegħek. 402 00:18:59,360 --> 00:19:04,080 Huwa dak l-utent sees-- l-immaġini, it-tabelli HTML, l-tags HTML, u kull 403 00:19:04,080 --> 00:19:08,220 ta 'dak, kollha ta' l-estetika fluffy għalf li ma tkunx dik diffiċli li tikteb, 404 00:19:08,220 --> 00:19:11,380 imma huwa biss dak li qed jiġġeneraw, huwa tal-opinjoni hekk imsejħa, l-estetika. 405 00:19:11,380 --> 00:19:13,880 U l-mudell, finalment, huwa se li jkun stuff-- database li 406 00:19:13,880 --> 00:19:16,510 aħna ser tibda għadis fis kollha Iktar ma din ir-Erbgħa. 407 00:19:16,510 --> 00:19:19,740 Allura kontrollur huwa l-loġika, fehma hija l-għalf estetika, 408 00:19:19,740 --> 00:19:23,500 u l-mudell se jkun fejn aħna jaħżen id-data attwali tagħna. 409 00:19:23,500 --> 00:19:26,410 >> Mela ejja nħarsu lejn dan aktar konkret bl-eżempju li ġej. 410 00:19:26,410 --> 00:19:34,700 Jien se jmorru fil-direttorju tiegħi hawn ta 'sors ta' llum code-- kollha 411 00:19:34,700 --> 00:19:35,770 huwa disponibbli online. 412 00:19:35,770 --> 00:19:37,800 U jien se jmorru fil-verżjoni żero. 413 00:19:37,800 --> 00:19:41,500 U hawn is-- ejja sejħa hija l- Verżjoni żero ta 'website CS50 s. 414 00:19:41,500 --> 00:19:43,010 Hemm Ma tantx hawn fil-livelli kollha. 415 00:19:43,010 --> 00:19:46,810 Huwa page web sempliċi ħafna li l- probabbilment jużaw dak HTML tags-- biss 416 00:19:46,810 --> 00:19:48,970 raden minn eżempji mill-passat? 417 00:19:48,970 --> 00:19:49,890 >> Dak X'inhu? 418 00:19:49,890 --> 00:19:53,920 H1-- probabbilment għal dik kbar grassa titolu, li logo top up, CS50. 419 00:19:53,920 --> 00:19:55,080 U x'iktar huwa waqt il-loghob? 420 00:19:55,080 --> 00:19:55,799 Yeah? 421 00:19:55,799 --> 00:19:56,840 UDJENZA: lista unordered. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: list-- unordered hekk il Tag UL u forsi ftit tags LI. 423 00:19:59,990 --> 00:20:01,840 U jekk inti ma tiftakarx dawn, onestament ma jimpurtax. 424 00:20:01,840 --> 00:20:04,170 Dawn huma tip fluffy ta dettalji tal-implimentazzjoni ta 'HTML 425 00:20:04,170 --> 00:20:06,378 li inti malajr tfittex up u int lura fuq tiegħek mod. 426 00:20:06,378 --> 00:20:10,040 Aħna ser tiffoka aktar fuq l-ipprogrammar ideat li huma l-biċċiet juicier. 427 00:20:10,040 --> 00:20:12,890 >> Mela ejja ħu quick tħares lejn il-HTML-- u tabilħaqq 428 00:20:12,890 --> 00:20:16,880 jekk I jiftħu s-sors fehma hawn, Yup, dan huwa eżattament x'inhu għaddej hawn. 429 00:20:16,880 --> 00:20:18,440 Hemm xi tag UL. 430 00:20:18,440 --> 00:20:20,630 Nested ġewwa ta 'dan huwa li tags LI. 431 00:20:20,630 --> 00:20:24,470 U mbagħad I mislufa il-URL tal-sillabu attwali hawnhekk. 432 00:20:24,470 --> 00:20:27,570 >> U mbagħad fil- lectures.php hija apparentement 433 00:20:27,570 --> 00:20:31,640 paġna oħra dinamiku iġġenerat li għaddej biex ikollhom, ejja see-- ah, 434 00:20:31,640 --> 00:20:33,170 l-ewwel ġimgħatejn ta 'lecture. 435 00:20:33,170 --> 00:20:36,600 Allura ġimgħa żero u ġimgħa, ejja ħarsa lejn this-- jekk nara sors paġna, 436 00:20:36,600 --> 00:20:38,120 wkoll super sempliċi. 437 00:20:38,120 --> 00:20:42,430 Dawn qed iwasslu għal żewġ paġni imsejħa week0.php, u week1.php. 438 00:20:42,430 --> 00:20:44,040 Għalhekk tikkunsidra issa dak li qed jiġri. 439 00:20:44,040 --> 00:20:50,630 >> Meta I ikklikkja fuq week0.php, laptop tiegħi qed tagħmel talba għal week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Il-web server, a.k.a., CS50 IDE, qed tirċievi dak il-pakkett virtwali. 442 00:20:58,110 --> 00:21:01,040 Huwa jara messaġġ bħal, jiksbu week0.php. 443 00:21:01,040 --> 00:21:05,060 Huwa mbagħad interpretazzjoni tal-fajl, top għal isfel, xellug għal right---fajl 444 00:21:05,060 --> 00:21:07,720 imsejħa week0.php-- u bżieq r-riżultati. 445 00:21:07,720 --> 00:21:10,510 Allura ġewwa ta 'dan il-fajl, week0.php, għandu jkun 446 00:21:10,510 --> 00:21:15,410 il kontrollur tal-loġika li qed jiġġenera dan HTML, u aħna ser dalwaqt tara li. 447 00:21:15,410 --> 00:21:19,340 >> Iżda għal issa, let me ikklikkja fuq żero ġimgħa, u issa għandna l-Erbgħa u l-Ġimgħa, 448 00:21:19,340 --> 00:21:25,260 u issa għandna l-pjastri bil-mod minn żero ġimgħa. 449 00:21:25,260 --> 00:21:27,400 U inti tista 'recall dan mill-mod lura meta. 450 00:21:27,400 --> 00:21:29,340 Allura li kollox din il-websajt qed tagħmel. 451 00:21:29,340 --> 00:21:31,120 >> Mela ejja tikkunsidra kif dan qed jagħmel dan. 452 00:21:31,120 --> 00:21:34,290 Jien se jmorru lura fil- kodiċi tas-sors hawn, fil CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 u jien ser jiftħu index.php. 454 00:21:36,660 --> 00:21:38,910 Fil-quċċata ta 'dan il-fajl huwa mazz ta 'kummenti. 455 00:21:38,910 --> 00:21:43,000 U allura fin-nofs ta 'dan il-fajl, it jirriżulta, l-ebda kodiċi PHP tkun xi tkun. 456 00:21:43,000 --> 00:21:47,380 Għaliex jekk inti ma għandekx xi waħda minn dawn parentesi miftuħa tags kwistjoni mark PHP, 457 00:21:47,380 --> 00:21:49,180 int ħieles li biss jitqiegħed HTML. 458 00:21:49,180 --> 00:21:51,480 >> Għaliex dak l-PHP interpretu suppost tagħmel, 459 00:21:51,480 --> 00:21:53,938 huwa meta jgħid dan file-- fuq għal isfel, xellug għal right-- 460 00:21:53,938 --> 00:21:59,100 dan tinterpreta biss kodiċi jara bejn dawk parentesi angolu kwistjoni mark. 461 00:21:59,100 --> 00:22:02,380 U kull ħaġa oħra li ma jirrikonoxxu bħala PHP, hija biss spits out. 462 00:22:02,380 --> 00:22:05,080 U HTML Huwa fost l-għalf se biss bżiq out. 463 00:22:05,080 --> 00:22:09,090 >> Allura dan il-fajl jista 'jkollu ġie msejjaħ index.html, 464 00:22:09,090 --> 00:22:11,690 imma jien tismija kollox dot PHP bħala pass. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- simili underwhelming, huwa biss xi HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, b'mod simili biss ftit HTML. 467 00:22:19,840 --> 00:22:22,300 >> Imma issa ejja tpoġġi fuq il- hat inġinerija proverbial, 468 00:22:22,300 --> 00:22:24,400 u jikkunsidraw kif nistgħu ntejbu dan. 469 00:22:24,400 --> 00:22:28,541 Mhuwiex diffiċli li tagħmel dan, imma jien xorta tal devoluti fi kopja u paste. 470 00:22:28,541 --> 00:22:31,540 U fil-fatt, jekk nagħmel ġimgħatejn, inti jafu dak li jien probabbilment se jagħmlu? 471 00:22:31,540 --> 00:22:34,940 Jien se jmorru biex week1.php, jien ser jenfasizzaw kollox. 472 00:22:34,940 --> 00:22:39,110 Jien ser kopja, paste fis-fajl ġdid imsejjaħ week2.php, 473 00:22:39,110 --> 00:22:42,440 tweak xi URLs, u tkun fit-triq tiegħi. 474 00:22:42,440 --> 00:22:45,240 >> Allura ibbażati fuq dak li konna jidher fil C diġà, 475 00:22:45,240 --> 00:22:46,860 dan ma jħossx dritt, wieħed jittama. 476 00:22:46,860 --> 00:22:49,610 Kopja, paste rarament is-soluzzjoni dritt. 477 00:22:49,610 --> 00:22:51,429 Allura x'nistgħu nibdew tagħmel biex ittejjeb din? 478 00:22:51,429 --> 00:22:53,345 Fejn huma l-opportunitajiet għal disinn aħjar? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Saż-żmien I nikseb biex tmien ġimgħa, li għaddej 481 00:22:58,760 --> 00:23:00,910 biex ikunu verament annoying jekk I trid tibdel 482 00:23:00,910 --> 00:23:03,930 il-font ta 'kull wieħed mill- paġni tiegħi, jew jekk nixtieq 483 00:23:03,930 --> 00:23:06,522 li jibdlu l-istruttura tal-format. 484 00:23:06,522 --> 00:23:08,396 Għalhekk, fejn l-opportunita għal disinn aħjar? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Well, ejja jikkunsidraw x'hemm maqsuma bejn kollha ta 'dawn il-fajls. 487 00:23:15,160 --> 00:23:21,696 >> Hawn ġimgħa, hawnhekk ġimgħa żero, hawn lectures.php, 488 00:23:21,696 --> 00:23:25,790 hawn index.php-- dak li huwa l-istess u dak li huwa differenti, madwar jitkellem, 489 00:23:25,790 --> 00:23:26,760 f'kull wieħed minn dawn il-fajls? 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 >> UDJENZA: [inaudible] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: OK, tajba. 495 00:23:42,160 --> 00:23:46,115 Allura hemm mudell, żgur, fejn kull darba I jagħżlu lecture I, 496 00:23:46,115 --> 00:23:48,250 Inkun jiġġeneraw paġna li tħares simili ħafna. 497 00:23:48,250 --> 00:23:50,375 U hekk forsi I tista 'lieva il-fatt li tassew, 498 00:23:50,375 --> 00:23:53,060 aħna deliberatament numerikament indiċjati lectures-- tagħna 499 00:23:53,060 --> 00:23:55,290 jekk I tista 'tpoġġi aktar kliem fil-tweġiba tiegħek. 500 00:23:55,290 --> 00:23:59,984 U dak huwa l-unika ħaġa, tassew, li l-jinbidlu ġimgħa one-- 501 00:23:59,984 --> 00:24:02,400 u let me iscroll hekk huwa bejn wieħed u ieħor fl-istess place-- 502 00:24:02,400 --> 00:24:05,480 hekk hawn huwa żero ġimgħa, bejn wieħed u ieħor fil-quċċata. 503 00:24:05,480 --> 00:24:12,370 Hawnhekk huwa wieħed ġimgħa, Ġimgħa żero, ġimgħa, zero ġimgħa. 504 00:24:12,370 --> 00:24:14,370 OK, litteralment jekk taf ebda programm tkun xi tkun, 505 00:24:14,370 --> 00:24:16,286 issa dan huwa biss bħal mudell tqabbil logħba. 506 00:24:16,286 --> 00:24:17,200 Allura x'hemm differenti? 507 00:24:17,200 --> 00:24:18,765 Yeah? 508 00:24:18,765 --> 00:24:19,777 >> UDJENZA: [inaudible] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Tajba, hekk it-titolu qed tinbidel, dejjem hekk ftit. 510 00:24:22,360 --> 00:24:24,010 Zero ikun għaddej, naturalment, għal wieħed. 511 00:24:24,010 --> 00:24:25,570 L-istess ħaġa jiġri fil-lametta H1. 512 00:24:25,570 --> 00:24:28,790 U aħna ma pjuttost jarawha bħala faċilment, minħabba li l-URLs huma ftit twil. 513 00:24:28,790 --> 00:24:30,670 Iżda dawk URLs qed jinbidlu xi ftit. 514 00:24:30,670 --> 00:24:34,490 >> Imma dak li mhux qed jinbidlu jiġifieri, DARE I jgħidu, ħafna mill-kontenut tal-page-- 515 00:24:34,490 --> 00:24:38,530 il-lametta HTML l-istess, il-kap hija l-istess, it-titolu huwa kważi l-istess, 516 00:24:38,530 --> 00:24:40,659 il-korp huwa l-istess, u kważi kollox 517 00:24:40,659 --> 00:24:42,450 huwa l-istess ħlief għall dawk tweaks ftit. 518 00:24:42,450 --> 00:24:45,310 Allura kif nistgħu tmur dwar factoring xi wħud minn dan out? 519 00:24:45,310 --> 00:24:48,740 >> Well let me tipproponi eżattament li fil-verżjoni li jmiss. 520 00:24:48,740 --> 00:24:53,890 Allura hawnhekk fil-verżjoni waħda, għandi l-eżatt istess files, flimkien ma 'koppja ta' oħrajn. 521 00:24:53,890 --> 00:24:59,730 Hawn index.php-- u anki jekk inti stajt qatt dehru PHP qabel, 522 00:24:59,730 --> 00:25:05,511 dak li jien probabbilment jagħmlu biex issolvi din problem-- ibbażati fuq dak li tara hawn? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Yeah, huwa li impenn żgħira? 525 00:25:12,760 --> 00:25:13,450 Nru? 526 00:25:13,450 --> 00:25:16,020 Iva, mur fuq. 527 00:25:16,020 --> 00:25:17,380 >> UDJENZA: [inaudible] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Yep. 529 00:25:18,380 --> 00:25:20,380 >> UDJENZA: [inaudible] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: I ħtieġa li inti jitkellmu biss louder ftit. 532 00:25:28,669 --> 00:25:31,084 >> UDJENZA: [inaudible] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: OK, tajba. 535 00:25:36,660 --> 00:25:38,620 UI think-- kien diffiċli biex tisma you-- imma I 536 00:25:38,620 --> 00:25:42,690 jaħsbu dak li qed jkollna lejn huwa li l-tags li kienu komuni top up, 537 00:25:42,690 --> 00:25:47,710 u l-tags li kienu komuni fuq il- qiegħ, issa ġew fatturati out, 538 00:25:47,710 --> 00:25:51,140 jew relegati liema fajls? 539 00:25:51,140 --> 00:25:53,476 Header.php u footer.php-- u aħna qed tmur 540 00:25:53,476 --> 00:25:55,600 biex tagħmel xi tweaks biex indirizzat it-tħassib inti biss 541 00:25:55,600 --> 00:25:59,370 tħassib dwar il-bdil numri, għal eżempju, jekk I smajt inti korrett. 542 00:25:59,370 --> 00:26:02,060 >> Iżda dan jidher li jkun l-gist ta 'dan. 543 00:26:02,060 --> 00:26:04,820 Jekk kien hemm ammont kbir ta ' redundancy fil-quċċata tal-paġna, 544 00:26:04,820 --> 00:26:06,736 u ammont kbir ta ' redundancy fil-qiegħ, 545 00:26:06,736 --> 00:26:09,280 ejja litteralment biss jenfasizzaw u maqtugħa li l-kontenut out, 546 00:26:09,280 --> 00:26:13,270 poġġih fil-file-- separata bħad l-idea ta 'CSS, fejn aħna f'fatturi out 547 00:26:13,270 --> 00:26:16,710 estetika simili ħafna, tpoġġi dan fil-fajl separat dot PHP, 548 00:26:16,710 --> 00:26:20,340 uża l-bżonn mechanism-- li huwa simili C include-- qawwija li 549 00:26:20,340 --> 00:26:23,570 huwa essenzjalment simili qal tmur grab-kontenut tal header.php, 550 00:26:23,570 --> 00:26:25,370 u kopja u paste lilhom hawnhekk. 551 00:26:25,370 --> 00:26:29,490 >> Imma dak li dan ifisser huwa li issa index.php, għandi dawn iż-żewġ linji. 552 00:26:29,490 --> 00:26:32,130 Fil lectures.php, I wkoll għandhom dawn iż-żewġ linji. 553 00:26:32,130 --> 00:26:35,230 Fil week0.php, I wkoll għandhom dawn iż-żewġ linji. 554 00:26:35,230 --> 00:26:38,380 >> Allura issa, jekk I trid tibdel it-titolu ta 'dak kollu paġni tiegħi, 555 00:26:38,380 --> 00:26:40,530 jew I tixtieq li tibdel il istruttura fundamentali, 556 00:26:40,530 --> 00:26:44,380 I tista 'bidla issa biss f'post wieħed, jew tnejn header places-- u footer, 557 00:26:44,380 --> 00:26:45,429 rispettivament. 558 00:26:45,429 --> 00:26:47,970 Issa l-kodiċi tal-bidu li tħares ftit aktar cryptic, right? 559 00:26:47,970 --> 00:26:53,590 Imma jekk inti taħseb dwar dak il-paġna huwa doing-- jekk jien titlob week0.php, 560 00:26:53,590 --> 00:26:59,880 bħad dwar it-tfassil fuq here-- meta week0.php hija mitluba, 561 00:26:59,880 --> 00:27:00,960 xi tfisser? 562 00:27:00,960 --> 00:27:04,410 >> Litteralment, dan il-fajl huwa mitlub mill-browser. 563 00:27:04,410 --> 00:27:06,240 Il-web server-- a.k.a. 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- grabs dan fajl, week0.php, u jaqra 565 00:27:09,250 --> 00:27:10,780 huwa fuq għal isfel, xellug għal-lemin. 566 00:27:10,780 --> 00:27:15,400 Fuq linja waħda, immedjatament jiltaqa bracket miftuħa trade mark in kwistjoni PHP, jeħtieġu 567 00:27:15,400 --> 00:27:17,872 header dot PHP, u għalhekk dak l-interpretu PHP 568 00:27:17,872 --> 00:27:20,580 does-- li l-mibnija fil-web server, għaliex aħna preconfigured 569 00:27:20,580 --> 00:27:24,580 għal you-- li tmur awtomatikament fis header.php, kopji l-kontenut, 570 00:27:24,580 --> 00:27:25,640 pejsts lilhom hawnhekk. 571 00:27:25,640 --> 00:27:28,790 >> Imma mbagħad il-laqgħat interpreti kwistjoni marka bracket-qrib, 572 00:27:28,790 --> 00:27:30,320 għalhekk kollu jsir ħsieb. 573 00:27:30,320 --> 00:27:33,400 Issa hija biss bl-addoċċ spits l-żewġ linji permezz sebgħa, 574 00:27:33,400 --> 00:27:35,240 għaliex huwa biss HTML prima. 575 00:27:35,240 --> 00:27:38,470 Gets għal-linja tmienja, u ma li istess magic again-- ftuħ tal-fajl, 576 00:27:38,470 --> 00:27:41,460 ħtif-kontenut, u billi teħtieġ jew pasta minnhom 577 00:27:41,460 --> 00:27:42,480 dritt allura jew hemmhekk. 578 00:27:42,480 --> 00:27:44,210 >> Imma I biss allużjoni għal bug. 579 00:27:44,210 --> 00:27:48,610 Dan huwa pass parzjali lura, għaliex jekk inħarsu fil header.php, 580 00:27:48,610 --> 00:27:50,850 Stajt tip ta tnaqqas kantuniera. 581 00:27:50,850 --> 00:27:56,250 What karatteristika ma I jieqfu sabiex biex jiksbu dan id-disinn aħjar dibattibbli? 582 00:27:56,250 --> 00:27:57,305 Yeah? 583 00:27:57,305 --> 00:27:58,180 UDJENZA: [inaudible] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Yeah, I tip ta tnaqqas kantuniera nontrivial. 585 00:28:00,570 --> 00:28:04,489 Inti enfasizzat li dak li kien qed jinbidlu kien it-titolu, in-numru fit-titolu, 586 00:28:04,489 --> 00:28:05,530 u n-numru fil-H1. 587 00:28:05,530 --> 00:28:08,170 Allura soluzzjoni tiegħi kien, OK, ejja biss semmi mill-ġdid il-paġna, 588 00:28:08,170 --> 00:28:10,080 u mhux tittratta dik problema tkun xi tkun. 589 00:28:10,080 --> 00:28:12,130 Allura dak parzjali pass lura għall-żgur. 590 00:28:12,130 --> 00:28:14,300 >> Imma dak li hu notevoli hawn huwa li dak I għamlu 591 00:28:14,300 --> 00:28:17,200 huwa fatturati inkella l-għalf komuni. 592 00:28:17,200 --> 00:28:21,520 U fl footer.php, avviż I f'fatturi kollha ta 'dan, għalkemm inqas, 593 00:28:21,520 --> 00:28:22,790 Jittieħed komuni. 594 00:28:22,790 --> 00:28:26,070 So I bżonn li b'xi mod issa tkun tista ' tieħu pass ieħor 'il quddiem, u tiffissa 595 00:28:26,070 --> 00:28:27,160 li l-kwistjonijiet titolu. 596 00:28:27,160 --> 00:28:28,180 Mela ejja tagħmel dan. 597 00:28:28,180 --> 00:28:35,060 >> Let me go fis-tieni verżjoni tiegħi hawn, li, għal darb'oħra, għandu l-istess fajls 598 00:28:35,060 --> 00:28:36,825 ħlief għal wieħed żieda ġdida. 599 00:28:36,825 --> 00:28:38,950 U huwa ftit aktar verbose, imma ejja ara jekk irridu 600 00:28:38,950 --> 00:28:40,550 tista tease apparti x'inhu għaddej hawn. 601 00:28:40,550 --> 00:28:45,370 Allura minflok jeħtieġu header.php, u footer.php, 602 00:28:45,370 --> 00:28:50,180 I jidhru li jeħtieġu wieħed biss file-- imsejħa, naturalment, helpers.php. 603 00:28:50,180 --> 00:28:52,560 U let me jistipulaw issa, x'hemm ġewwa tal helpers.php 604 00:28:52,560 --> 00:28:55,330 huwa biss mazz ta 'funzjonijiet li I kiteb, bħad qabel. 605 00:28:55,330 --> 00:28:57,550 Imma I sejħitilha helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Issa apparentement, fil linja tlieta u 10, jien 607 00:29:00,370 --> 00:29:02,840 sejħa żewġ functions-- tirrendi header, footer jirrendi. 608 00:29:02,840 --> 00:29:05,040 Dawk ma jaqgħux bl PHP, I kiteb dawk myself. 609 00:29:05,040 --> 00:29:07,880 U jien jpoġġuhom fil helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Issa, konna biss raw dan sintassi darba, u kien qasir super. 611 00:29:11,210 --> 00:29:15,330 Iżda din hija apparentement argument li tirrendi header, il-funzjoni. 612 00:29:15,330 --> 00:29:16,450 Għaliex inkun naf li? 613 00:29:16,450 --> 00:29:18,522 Well Hawn paren qrib, Hawn paren miftuħ. 614 00:29:18,522 --> 00:29:21,230 U ovvjament, bħal fil C, xejn bejn dawk parentesi 615 00:29:21,230 --> 00:29:23,350 hija input-- jew argument għall-funzjoni. 616 00:29:23,350 --> 00:29:26,710 >> X'inhu t-tip tad-data ta 'dan l-argument, ibbażati fuq dak li stajt enfasizzat? 617 00:29:26,710 --> 00:29:30,820 What do dawk parenteżi kwadri jindikaw, ibbażata fuq ġimgħa li għaddiet? 618 00:29:30,820 --> 00:29:33,390 Yeah, huwa ta 'array-- speċifikament firxa assoċjattiva. 619 00:29:33,390 --> 00:29:35,700 U dan sintassi ċertament huwa funky ftit, 620 00:29:35,700 --> 00:29:38,860 iżda dan huwa biss tgħaddi f'wieħed par valur essenzjali. 621 00:29:38,860 --> 00:29:43,530 Il-muftieħ huwa, kwotazzjoni unquote titolu, u il-valur huwa CS50. 622 00:29:43,530 --> 00:29:46,220 >> Jekk aħna kienu għamlu dan fis-C, jista 'minflok 623 00:29:46,220 --> 00:29:49,400 tħares aktar bħal dan, biss quote unquote CS50-- 624 00:29:49,400 --> 00:29:52,460 jew fil-fatt ikun kaboċċi ċingi, jew xi ħaġa bħal dik fis-C, 625 00:29:52,460 --> 00:29:55,580 fejn il-muftieħ huwa żero, u il-valur huwa CS50. 626 00:29:55,580 --> 00:29:59,840 Iżda għal darb'oħra, fil-PHP, anki jekk il- sintassi hija, għal darb'oħra, ftit stramb, 627 00:29:59,840 --> 00:30:02,860 li jippermettilek li jgħaddu kliem minflok ta 'numri 628 00:30:02,860 --> 00:30:05,120 għal ċwievet jassoċjaw mal-valuri. 629 00:30:05,120 --> 00:30:06,390 >> Allura dak li jfisser dan kollu jfisser? 630 00:30:06,390 --> 00:30:09,750 Jekk immur fis helpers.php, ejja nħarsu lejn din il-funzjoni. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, aktar renderHeader hija l-funzjoni tiegħi, 632 00:30:13,620 --> 00:30:16,220 u naf li minħabba nara l-keyword funzjoni hawn. 633 00:30:16,220 --> 00:30:19,450 Dan huwa ġdid mill C-- it apparentament jieħu argument imsejħa data-- 634 00:30:19,450 --> 00:30:22,400 imma I setgħet sejjaħ dan xejn, imma jien hija imsejħa data, 635 00:30:22,400 --> 00:30:25,090 biss li jkun clean-- ftit u ħu raden, speċjalment 636 00:30:25,090 --> 00:30:28,173 jekk inti ħadthom programmati xi oħra lingwa f'livell ogħla qabel, xi ħaġa 637 00:30:28,173 --> 00:30:29,820 hawn fuq C, kunċettwalment. 638 00:30:29,820 --> 00:30:33,820 >> Xi jfisser bracket miftuħa ugwali bracket kwadru probabbilment jfisser? 639 00:30:33,820 --> 00:30:35,540 Jew dak li jista jfisser? 640 00:30:35,540 --> 00:30:39,660 Imxejna ma bbenefikawx dan C. Yeah? 641 00:30:39,660 --> 00:30:40,480 >> Firxa vojta. 642 00:30:40,480 --> 00:30:45,440 Speċifikament, dan ifisser li jekk l-utent ma sejħa renderHeader 643 00:30:45,440 --> 00:30:49,340 ma 'argument, jien għadhom għaddejjin li jkollhom argument imsejħa data, 644 00:30:49,340 --> 00:30:52,327 iżda valur ta 'default tagħha huwa se tkun firxa vojta. 645 00:30:52,327 --> 00:30:53,660 Allura huwa biss konvenjenza sbieħ. 646 00:30:53,660 --> 00:30:56,493 I ma jkollhom Yell fil-utent, jew jgħidu inti użati funzjoni tiegħi ħażin. 647 00:30:56,493 --> 00:30:59,849 I tista 'biss jagħti lill-utent ta' default valur, jekk jien ma partikolarment kura. 648 00:30:59,849 --> 00:31:01,890 Issa din il-funzjoni, jien ser mewġa idejn tiegħi fuq. 649 00:31:01,890 --> 00:31:07,620 Iżda din il-funzjoni estratt tippermetti ahna jgħaddu dawn il-varjabbli fid-dejta 650 00:31:07,620 --> 00:31:10,360 fil header.php kif ġej. 651 00:31:10,360 --> 00:31:13,100 U dan huwa l-aħħar biċċa, I think, ta 'sintassi funky. 652 00:31:13,100 --> 00:31:15,860 Hawnhekk huwa verżjoni ġdida tiegħi tal header.php-- dan 653 00:31:15,860 --> 00:31:20,140 użati, jiġifieri, litteralment, open parentesi titolu CS50, u li ma kien. 654 00:31:20,140 --> 00:31:21,766 U istess ħaġa għall-H1. 655 00:31:21,766 --> 00:31:24,310 >> Issa jidher jgħid xi ħaġa pretty funky. 656 00:31:24,310 --> 00:31:28,030 U let me jissimplifika dan għal mument kif ġej. 657 00:31:28,030 --> 00:31:31,020 Dan huwa dak li stajt inbidlet titolu tiegħi li jkun. 658 00:31:31,020 --> 00:31:35,140 Madankollu, huwa jkollna ftit ikrah li parentesi kontinwament miftuħa ma PHP, 659 00:31:35,140 --> 00:31:36,610 u mbagħad jużaw l-funzjoni tal-istampar. 660 00:31:36,610 --> 00:31:40,810 Jirriżulta li PHP għandha shorthand notazzjoni għal dan, li huwa biss 661 00:31:40,810 --> 00:31:45,050 sinjal ugwali, li huwa teknikament funzjoni msejħa eku minflok istampar, 662 00:31:45,050 --> 00:31:46,800 imma hija l-istess ħaġa, effettiv. 663 00:31:46,800 --> 00:31:48,440 >> Li għadha jistenna aħjar. 664 00:31:48,440 --> 00:31:50,510 Huwa biss sintattika zokkor, jekk inti se, 665 00:31:50,510 --> 00:31:52,260 li jagħmel kodiċi tiegħi tfittex ftit aħjar. 666 00:31:52,260 --> 00:31:54,010 Iżda jirriżulta, u Ser naraw dan jerġa 667 00:31:54,010 --> 00:31:57,420 qabel fit-tul, għandna biex sejħa dan annoyingly funzjoni twil imsejjaħ 668 00:31:57,420 --> 00:32:00,582 Chars speċjali HTML fil PHP, għaliex jirriżulta 669 00:32:00,582 --> 00:32:02,790 hemm ċerti inputs li l-utent jista 'jagħti us, 670 00:32:02,790 --> 00:32:05,160 jew li l-utenti jista 'jagħti us, li ser jiksru sit tagħna. 671 00:32:05,160 --> 00:32:07,035 Iżda aħna ser tara li jmiss ġimgħa ma JavaScript. 672 00:32:07,035 --> 00:32:10,740 Iżda għal issa, biss jafu li dan il-fajl, headers.php, sempliċiment 673 00:32:10,740 --> 00:32:13,040 jieħu t-titolu li I għadda fi, dan jagħmel 674 00:32:13,040 --> 00:32:17,380 ċert li huwa sikur biex jiġi injettat ġo web paġna, u spits out bħala titolu tiegħi 675 00:32:17,380 --> 00:32:18,640 u bħala H1 tiegħi. 676 00:32:18,640 --> 00:32:24,440 Mela jekk jien jmorru fil din il-verżjoni issa, avviż li lectures għandha t-titolu tiegħu lura, 677 00:32:24,440 --> 00:32:28,630 zero ġimgħa għandha titolu tiegħu lura, u tabilħaqq, il-HTML jien jiġġeneraw 678 00:32:28,630 --> 00:32:32,110 huwa identiku għal dak ewwel verżjoni tiegħi was-- ħlief għall whitespace tiegħi, 679 00:32:32,110 --> 00:32:35,150 għaliex stajt bdew ifformattjar kodiċi tiegħi ftit differenti. 680 00:32:35,150 --> 00:32:38,082 Imma stajt iġġenerat kollha il-kodiċi I care about. 681 00:32:38,082 --> 00:32:39,790 So let me nieqaf għal ftit mument u ara 682 00:32:39,790 --> 00:32:42,200 jekk ikun hemm xi mistoqsijiet jew konfużjoni Stajt maħluqa. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Kull dritt, so ejja twist ftit diffiċli hawn 685 00:32:48,150 --> 00:32:51,500 biex tara jekk hemm xi opportunità għal titjib. 686 00:32:51,500 --> 00:32:56,130 Helpers.php kellu wkoll dan funzjoni, imsejħa renderFooter. 687 00:32:56,130 --> 00:32:59,652 U x'hemm notevoli dwar renderHeader, u renderFooter? 688 00:32:59,652 --> 00:33:02,610 U għal darb'oħra, għall-finijiet tal-lum, taf li l-funzjoni estratt huwa biss 689 00:33:02,610 --> 00:33:08,280 tiegħi mod ta 'argumenti li tgħaddi fis header.php u footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Jiddispjacini? 692 00:33:11,780 --> 00:33:13,056 >> UDJENZA: [inaudible] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Yeah, I biss biddel il-bżonn linja. 694 00:33:15,180 --> 00:33:19,410 So litteralment, stajt impenjata il sin tal ikkupjar u pasta, għal darb'oħra. 695 00:33:19,410 --> 00:33:21,920 Mhuwiex numru kbir tal-linji, iżda jaqgħu on-- 696 00:33:21,920 --> 00:33:25,220 jekk jien ikkupjar u pasta kollox biss għall-bidla ftit wieħed kelma, 697 00:33:25,220 --> 00:33:28,610 u l-kelma ftit wieħed li Alan punti out jiġifieri footer hawn, versus header hawn. 698 00:33:28,610 --> 00:33:30,670 Inkella, kollox huwa identiku, ħlief għall- 699 00:33:30,670 --> 00:33:32,180 naturalment, ismijiet tal-funzjoni tal. 700 00:33:32,180 --> 00:33:33,690 Allura dak li nistgħu nagħmlu aħjar? 701 00:33:33,690 --> 00:33:39,810 >> Well let me tiftaħ din il-verżjoni hawn, fejn fil helpers.php, 702 00:33:39,810 --> 00:33:42,300 għaliex ma I biss jiksbu ftit aktar intelliġenti dwar dan? 703 00:33:42,300 --> 00:33:46,410 Ikteb ftit aktar kumplikata kodiċi, iżda sejħa hija tirrendi? 704 00:33:46,410 --> 00:33:48,470 Allura dak li jiena fundamentalment mibdula? 705 00:33:48,470 --> 00:33:51,770 >> Huwa jieħu argument now-- żewġ argumenti, data xorta. 706 00:33:51,770 --> 00:33:54,444 U allura x'inhu l-ewwel isem probabilment qed jintużaw għal, 707 00:33:54,444 --> 00:33:55,860 ibbażati fuq dak li qed taqra hawn? 708 00:33:55,860 --> 00:33:58,452 Anke jekk xi wħud mill-sintassi għadu ġdid. 709 00:33:58,452 --> 00:33:59,660 X'inhu dollaru template sinjal? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Jiddispjacini? 712 00:34:03,016 --> 00:34:03,710 >> UDJENZA: Header jew Footer. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: Header jew Footer. 714 00:34:04,510 --> 00:34:07,134 So apparentement, I iddeċieda li jekk l-unika ħaġa li l-jinbidlu 715 00:34:07,134 --> 00:34:10,159 huwa dak template trid I li print-- u mill template 716 00:34:10,159 --> 00:34:13,100 I tfisser li dan huwa blueprint għall kodiċi li nixtieq li output, 717 00:34:13,100 --> 00:34:16,350 imma nixtieq li plug f'xi values-- hekk jekk huwa biss header 718 00:34:16,350 --> 00:34:20,440 jew footer, għaliex ma I parameterize li u jitolbu l-sinjal argument dollaru 719 00:34:20,440 --> 00:34:21,409 template? 720 00:34:21,409 --> 00:34:26,250 U allura dan sintassi funky tippermetti me biex tinħoloq triq fil-varjabbli hawn. 721 00:34:26,250 --> 00:34:28,030 >> Allura triq sinjal dollaru hija varjabbli. 722 00:34:28,030 --> 00:34:31,120 Xi jfisser dan sintassi tagħmel, jekk int familjari? 723 00:34:31,120 --> 00:34:32,512 Yeah? 724 00:34:32,512 --> 00:34:34,065 >> UDJENZA: [inaudible] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Eżattament. 726 00:34:34,940 --> 00:34:37,600 Jekk template hija, kwotazzjoni unquote, header, jew jekk template hija, 727 00:34:37,600 --> 00:34:41,170 kwotazzjoni unquote, footer, dik il-linja hemm li stajt enfasizzat, linja tmienja, 728 00:34:41,170 --> 00:34:46,330 huwa sempliċement jieħdu dak l-isem, bħal header, u concatenating bl dot PHP. 729 00:34:46,330 --> 00:34:49,750 Allura aħna ma kellhiex dan l-operatur fil C. Dan l-operatur dot hija 730 00:34:49,750 --> 00:34:54,520 ħaġa aqwa fil PHP-- jekk int familjari ma 'JavaScript jew Java, 731 00:34:54,520 --> 00:34:56,949 inti tista 'tuża l-plus sinjal li tagħmel konkatenazzjoni. 732 00:34:56,949 --> 00:34:59,974 >> Fil C, huwa uġigħ fl-neck-- u jien so sorry, fil-p-sett sitta, 733 00:34:59,974 --> 00:35:02,390 int ser ikollhom jagħmlu this-- huwa uġigħ fl-għonq 734 00:35:02,390 --> 00:35:03,930 li concatenate kordi. 735 00:35:03,930 --> 00:35:04,670 Għaliex? 736 00:35:04,670 --> 00:35:06,580 Ukoll, għaliex jekk inti ħadthom ltqajna string li l dan twil, 737 00:35:06,580 --> 00:35:09,538 u string ieħor li l-dan twil, inti ma tistax biss plug flimkien. 738 00:35:09,538 --> 00:35:11,070 What do you minflok tagħmel fis-C? 739 00:35:11,070 --> 00:35:11,680 Yeah? 740 00:35:11,680 --> 00:35:12,380 >> UDJENZA: [inaudible] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Int għandek malloc memorja, jew l-użu firxa fuq il-munzell. 742 00:35:15,090 --> 00:35:17,214 U inti attwalment ikollhom tagħmel dik firxa kbir biżżejjed 743 00:35:17,214 --> 00:35:20,940 biex joqgħodu f'din plus dan, flimkien mal-backslash żero. 744 00:35:20,940 --> 00:35:24,994 Imbagħad concatenate flimkien bl-użu ħawwad qattus jew manwalment bi għas loop, 745 00:35:24,994 --> 00:35:26,160 jew kwalunkwe numru ta 'tekniki. 746 00:35:26,160 --> 00:35:27,760 U aħna nuruk koppja fil-p sett sitta. 747 00:35:27,760 --> 00:35:29,080 >> Huwa uġigħ fl-għonq. 748 00:35:29,080 --> 00:35:34,190 U dan huwa verament dak li jfisser I dwar dan versus this-- bħal C versus PHP. 749 00:35:34,190 --> 00:35:36,870 Inti biss tikseb tant aktar funzjonalità b'xejn, 750 00:35:36,870 --> 00:35:39,030 sabiex inti tista 'tiffoka, idealment, fuq il-gost 751 00:35:39,030 --> 00:35:41,190 parti mill kodifikazzjoni, l- proġett inti tixtieq li ssolvi, 752 00:35:41,190 --> 00:35:43,190 aktar milli d-dettalji livell baxx. 753 00:35:43,190 --> 00:35:49,840 >> Allura dan biss jiġġenera header.php jew footer.php bbażata fuq liema waħda I call. 754 00:35:49,840 --> 00:35:52,280 U fil-fatt jekk immur fis index.php, avviż 755 00:35:52,280 --> 00:35:56,230 dak kollu li changed-- Minflok sejħa tirrendi header jew tirrendi footer, 756 00:35:56,230 --> 00:36:00,230 Jien ssejjaħ jirrendu, segwita mill- isem tal-mudell li nixtieq li tagħmel. 757 00:36:00,230 --> 00:36:02,370 U tkun taf tara dan, wisq, fl problema sett sebgħa, 758 00:36:02,370 --> 00:36:05,530 li biha aħna jippermetti li inti tuża l- istess funzjoni li tagħmel għenieqed 759 00:36:05,530 --> 00:36:07,550 u għenieqed ta 'paġni web differenti. 760 00:36:07,550 --> 00:36:10,570 >> Allura minflok nitkellem wisq ħafna aktar fuq dawk details-- 761 00:36:10,570 --> 00:36:13,210 li tkun taf tara mill-ġdid fil sett problema seven-- ejja nħarsu 762 00:36:13,210 --> 00:36:16,850 fil issa-bidu ta 'soluzzjoni għal problema aktar interessanti. 763 00:36:16,850 --> 00:36:19,310 S'issa, xejn konna isir jkollu data ffrankata. 764 00:36:19,310 --> 00:36:22,920 Fil-fatt, l-uniku ħin aħna stajt qatt salvati xi ħaġa li aħna ghamilt f'din il-klassi 765 00:36:22,920 --> 00:36:31,030 huwa meta kellna demo sempliċi ħafna awhile lura, fejn użajna fajl IO fl C, 766 00:36:31,030 --> 00:36:34,520 u I think I ittajpjat fl-isem tiegħi, u Isem Hannah, u l-isem Maria, 767 00:36:34,520 --> 00:36:37,610 jew forsi isem Andy, u allura aħna ffranka file-- CSV 768 00:36:37,610 --> 00:36:39,430 comma separati valuri fajl. 769 00:36:39,430 --> 00:36:43,530 >> U aħna użati fopen-- I think aħna użati fprintf bħala I recall, 770 00:36:43,530 --> 00:36:44,910 u aħna salvati fajl. 771 00:36:44,910 --> 00:36:46,920 Issa, dan huwa l-aktar sempliċi forma ta 'database. 772 00:36:46,920 --> 00:36:50,230 Jekk inti tixtieq li tagħmel website għall- Programm Frosh IMs, fejn freshmen 773 00:36:50,230 --> 00:36:53,390 jistgħu jirreġistraw għal sport, inti idealment trid tagħmel xi ħaġa ma 'dik id-data. 774 00:36:53,390 --> 00:36:55,370 Last week, għamilna xejn bl-data-- aħna biss qal, 775 00:36:55,370 --> 00:36:56,661 inti huma rreġistrati, mhux verament. 776 00:36:56,661 --> 00:36:58,950 Jew forsi I emailed l Procter, u li ma kien. 777 00:36:58,950 --> 00:37:02,110 >> Iżda jkun sbieħ jekk I jistgħu tagħti l Procter fajl CSV, 778 00:37:02,110 --> 00:37:03,340 bħal fajl Excel. 779 00:37:03,340 --> 00:37:05,090 Jew aħjar għadhom, ikun Ikun sbieħ jekk I jistgħu 780 00:37:05,090 --> 00:37:08,830 tpoġġi ismijiet dawk l-utenti u dorm ismijiet u kollha ta 'dak 781 00:37:08,830 --> 00:37:11,740 f 'database li biss jgħix fuq għal dejjem, 782 00:37:11,740 --> 00:37:13,530 sal I jagħżlu li tħassar id-dejta. 783 00:37:13,530 --> 00:37:15,645 A database li tippermetti me għall-mistoqsija informazzjoni. 784 00:37:15,645 --> 00:37:18,070 U fil-fatt, dan huwa dak database hu. 785 00:37:18,070 --> 00:37:20,470 >> Aħna jintroduċu llum, u ġimgħa d-dieħla, wisq, teknoloġija 786 00:37:20,470 --> 00:37:25,020 imsejħa SQL-- a Mistoqsija Strutturat Lingwa, li huwa lingwa oħra. 787 00:37:25,020 --> 00:37:28,750 Huwa essenzjalment programmazzjoni lingwa, iżda għal databases. 788 00:37:28,750 --> 00:37:31,760 U database għal issa, ftit jaħsbu bħala verżjoni super fancy 789 00:37:31,760 --> 00:37:35,710 Microsoft Excel, jew Google Spreadsheets, jew Numri Apple. 790 00:37:35,710 --> 00:37:39,950 Huwa ġeneralment programm li tippermetti int taħżen mazz sħiħ ta 'data 791 00:37:39,950 --> 00:37:43,960 f'ringieli u kolonni, pjuttost bħal inti tista fl-Excel. 792 00:37:43,960 --> 00:37:47,100 >> Imma x'hemm sbieħ, speċjalment jekk aħna mhux qed super familjari mal Excel, 793 00:37:47,100 --> 00:37:52,040 dak SQL tippermetti li tagħmel huwa query dan informazzjoni billi tikteb linji ta 'kodiċi 794 00:37:52,040 --> 00:37:55,220 fejn inti tista ', anki jekk tiegħek database għandha miljun ringieli fiha, 795 00:37:55,220 --> 00:37:57,190 inti tista 'ssib affarijiet super fast. 796 00:37:57,190 --> 00:37:59,950 Fil-fatt, Excel hija partikolarment ħażin fil-livelli settijiet ta 'data kbar. 797 00:37:59,950 --> 00:38:02,460 U fil-fatt, sa ftit snin ilu, irriżultaw 798 00:38:02,460 --> 00:38:08,890 Excel jippermetti biss int taħżen sa 65,535 ringieli ta 'data-- li 799 00:38:08,890 --> 00:38:12,020 ħsejjes simili ħafna, iżda fl- time I kien student grad, 800 00:38:12,020 --> 00:38:14,920 u I remember waqgħat fuq dan għaliex I kien qed jiġġenera 801 00:38:14,920 --> 00:38:17,900 CSV fajls għar-riċerka tiegħi u I riedu jiġu analizzati malajr 802 00:38:17,900 --> 00:38:19,530 billi biss ftuħ fl-Excel. 803 00:38:19,530 --> 00:38:23,730 Of course, kompjuter tiegħi biss ġġarraf, minħabba I kellhom aktar minn 65,000 ringieli. 804 00:38:23,730 --> 00:38:27,210 >> Iżda fejn ma l-65535 ġejjin minn? 805 00:38:27,210 --> 00:38:29,670 Dak kien isir Microsoft, preżumibbilment? 806 00:38:29,670 --> 00:38:32,430 Jekk int tajba mal-poteri tiegħek ta 'tnejn? 807 00:38:32,430 --> 00:38:37,160 Yeah, dawn kienu jużaw 16-bit valur għall jirrappreżentaw in-numru ringiela. 808 00:38:37,160 --> 00:38:41,310 U tnejn sa 16 huwa 65,536-- wieħed nieqes, għaliex jekk inti 809 00:38:41,310 --> 00:38:45,414 indiċi żero ifisser li kien l- aktar numru ta 'ringieli I jista' jkollhom. 810 00:38:45,414 --> 00:38:46,830 U kien biss deċiżjoni disinn. 811 00:38:46,830 --> 00:38:52,760 Mill-iffrankar 16 bits, huma limitati me li 16,000 ringieli, minflok 4 biljun, 812 00:38:52,760 --> 00:38:54,322 li I seta 'kellu idealment. 813 00:38:54,322 --> 00:38:57,030 Iżda għal issa, aħna qed tmur biex jintroduċu dan aktar f'kuntest web. 814 00:38:57,030 --> 00:39:00,390 U x'hemm sbieħ dwar SQL hija li anki għalkemm huwa pjuttost qawwija u pretty 815 00:39:00,390 --> 00:39:04,050 sofistikati, huwa verament tagħli isfel sa erba 'operazzjonijiet ewlenin, erba 816 00:39:04,050 --> 00:39:08,060 funzjonijiet ewlenin, jekk inti will-- tagħżel, biex jerġgħu jsibu data, it-tiftix 817 00:39:08,060 --> 00:39:12,510 għal data; iħassru jew tħassir tad-data; daħħal għaż-żieda ringieli tad-database; 818 00:39:12,510 --> 00:39:13,410 u l-aġġornament. 819 00:39:13,410 --> 00:39:17,010 Mela jekk inti qatt jintużaw Google Spreadsheets, Numri Apple, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, inti għandek eżegwit, aktar probabbli, kollha 821 00:39:19,310 --> 00:39:22,530 ta 'dawn l-operazzjonijiet bħala bniedem mill biss tuża t-tastiera tiegħek u mouse-- 822 00:39:22,530 --> 00:39:26,050 ddaħħal data, bl-użu għajnejn tiegħek biex tagħżel jew tfittxija għal data, 823 00:39:26,050 --> 00:39:28,360 jew data aġġornament, jew tħassar informazzjoni. 824 00:39:28,360 --> 00:39:29,870 >> Allura dak li jfisser dan? 825 00:39:29,870 --> 00:39:34,300 Well, installat minn qabel fil CS50 IDE huwa programm imsejjaħ MySQL. 826 00:39:34,300 --> 00:39:37,050 Huwa ħieles, open-source database li l-super popolari. 827 00:39:37,050 --> 00:39:40,590 Facebook, per eżempju, l-użi li dan jum, fost għodod oħra li huma jużaw. 828 00:39:40,590 --> 00:39:44,300 U ħafna ta 'websajts popolari ħafna użu huwa fil-parti kbira għaliex dan huwa mgħaġġel, 829 00:39:44,300 --> 00:39:45,230 u għaliex huwa b'xejn. 830 00:39:45,230 --> 00:39:46,820 Għalkemm ċertament jeżistu alternattivi. 831 00:39:46,820 --> 00:39:49,580 U xi wħud minnkom tista dabble ma alternattivi għal proġetti finali. 832 00:39:49,580 --> 00:39:55,330 >> Dan huwa screenshot, sadanittant, ta għodda fuq l-internet imsejħa phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 Huwa koinċidenza li din l-għodda fuq l-internet huwa wkoll 834 00:39:58,260 --> 00:40:01,720 miktuba b'lingwa, PHP, imma dak huwa maħsub biex tagħmel 835 00:40:01,720 --> 00:40:04,620 huwa tagħtina fuq l-internet interface għal database. 836 00:40:04,620 --> 00:40:07,180 Minħabba MySQL tipikament hija xi ħaġa, storikament, inti 837 00:40:07,180 --> 00:40:08,770 jinteraġixxu ma 'biss bil-linja ta 'kmand. 838 00:40:08,770 --> 00:40:10,811 U jkun super annoying u arcane li jkollhom 839 00:40:10,811 --> 00:40:14,487 li jikkmanda testwali tip li tagħżel data, daħħal data, u ħassar id-data. 840 00:40:14,487 --> 00:40:16,820 Allura xi nies fuq l-internet kiteb programm fuq l-internet 841 00:40:16,820 --> 00:40:18,900 li just let us jimmaniġġjaw id-dejta fid-database tagħna. 842 00:40:18,900 --> 00:40:23,040 Huwa simili tikklikkja darbtejn fuq Excel, u tmexxija ta 'verżjoni fuq l-internet tagħha. 843 00:40:23,040 --> 00:40:26,370 >> U dak li int ser tuża dan għal finalment ġimgħa d-dieħla, mhux fil-p sett sitta, 844 00:40:26,370 --> 00:40:28,680 iżda huwa biex tinbena xi ħaġa imsejħa CS50 Finanzi, li 845 00:40:28,680 --> 00:40:32,630 se jkollhom database ta utenti, bl-ismijiet utent u passwords, 846 00:40:32,630 --> 00:40:34,860 dollaru ammonti li huma jkollhom fil-kontijiet bankarji tagħhom. 847 00:40:34,860 --> 00:40:37,280 Li għaddej biex tkun xi ħaġa li għandek tuża biex jaħżnu 848 00:40:37,280 --> 00:40:39,910 is-simboli u l-kwantitajiet ta 'ħażniet li l-utenti 849 00:40:39,910 --> 00:40:42,567 xtraw jużaw virtwali dollari li inti ser tagħti lilhom. 850 00:40:42,567 --> 00:40:44,900 U li għaddej biex jippermettu lill-utenti li jirreġistraw għall-sit tiegħek, 851 00:40:44,900 --> 00:40:47,190 sabiex anke ħbieb tiegħek tista 'tixgħel ir website tiegħek 852 00:40:47,190 --> 00:40:49,360 u fil-fatt jirreġistraw, log in, u play madwar 853 00:40:49,360 --> 00:40:52,807 u tipprova ssib difett fil-kodiċi tiegħek, u tipprova ssib bugs fil-website tiegħek. 854 00:40:52,807 --> 00:40:55,390 U dawn ser sempliċiment jirreġistraw billi żżid infushom, b'mod effettiv, 855 00:40:55,390 --> 00:40:58,120 permezz kodiċi tikteb għad-database tiegħek. 856 00:40:58,120 --> 00:41:02,470 >> Per eżempju, dan huwa screenshot malajr ta 'dak li database jista' dehra. 857 00:41:02,470 --> 00:41:05,190 Dan kien minn wieħed mill solutions-- sena li għaddiet 858 00:41:05,190 --> 00:41:07,760 dan huwa bħal Excel mini fajl, maħżuna fid-database tagħna, 859 00:41:07,760 --> 00:41:09,950 maħżuna dan is-software imsejjaħ MySQL. 860 00:41:09,950 --> 00:41:13,260 Min-naħa tax-xellug, stajt apparentement jingħataw kull utent numru uniku. 861 00:41:13,260 --> 00:41:16,200 Fit-tieni kolonna, stajt mogħtija kulħadd utent name-- tiegħi stess 862 00:41:16,200 --> 00:41:16,880 fosthom. 863 00:41:16,880 --> 00:41:21,430 U fuq il-lemin, Stajt tawhom hash. 864 00:41:21,430 --> 00:41:26,760 >> Issa dan huwa attwalment password, iżda mhuwiex password test sempliċi. 865 00:41:26,760 --> 00:41:30,160 Huwa password encrypted, jekk inti se, jew password hash. 866 00:41:30,160 --> 00:41:32,000 Li aħna ser terga 'lura għal qabel twil. 867 00:41:32,000 --> 00:41:34,340 >> Imma jekk inti stajt qatt taqra artiklu dwar kif 868 00:41:34,340 --> 00:41:37,950 password tiegħek f'xi bank jew xi website seta 'kien kompromess, 869 00:41:37,950 --> 00:41:39,630 dan jista 'ġeneralment ifissru waħda minn żewġ affarijiet. 870 00:41:39,630 --> 00:41:42,780 Allura dan huwa biss silta ta 'sitt utenti. 871 00:41:42,780 --> 00:41:45,460 Kollha inti issa tista figura permezz tar hacking jew qsim 872 00:41:45,460 --> 00:41:47,690 dak passwords sitt poplu tagħna huma. 873 00:41:47,690 --> 00:41:49,720 Imma jekk inti stajt qatt gotten twissija jew apoloġija 874 00:41:49,720 --> 00:41:52,803 minn kumpannija jew tgħid website, sorry, Hacker kissru fil-database tagħna, 875 00:41:52,803 --> 00:41:56,360 inti probabilment għandhom tbiddel tiegħek password, dak li jista 'jfisser? 876 00:41:56,360 --> 00:41:59,670 >> Well, wieħed, jista 'jfisser id kumpanija kien aktar moronic, 877 00:41:59,670 --> 00:42:03,630 u ġie ħażna password tiegħek fil-kolonna bħal dan, unencrypted. 878 00:42:03,630 --> 00:42:05,840 Li jfisser l-avversarju, li seraq il database, 879 00:42:05,840 --> 00:42:07,440 litteralment jaf tiegħek username u password. 880 00:42:07,440 --> 00:42:08,960 Dik hija l-agħar xenarju possibbli. 881 00:42:08,960 --> 00:42:11,710 U kif tkun taf tara fil-p-set seba ', daqshekk faċli biex jiġi evitat. 882 00:42:11,710 --> 00:42:15,624 M'hemm assolutament l-ebda skuża għal dak forma ta 'stupidity fl-internet tal-lum. 883 00:42:15,624 --> 00:42:18,540 Two-- u aħna ser issib xi artikoli li jixhdu l-fatt li din xorta 884 00:42:18,540 --> 00:42:21,710 jiġri, nonetheless-- tnejn, forsi l-avversarju 885 00:42:21,710 --> 00:42:23,840 seraq din il-verżjoni tad-database. 886 00:42:23,840 --> 00:42:27,110 Li għadu tip ta 'ħażin, għaliex issa huma jafu li jien sitt klijenti, 887 00:42:27,110 --> 00:42:29,270 Naf li l-ismijiet utent tas-sitt klijenti, 888 00:42:29,270 --> 00:42:32,910 u naf l encrypted Verżjonijiet, jew il-verżjonijiet hashed, 889 00:42:32,910 --> 00:42:34,340 tal passwords dawk is-sitt klijenti. 890 00:42:34,340 --> 00:42:37,010 Imma kull minnkom li tista għamlu [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 fejn inti maqsum passwords, jew ħa A Ħares Fuq dik il-verżjoni tal-problema 892 00:42:41,150 --> 00:42:46,280 sett, għaliex hi għadu tħassib ftit jekk l-avversarju jaf hash tiegħek 893 00:42:46,280 --> 00:42:47,435 passwords? 894 00:42:47,435 --> 00:42:49,732 >> UDJENZA: għax dawn ikunu jistgħu jidħlu fis-dizzjunarju kollu 895 00:42:49,732 --> 00:42:50,690 fil-funzjoni hash. 896 00:42:50,690 --> 00:42:54,520 U jekk password tiegħek hija dizzjunarju kelma, [? dawn jistgħu biss match--?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Eżattament, l-avversarju tista 'sempliċement jiktbu kodiċi, bħal xi wħud minnkom 898 00:42:57,640 --> 00:43:00,526 għamlet għall [? Hacker?] 2, fejn inti jtenni fuq 899 00:43:00,526 --> 00:43:03,400 kollha tal-kliem fil-dizzjunarju, jew kumbinazzjoni possibbli ta 'A 900 00:43:03,400 --> 00:43:06,610 permezz Z u wieħed permezz nine-- li tinstema ħafna, u huwa. 901 00:43:06,610 --> 00:43:08,361 Iżda għal kompjuter, huwa pjuttost darn fast. 902 00:43:08,361 --> 00:43:10,610 U fil-fatt, li kien l- punt ta '[? Hacker 2,?] Kien 903 00:43:10,610 --> 00:43:12,540 biex jieħdu għalf li litteralment tidher bħal dan, 904 00:43:12,540 --> 00:43:14,900 u inġinier reverse dak li fil-fatt kien. 905 00:43:14,900 --> 00:43:17,270 >> Allura aħna ser tħares lejn kif nistgħu taħżen dan b'mod aktar effiċjenti. 906 00:43:17,270 --> 00:43:20,210 Jirriżulta, Thankfully fil MySQL, hemm ser ikunu tipi ta 'data. 907 00:43:20,210 --> 00:43:22,800 U waħda mill-partijiet divertenti dwar disinn database, li tkun onest, 908 00:43:22,800 --> 00:43:25,810 huwa attwalment jiddeċiedu għalik innifsek kif għandek tirrappreżenta d-data? 909 00:43:25,810 --> 00:43:29,630 Jekk inti tirrappreżenta numru tat-telefon kif l int, bħal numru kbir, jew twil? 910 00:43:29,630 --> 00:43:31,630 Jew inti fil-fatt tagħmel dan bħala sekwenza ta 'Chars? 911 00:43:31,630 --> 00:43:33,780 U jista 'jkun hemm ħafna impatti mhux trivjali ta 'dan. 912 00:43:33,780 --> 00:43:36,714 >> Fil-fatt, wieħed mill- kmieni, stejjer germane gost 913 00:43:36,714 --> 00:43:39,880 huwa meta Mark Zuckerberg kien bini Facebook, kien oriġinarjament miktub fl- 914 00:43:39,880 --> 00:43:42,300 u xorta hija ġeneralment miktub fil-PHP. 915 00:43:42,300 --> 00:43:45,400 U wieħed mill-akbar sfidi dawn jiffaċċjaw kmieni kien skalar. 916 00:43:45,400 --> 00:43:48,820 Meta jinżammu żżid iskola wara iskola wara l-iskola, sa fejn naf jien, 917 00:43:48,820 --> 00:43:51,639 waħda mis-soluzzjonijiet oriġinali essenzjalment kien li kopja u paste 918 00:43:51,639 --> 00:43:53,430 xi wħud mill-databases u xi wħud mill-kodiċi, 919 00:43:53,430 --> 00:43:55,346 sabiex Harvard kien taħdem fuq server tiegħu stess, 920 00:43:55,346 --> 00:43:56,995 u MIT kien għaddej fuq is-server tiegħu stess. 921 00:43:56,995 --> 00:43:59,120 U dan kien għaliex, għal xi minnkom li jistgħu recall, 922 00:43:59,120 --> 00:44:01,510 inti ma setgħux ħbieb f'networks oħrajn. 923 00:44:01,510 --> 00:44:05,050 >> You probabbilment ma għandekx ħbieb fid MIT jew Harvard 10 jew hekk snin ilu, 924 00:44:05,050 --> 00:44:07,467 imma inti ma setgħux span netwerks għall parzjalment dik ir-raġuni. 925 00:44:07,467 --> 00:44:10,550 U wieħed mill-akbar sfidi għall Mark u għal kumpaniji bħal Facebook 926 00:44:10,550 --> 00:44:13,460 huwa attwalment immaniġġjar mijiet u eluf u miljuni 927 00:44:13,460 --> 00:44:14,460 ta 'talbiet kull sekonda. 928 00:44:14,460 --> 00:44:16,501 Allura l-affarijiet aħna ser tibda jitkellem dwar din il-ġimgħa 929 00:44:16,501 --> 00:44:19,860 huma verament se jkun germane għal kitba software tajba, u popolarment 930 00:44:19,860 --> 00:44:23,040 għodod suċċess li jistgħu jimmaniġġjaw lottijiet ta 'utenti. 931 00:44:23,040 --> 00:44:25,460 >> Allura aħna ser nitkellmu dwar affarijiet bħal indiċjar u tiftix, 932 00:44:25,460 --> 00:44:26,910 iżda li huwa għal-lum. 933 00:44:26,910 --> 00:44:28,780 Aħna se tara lilek għal aktar nhar l-Erbgħa. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [MUSIC - "Seinfeld" TEMA] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: tista 'biex dan, u naqqas minnha. 937 00:44:35,943 --> 00:44:38,859 U inti ma għandekx twaħħal mal xi ammont ta 'pre-determinat ta' memorja. 938 00:44:38,859 --> 00:44:40,580 Ukoll, dak li li għaddej biex jiġu msejħa? 939 00:44:40,580 --> 00:44:42,369 >> SPEAKER 1: Well, x'inhu għaddej? 940 00:44:42,369 --> 00:44:43,535 SPEAKER 2: X'tifhem? 941 00:44:43,535 --> 00:44:44,451 Hu jagħti lecture. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: U nistgħu nużaw a funzjoni msejħa malloc li memory-- 943 00:44:47,650 --> 00:44:50,050 >> SPEAKER 1: Għaliex ma armi tiegħu jiċċaqilqu? 944 00:44:50,050 --> 00:44:52,450 >> SPEAKER 2: Well that's-- inti taf, li l-normali. 945 00:44:52,450 --> 00:44:57,162 Huwa biss bħal hu għandu biss zalzett kbar mdendlin hemmhekk. 946 00:44:57,162 --> 00:44:59,040 >> SPEAKER 1: Li normali? 947 00:44:59,040 --> 00:45:03,096 >> SPEAKER 2: Yeah, I think we biss wieħed jassumi hu aċċidentalment 948 00:45:03,096 --> 00:45:06,840 sostitwiti deodorant tiegħu ma superglue. 949 00:45:06,840 --> 00:45:07,608