1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [Mūzikas atskaņošanai] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Tas ir CS50, un šis ir sākums nedēļas astoņiem. 5 00:00:13,350 --> 00:00:17,510 Un mēs esam tik satraukti sveikt atpakaļ, liels pārsteigums, CS50 pašas Ramon 6 00:00:17,510 --> 00:00:22,160 Galvan, pieaug vecākais, kurš ir bijis pavadot pēdējo vairākus mēnešus 7 00:00:22,160 --> 00:00:26,190 kopš jūlija Losandželosā, Holivudā, burtiski strādā pie pavisam jaunu TV 8 00:00:26,190 --> 00:00:31,930 parādīt sauc Colony, radītājs, kas ir faktiski Harvard alum pats. 9 00:00:31,930 --> 00:00:36,610 Un tāpēc mēs esam ļoti satraukti, lai redzētu šo debija uz ASV tīklā šī gada janvārī. 10 00:00:36,610 --> 00:00:40,370 Tātad Gaidiet, ka, un vairāk Ramon par nedēļu uz priekšu. 11 00:00:40,370 --> 00:00:42,550 >> Zināt, tagad, ka gals ir tuvu. 12 00:00:42,550 --> 00:00:47,400 Un ko tas nozīmē, ka tur nav viss, kas daudz pa kreisi no CS50, skumji teikt. 13 00:00:47,400 --> 00:00:49,400 Mums ir tikai trīs problēmas komplekti left-- tur 14 00:00:49,400 --> 00:00:52,510 Problēma noteikti six-- kas ir rokas tagad vai drīzumā būs, 15 00:00:52,510 --> 00:00:56,080 dēļ vēlāk šajā week-- ir domāts, lai novērstu Mūsu pasaulēm no komandrindas, kur 16 00:00:56,080 --> 00:00:59,450 mēs esam pavadījuši lielāko daļu mūsu laika, izmantojot C, un pasaule web programmēšanu. 17 00:00:59,450 --> 00:01:02,350 Nu, jūs redzēsiet daudz ideju aizgūts no komandrindas darbu, 18 00:01:02,350 --> 00:01:04,560 bet arī daudz jaunu un interesantas idejas 19 00:01:04,560 --> 00:01:07,929 kas arī būs piederīgs par mobilo lietojumu un par tehnoloģiju, 20 00:01:07,929 --> 00:01:10,470 vispārīgāk, ar kuru jūs puiši visi ir pazīstami mūsdienās 21 00:01:10,470 --> 00:01:12,090 par klēpjdatoriem un tālruņiem un tamlīdzīgi. 22 00:01:12,090 --> 00:01:15,220 >> Tātad jums īstenot nav mājas lapa, vai tīmekļa vietne 23 00:01:15,220 --> 00:01:17,620 per se, bet faktiskā web serveri. 24 00:01:17,620 --> 00:01:21,590 Jūs rakstīt pārējo web serveri rakstīts C, kura mērķis dzīvē 25 00:01:21,590 --> 00:01:25,410 ir saņemt HTTP pieprasījumus, šos Virtuālās aploksnes mēs turpini runāt 26 00:01:25,410 --> 00:01:29,780 par, un faktiski atbildēt vai nu ar daži statiskā content-- Like dot HTML 27 00:01:29,780 --> 00:01:32,310 fails, vai dot JPEG vai jebkuru citu failu skaits, 28 00:01:32,310 --> 00:01:37,070 vai pat PHP failu, kurā jūsu mājas serveris gatavojas interpretēt šo PHP 29 00:01:37,070 --> 00:01:38,332 kods un izspļaut rezultātus. 30 00:01:38,332 --> 00:01:40,540 Tagad mēs esam ja jums diezgan daudz shēmas 31 00:01:40,540 --> 00:01:43,100 par it-- patiešām sadales kods problēmu 32 00:01:43,100 --> 00:01:47,496 noteikti seši ir vairāk nekā 1000 līnijas garš, no kuriem daudzi ir komentāri, būt fair-- 33 00:01:47,496 --> 00:01:49,370 bet tas ir tiešām domāts būt iespēja 34 00:01:49,370 --> 00:01:52,570 lai saņemtu savu roku netīri diving par diezgan lielu projektu 35 00:01:52,570 --> 00:01:55,570 ka mēs ļoti konkrēti esam cirsts gabalus jums, 36 00:01:55,570 --> 00:01:59,046 tā, ka tiešām, kad izejat CS50 un ievadiet reālo pasauli plānošanu 37 00:01:59,046 --> 00:02:00,920 un vēlas plunčāties jebkurš projektu skaits, 38 00:02:00,920 --> 00:02:03,253 jums ir daudz lielāka komforts lejupielādējot kādu avotu 39 00:02:03,253 --> 00:02:05,020 kods, daži open source projicēt tīmeklī, 40 00:02:05,020 --> 00:02:08,174 un niršanu un padarot izmaiņas, kuras jūs redzat fit. 41 00:02:08,174 --> 00:02:11,340 Problēma noteikti septiņi būs par padarot savu tīmekļa lietojumprogrammu 42 00:02:11,340 --> 00:02:14,140 kas ņem dinamisku ievadi un rada dinamisku izejas formā 43 00:02:14,140 --> 00:02:16,920 no etrade.com līdzīgu mājas lapā. 44 00:02:16,920 --> 00:02:20,800 Un problēma noteikti astoņi pievērsīsies vēl citā valodā pazīstams kā JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> Tikmēr, galīgā Projekts ir pie horizonta. 46 00:02:24,170 --> 00:02:26,800 Ts pre-priekšlikums ir saistīts nedēļu no šodienas. 47 00:02:26,800 --> 00:02:29,930 Pre-proposal-- par specifikāciju, kas ir par CS50 ir website-- 48 00:02:29,930 --> 00:02:33,260 ir diezgan gadījuma iespēja jums nosūtīt diezgan īss e-pastu 49 00:02:33,260 --> 00:02:35,170 savā mācību kolēģiem tikai jāinformē viņam 50 00:02:35,170 --> 00:02:38,250 vai viņai par to, ko jūs domājat, lai izmantot viņu kā dēka. 51 00:02:38,250 --> 00:02:40,980 Un ir veselība check-- vai jūs domājat 52 00:02:40,980 --> 00:02:43,210 par nokošana off too daudz vai varbūt pārāk maz, 53 00:02:43,210 --> 00:02:46,480 vai varbūt jums nav ne jausmas, nekāda un vēlas iesaistīties sarunā. 54 00:02:46,480 --> 00:02:48,480 >> Pēc tam ir priekšlikums un ziņojumu statusu, 55 00:02:48,480 --> 00:02:51,860 tā sauktais CS50 hackathon šeit Cambridge par Hārvardas un Jēlas studenti 56 00:02:51,860 --> 00:02:52,362 līdzīgi. 57 00:02:52,362 --> 00:02:54,320 Gala Projekta īstenošana ir tad jāmaksā. 58 00:02:54,320 --> 00:02:59,290 Un tad CS50 godīgi šeit, Cambridge, kā arī vēl viens New Haven. 59 00:02:59,290 --> 00:03:02,500 Tātad priekšlikumu, ieskatieties mājas lapā par šiem datiem. 60 00:03:02,500 --> 00:03:06,530 >> Bet vēl aizraujoši, arī ir iespēja saņemt rokas netīras, 61 00:03:06,530 --> 00:03:09,350 un jūsu domas atvērti kopumā ķekars tēmām un instrumentu 62 00:03:09,350 --> 00:03:12,920 un metodes, kas ir papildu ar kursu galvenajai mācību programmas, 63 00:03:12,920 --> 00:03:14,810 bet tomēr saistīti. 64 00:03:14,810 --> 00:03:18,400 Kā arī brīnišķīgi pakāpieni līdz dara patiešām atdzist galīgos projektus, kas 65 00:03:18,400 --> 00:03:22,020 krietni pārsniedz materiāla mēs esam uz formāli problēma komplekti vai lekcijā. 66 00:03:22,020 --> 00:03:24,446 Tā iet uz CS50 mājas lapā par visa žurnāla semināru. 67 00:03:24,446 --> 00:03:26,070 Ja jums vēl nav reģistru, tas ir jauki. 68 00:03:26,070 --> 00:03:29,860 Iet uz priekšu un pierakstīties vēl un mēs sekot līdzi dzīvu straumēšanas saiti, 69 00:03:29,860 --> 00:03:31,844 diena un laiks ir mājas lapā. 70 00:03:31,844 --> 00:03:33,760 Un viss būs reģistrē un nodot tiešsaistē 71 00:03:33,760 --> 00:03:35,800 Ja jūs nevarat veikt konkrētas dienas un laiki. 72 00:03:35,800 --> 00:03:39,380 >> Attiecībā uz to, kas ir priekšā thereafter-- labi, Protams, tur ir CS50 hackathon. 73 00:03:39,380 --> 00:03:43,560 Šī fotogrāfija, atgādināt, no nedēļas nulles ņemt ap 04:00 viens vakars gadu iepriekš. 74 00:03:43,560 --> 00:03:46,900 CS50 gadatirgus, kas atkal notiks abās pilsētās. 75 00:03:46,900 --> 00:03:49,760 Un tad, tikai stādīt sēklas, pat ja mēs joprojām 76 00:03:49,760 --> 00:03:54,080 ir mēnesī plus kreisajā pusē, ja vēlaties pievienoties CS50 pašu mācību 77 00:03:54,080 --> 00:03:56,770 darbinieki, un jūs vēlaties, lai sāktu domāt par kļūst CA, 78 00:03:56,770 --> 00:03:59,550 vai mācību kolēģi, zināt, ka mēs sāksim runāt vairāk par to, ka 79 00:03:59,550 --> 00:04:00,630 vēlāk šajā semestrī. 80 00:04:00,630 --> 00:04:03,470 Bet attēlotie šeit lielākā daļa no šī gada komandu. 81 00:04:03,470 --> 00:04:06,950 >> Un tā, PHP-- un es biju tik skumji pagājušajā nedēļā, ka [? Allyse?] Laipni 82 00:04:06,950 --> 00:04:09,370 devās uz centieniem iegūt ASV šie brīnišķīgi butaforijas 83 00:04:09,370 --> 00:04:11,720 ka man nav galu galā, izmantojot, lai tā tiešām tikai skatījās veida stulba 84 00:04:11,720 --> 00:04:15,160 ka mums bija lāpstu sēdēja šeit visu diena pagājušajā trešdienā, un nedaudz karoti. 85 00:04:15,160 --> 00:04:17,709 Bet tas bija mans metaforisku veids, kā mēģināt gleznot 86 00:04:17,709 --> 00:04:21,600 aina par to, kāpēc mēs esam pārejot no C uz valodu, piemēram, PHP. 87 00:04:21,600 --> 00:04:25,480 Un to pašu varētu teikt par jebkuru skaits languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 vai ķekarus others-- bet tā kā C, piemēram, rakstot programmu C 89 00:04:31,270 --> 00:04:34,050 varētu parasti būt, piemēram, ņemot karoti kā šis 90 00:04:34,050 --> 00:04:36,770 un rakšana caurumu zemes, smiltīs vai netīrumiem. 91 00:04:36,770 --> 00:04:39,770 PHP ļauj jums veikt daudz Lielāki kodumi izrakstās no problēmas, 92 00:04:39,770 --> 00:04:42,842 rakstiski daudz mazāk kodu izmantojot daudz mazāku rīku, 93 00:04:42,842 --> 00:04:45,050 jo tur ir tik daudz vairāk funkcionalitāte pieced in. 94 00:04:45,050 --> 00:04:47,633 >> Tagad, ja mēs patiešām dramatiska, mēs gribētu kaut ko lāpsta 95 00:04:47,633 --> 00:04:48,760 šeit, bet lai tā būtu. 96 00:04:48,760 --> 00:04:51,370 Tajā pašā laikā, no otras puses metafora mēs nāca klajā ar 97 00:04:51,370 --> 00:04:53,770 ir, protams, jūs varētu izmantot kaut kā atslēgu 98 00:04:53,770 --> 00:04:56,610 āmurs kaut kā naglu. 99 00:04:56,610 --> 00:04:58,980 Bet, protams, ir tiesības instruments, lai izmantotu notiek 100 00:04:58,980 --> 00:05:01,360 būt ne tik daudz valodā sauc C- 101 00:05:01,360 --> 00:05:03,590 un tagad es vienkārši kaitina [? Sanders,?], Iespējams, 102 00:05:03,590 --> 00:05:07,890 mēs noteikt, ka later-- tik pareizais instruments, lai izmantotu bieži 103 00:05:07,890 --> 00:05:09,640 nav būs šis zemākais līmenis rīks. 104 00:05:09,640 --> 00:05:13,720 Un tiešām, C nav valoda, lielākā daļa no jums ir kādreiz gatavojas izmantot, 105 00:05:13,720 --> 00:05:15,590 vai vajadzētu obligāti izmantot vēlreiz. 106 00:05:15,590 --> 00:05:18,350 >> Un patiesībā, nedaudz secret-- vienīgo reizi 107 00:05:18,350 --> 00:05:23,160 Es izmantoju C sevi ir diezgan daudz, starp Septembra līdz decembrim katra kritiena 108 00:05:23,160 --> 00:05:23,870 semestris. 109 00:05:23,870 --> 00:05:25,790 Un tas ir tāpēc, ka mēs izmantot to kā iespēju 110 00:05:25,790 --> 00:05:27,852 mācīt pamatus plānošanas, 111 00:05:27,852 --> 00:05:29,810 un ar to datoru zinātnes pamati, datu 112 00:05:29,810 --> 00:05:32,435 struktūras, algoritmi un like-- bet ļoti ātri būs jums 113 00:05:32,435 --> 00:05:35,010 redzēt, ka šobrīd sintaksi un idejas pamatā C 114 00:05:35,010 --> 00:05:37,530 Ir tik lieliski nodot vairāk mūsdienu 115 00:05:37,530 --> 00:05:41,130 augstāka līmeņa valodas, piemēram, PHP un Python un Perl un Java 116 00:05:41,130 --> 00:05:46,750 un mērķis-C- faktiski, ne tik daudz Mērķis-C- bet Swift, tie jaunāku 117 00:05:46,750 --> 00:05:50,010 valodas, ka daudzi no jums būs tad plunčāties ar jums galīgo projektu. 118 00:05:50,010 --> 00:05:55,070 >> Tātad bez papildu ADO, pieņemsim faktiski izmantot PHP, lai atrisinātu dažas problēmas. 119 00:05:55,070 --> 00:06:00,230 Atgādināt, ka agri, pēdējā nedēļā, mēs tikai izmanto CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 mēs uzrakstīja skaists maz programmu ka tikko teica, "Hello pasaule." 121 00:06:02,990 --> 00:06:05,680 Un tad es saglabāti to failu sauc hello.php. 122 00:06:05,680 --> 00:06:07,280 Un tad es skrēja šo komandu. 123 00:06:07,280 --> 00:06:08,080 >> Un kāpēc? 124 00:06:08,080 --> 00:06:09,900 Angļu valodā, kas notiek šeit? 125 00:06:09,900 --> 00:06:12,760 Ko es biju dara, kad I ilga šo komandu? 126 00:06:12,760 --> 00:06:13,405 >> Yeah? 127 00:06:13,405 --> 00:06:16,572 >> Mērķauditorija: Tur ir dažas funkcijas PHP kas skan tas, ko ir in-- saprot, ka. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Labi, tur ir dažas funkcijas PHP-- un ļaujiet man būtu precīzāk, 129 00:06:19,696 --> 00:06:21,810 tur ir programma, ko sauc PHP, pazīstams arī kā 130 00:06:21,810 --> 00:06:25,872 Tulks, kas saprot saturu hello.php, 131 00:06:25,872 --> 00:06:27,830 un interpretē to top uz apakšas, no kreisās uz labo, 132 00:06:27,830 --> 00:06:29,590 un dara to, ko šie saka komandas. 133 00:06:29,590 --> 00:06:33,320 Ar hello.php komandas, protams, ir tikai avots code-- funkcijas 134 00:06:33,320 --> 00:06:35,750 un mainīgie un cilpas un tamlīdzīgi, ka mēs paši 135 00:06:35,750 --> 00:06:37,460 ir sākuši rakstīt PHP. 136 00:06:37,460 --> 00:06:40,240 >> Bet atšķirībā no C, kas ir apkopota valoda, 137 00:06:40,240 --> 00:06:42,810 PHP jūs vienkārši rakstīt to, un palaist to. 138 00:06:42,810 --> 00:06:46,420 Jūs izlaist ka starpnieks soli pārveidojot to nullēm un tiem, 139 00:06:46,420 --> 00:06:47,790 un tad rādīt to. 140 00:06:47,790 --> 00:06:50,510 Un tā, kādi ir otrādi par šo? 141 00:06:50,510 --> 00:06:52,690 Kāpēc mēs izlaižot soli? 142 00:06:52,690 --> 00:06:55,238 Kāpēc vairāk modernajās valodās mēdz izlaist šo soli? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Kāds bija ieguvums? 145 00:07:01,220 --> 00:07:02,080 >> Vai vienkārši intuitīvi? 146 00:07:02,080 --> 00:07:04,200 Pat tad, ja mēs esam nav rakstīts daudz PHP pirms, 147 00:07:04,200 --> 00:07:07,210 kas ir izdevīga par to nav apkopojot savu kodu jūs domājat? 148 00:07:07,210 --> 00:07:08,520 Nē? 149 00:07:08,520 --> 00:07:09,610 Nav apņemoties? 150 00:07:09,610 --> 00:07:11,350 Nesaskrāpē galvu? 151 00:07:11,350 --> 00:07:12,614 Jā. 152 00:07:12,614 --> 00:07:13,600 >> Mērķauditorija: dinamiskāku. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: Vairāk dinamiska? 154 00:07:14,683 --> 00:07:16,032 Ko tu domā? 155 00:07:16,032 --> 00:07:17,000 >> Mērķauditorija: [dzirdams] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: Labi, labi, tāpēc atkarībā no ieejas, 158 00:07:22,390 --> 00:07:23,470 Jums nav, lai apkopotu to katru reizi. 159 00:07:23,470 --> 00:07:24,990 Un tas tiešām ir tik vienkārši, kā that-- ko 160 00:07:24,990 --> 00:07:26,990 ir punkts turpināt sastādīt savu kodu? 161 00:07:26,990 --> 00:07:29,480 Tas ir tikai solis, kas ir making-- šis ir nepieciešama, 162 00:07:29,480 --> 00:07:31,900 Par pēdējo vairākus nedēļas, divreiz vairāk soļi 163 00:07:31,900 --> 00:07:33,820 kā tikai rādīt savu programmu. 164 00:07:33,820 --> 00:07:36,940 Tas ir noderīgi, redzot, ka jums apskatīt kļūdu ziņojumus un tā tālāk, 165 00:07:36,940 --> 00:07:38,720 bet tas joprojām ir tikai kaitinošas solis. 166 00:07:38,720 --> 00:07:41,810 >> Un tā programmētāji sapratu laika gaitā, kāpēc nav mēs 167 00:07:41,810 --> 00:07:45,327 sākt rakstīt valodas, darīt nav nepieciešams, ka diezgan mehānisku soli, 168 00:07:45,327 --> 00:07:47,160 lai varētu vienkārši uzrakstīt Jūsu kods un palaist to. 169 00:07:47,160 --> 00:07:48,920 Bet to, kas bija cena ka mēs redzējām mēs maksājām 170 00:07:48,920 --> 00:07:50,910 pagājušajā nedēļā, ar vienu konkrētu piemēru? 171 00:07:50,910 --> 00:07:51,650 Jā? 172 00:07:51,650 --> 00:07:52,370 >> Ātrums. 173 00:07:52,370 --> 00:07:54,690 Tātad [? kas ir] tulki? nedaudz lēnāk, 174 00:07:54,690 --> 00:07:57,330 jo nullēm un tiem ir jauka un ātri datorā 175 00:07:57,330 --> 00:08:00,070 saprast, jo Intel CPU, vai kāds tas ir, 176 00:08:00,070 --> 00:08:03,070 tikai saprot, kas notiek tālāk ar šiem modeļiem bitiem. 177 00:08:03,070 --> 00:08:05,370 Tā tulka ir programma, kas patiešām 178 00:08:05,370 --> 00:08:07,980 ir lasīt ASCII avots kodu, kas jums ir rakstisks, 179 00:08:07,980 --> 00:08:12,700 un pārvērst to, tā sakot, vai izdomāt, kā tas galu galā pārveido 180 00:08:12,700 --> 00:08:13,525 uz nullēm un uzņēmumiem. 181 00:08:13,525 --> 00:08:15,650 Tātad tas tikai ņem nedaudz mazliet izpildes hit. 182 00:08:15,650 --> 00:08:16,858 Tātad, tas ir mazliet kompromiss. 183 00:08:16,858 --> 00:08:21,570 Tagad, ja mēs to darām vairāk nekā šeit, ļaujiet man iet uz priekšu un darīt piemēru šādi. 184 00:08:21,570 --> 00:08:26,610 Ja es iet šeit, jaunu failu, es eju lai saglabātu šis atkal ir hello.php. 185 00:08:26,610 --> 00:08:31,450 Un tagad es esmu gatavojas iet uz priekšu un teikt, "print hello world" - 186 00:08:31,450 --> 00:08:35,130 un atceros, ka es varu izmantot drukāt, man nav ir jāizmanto drukāšanas-F. Un tagad šeit lejā, 187 00:08:35,130 --> 00:08:42,039 ja man PHP par hello.php, huh-- I nav, šķiet, ir interpretējama tā. 188 00:08:42,039 --> 00:08:43,412 Ko es daru nepareizi? 189 00:08:43,412 --> 00:08:44,710 >> Mērķauditorija: The leņķveida aproces. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Jā, jums ir nepieciešams ka leņķis kronšteins up top. 191 00:08:47,015 --> 00:08:49,390 Tātad, tas ir sava veida kaitinošas, bet jūs pierast pie tā ātri. 192 00:08:49,390 --> 00:08:53,500 Ja man ir rakstīt PHP kodu, es parasti ir nepieciešams pateikt programmu, 193 00:08:53,500 --> 00:08:56,950 vai pateikt tulks, hey PHP, šeit nāk daži PHP kodu. 194 00:08:56,950 --> 00:09:00,440 Un tad labu pasākumu, es aizvērt šo ne ar šo, bet gan 195 00:09:00,440 --> 00:09:03,740 tikai ar jautājuma zīmi leņķī kronšteins, tā ka tagad šeit lejā, 196 00:09:03,740 --> 00:09:06,840 ja es palaist to vēlreiz, tagad Es iegūtu vēlamo rezultātu. 197 00:09:06,840 --> 00:09:09,820 >> Tagad pieņemsim do nelielu optimizāciju, tikai tāpēc, ka jūs esat redzējis to pirms tam. 198 00:09:09,820 --> 00:09:14,040 Tas ir sava veida kaitinošas, ka I jāskrien PHP kosmosa hello.php, 199 00:09:14,040 --> 00:09:16,060 jo pagājušajā I varētu vienkārši uzrakstīt dot slīpsvītru 200 00:09:16,060 --> 00:09:17,560 programmas nosaukums, kas ir sava veida jauki. 201 00:09:17,560 --> 00:09:19,420 Tas ir sava veida labāku lietotāja pieredzi. 202 00:09:19,420 --> 00:09:24,160 >> Tātad izrādās, jūs varat darīt PHP ar following-- I 203 00:09:24,160 --> 00:09:28,780 var izmantot šo diezgan noslēpumains buršana augšpusē šeit, 204 00:09:28,780 --> 00:09:31,740 ko parasti sauc zaņķis, saskaņā ar kuru tas ir krasi simbols, 205 00:09:31,740 --> 00:09:34,270 tā teikt, tas ir bang vai izsaukuma zīme. 206 00:09:34,270 --> 00:09:38,490 Un tagad tas ir ceļš uz programmu par tipisku Linux sistēmu, kas 207 00:09:38,490 --> 00:09:41,500 sauc par vidi, vai env. 208 00:09:41,500 --> 00:09:43,920 Un tas line-- garš stāsts short-- line viens tikko 209 00:09:43,920 --> 00:09:48,710 saka, hey dators, atrast PHP tulks man vidē, 210 00:09:48,710 --> 00:09:50,610 atrast to savā atmiņā, lai runāt. 211 00:09:50,610 --> 00:09:54,130 >> Un, kas ir jauki tagad, ir ka, ja es iet uz leju šeit, 212 00:09:54,130 --> 00:09:57,750 Es varu darīt dot slīpsvītru sveiki dot php, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Atļauja liegta. 214 00:09:59,000 --> 00:10:02,350 Nu, jūs redzēsiet vēl vairāk par šo ar problēmu noteikti septiņi, ja jums 215 00:10:02,350 --> 00:10:04,060 vēl nav, ar atļaujām. 216 00:10:04,060 --> 00:10:06,510 Izrādās, ka man ir nepieciešams izpildīt šo komandu 217 00:10:06,510 --> 00:10:10,779 sauc [? chamod?] pārmaiņām mode-- plus x hello.php. 218 00:10:10,779 --> 00:10:13,820 Man vajag [dzirdams] tas viens papildu solis, kas ir spēcīgi manu datoru, 219 00:10:13,820 --> 00:10:16,400 padarīt hello.php izpildāmā. 220 00:10:16,400 --> 00:10:21,310 Un tagad skatīties, ko happens-- dot slash hello.php, tas tikai sākas. 221 00:10:21,310 --> 00:10:23,310 Man nav nepieciešams, lai precizētu tulks vairs. 222 00:10:23,310 --> 00:10:26,680 Un es varu darīt to pat prettier, tomēr, ja es pārdēvēt šo lietu. 223 00:10:26,680 --> 00:10:30,570 Ja es pārvietot hello.php tikai Hello-- tik paziņojuma augšējā kreisajā stūrī, 224 00:10:30,570 --> 00:10:32,860 ka programmas nosaukums ir tiešām tagad tikai Sveiki. 225 00:10:32,860 --> 00:10:37,300 Tagad es varu darīt to izskatās C programmu, pat ja tas ir rakstīts PHP-- 226 00:10:37,300 --> 00:10:39,210 vai atklāti jebkurš skaits no citām valodām. 227 00:10:39,210 --> 00:10:41,480 >> Tātad margināls uzlabošanu, nē funkcionālā atšķirība. 228 00:10:41,480 --> 00:10:44,460 Bet tas ir tikai nedaudz zinātkāri Tagad, lai jūs varētu rakstīt programmas 229 00:10:44,460 --> 00:10:48,989 jebkurā valodā, un lietotājam nav ir jāzina, vai vienalga, kas tie ir. 230 00:10:48,989 --> 00:10:51,030 Nu, pieņemsim apskatīt vairāk pārliecinoši piemērs tagad 231 00:10:51,030 --> 00:10:52,850 ka es saputo iepriekš. 232 00:10:52,850 --> 00:10:54,955 Un to sauc quote.php. 233 00:10:54,955 --> 00:10:56,740 Un tas ir pieejams tiešsaistē. 234 00:10:56,740 --> 00:11:00,299 Un ievērosiet, ka tas ir diezgan short-- bet tas ir komandrindas programmu, kas ir 235 00:11:00,299 --> 00:11:02,840 gatavojas meklēt akciju cenas man, kas patiesībā notiek 236 00:11:02,840 --> 00:11:04,230 būt piederīgs problēma noteikti septiņi. 237 00:11:04,230 --> 00:11:05,396 >> Tātad, pieņemsim redzēt, ko es daru. 238 00:11:05,396 --> 00:11:08,640 Tajā pašā augšā es esam ieguvuši atklāts kronšteins jautājuma zīme PHP. 239 00:11:08,640 --> 00:11:13,372 Tad es esam ieguvuši šo pozīciju, ar kuru es esmu pieprasot failu sauc functions.php-- 240 00:11:13,372 --> 00:11:15,080 mēs ejam, lai redzētu vairāk par šo mazliet, 241 00:11:15,080 --> 00:11:17,340 bet tas ir kā C s versija asu ietver, 242 00:11:17,340 --> 00:11:19,090 kur jūs vēlaties doties ietvert citu failu. 243 00:11:19,090 --> 00:11:23,720 PHP aicina tā pieprasa, lai gan tas ir arī šādas funkcijas. 244 00:11:23,720 --> 00:11:26,861 Un izrādās, ka ir function.php tikai kaut ko es uzrakstīju pirms klasē. 245 00:11:26,861 --> 00:11:29,860 Man to tajā pašā direktorijā, jo Es gribēju faktors dažus kodu 246 00:11:29,860 --> 00:11:31,800 ka mēs varētu vēlēties izmantot citur. 247 00:11:31,800 --> 00:11:34,560 >> Tikmēr, jūs varat droši secināt, kas notiek šeit. 248 00:11:34,560 --> 00:11:39,200 Tas ir nedaudz atšķiras no C- bet Ko es domāju ar nodrošinātu pareizu izmantošanu? 249 00:11:39,200 --> 00:11:41,180 Tulkot šo vairāk tehniski. 250 00:11:41,180 --> 00:11:45,950 Kādos apstākļos es esmu atmest programmu, vai izejot? 251 00:11:45,950 --> 00:11:47,074 Yeah? 252 00:11:47,074 --> 00:11:47,990 >> Mērķauditorija: Kad jums nav divi komandrindas argumentus. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Kad man nav uz komandrindas argumentus. 254 00:11:49,480 --> 00:11:52,396 Un atcerieties, ka viens no šiem argumenti ir programmas nosaukums pats par sevi. 255 00:11:52,396 --> 00:11:55,340 Un otrs būs citu vārdu es rakstīt pēc uzvednes. 256 00:11:55,340 --> 00:11:57,460 Tik vienkārši, piemēram, C, šis ir mans veids, kā pārbaudīt, 257 00:11:57,460 --> 00:12:00,022 did lietotājs sadarboties un palaist programmu, kā man paredzēts? 258 00:12:00,022 --> 00:12:01,730 Tagad tur ir kaut kas nedaudz atšķirīgs 259 00:12:01,730 --> 00:12:04,020 ar C- vispirms mums ir šī dolāra zīmi, 260 00:12:04,020 --> 00:12:07,710 un ko dara dolāru pierakstīties apzīmētu PHP? 261 00:12:07,710 --> 00:12:08,440 Tikai mainīgs. 262 00:12:08,440 --> 00:12:11,731 Tas ir all-- tikai mainīgais, kam seko ko jūs vēlaties, lai tiešām to nosaukt. 263 00:12:11,731 --> 00:12:14,000 Ievērojiet, ka ir kaut kas pazudis no mana PHP programmas, 264 00:12:14,000 --> 00:12:18,210 tāpat kā tas bija pazudis pēdējais nedēļā, salīdzinot ar C, kas ir tas, ko? 265 00:12:18,210 --> 00:12:21,620 >> A veida, bet arī kaut kas cits. 266 00:12:21,620 --> 00:12:26,409 Nav kaut kas function-- galveno funkciju. 267 00:12:26,409 --> 00:12:27,450 Nav galvenā funkcija. 268 00:12:27,450 --> 00:12:29,680 Tu vienkārši sākt rakstīt jūsu kods bez 269 00:12:29,680 --> 00:12:32,790 jāuztraucas par diezgan patvaļīgi Konvencija nosaucot kādu noklusējuma 270 00:12:32,790 --> 00:12:33,880 funkcija galvenais. 271 00:12:33,880 --> 00:12:36,720 Tātad ARG C ir tikai tiešām globāls mainīgais 272 00:12:36,720 --> 00:12:39,049 to, ka interpretators padara pieejamu man. 273 00:12:39,049 --> 00:12:40,090 Tagad tas ir interesanti. 274 00:12:40,090 --> 00:12:41,140 Tātad uzmeklēt sīkumi. 275 00:12:41,140 --> 00:12:43,370 Dollar zīme krājums ir uz pa kreisi, tas ir mans mainīgs. 276 00:12:43,370 --> 00:12:45,120 Labajā pusē, tur ir acīmredzami 277 00:12:45,120 --> 00:12:50,270 funkcija PHP sauc lookup ka Es esmu iet mana pēdējā komandrindas 278 00:12:50,270 --> 00:12:51,902 arguments kuri paredzēti, kāds vārds. 279 00:12:51,902 --> 00:12:53,610 Un mēs redzēsim, kā tas strādā brīdi. 280 00:12:53,610 --> 00:12:55,380 >> Un tad visbeidzot es esmu ziņot cenu. 281 00:12:55,380 --> 00:12:58,650 Es esmu izdrukāšana vienu īpatsvars tāda un tāda. 282 00:12:58,650 --> 00:13:02,082 Un atcerieties, tas ir Veids, PHP-- veidā in PHP-- 283 00:13:02,082 --> 00:13:04,290 ja jums nav jādara dolāra zīme S vairs. 284 00:13:04,290 --> 00:13:06,782 Jūs varat izmantot cirtaini bikšturi un iespraudiet kādu mainīga. 285 00:13:06,782 --> 00:13:09,240 Jums nav jāuztraucas par izmantojot printf tādā pašā veidā. 286 00:13:09,240 --> 00:13:13,530 >> Un kā malā, kad jūs nodot mainīgo iekšpusē pēdiņās, piemēram, tas, 287 00:13:13,530 --> 00:13:17,370 Jūs izmantojat iedomātā tehniku sauc mainīgs interpolācija. 288 00:13:17,370 --> 00:13:20,380 Tas tikai nozīmē, pievienojiet mainīgo šeit. 289 00:13:20,380 --> 00:13:23,760 Un kā malā, daži no jums, kas nāk no citām programmēšanas vidēm, 290 00:13:23,760 --> 00:13:26,960 Jūs nedrīkstat izmantot vienu pēdiņām ap stīgas, lai to paveiktu. 291 00:13:26,960 --> 00:13:30,290 Jums ir izmantot dubultās pēdiņas uz mainīgs interpolācijas strādāt. 292 00:13:30,290 --> 00:13:32,740 Citādi jūs burtiski redzēt šos cirtaini lencēm. 293 00:13:32,740 --> 00:13:34,500 >> Tātad visbeidzot, iesim uz priekšu un palaist to. 294 00:13:34,500 --> 00:13:36,690 Ļaujiet man manu terminālis nedaudz lielāks. 295 00:13:36,690 --> 00:13:41,940 Ļaujiet man iet uz priekšu un palaist iekšā manu quote direktorijā. 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 un es esmu gatavojas, lai meklētu kaut ko piemēram GOOG, kas ir tās svārsts simbols, 298 00:13:50,290 --> 00:13:55,510 un viena daļa tās jauno nosaukumu, Alfabēts Inc, maksā 717 $, kā šodien. 299 00:13:55,510 --> 00:13:58,680 Nu labi, ja mēs gribam, lai palaist šo vēlreiz, kāds 300 00:13:58,680 --> 00:14:02,600 ir cits akciju biržas viņi vēlas meklēt? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft Es domāju, ka ir Tas viens, MSFT-- 53 $. 302 00:14:06,770 --> 00:14:09,720 Es domāju, ka Yahoo ir varbūt, ka. 303 00:14:09,720 --> 00:14:12,130 Un Facebook ir, ka. 304 00:14:12,130 --> 00:14:13,740 >> Tātad, kas ir šī programma dara? 305 00:14:13,740 --> 00:14:16,306 Burvju šķiet, ir iestrādāta šajā uzmeklēšanas funkcijas. 306 00:14:16,306 --> 00:14:17,430 Tātad pieņemsim ātri apskatīt. 307 00:14:17,430 --> 00:14:21,815 >> Izrādās, ka nenāk ar PHP, tas ir functions.php. 308 00:14:21,815 --> 00:14:23,690 Un mums nebūs iet cauri Tas ļoti detalizēti, 309 00:14:23,690 --> 00:14:28,040 bet paziņojums rezolutīvo vārds šeit ir ka uz functions.php-- sešu līnijas 310 00:14:28,040 --> 00:14:29,440 Es burtiski saku funkciju. 311 00:14:29,440 --> 00:14:31,050 Es norādīt vārdu manu darbību. 312 00:14:31,050 --> 00:14:34,330 Tad es norādiet kādu argumentus, vai parametri, 313 00:14:34,330 --> 00:14:36,480 Es gribu, ka funkcija take-- nav veidus. 314 00:14:36,480 --> 00:14:37,580 Un tad es to īstenotu. 315 00:14:37,580 --> 00:14:39,240 >> Un es ņemšu vilnis savu roku pie īstenošanā, 316 00:14:39,240 --> 00:14:42,115 jo tas ir diezgan uzlabotas tiesības tagad, bet mēs redzēsim atkal faktiski 317 00:14:42,115 --> 00:14:44,700 in nedēļu problēma noteikti septiņi. 318 00:14:44,700 --> 00:14:47,490 Bet es varu sakopt šo augšu, too. 319 00:14:47,490 --> 00:14:49,590 Es arī iekļauts šodienas kods versija 320 00:14:49,590 --> 00:14:52,340 Citāta, kurai nav dot PHP failu. 321 00:14:52,340 --> 00:14:57,270 Jo to, kas ir iespējams pie top par programmu, ko sauc vienkārši citēt? 322 00:14:57,270 --> 00:15:00,140 Ka tā saukto shebang-- diezgan noslēpumains buršana 323 00:15:00,140 --> 00:15:04,590 ka saka atrast PHP un pēc tam palaist to uz manu kodu šeit. 324 00:15:04,590 --> 00:15:07,360 >> Labi, lai nes mums, kur mēs left off 325 00:15:07,360 --> 00:15:09,560 pēdējais LAIKU_ gan ar daži spēcīgākās piemēri. 326 00:15:09,560 --> 00:15:13,980 Visus jautājumus, kas līdz šim par PHP vai ko mēs darām? 327 00:15:13,980 --> 00:15:15,570 No-- labi. 328 00:15:15,570 --> 00:15:16,180 Yeah? 329 00:15:16,180 --> 00:15:19,610 >> Mērķauditorija: Inside HTML failus, do you-- 330 00:15:19,610 --> 00:15:22,226 [? vai tu ?] [? tikai sauc to?] [dzirdams] PHP failu? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: Labs jautājums. 332 00:15:23,350 --> 00:15:26,070 In tīmekļa kontekstā, ko mēs esi burtiski par pāreju uz, 333 00:15:26,070 --> 00:15:28,028 Jums nav izmantot tā saukto zaņķis augšpusē, 334 00:15:28,028 --> 00:15:31,980 jo web server-- bieži Programma sauc Apache vai Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet Information Server, vai jebkuru citu tīmekļa servera programmatūru skaits, 336 00:15:37,470 --> 00:15:40,636 zina, ka tad, kad redz Punkts PHP failu, ka tā 337 00:15:40,636 --> 00:15:42,010 vajadzētu palaist tulkam par to. 338 00:15:42,010 --> 00:15:43,468 Tas neizskatās tajā pirmajā rindā. 339 00:15:43,468 --> 00:15:45,580 Tātad šīs pirmās rindas triks ir tikai tad, kad esat 340 00:15:45,580 --> 00:15:48,330 rakstiski komandrindas programs-- kas mēs nevarēsim darīt super bieži, 341 00:15:48,330 --> 00:15:52,510 bet tas ir mūsu veids, kā pārvarēt Mūsu c piemēri šim mūsu PHP. 342 00:15:52,510 --> 00:16:00,680 >> Tātad pieņemsim patiešām pārvarēt šo pasauli no komandrindas pasaulē ar Web 343 00:16:00,680 --> 00:16:02,230 darot sekojošo. 344 00:16:02,230 --> 00:16:05,090 Ļaujiet man iet uz priekšu un izdarīt nekā šeit tikai brīdi. 345 00:16:05,090 --> 00:16:09,940 Tātad, ja mums ir web serveri, vai drīzāk ja mums ir mana klēpjdators nekā šeit, 346 00:16:09,940 --> 00:16:11,280 ko es ņemšu zīmēt kā šis. 347 00:16:11,280 --> 00:16:14,250 Un šeit mums ir Interneta tādā vai citādā veidā. 348 00:16:14,250 --> 00:16:18,210 Un tad vairāk nekā šeit, mums ir servera kādā building-- 349 00:16:18,210 --> 00:16:20,760 tas ir kā internets works-- un šeit 350 00:16:20,760 --> 00:16:23,120 ir serveris ar dažiem gaismas varbūt. 351 00:16:23,120 --> 00:16:27,530 Kas patiesībā notiek starp šiem diviem savienojumiem? 352 00:16:27,530 --> 00:16:29,240 >> Tātad šajā ēkā ir tīmekļa servera. 353 00:16:29,240 --> 00:16:31,420 Tas ir tikai dators kas ir darbojas kāda darboties 354 00:16:31,420 --> 00:16:34,561 system-- varbūt bezmaksas programmatūras sauc Apache, kas CS50 IDE darbojas. 355 00:16:34,561 --> 00:16:36,310 Tātad jūs faktiski var domāju, ka šīs ēkas 356 00:16:36,310 --> 00:16:38,579 kā ēka kas CSt0 IDE ir saglabāts. 357 00:16:38,579 --> 00:16:40,870 Tas ir, ja jums visiem ir kontiem, kur jūs visi 358 00:16:40,870 --> 00:16:43,130 ir sava mājas serveri darbojas, jūs visi 359 00:16:43,130 --> 00:16:45,730 ir savu unikālu URL, kā mēs sākām apspriest, 360 00:16:45,730 --> 00:16:47,280 un jūs redzēsiet vairāk P. noteikti seši. 361 00:16:47,280 --> 00:16:49,450 >> Lūk, mans klēpjdators kaut kur citur internetā. 362 00:16:49,450 --> 00:16:54,550 Un tad, kad es apmeklēju URL, kas pieder man, ka interneta satiksmes notiek 363 00:16:54,550 --> 00:16:58,360 pāri uz serveri, servera saņem HTTP request-- 364 00:16:58,360 --> 00:17:02,900 Tāpat kā saņemt index.html un tas ir Atbildot uz šo mājas lapu. 365 00:17:02,900 --> 00:17:04,280 Tātad tas ir vispārējs paradigma. 366 00:17:04,280 --> 00:17:07,089 Tā kā viss uz augšu Līdz šim šodien, viss 367 00:17:07,089 --> 00:17:09,660 notiek tikai robežām šīs ēkas. 368 00:17:09,660 --> 00:17:12,910 Man bija, izmantojot savu klēpjdatoru, taču Man bija saistīts ar CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 tāpēc visas šīs programmas, es biju darbojas bija iekšā šajā serverī, pati. 370 00:17:17,369 --> 00:17:22,660 >> Bet tagad, sāksim atkārtoti PHP uzrakstīt dažas faktiskās programmas, kas 371 00:17:22,660 --> 00:17:24,230 apkalpo up ar web serveri. 372 00:17:24,230 --> 00:17:30,320 Un, lai to izdarītu, es iešu par visu ķekars piemēru 373 00:17:30,320 --> 00:17:33,710 kas ieviestu šo ideju šeit. 374 00:17:33,710 --> 00:17:38,500 Tātad šis ir sava veida iedomātā veids aprakstot programmēšanas paradigmu. 375 00:17:38,500 --> 00:17:41,540 >> Un patiesībā, kā jūs izejat CS50 vai strādāt pie galīgajiem projektiem, 376 00:17:41,540 --> 00:17:43,520 vai veikt kādu sekot uz klasi, jūs sākat 377 00:17:43,520 --> 00:17:45,740 redzēt, ka world-- īpaši ņemot izauguši 378 00:17:45,740 --> 00:17:48,300 ar valodas kā C ka ir super zems level-- 379 00:17:48,300 --> 00:17:51,290 saprast, ka tur ir labāks veidi rakstīšanas programmatūru. 380 00:17:51,290 --> 00:17:53,290 Ir dažas modeļi jūs varat sekot, 381 00:17:53,290 --> 00:17:57,640 daži paņēmieni, lai organizētu failus un veidi, nosaucot savus uzdevumus, 382 00:17:57,640 --> 00:18:00,300 tā ka garš stāsts īss, pasaule ir jānāk klajā 383 00:18:00,300 --> 00:18:04,340 ar visu ķekars akronīmu un nosaukumi veidiem plānošanu. 384 00:18:04,340 --> 00:18:06,260 Šie ir tikai metodes, jūs varētu izmantot. 385 00:18:06,260 --> 00:18:09,660 >> Un viens no tiem sauc MVC, Model View Controller. 386 00:18:09,660 --> 00:18:12,270 Un tas ir tikai, lai Tagad, pārāk sarežģīti 387 00:18:12,270 --> 00:18:18,960 veids, kā pateikt, cik jums vajadzētu nolikt PHP balstītas mājas lapā, mūsu gadījumā. 388 00:18:18,960 --> 00:18:22,140 Kā jūs organizēt failus, kā jūs organizēt savu loģiku, 389 00:18:22,140 --> 00:18:26,220 tādā veidā, kas padara to vieglāk rakstīt sarežģītāku mājas lapas? 390 00:18:26,220 --> 00:18:28,550 Un tiešām, mēs ātri nokļūt ar p-noteikti septiņi. 391 00:18:28,550 --> 00:18:32,020 >> Tātad pasaulē MVC, jūs gatavojas redzēt, ka mūsu kodu var vispār 392 00:18:32,020 --> 00:18:38,290 raksturot kā nu modeļa kodu, vai kontrolieris kods, vai skats kodu. 393 00:18:38,290 --> 00:18:40,200 Un es esmu gatavojas pārspīlēju to kā follows-- 394 00:18:40,200 --> 00:18:42,074 kontrolieris ir smadzenes savu programmu, 395 00:18:42,074 --> 00:18:44,100 tas ir, ja visi Interesanti loģika notiek. 396 00:18:44,100 --> 00:18:46,110 Tātad viss, ko mēs esam bijuši rakstiski līdz šim klasē, 397 00:18:46,110 --> 00:18:48,210 ir veids kā kontrolieris code-- tas kontrolē 398 00:18:48,210 --> 00:18:50,585 jūsu programma, jūsu cilpas, jūsu apstākļi, jūsu funkcijas 399 00:18:50,585 --> 00:18:52,100 un mainīgos un viss kas. 400 00:18:52,100 --> 00:18:56,160 >> Views, tagad gribam būt nedaudz vairāk nekā skaidrs pasaulē internetā. 401 00:18:56,160 --> 00:18:59,360 Skats ir estētika Jūsu mājas lapā. 402 00:18:59,360 --> 00:19:04,080 Tas ir tas, ko lietotājs sees-- attēlus, HTML tabulas, HTML tagus, un visi 403 00:19:04,080 --> 00:19:08,220 no ka, visi no pūkains estētisko sīkumi, kas nav tik grūti rakstīt, 404 00:19:08,220 --> 00:19:11,380 bet ir tieši tas, ko jūs radot, ir tā sauktais skats, estētika. 405 00:19:11,380 --> 00:19:13,880 Un modelis, galu galā, notiek būt datubāzes stuff-- kas 406 00:19:13,880 --> 00:19:16,510 mēs sāksim iegremdēšanās visu jo vairāk šo trešdien. 407 00:19:16,510 --> 00:19:19,740 Tātad kontrolieris ir loģika, skats ir estētisks sīkumi, 408 00:19:19,740 --> 00:19:23,500 un modelis būs kur mēs saglabājam mūsu aktuālus datus. 409 00:19:23,500 --> 00:19:26,410 >> Tātad pieņemsim apskatīt šo konkrētāk ar šādu piemēru. 410 00:19:26,410 --> 00:19:34,700 Es iešu manā direktorijā šeit Šodienas avota code-- kas visi 411 00:19:34,700 --> 00:19:35,770 ir pieejams tiešsaistē. 412 00:19:35,770 --> 00:19:37,800 Un es iešu uz versiju nulles. 413 00:19:37,800 --> 00:19:41,500 Un šeit is-- sauksim to par no CS50 tīmekļa versija nulle. 414 00:19:41,500 --> 00:19:43,010 Tur nav daudz šeit vispār. 415 00:19:43,010 --> 00:19:46,810 Tas ir ļoti vienkāršs web lapa, kas ir iespējams, izmantojot to, ko HTML tags-- tikko 416 00:19:46,810 --> 00:19:48,970 uzminēt no pagātnes piemērus? 417 00:19:48,970 --> 00:19:49,890 >> Kas tas ir? 418 00:19:49,890 --> 00:19:53,920 H1-- droši vien par to liels treknrakstā virsraksts, ka logo up top, CS50. 419 00:19:53,920 --> 00:19:55,080 Un kas cits ir spēlēt? 420 00:19:55,080 --> 00:19:55,799 Yeah? 421 00:19:55,799 --> 00:19:56,840 Mērķauditorija: Nekārtots saraksts. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: Nekārtots list-- tā UL tag un varbūt pāris LI tagiem. 423 00:19:59,990 --> 00:20:01,840 Un, ja jums nav atcerēties tiem, tas godīgi nav svarīgi. 424 00:20:01,840 --> 00:20:04,170 Tie ir pūkains veida īstenošanas informācija par HTML 425 00:20:04,170 --> 00:20:06,378 ka tu ātri uzmeklēt un tu esi atpakaļ pa ceļam. 426 00:20:06,378 --> 00:20:10,040 Mēs vairāk koncentrēties uz plānošanu idejas, kas ir par juicier gabali. 427 00:20:10,040 --> 00:20:12,890 >> Tātad pieņemsim tikai veikt ātri apskatīt HTML-- un patiesi 428 00:20:12,890 --> 00:20:16,880 ja es atvērtu Aplūkot kodu šeit, Yup, tas ir tieši tas, kas notiek šeit. 429 00:20:16,880 --> 00:20:18,440 Tur ir UL tag. 430 00:20:18,440 --> 00:20:20,630 Ligzdot iekšpusē, kas ir LI tagus. 431 00:20:20,630 --> 00:20:24,470 Un tad es aizņēmusies URL Faktiskās mācību šeit. 432 00:20:24,470 --> 00:20:27,570 >> Un tad lectures.php ir acīmredzami 433 00:20:27,570 --> 00:20:31,640 cits dinamiski radīts lapa kas notiek, lai būtu, pieņemsim see-- ah, 434 00:20:31,640 --> 00:20:33,170 pirmās divas nedēļas lekciju. 435 00:20:33,170 --> 00:20:36,600 Tātad nedēļa nulle un nedēļas viens, pieņemsim apskatīt this-- ja es Skatīt lapas avotu, 436 00:20:36,600 --> 00:20:38,120 arī super vienkārši. 437 00:20:38,120 --> 00:20:42,430 Tie ir vadošie līdz divām lappusēm sauc week0.php, un week1.php. 438 00:20:42,430 --> 00:20:44,040 Tāpēc uzskatu, tagad to, kas notiek. 439 00:20:44,040 --> 00:20:50,630 >> Kad es noklikšķiniet uz week0.php, mans klēpjdators padara pieprasījumu week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Web serveris, pazīstams arī kā, CS50 IDE, saņem šo virtuālo aploksnē. 442 00:20:58,110 --> 00:21:01,040 Tas ir redzēt ziņu piemēram, iegūt week0.php. 443 00:21:01,040 --> 00:21:05,060 Pēc tam interpretējot failu, top uz leju, pa kreisi, lai right-- failu 444 00:21:05,060 --> 00:21:07,720 sauc week0.php-- un spitting veic rezultātus. 445 00:21:07,720 --> 00:21:10,510 Tātad iekšpusē šo failu, week0.php, jābūt 446 00:21:10,510 --> 00:21:15,410 kontrolieris loģika, kas ir radīt šo HTML, un mēs drīz redzēt, ka. 447 00:21:15,410 --> 00:21:19,340 >> Bet tagad, ļaujiet man noklikšķiniet uz nedēļu nulles, un tagad mums ir trešdien un piektdien, 448 00:21:19,340 --> 00:21:25,260 un tagad mums ir slaidus lēnām no nedēļas nulles. 449 00:21:25,260 --> 00:21:27,400 Un jūs varētu atgādināt Tas no ceļu atpakaļ, kad. 450 00:21:27,400 --> 00:21:29,340 Tā, ka viss šis mājas lapā dara. 451 00:21:29,340 --> 00:21:31,120 >> Tātad pieņemsim apsvērt, kā tas dara to. 452 00:21:31,120 --> 00:21:34,290 Es iešu atpakaļ pirmkodu šeit, CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 un es esmu gatavojas atvērt index.php. 454 00:21:36,660 --> 00:21:38,910 Augšpusē šo failu ir ķekars komentāriem. 455 00:21:38,910 --> 00:21:43,000 Un pēc tam pa vidu šo failu, to izrādās, nav PHP koda whatsoever. 456 00:21:43,000 --> 00:21:47,380 Jo, ja jums nav kāda no atklāts kronšteins jautājuma zīme PHP tagus, 457 00:21:47,380 --> 00:21:49,180 Jūs esat brīvi vienkārši ielieciet HTML. 458 00:21:49,180 --> 00:21:51,480 >> Jo tas, ko PHP tulks ir paredzēts darīt, 459 00:21:51,480 --> 00:21:53,938 ir tad, kad tas skan šo file-- augšas uz leju, pa kreisi, lai right-- 460 00:21:53,938 --> 00:21:59,100 tas tikai interpretē kodu tā uzskata starp šie iekavām jautājuma zīmi. 461 00:21:59,100 --> 00:22:02,380 Un kaut kas cits, ka tā nav atzīt par PHP, tas tikai atklepo. 462 00:22:02,380 --> 00:22:05,080 Un HTML ir viens no sīkumi tas būs tikai izspļaut. 463 00:22:05,080 --> 00:22:09,090 >> Tātad šis fails varētu būt aicināti index.html, 464 00:22:09,090 --> 00:22:11,690 bet es esmu nosaucot visu dot PHP kā atspēriena. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- līdzīgi underwhelming, tas ir tikai daži HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, līdzīgi tikai daži HTML. 467 00:22:19,840 --> 00:22:22,300 >> Bet tagad pieņemsim likts uz proverbial engineering cepure, 468 00:22:22,300 --> 00:22:24,400 un apsvērt, kā mēs varam uzlabot šo. 469 00:22:24,400 --> 00:22:28,541 Tas nav grūti to darīt, bet es veida no nodota vērā kopēt un ielīmēt. 470 00:22:28,541 --> 00:22:31,540 Un patiesībā, ja es drīkstu nedēļā divas, jūs zināt, ko es esmu, iespējams, gatavojas darīt? 471 00:22:31,540 --> 00:22:34,940 Es iešu uz week1.php, es esmu gatavojas uzsvērt visu. 472 00:22:34,940 --> 00:22:39,110 Es esmu gatavojas kopēt, ielīmēt uz jaunu failu sauc week2.php, 473 00:22:39,110 --> 00:22:42,440 kniebiens daži URL, un būt par manu ceļu. 474 00:22:42,440 --> 00:22:45,240 >> Tātad, pamatojoties uz to, ko mēs esam redzams C jau, 475 00:22:45,240 --> 00:22:46,860 tas nejūtas labi, cerams. 476 00:22:46,860 --> 00:22:49,610 Kopēt, ielīmēt reti pareizais risinājums. 477 00:22:49,610 --> 00:22:51,429 Tātad, ko mēs varam sākt ko darīt, lai uzlabotu šo? 478 00:22:51,429 --> 00:22:53,345 Ja ir iespējas par labāku dizainu? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Ar laiku es nokļūt nedēļa astoņi, tas būs 481 00:22:58,760 --> 00:23:00,910 būt tiešām kaitinošas ja es vēlos mainīt 482 00:23:00,910 --> 00:23:03,930 fonta par katru no Mani lapas, vai, ja es gribu 483 00:23:03,930 --> 00:23:06,522 mainīt struktūru izkārtojumu. 484 00:23:06,522 --> 00:23:08,396 Tātad, ja ir iespēja par labāku dizainu? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Nu, pieņemsim apsvērt to, kas ir dalīta starp visiem šiem failiem. 487 00:23:15,160 --> 00:23:21,696 >> Lūk nedēļu viens, šeit nedēļa nulle, šeit ir lectures.php, 488 00:23:21,696 --> 00:23:25,790 lūk index.php--, kas ir tāds pats, un Kas ir atšķirīgs, rupji runājot, 489 00:23:25,790 --> 00:23:26,760 katrā no šiem failiem? 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 >> Mērķauditorija: [dzirdams] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: Labi, labi. 495 00:23:42,160 --> 00:23:46,115 Tātad tur ir modelis, protams, saskaņā ar kuru Katru reizi, kad es izvēlos lekciju I, 496 00:23:46,115 --> 00:23:48,250 Es būtu radot ļoti līdzīga izskata lapā. 497 00:23:48,250 --> 00:23:50,375 Un tāpēc varbūt es varētu sviras fakts, ka patiešām, 498 00:23:50,375 --> 00:23:53,060 mēs apzināti skaitliski indeksētas mūsu lectures-- 499 00:23:53,060 --> 00:23:55,290 ja es varētu likt vēl vairāk vārdus savā atbildē. 500 00:23:55,290 --> 00:23:59,984 Un kāda ir vienīgā lieta, tiešām, kas ir mainās starp nedēļas one-- 501 00:23:59,984 --> 00:24:02,400 un ļaujiet man ritiniet uz leju, lai tas aptuveni vienā un tajā pašā place-- 502 00:24:02,400 --> 00:24:05,480 Tātad, šeit ir nedēļa nulle, aptuveni augšpusē. 503 00:24:05,480 --> 00:24:12,370 Te ir viena nedēļa, nedēļa nulle, nedēļu vienu, nedēļa nulle. 504 00:24:12,370 --> 00:24:14,370 OK, burtiski, ja jūs zināt neviena programma whatsoever, 505 00:24:14,370 --> 00:24:16,286 tas ir tagad tāpat kā modelis saskaņošanas spēle. 506 00:24:16,286 --> 00:24:17,200 Tātad, kas ir atšķirīgs? 507 00:24:17,200 --> 00:24:18,765 Yeah? 508 00:24:18,765 --> 00:24:19,777 >> Mērķauditorija: [dzirdams] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Labi, tāpēc nosaukums mainās, kādreiz tik nedaudz. 510 00:24:22,360 --> 00:24:24,010 Zero notiek, protams, uz vienu. 511 00:24:24,010 --> 00:24:25,570 Pats notiek ar H1 tagu. 512 00:24:25,570 --> 00:24:28,790 Un mums nav gluži redzēt to kā viegli, jo URL ir mazliet garš. 513 00:24:28,790 --> 00:24:30,670 Bet tie URL mainās nedaudz. 514 00:24:30,670 --> 00:24:34,490 >> Bet to, kas nemainās ir, es uzdrošinos saka, lielākā daļa no satura page-- 515 00:24:34,490 --> 00:24:38,530 HTML tag ir tas pats, galva ir tas pats, nosaukums ir gandrīz tāds pats, 516 00:24:38,530 --> 00:24:40,659 ķermenis ir tas pats, un gandrīz viss pārējais 517 00:24:40,659 --> 00:24:42,450 ir vienādi, izņemot šie maz tweaks. 518 00:24:42,450 --> 00:24:45,310 Tātad, kā mēs varam iet par faktoringa daži šo out? 519 00:24:45,310 --> 00:24:48,740 >> Nu ļaujiet man ieteikt tieši ka nākamajā versijas. 520 00:24:48,740 --> 00:24:53,890 Tātad šeit versijā vienā, man ir precīza pašus failus, kā arī pāris citiem. 521 00:24:53,890 --> 00:24:59,730 Lūk index.php-- un pat tad, ja jūs nekad neesmu redzējis PHP agrāk, 522 00:24:59,730 --> 00:25:05,511 ko es droši vien dara, lai atrisinātu šo problem--, pamatojoties uz to, ko jūs redzat šeit? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Jā, ir tā, ka nedaudz apņemšanās? 525 00:25:12,760 --> 00:25:13,450 Nē? 526 00:25:13,450 --> 00:25:16,020 Jā, iet tālāk. 527 00:25:16,020 --> 00:25:17,380 >> Mērķauditorija: [dzirdams] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Yep. 529 00:25:18,380 --> 00:25:20,380 >> Mērķauditorija: [dzirdams] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: Man vajag, lai jūs runā tikai nedaudz skaļāk. 532 00:25:28,669 --> 00:25:31,084 >> Mērķauditorija: [dzirdams] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: Labi, labi. 535 00:25:36,660 --> 00:25:38,620 Un es think-- tas bija grūti dzirdēt you-- bet es 536 00:25:38,620 --> 00:25:42,690 domāju, ka tas, ko jūs saņemat pie tas, ka tagi, kas bija kopīga up top, 537 00:25:42,690 --> 00:25:47,710 un tagus, kas bija izplatīta uz dibens, tagad ir ņemti ārā, 538 00:25:47,710 --> 00:25:51,140 vai nekas kādi faili? 539 00:25:51,140 --> 00:25:53,476 Header.php un footer.php-- un mēs ejam 540 00:25:53,476 --> 00:25:55,600 veikt dažas tweaks, lai risinātu bažas jums tikko 541 00:25:55,600 --> 00:25:59,370 izvirzīts par numuru maiņu, par Piemēram, ja es dzirdēju jūs pareizi. 542 00:25:59,370 --> 00:26:02,060 >> Bet tas, šķiet, ir būtība no tā. 543 00:26:02,060 --> 00:26:04,820 Ja tur bija milzīgs daudzums atlaišana pie lapas augšpusē, 544 00:26:04,820 --> 00:26:06,736 un milzīgs daudzums redundances apakšā, 545 00:26:06,736 --> 00:26:09,280 pieņemsim burtiski tikai izcelt un samazināt šo saturu ārā, 546 00:26:09,280 --> 00:26:13,270 ielieciet to atsevišķā file-- tāpat kā ideja CSS, kur mēs ņemt ārā 547 00:26:13,270 --> 00:26:16,710 ļoti līdzīgs estētika, nodots tā atsevišķā dot PHP failu, 548 00:26:16,710 --> 00:26:20,340 izmantot prasa mechanism-- kas ir kā C asu include-- kas 549 00:26:20,340 --> 00:26:23,570 būtībā ir tāpat kā teikt iet greifers saturu header.php, 550 00:26:23,570 --> 00:26:25,370 un kopēt un ielīmēt tos šeit. 551 00:26:25,370 --> 00:26:29,490 >> Bet ko tas nozīmē, ka tagad index.php, man ir šīs divas līnijas. 552 00:26:29,490 --> 00:26:32,130 In lectures.php, es arī ir šīs divas līnijas. 553 00:26:32,130 --> 00:26:35,230 In week0.php, es arī ir šīs divas līnijas. 554 00:26:35,230 --> 00:26:38,380 >> Tāpēc tagad, ja es vēlos mainīt virsraksts visu manu lapām, 555 00:26:38,380 --> 00:26:40,530 vai es vēlos mainīt būtiska struktūra, 556 00:26:40,530 --> 00:26:44,380 Es varu mainīt to tagad tikai vienā vietā, vai divi places-- galvenes un kājenes, 557 00:26:44,380 --> 00:26:45,429 attiecīgi. 558 00:26:45,429 --> 00:26:47,970 Tagad Kodeksa sāk izskatīties nedaudz vairāk mistisks, vai ne? 559 00:26:47,970 --> 00:26:53,590 Bet, ja jūs domājat par to, ko lapa tiek doing-- ja es esmu lūdzot week0.php, 560 00:26:53,590 --> 00:26:59,880 tāpat kā par zīmēšanas vairāk here-- kad tiek pieprasīts week0.php, 561 00:26:59,880 --> 00:27:00,960 ko tas nozīmē? 562 00:27:00,960 --> 00:27:04,410 >> Burtiski, šis fails ir pārlūku pieprasīts. 563 00:27:04,410 --> 00:27:06,240 Tīmeklī server-- pazīstams arī kā 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- grabs tas fails, week0.php, un skan 565 00:27:09,250 --> 00:27:10,780 tā augšas uz leju, no kreisās uz labo. 566 00:27:10,780 --> 00:27:15,400 On line vienas, tā uzreiz rodas atklāts kronšteins jautājuma zīme PHP, nepieciešama 567 00:27:15,400 --> 00:27:17,872 header dot PHP, un tāpēc ko PHP tulks 568 00:27:17,872 --> 00:27:20,580 does-- kas ir iebūvēts tīmeklī servera, jo mēs konfigurēta 569 00:27:20,580 --> 00:27:24,580 tas par you-- tas automātiski pārslēdzas uz header.php, kopē saturs, 570 00:27:24,580 --> 00:27:25,640 pastas tos šeit. 571 00:27:25,640 --> 00:27:28,790 >> Bet tad tulks tikšanās jautājuma zīme aizvērt kronšteins, 572 00:27:28,790 --> 00:27:30,320 tāpēc tas viss ir darīts domāšana. 573 00:27:30,320 --> 00:27:33,400 Tagad tas tikai akli spits out līnijām divi pa septiņiem, 574 00:27:33,400 --> 00:27:35,240 jo tā ir tikai izejvielas HTML. 575 00:27:35,240 --> 00:27:38,470 Izpaužas rindā astoņas, un tas, ka pats burvju again-- atverot failu, 576 00:27:38,470 --> 00:27:41,460 satveršanas saturu, un pieprasot tās vai ielīmējot tos 577 00:27:41,460 --> 00:27:42,480 labi tad vai tur. 578 00:27:42,480 --> 00:27:44,210 >> Bet es tikko norādīja uz bug. 579 00:27:44,210 --> 00:27:48,610 Šis ir daļējs solis atpakaļ, jo, ja mēs skatāmies uz header.php, 580 00:27:48,610 --> 00:27:50,850 Es esmu veida sagriež stūri. 581 00:27:50,850 --> 00:27:56,250 Ko iezīme bija man atdot, lai lai iegūtu šo argumentējama labāks dizains? 582 00:27:56,250 --> 00:27:57,305 Yeah? 583 00:27:57,305 --> 00:27:58,180 Mērķauditorija: [dzirdams] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Jā, es veida no samazināt netriviāls stūrī. 585 00:28:00,570 --> 00:28:04,489 Jūs norādīja, ka to, kas mainījās bija nosaukums, numurs virsrakstā, 586 00:28:04,489 --> 00:28:05,530 un tādu skaitu, H1. 587 00:28:05,530 --> 00:28:08,170 Tāpēc mans risinājums bija OK, pieņemsim tikai pārdēvēt lapu, 588 00:28:08,170 --> 00:28:10,080 un nenodarbojas ar to problēma whatsoever. 589 00:28:10,080 --> 00:28:12,130 Tātad tas ir daļējs soli atpakaļ, lai pārliecinātos. 590 00:28:12,130 --> 00:28:14,300 >> Bet kas ir ievērības cienīgs šeit ir tas, ka tas, ko es esmu darījis 591 00:28:14,300 --> 00:28:17,200 citādi ierēķināts ārā visu kopējo sīkumi. 592 00:28:17,200 --> 00:28:21,520 Un footer.php, paziņojums es ierēķināts no visiem, ka, lai gan mazāk, 593 00:28:21,520 --> 00:28:22,790 kopīgs sīkumi. 594 00:28:22,790 --> 00:28:26,070 Tāpēc man ir nepieciešams, lai kaut kā tagad varēs veikt vēl vienu soli uz priekšu, un noteikt 595 00:28:26,070 --> 00:28:27,160 šis nosaukums jautājumi. 596 00:28:27,160 --> 00:28:28,180 Tātad, pieņemsim darīt. 597 00:28:28,180 --> 00:28:35,060 >> Ļaujiet man iet uz manu otro versiju šeit, kas, atkal, ir tādas pašas faili 598 00:28:35,060 --> 00:28:36,825 izņemot vienu jaunu papildus. 599 00:28:36,825 --> 00:28:38,950 Un tas ir nedaudz vairāk runīgs, bet pieņemsim redzēt, ja mēs 600 00:28:38,950 --> 00:28:40,550 var kaitināt, izņemot to, kas notiek šeit. 601 00:28:40,550 --> 00:28:45,370 Tā vietā, pieprasot header.php, un footer.php, 602 00:28:45,370 --> 00:28:50,180 Man šķiet, tikai pieprasot vienu file-- sauc, protams, helpers.php. 603 00:28:50,180 --> 00:28:52,560 Un ļaujiet man noteikt, tagad, kas ir iekšpusē helpers.php 604 00:28:52,560 --> 00:28:55,330 ir tikai ķekars funkcijas ka es uzrakstīju, tāpat kā līdz šim. 605 00:28:55,330 --> 00:28:57,550 Bet es to sauca helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Tagad acīmredzot, jo line trīs un 10, es esmu 607 00:29:00,370 --> 00:29:02,840 zvanot divas functions-- padarīt galveni, padarīt kājeni. 608 00:29:02,840 --> 00:29:05,040 Tie nenāk ar PHP, es uzrakstīju tiem sevi. 609 00:29:05,040 --> 00:29:07,880 Un es viņus helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Tagad mēs esam tikai redzējuši šo sintaksi vienreiz, un tas bija super īss. 611 00:29:11,210 --> 00:29:15,330 Bet tas ir acīmredzami arguments padarīt galveni, funkcija. 612 00:29:15,330 --> 00:29:16,450 Kāpēc es zinu, ka? 613 00:29:16,450 --> 00:29:18,522 Nu šeit ir tuvu paren, šeit ir atvērts paren. 614 00:29:18,522 --> 00:29:21,230 Un, protams, tāpat kā C, kaut kas starp šīm iekavās 615 00:29:21,230 --> 00:29:23,350 ir input-- vai arguments funkcijai. 616 00:29:23,350 --> 00:29:26,710 >> Kas ir datu tips šo argumentu, pamatojoties uz to, ko es esmu uzsvērusi? 617 00:29:26,710 --> 00:29:30,820 Ko darīt tiem kvadrātiekavas norādīt, balstoties uz pagājušajā nedēļā? 618 00:29:30,820 --> 00:29:33,390 Jā, tas ir array-- īpaši asociatīvā masīva. 619 00:29:33,390 --> 00:29:35,700 Un tas, protams, sintakse ir nedaudz bailīgs, 620 00:29:35,700 --> 00:29:38,860 bet tas ir tikai iet vienā atslēgas vērtību pāri. 621 00:29:38,860 --> 00:29:43,530 Galvenais ir, citēju likt pēdiņas beigās nosaukums, un vērtība ir CS50. 622 00:29:43,530 --> 00:29:46,220 >> Ja mēs būtu darījuši C, tas varētu vietā 623 00:29:46,220 --> 00:29:49,400 izskatās vairāk, piemēram, tas, tikai quote likt pēdiņas beigās CS50-- 624 00:29:49,400 --> 00:29:52,460 vai tiešām tas būtu cirtaini bikšturi, vai kaut kas līdzīgs, ka C, 625 00:29:52,460 --> 00:29:55,580 tam, kad atslēga ir nulle, un vērtība ir CS50. 626 00:29:55,580 --> 00:29:59,840 Bet atkal, PHP, lai gan sintakse ir, atkal, mazliet dīvaini, 627 00:29:59,840 --> 00:30:02,860 tas ļauj pāriet vārdi, nevis numuri 628 00:30:02,860 --> 00:30:05,120 saistīt atslēgas ar vērtībām. 629 00:30:05,120 --> 00:30:06,390 >> Tātad, ko tas viss nozīmē? 630 00:30:06,390 --> 00:30:09,750 Ja es iedziļināties helpers.php, aplūkosim šo funkciju. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, drīzāk renderHeader ir mana funkcija, 632 00:30:13,620 --> 00:30:16,220 un es zinu, ka tāpēc, ka es redzu funkcija atslēgvārds šeit. 633 00:30:16,220 --> 00:30:19,450 Tas ir jauns no C- to acīmredzot ņem argumentu sauc data-- 634 00:30:19,450 --> 00:30:22,400 bet es varētu būt sauc šo kaut kas, bet es to sauca dati, 635 00:30:22,400 --> 00:30:25,090 vienkārši būt nedaudz clean-- un lietojiet tikai minējums, jo īpaši 636 00:30:25,090 --> 00:30:28,173 ja esat programmē kādā citā augstākā līmeņa valoda pirms, kaut 637 00:30:28,173 --> 00:30:29,820 virs C, konceptuāli. 638 00:30:29,820 --> 00:30:33,820 >> Kāda vienāds atvērtu skavu kvadrātiekava droši vien nozīmē? 639 00:30:33,820 --> 00:30:35,540 Vai kādu tas varētu nozīmēt? 640 00:30:35,540 --> 00:30:39,660 Mēs esam ne redzējis šo C Yeah? 641 00:30:39,660 --> 00:30:40,480 >> Tukša masīvs. 642 00:30:40,480 --> 00:30:45,440 Konkrēti, tas nozīmē, ka, ja lietotājs nav zvaniet renderHeader 643 00:30:45,440 --> 00:30:49,340 ar argumentu, es esmu joprojām turpinās būt arguments sauc dati, 644 00:30:49,340 --> 00:30:52,327 bet tās noklusējuma vērtība ir būs tukšs masīvs. 645 00:30:52,327 --> 00:30:53,660 Tātad tas ir tikai jauki ērtības. 646 00:30:53,660 --> 00:30:56,493 Man nav kliegt pie lietotāja, vai teikt tu izmanto manu funkcija nepareizi. 647 00:30:56,493 --> 00:30:59,849 Es varu tikai dot lietotājam noklusējuma vērtība, ja man nav īpaši aprūpi. 648 00:30:59,849 --> 00:31:01,890 Tagad šī funkcija, es esmu dodas uz viļņa manu roku pie. 649 00:31:01,890 --> 00:31:07,620 Bet šis ekstrakts funkcija ļauj mums nodot šos mainīgos datus 650 00:31:07,620 --> 00:31:10,360 uz header.php sekojošā veidā. 651 00:31:10,360 --> 00:31:13,100 Un šis ir pēdējais gabals, Es domāju, par bailīgs sintaksi. 652 00:31:13,100 --> 00:31:15,860 Te ir mana jaunā versija no header.php-- to 653 00:31:15,860 --> 00:31:20,140 mēdza teikt, burtiski, open kronšteins nosaukums CS50, un tas arī bija viss. 654 00:31:20,140 --> 00:31:21,766 Un pats par H1. 655 00:31:21,766 --> 00:31:24,310 >> Tagad tas acīmredzot saka kaut kas diezgan bailīgs. 656 00:31:24,310 --> 00:31:28,030 Un ļaujiet man vienkāršot šo uz brīdi šādi. 657 00:31:28,030 --> 00:31:31,020 Tas ir tas, ko es esmu mainīja manu titulu būt. 658 00:31:31,020 --> 00:31:35,140 Tomēr, tas kļūst mazliet neglīts pastāvīgi atvērtām iekavām ar PHP, 659 00:31:35,140 --> 00:31:36,610 un pēc tam izmantot drukāšanas funkciju. 660 00:31:36,610 --> 00:31:40,810 Izrādās, ka PHP ir stenogrāfija apzīmējums tam, kas ir tikai 661 00:31:40,810 --> 00:31:45,050 vienādības zīmi, kas ir tehniski funkcija sauc echo nevis drukāt, 662 00:31:45,050 --> 00:31:46,800 bet tas ir tas pats, efektīvi. 663 00:31:46,800 --> 00:31:48,440 >> Ka tikai izskatās labāk. 664 00:31:48,440 --> 00:31:50,510 Tas ir tikai sintaktisko cukurs, ja jūs, 665 00:31:50,510 --> 00:31:52,260 kas padara manu kods izskatās mazliet labāk. 666 00:31:52,260 --> 00:31:54,010 Bet izrādās, un mēs redzēsim to vēlreiz 667 00:31:54,010 --> 00:31:57,420 pirms ilgi, mums ir, lai izsauktu šo kaitinoši ilgi funkcija sauc 668 00:31:57,420 --> 00:32:00,582 HTML īpašas chars pilsētā PHP, jo izrādās, 669 00:32:00,582 --> 00:32:02,790 ir zināmas ieejas ka lietotājs var dot mums, 670 00:32:02,790 --> 00:32:05,160 vai arī, ka lietotāji varētu dot mums, ka gatavojas lauzt mūsu mājas lapā. 671 00:32:05,160 --> 00:32:07,035 Bet mēs redzam, ka nākamais nedēļa ar JavaScript. 672 00:32:07,035 --> 00:32:10,740 Bet tagad, tikai zinu, ka Šis fails, headers.php, vienkārši 673 00:32:10,740 --> 00:32:13,040 uzskata, ka titulu Es pieņemts, tas padara 674 00:32:13,040 --> 00:32:17,380 pārliecināts, ka tas ir droši ievadīt web lapas, un tas spits to, kā savu titulu 675 00:32:17,380 --> 00:32:18,640 un kā manu H1. 676 00:32:18,640 --> 00:32:24,440 Tātad, ja es eju uz šo versiju tagad, paziņojums, ka lekcijas ir tās nosaukumu atpakaļ, 677 00:32:24,440 --> 00:32:28,630 nedēļa nulle ir savs nosaukums atpakaļ, un Patiešām, HTML es esmu radot 678 00:32:28,630 --> 00:32:32,110 ir identisks tam, ko mana pirmā versija was-- izņemot manu atstarpi, 679 00:32:32,110 --> 00:32:35,150 jo es esmu sācis formatējumu mans kods nedaudz savādāk. 680 00:32:35,150 --> 00:32:38,082 Bet es esmu radīts visiem kods man rūp. 681 00:32:38,082 --> 00:32:39,790 Tāpēc ļaujiet man pauzes tikai mirklis, un redzēt, 682 00:32:39,790 --> 00:32:42,200 ja tur ir kādi jautājumi vai apjukumu Esmu izveidojis. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Labi, tāpēc pieņemsim nesagriežas mazliet grūtāk šeit 685 00:32:48,150 --> 00:32:51,500 lai redzētu, vai tur ir iespēja uzlabojumi. 686 00:32:51,500 --> 00:32:56,130 Helpers.php arī bija šis funkcija, ko sauc renderFooter. 687 00:32:56,130 --> 00:32:59,652 Un, kas ir ievērības cienīgs par renderHeader, un renderFooter? 688 00:32:59,652 --> 00:33:02,610 Un atkal, šodienas vajadzībām, zināt ka ekstrakts funkcija ir tikai 689 00:33:02,610 --> 00:33:08,280 mans veids garāmbraucošu argumentiem uz header.php un footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Sorry? 692 00:33:11,780 --> 00:33:13,056 >> Mērķauditorija: [dzirdams] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Jā, es tikai mainīts prasa līnija. 694 00:33:15,180 --> 00:33:19,410 Tātad burtiski, es esmu izdarījis grēku no kopējot un ielīmējot, bet atkal. 695 00:33:19,410 --> 00:33:21,920 Tas nav liels skaits līniju, bet nāk on-- 696 00:33:21,920 --> 00:33:25,220 ja es esmu nokopējot un ielīmējot visu vienkārši mainīt vienu mazu vārdu, 697 00:33:25,220 --> 00:33:28,610 un viens mazs vārds, kas norāda Alan Out ir Footer šeit, salīdzinot header šeit. 698 00:33:28,610 --> 00:33:30,670 Pretējā gadījumā viss ir identiski, izņemot, 699 00:33:30,670 --> 00:33:32,180 Protams, šī funkcija ir nosaukumi. 700 00:33:32,180 --> 00:33:33,690 Tātad, ko mēs varētu darīt labāk? 701 00:33:33,690 --> 00:33:39,810 >> Nu ļaujiet man atvērt šo versiju šeit, saskaņā ar kuru ar helpers.php, 702 00:33:39,810 --> 00:33:42,300 kāpēc ne es tikai iegūt mazliet gudrāku par šo? 703 00:33:42,300 --> 00:33:46,410 Uzrakstiet nedaudz sarežģītāka kods, bet sauc to padarīt? 704 00:33:46,410 --> 00:33:48,470 Tātad, ko es esmu būtiski mainījies? 705 00:33:48,470 --> 00:33:51,770 >> Tas aizņem arguments now-- divi argumenti, dati joprojām. 706 00:33:51,770 --> 00:33:54,444 Un tad, kas ir pirmais nosaukums, iespējams, tiek izmantoti, 707 00:33:54,444 --> 00:33:55,860 pamatojoties uz to, ko jūs lasāt šeit? 708 00:33:55,860 --> 00:33:58,452 Pat ja daži no sintakse vēl ir jauns. 709 00:33:58,452 --> 00:33:59,660 Kas ir dolāra zīmi veidne? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Sorry? 712 00:34:03,016 --> 00:34:03,710 >> Mērķauditorija: galvenes vai kājenes. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: galvenes vai kājenes. 714 00:34:04,510 --> 00:34:07,134 Tātad acīmredzot, es nolēmu, ka, ja vienīgā lieta, kas ir mainīt 715 00:34:07,134 --> 00:34:10,159 ir tas, ko veidne es gribu lai print-- un veidnes 716 00:34:10,159 --> 00:34:13,100 Es domāju, tas ir projektu par kods, kas es gribu produkciju, 717 00:34:13,100 --> 00:34:16,350 bet es gribu, lai kontaktdakšu dažās values-- tādēļ, ja tas ir tikai iesākums 718 00:34:16,350 --> 00:34:20,440 vai kājenes, kāpēc ne es parameterize kas un zvanīt arguments dolāra zīmi 719 00:34:20,440 --> 00:34:21,409 veidne? 720 00:34:21,409 --> 00:34:26,250 Un tad tas bailīgs sintakse ļauj man izveidot ceļu lielumâ šeit. 721 00:34:26,250 --> 00:34:28,030 >> Tātad dolāra zīme ceļš ir mainīgs. 722 00:34:28,030 --> 00:34:31,120 Ko tas sintakse darīt, ja jūs esat pazīstami? 723 00:34:31,120 --> 00:34:32,512 Yeah? 724 00:34:32,512 --> 00:34:34,065 >> Mērķauditorija: [dzirdams] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Tieši tā. 726 00:34:34,940 --> 00:34:37,600 Ja veidne ir, citēju likt pēdiņas beigās, header, vai ja veidne ir, 727 00:34:37,600 --> 00:34:41,170 quote likt pēdiņas beigās, footer, ka līnija ir ka es esmu uzsvērusi, līnija astoņi, 728 00:34:41,170 --> 00:34:46,330 ir vienkārši pieņemtu šo vārdu, piemēram, galvenes, un konkatenācijas to ar dot PHP. 729 00:34:46,330 --> 00:34:49,750 Tāpēc mums nebija šo operatoru C. Tas dot operators ir 730 00:34:49,750 --> 00:34:54,520 pārsteidzošs lieta PHP-- ja esat iepazinušies ar JavaScript vai Java, 731 00:34:54,520 --> 00:34:56,949 Jūs varat izmantot plus parakstīt darīt konkatenācija. 732 00:34:56,949 --> 00:34:59,974 >> C, tas ir sāpes neck-- un es esmu tik žēl, jo p-noteikti seši, 733 00:34:59,974 --> 00:35:02,390 jūs nāksies darīt this-- tas ir sāpes kaklā 734 00:35:02,390 --> 00:35:03,930 saķēdēt stīgas. 735 00:35:03,930 --> 00:35:04,670 Kāpēc? 736 00:35:04,670 --> 00:35:06,580 Nu, jo, ja tev virkne, kas ir šis garš, 737 00:35:06,580 --> 00:35:09,538 un vēl virkne, kas ir šis garš, Jūs nevarat vienkārši pievienojiet tos kopā. 738 00:35:09,538 --> 00:35:11,070 Ko jūs, nevis jādara C? 739 00:35:11,070 --> 00:35:11,680 Yeah? 740 00:35:11,680 --> 00:35:12,380 >> Mērķauditorija: [dzirdams] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Jums ir malloc atmiņa, vai izmantot masīvu uz skursteņa. 742 00:35:15,090 --> 00:35:17,214 Un jūs faktiski ir darīt, ka masīva pietiekami lielas 743 00:35:17,214 --> 00:35:20,940 uzstādīt šo plus tas, plus slīpsvītru nulle. 744 00:35:20,940 --> 00:35:24,994 Tad saķēdēt tos kopā, izmantojot iemaisa kaķis vai manuāli ar cilpas, 745 00:35:24,994 --> 00:35:26,160 vai kādu paņēmienu skaits. 746 00:35:26,160 --> 00:35:27,760 Un mēs parādīsim jums pāris in p-noteikti seši. 747 00:35:27,760 --> 00:35:29,080 >> Tas ir sāpes kaklā. 748 00:35:29,080 --> 00:35:34,190 Un tas ir patiesi tas, ko es domāju par Tas versus this--, piemēram, C, salīdzinot ar PHP. 749 00:35:34,190 --> 00:35:36,870 Jūs tikai iegūt tik daudz vairāk funkcionalitāti par brīvu, 750 00:35:36,870 --> 00:35:39,030 lai jūs varētu koncentrēties, ideāli, uz jautru 751 00:35:39,030 --> 00:35:41,190 daļa kodēšana, tad Projekts jūs vēlaties atrisināt, 752 00:35:41,190 --> 00:35:43,190 nevis zema līmeņa sīkumiem. 753 00:35:43,190 --> 00:35:49,840 >> Tātad tas tikai rada header.php vai footer.php pamatojoties uz kuriem viens es saucu. 754 00:35:49,840 --> 00:35:52,280 Un tiešām, ja es eju uz index.php, paziņojums 755 00:35:52,280 --> 00:35:56,230 viss, kas changed-- vietā zvanot padarīt galveni vai padarīt kājeni, 756 00:35:56,230 --> 00:36:00,230 Es esmu aicinot padarīt, kam seko šablona nosaukumu, ko es gribu darīt. 757 00:36:00,230 --> 00:36:02,370 Un jūs redzēsiet arī tas, jo problēma noteikti septiņi, 758 00:36:02,370 --> 00:36:05,530 kurā mēs ļauj jums izmantot pats funkciju, lai padarītu Ķekariem 759 00:36:05,530 --> 00:36:07,550 un ķekarus dažādām tīmekļa lapām. 760 00:36:07,550 --> 00:36:10,570 >> Tātad, nevis kavēties pārāk daudz vairāk par šiem details-- 761 00:36:10,570 --> 00:36:13,210 ko jūs redzēsiet atkal Problēma komplekts seven-- aplūkosim 762 00:36:13,210 --> 00:36:16,850 at tagad sākumā risinājumu uz daudz interesantu problēmu. 763 00:36:16,850 --> 00:36:19,310 Līdz šim nekas mēs esam darīts ir saglabātos datus. 764 00:36:19,310 --> 00:36:22,920 Faktiski, vienīgā reize, kad mēs jebkad esam glābti kaut ko mēs esam darījuši šajā klasē 765 00:36:22,920 --> 00:36:31,030 ir tad, kad mums bija ļoti vienkāršs demo awhile atpakaļ, kuru mēs izmantojām failu IO C, 766 00:36:31,030 --> 00:36:34,520 un es domāju, ka es drukāti manā vārdā, un Hannah vārds, un Marijas vārds, 767 00:36:34,520 --> 00:36:37,610 vai varbūt Andy nosaukums, un tad mēs saglabāti CSV file-- 768 00:36:37,610 --> 00:36:39,430 komatiem atdalītas vērtības failu. 769 00:36:39,430 --> 00:36:43,530 >> Un mēs izmantojām fopen-- es domāju mēs izmantojām fprintf kā es atceros, 770 00:36:43,530 --> 00:36:44,910 un mēs saglabāti failu. 771 00:36:44,910 --> 00:36:46,920 Tagad tas ir visvienkāršākais datubāzes formā. 772 00:36:46,920 --> 00:36:50,230 Ja jūs vēlaties, lai mājas lapu Frosh IP programmu, kurā freshmen 773 00:36:50,230 --> 00:36:53,390 var reģistrēt par sportu, jums ideāli gribu darīt kaut ko ar šiem datiem. 774 00:36:53,390 --> 00:36:55,370 Pagājušajā nedēļā, mēs neko nedarīja ar data-- mēs tikko teica, 775 00:36:55,370 --> 00:36:56,661 Jums ir reģistrēti, nav īsti. 776 00:36:56,661 --> 00:36:58,950 Vai varbūt es pa e-pastu Proctor, un tas arī bija viss. 777 00:36:58,950 --> 00:37:02,110 >> Bet tas būtu jauki, ja es varētu dot ka Proctor CSV failu, 778 00:37:02,110 --> 00:37:03,340 tāpat Excel failā. 779 00:37:03,340 --> 00:37:05,090 Vai vēl labāk, tas būtu būtu jauki, ja es varētu 780 00:37:05,090 --> 00:37:08,830 ievietot tās lietotāju vārdus un kopmītnes vārdus un visu, kas 781 00:37:08,830 --> 00:37:11,740 datubāzē, kas vienkārši dzīvo uz visiem laikiem, 782 00:37:11,740 --> 00:37:13,530 kamēr es izvēlos dzēst datus. 783 00:37:13,530 --> 00:37:15,645 Datu bāzes, kas ļauj man vaicājumu informāciju. 784 00:37:15,645 --> 00:37:18,070 Un tiešām, tas, ko ir datu bāze. 785 00:37:18,070 --> 00:37:20,470 >> Iepazīstinām šodien, un nākamnedēļ, arī tehnoloģiju 786 00:37:20,470 --> 00:37:25,020 sauc SQL-- strukturētā vaicājumu Valoda, kas ir citā valodā. 787 00:37:25,020 --> 00:37:28,750 Tas būtībā programmēšana valoda, bet datubāzēs. 788 00:37:28,750 --> 00:37:31,760 Un datubāze tagad, tikai domā par kā super iedomātā versija 789 00:37:31,760 --> 00:37:35,710 Microsoft Excel vai Google Izklājlapas vai Apple Numbers. 790 00:37:35,710 --> 00:37:39,950 Tas parasti ir programma, kas ļauj jums saglabāt visu ķekars datu 791 00:37:39,950 --> 00:37:43,960 rindās un kolonnās, gluži kā jūs varētu Excel. 792 00:37:43,960 --> 00:37:47,100 >> Bet to, kas ir jauki, jo īpaši, ja mēs neesam super pazīstami ar Excel, 793 00:37:47,100 --> 00:37:52,040 ko SQL ļauj jums jādara, ir jautājums šis informācija rakstot koda rindiņas 794 00:37:52,040 --> 00:37:55,220 kur jūs varat, pat tad, ja jūsu datu bāzē ir miljons rindas tajā, 795 00:37:55,220 --> 00:37:57,190 Jūs varat atrast lietas super ātri. 796 00:37:57,190 --> 00:37:59,950 Faktiski, Excel ir īpaši slikti lielu datu kopu. 797 00:37:59,950 --> 00:38:02,460 Un patiesībā, līdz dažas Pirms gadiem, izrādījās 798 00:38:02,460 --> 00:38:08,890 Excel būtu tikai ļauj jums saglabāt līdz 65,535 rindas data-- kas 799 00:38:08,890 --> 00:38:12,020 izklausās daudz, bet ne reizi, kad es biju grad students, 800 00:38:12,020 --> 00:38:14,920 un es atceros paklupšanu pār tas tāpēc, ka man bija radīt 801 00:38:14,920 --> 00:38:17,900 CSV failus manu pētījumu un I vēlējās analizēt tos ātri 802 00:38:17,900 --> 00:38:19,530 , vienkārši atverot Excel. 803 00:38:19,530 --> 00:38:23,730 Protams, mans dators vienkārši avarēja, jo man bija vairāk nekā 65000 rindas. 804 00:38:23,730 --> 00:38:27,210 >> Bet kur bija 65535 nāk no? 805 00:38:27,210 --> 00:38:29,670 Kas bija Microsoft dara, iespējams? 806 00:38:29,670 --> 00:38:32,430 Ja jūs labi ar savu pilnvaru diviem? 807 00:38:32,430 --> 00:38:37,160 Jā, viņi, izmantojot 16-bit vērtība pārstāvēt rindu skaitu. 808 00:38:37,160 --> 00:38:41,310 Un divi līdz 16 ir 65,536-- mīnus viens, jo, ja jūs 809 00:38:41,310 --> 00:38:45,414 nulle indekss nozīmē, ka bija lielākā daļa no rindās skaits, es varētu būt. 810 00:38:45,414 --> 00:38:46,830 Un tas bija tikai dizaina lēmums. 811 00:38:46,830 --> 00:38:52,760 Saglabājot 16 bitus, viņi mani ierobežots līdz 16000 rindām, nevis 4 miljardus, 812 00:38:52,760 --> 00:38:54,322 kas man varēja būt ideāli. 813 00:38:54,322 --> 00:38:57,030 Bet tagad, mēs ejam, lai ieviest šo vairāk tīmekļa kontekstā. 814 00:38:57,030 --> 00:39:00,390 Un, kas ir jauka par SQL ir tas, ka pat lai gan tas ir diezgan spēcīgs un diezgan 815 00:39:00,390 --> 00:39:04,050 sarežģīta, tā patiešām vārīties līdz četras galvenās darbības, četri 816 00:39:04,050 --> 00:39:08,060 pamatfunkcijām, ja jūs will-- Select, par datu izguvei, meklējot 817 00:39:08,060 --> 00:39:12,510 par datiem; dzēst vai dzēst datus; ievietot pievienot rindas datu bāzi; 818 00:39:12,510 --> 00:39:13,410 un atjaunināšana. 819 00:39:13,410 --> 00:39:17,010 Tātad, ja jūs esat kādreiz izmanto Google Izklājlapas, Apple Numbers, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, jums ir izpildīts, visticamāk, visi 821 00:39:19,310 --> 00:39:22,530 šo darbību kā cilvēka ar vienkārši izmantojot savu tastatūru un mouse-- 822 00:39:22,530 --> 00:39:26,050 Ievietojot datus, izmantojot acis lai izvēlētos vai meklēt datus, 823 00:39:26,050 --> 00:39:28,360 vai atjaunināt datus, vai dzēst datus. 824 00:39:28,360 --> 00:39:29,870 >> Tātad, ko tas nozīmē? 825 00:39:29,870 --> 00:39:34,300 Nu, iepriekš uzstādīti CS50 IDE ir programma, ko sauc MySQL. 826 00:39:34,300 --> 00:39:37,050 Tas ir bezmaksas, atvērtā koda datu bāze, kas ir super populāra. 827 00:39:37,050 --> 00:39:40,590 Facebook, piemēram, to izmanto, lai šis dienā, starp citiem rīkiem, ka viņi izmanto. 828 00:39:40,590 --> 00:39:44,300 Un daudz ļoti populārās interneta vietnēs izmantot tas lielā mērā tāpēc, ka tas ir ātri, 829 00:39:44,300 --> 00:39:45,230 un tāpēc, ka tā ir bezmaksas. 830 00:39:45,230 --> 00:39:46,820 Lai gan, protams, pastāv alternatīvas. 831 00:39:46,820 --> 00:39:49,580 Un daži no jums varētu plunčāties ar alternatīvas gala projektiem. 832 00:39:49,580 --> 00:39:55,330 >> Tas ir screenshot, tikmēr, no tīmekļa rīku, ko sauc phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 Tā ir sakritība, ka Šī tīmekļa rīks ir arī 834 00:39:58,260 --> 00:40:01,720 uzrakstīts valodā, PHP, bet kas tas ir domāts, lai darīt 835 00:40:01,720 --> 00:40:04,620 ir dot mums tīmekļa saskarne ar datu bāzi. 836 00:40:04,620 --> 00:40:07,180 Jo MySQL parasti ir kaut kas, vēsturiski, jums 837 00:40:07,180 --> 00:40:08,770 varētu mijiedarboties ar tikai ar komandrindu. 838 00:40:08,770 --> 00:40:10,811 Un tas būtu super kaitinošas un arcane ir 839 00:40:10,811 --> 00:40:14,487 rakstīt teksta komandas, lai izvēlētos dati, ievietot datus, un dzēst datus. 840 00:40:14,487 --> 00:40:16,820 Tāpēc daži cilvēki par internetu uzrakstīja tīmekļa programmu 841 00:40:16,820 --> 00:40:18,900 ka tikai ļaujiet mums vadīt dati mūsu datu bāzē. 842 00:40:18,900 --> 00:40:23,040 Tas ir tāpat kā dubultklikšķi uz Excel, un darbojas tīmekļa versiju par to. 843 00:40:23,040 --> 00:40:26,370 >> Un ko jūs gatavojas izmantot šo galu galā nākamnedēļ, nevis p-noteikti seši, 844 00:40:26,370 --> 00:40:28,680 bet ir veidot kaut ko sauc CS50 Finance, kas 845 00:40:28,680 --> 00:40:32,630 nāksies datubāzi lietotājiem, ar lietotājvārdi un paroles, 846 00:40:32,630 --> 00:40:34,860 dolāru summas, kuras tie ir viņu bankas kontos. 847 00:40:34,860 --> 00:40:37,280 Tas būs kaut kas jūs izmantojat, lai saglabātu 848 00:40:37,280 --> 00:40:39,910 simboli un daudzumi krājumu, ka lietotāji 849 00:40:39,910 --> 00:40:42,567 ir iegādājušies, izmantojot virtuālo dolāru, kas jums dod viņiem. 850 00:40:42,567 --> 00:40:44,900 Un tas notiek, lai ļautu lietotājiem reģistrēt savu vietni, 851 00:40:44,900 --> 00:40:47,190 tā ka pat draugiem var uzgriezt uz jūsu vietni 852 00:40:47,190 --> 00:40:49,360 un faktiski reģistrēt, piesakieties, un spēlē aptuveni 853 00:40:49,360 --> 00:40:52,807 un mēģināt atrast vainu savu kodu, un mēģināt atrast bugs jūsu mājas lapā. 854 00:40:52,807 --> 00:40:55,390 Un tie būs vienkārši reģistrēties ar pievienojot sevi, efektīvi, 855 00:40:55,390 --> 00:40:58,120 izmantojot kodu, jūs rakstīt jūsu datu bāzē. 856 00:40:58,120 --> 00:41:02,470 >> Tā, piemēram, tas ir ātri screenshot par to, ko datubāze varētu izskatīties. 857 00:41:02,470 --> 00:41:05,190 Šī bija no vienas no pagājušā gada solutions-- 858 00:41:05,190 --> 00:41:07,760 tas ir kā mini Excel failu, kas glabājas mūsu datu bāzē, 859 00:41:07,760 --> 00:41:09,950 uzglabā šo programmatūru sauc MySQL. 860 00:41:09,950 --> 00:41:13,260 Kreisajā pusē, es esmu acīmredzot dota katrs lietotājs unikāls numurs. 861 00:41:13,260 --> 00:41:16,200 Otrajā slejā, es esmu devis ikviens lietotājs name-- mana 862 00:41:16,200 --> 00:41:16,880 starp viņiem. 863 00:41:16,880 --> 00:41:21,430 Un labajā pusē, Es esmu devis viņiem hash. 864 00:41:21,430 --> 00:41:26,760 >> Tagad tas ir faktiski parole, bet tas nav teksta parole. 865 00:41:26,760 --> 00:41:30,160 Tas ir šifrēta parole, ja Jums būs, vai hash parole. 866 00:41:30,160 --> 00:41:32,000 Ko mēs atgriezties pirms ilgi. 867 00:41:32,000 --> 00:41:34,340 >> Bet, ja jūs esat kādreiz lasīt raksts par to, kā 868 00:41:34,340 --> 00:41:37,950 Jūsu parole kādā bankā vai daži mājas lapa varētu būt apdraudēta, 869 00:41:37,950 --> 00:41:39,630 tas vispār var nozīmēt vienu no divām lietām. 870 00:41:39,630 --> 00:41:42,780 Tātad tas ir tikai fragments no sešiem lietotājiem. 871 00:41:42,780 --> 00:41:45,460 Visi no jums tagad var izdomāt veic, izmantojot hakeru vai sprēgāšanu 872 00:41:45,460 --> 00:41:47,690 Ko mūsu sešu cilvēku paroles. 873 00:41:47,690 --> 00:41:49,720 Bet, ja jūs esat kādreiz gotten brīdinājumu vai atvainošanās 874 00:41:49,720 --> 00:41:52,803 no uzņēmuma vai mājas sakot, žēl, hakeris ielauzās mūsu datu bāzē, 875 00:41:52,803 --> 00:41:56,360 jums ir iespējams mainīt savu parole, ko, iespējams, tas nozīmē? 876 00:41:56,360 --> 00:41:59,670 >> Nu, viens, varētu nozīmēt, ka uzņēmums ir bijis vairāk moronic, 877 00:41:59,670 --> 00:42:03,630 un ir uzglabātu paroli kolonnā kā šis, nešifrētā. 878 00:42:03,630 --> 00:42:05,840 Kas nozīmē pretinieku, kurš nozaga datubāzi, 879 00:42:05,840 --> 00:42:07,440 burtiski zina jūsu lietotājvārdu un paroli. 880 00:42:07,440 --> 00:42:08,960 Tas ir sliktākais iespējamais scenārijs. 881 00:42:08,960 --> 00:42:11,710 Un, kā jūs redzēsiet p-komplektā septiņi, tik viegli izvairīties. 882 00:42:11,710 --> 00:42:15,624 Nav absolūti nekāda attaisnojuma, ka forma stulbums šodienas internetā. 883 00:42:15,624 --> 00:42:18,540 Two-- un mēs atradīsim dažus rakstus liecināt par to, ka tas joprojām 884 00:42:18,540 --> 00:42:21,710 notiek, nonetheless-- divi, varbūt pretinieks 885 00:42:21,710 --> 00:42:23,840 nozaga šo versiju datubāzes. 886 00:42:23,840 --> 00:42:27,110 Kas joprojām ir sava veida slikti, jo tagad viņi zina, ka man ir seši klienti, 887 00:42:27,110 --> 00:42:29,270 Es zinu lietotāja vārdu no šiem sešiem klientiem, 888 00:42:29,270 --> 00:42:32,910 un es zinu, šifrēta versijas, vai sajaukts versijas, 889 00:42:32,910 --> 00:42:34,340 no šīm sešām klientu paroles. 890 00:42:34,340 --> 00:42:37,010 Bet kāds no jums, kas varētu ir darījuši [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 kur tu ieplaisājusi paroles, vai ņēma Paskaties šo versiju problēmas 892 00:42:41,150 --> 00:42:46,280 komplekts, kāpēc ir tā, vēl nedaudz satraucoša ja pretinieks zina savu hash 893 00:42:46,280 --> 00:42:47,435 paroles? 894 00:42:47,435 --> 00:42:49,732 >> Mērķauditorija: Tāpēc, ka viņi varētu ievadīt visu vārdnīcu 895 00:42:49,732 --> 00:42:50,690 uz hash funkciju. 896 00:42:50,690 --> 00:42:54,520 Un, ja jūsu parole ir vārdnīca vārdu, [? viņi var vienkārši match--?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Tieši tā, pretinieks var vienkārši uzrakstīt kodu, piemēram, daži no jums 898 00:42:57,640 --> 00:43:00,526 izdarīja [? Hacker?] 2, kurā jūs atkārtot vairāk 899 00:43:00,526 --> 00:43:03,400 visiem vārdiem vārdnīcā, vai visas iespējamās kombinācijas A 900 00:43:03,400 --> 00:43:06,610 ar Z un viens caur nine-- kas izklausās daudz, un tas ir. 901 00:43:06,610 --> 00:43:08,361 Bet par datoru, tas ir diezgan darn ātri. 902 00:43:08,361 --> 00:43:10,610 Un patiesībā, tas bija punkts [? Hacker 2,?] Bija 903 00:43:10,610 --> 00:43:12,540 ņemt sīkumi, kas burtiski izskatās šādi, 904 00:43:12,540 --> 00:43:14,900 un dekonstruēt kas tas patiesībā bija. 905 00:43:14,900 --> 00:43:17,270 >> Tātad mēs skatāmies, kā mēs varam uzglabāt tas efektīvāk. 906 00:43:17,270 --> 00:43:20,210 Izrādās, par laimi MySQL, tur ir būs datu tipi. 907 00:43:20,210 --> 00:43:22,800 Un viens no fun daļas par datu bāzes projektēšana, lai būtu godīgi, 908 00:43:22,800 --> 00:43:25,810 faktiski lemjot par sevi kā jums vajadzētu pārstāvēt datus? 909 00:43:25,810 --> 00:43:29,630 Ja Jūs pārstāvat tālruņa numuru, kā int, kā liels skaits, vai ilgi? 910 00:43:29,630 --> 00:43:31,630 Vai jūs tiešām to darīt kā secību simboli? 911 00:43:31,630 --> 00:43:33,780 Un tur var būt ļoti non-trivial ietekme to. 912 00:43:33,780 --> 00:43:36,714 >> Faktiski, viens no Agrākais, jautri Germane stāsti 913 00:43:36,714 --> 00:43:39,880 ir tad, kad Mark Zuckerberg bija ēka Facebook, tas sākotnēji tika rakstīts, 914 00:43:39,880 --> 00:43:42,300 un joprojām ir lielā mērā rakstīta PHP. 915 00:43:42,300 --> 00:43:45,400 Un viens no lielākajiem izaicinājumiem viņi saskaras agri tika mērogošanas. 916 00:43:45,400 --> 00:43:48,820 Kad viņi tur pievienojot skolu pēc skola pēc skolas, cik man zināms, 917 00:43:48,820 --> 00:43:51,639 viens no sākotnējiem risinājumiem būtībā bija kopēt un ielīmēt 918 00:43:51,639 --> 00:43:53,430 daži no datu bāzēm un daži kodu, 919 00:43:53,430 --> 00:43:55,346 tā ka Harvard bija darbojas uz sava servera, 920 00:43:55,346 --> 00:43:56,995 un MIT skrēja uz savu serveri. 921 00:43:56,995 --> 00:43:59,120 Un tas bija iemesls, kāpēc daži no jums, kas varētu atgādināt, 922 00:43:59,120 --> 00:44:01,510 jūs nevarētu būt draugi citos tīklos. 923 00:44:01,510 --> 00:44:05,050 >> Jūs, iespējams, nav draugus MIT vai Harvard pirms 10 vai tik gadu, 924 00:44:05,050 --> 00:44:07,467 bet jūs nevar span tīklus par daļēji šī iemesla dēļ. 925 00:44:07,467 --> 00:44:10,550 Un viens no lielākajiem izaicinājumiem Mark un uzņēmumiem, piemēram, Facebook 926 00:44:10,550 --> 00:44:13,460 faktiski apstrādes simtiem un tūkstošiem un miljoniem 927 00:44:13,460 --> 00:44:14,460 Pieprasījumu sekundē. 928 00:44:14,460 --> 00:44:16,501 Tātad lietas, ko mēs sāksim runājot par šo nedēļu 929 00:44:16,501 --> 00:44:19,860 tiešām būs piederīgs rakstīšanas labu programmatūru, un tautā 930 00:44:19,860 --> 00:44:23,040 veiksmīgs instrumenti, kas var rīkoties daudz lietotāju. 931 00:44:23,040 --> 00:44:25,460 >> Tātad mēs runājam par lietām piemēram indeksāciju un meklēšanu, 932 00:44:25,460 --> 00:44:26,910 bet tas ir to šodien. 933 00:44:26,910 --> 00:44:28,780 Mēs redzēsim jums vairāk trešdien. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [MUSIC - "Seinfeld" TĒMA] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: jūs varat tas, un atņemt no tā. 937 00:44:35,943 --> 00:44:38,859 Un jums nav stick ar daži iepriekš noteikta summa atmiņas. 938 00:44:38,859 --> 00:44:40,580 Nu, to, kas notiek, lai varētu saukt? 939 00:44:40,580 --> 00:44:42,369 >> SPEAKER 1: Nu, Kas notiek? 940 00:44:42,369 --> 00:44:43,535 SPEAKER 2: Ko tu ar to domā? 941 00:44:43,535 --> 00:44:44,451 Viņš sniedzot lekciju. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: Un mēs varam izmantot funkcija sauc malloc uz memory-- 943 00:44:47,650 --> 00:44:50,050 >> SPEAKER 1: Kāpēc nav viņa rokas pārvietojas? 944 00:44:50,050 --> 00:44:52,450 >> SPEAKER 2: Nu that's-- jūs zināt, tas ir normāli. 945 00:44:52,450 --> 00:44:57,162 Tas ir tāpat kā viņš ir vienkārši lielie desas karājas tur. 946 00:44:57,162 --> 00:44:59,040 >> SPEAKER 1: Tas ir normāli? 947 00:44:59,040 --> 00:45:03,096 >> SPEAKER 2: Jā, es domāju, ka mēs vienkārši pieņemu viņš nejauši 948 00:45:03,096 --> 00:45:06,840 aizstāt savu dezodorantu ar Molekulārās līmes. 949 00:45:06,840 --> 00:45:07,608