1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [Muzikos grojimo] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> DAVID Malan: Tai CS50 ir tai yra aštuoni savaitę pradžia. 5 00:00:13,350 --> 00:00:17,510 Ir mes taip malonu pasveikinti atgal, didelė staigmena, CS50 savo Ramonas 6 00:00:17,510 --> 00:00:22,160 Galván auga vyresnysis, kuris buvo išleisti per pastaruosius kelis mėnesius 7 00:00:22,160 --> 00:00:26,190 nuo liepos LA, Holivude, tiesiog dirba naują TV 8 00:00:26,190 --> 00:00:31,930 Rodyti vadinama kolonija, kurio autoriumi iš tikrųjų yra Harvardo alum pats. 9 00:00:31,930 --> 00:00:36,610 Ir todėl mes labai džiaugiamės, kad šis debiutas JAV tinklo Šių metų sausio mėn. 10 00:00:36,610 --> 00:00:40,370 Taigi Laukite, kad ir daugiau Ramonas už ateinančias savaites. 11 00:00:40,370 --> 00:00:42,550 >> Žinokite, kad galas arti. 12 00:00:42,550 --> 00:00:47,400 Ir ką tai reiškia, kad ten ne visi, kad daug liko CS50, liūdna pasakyti. 13 00:00:47,400 --> 00:00:49,400 Mes turime tik trys problemos rinkiniai left-- ten 14 00:00:49,400 --> 00:00:52,510 problema nustatyti six-- kuri yra Jūsų rankos dabar arba netrukus bus, 15 00:00:52,510 --> 00:00:56,080 dėl vėliau šiais week-- yra skirtas įveikti Mūsų pasauliai komandinėje eilutėje, kur 16 00:00:56,080 --> 00:00:59,450 mes praleido didžiąją mūsų laiko naudojant C ir interneto programavimo pasaulyje. 17 00:00:59,450 --> 00:01:02,350 Na, jūs pamatysite daug idėjų pasiskolino iš komandų eilutės darbų, 18 00:01:02,350 --> 00:01:04,560 bet taip pat daug naujo ir įdomių idėjų 19 00:01:04,560 --> 00:01:07,929 kurie taip pat bus Germane už mobiliųjų programų ir technologijų, 20 00:01:07,929 --> 00:01:10,470 apskritai, su kuria jūs vaikinai yra visi susipažinę šiandien 21 00:01:10,470 --> 00:01:12,090 nešiojamieji kompiuteriai ir telefonai ir pan. 22 00:01:12,090 --> 00:01:15,220 >> Taigi jums įgyvendinti nėra interneto puslapis, arba svetainė 23 00:01:15,220 --> 00:01:17,620 per se, bet faktinis žiniatinklio serverio. 24 00:01:17,620 --> 00:01:21,590 Jūs rašyti žiniatinklio serverio poilsio parašyta C, kurio gyvenimo tikslas 25 00:01:21,590 --> 00:01:25,410 yra gauti HTTP užklausas, tas virtualūs vokai mes kalbėtis 26 00:01:25,410 --> 00:01:29,780 apie, ir iš tikrųjų reaguoti arba su kai statinio content-- kaip dot HTML 27 00:01:29,780 --> 00:01:32,310 failą arba dot JPEG arba bet kuri kita failų skaičius, 28 00:01:32,310 --> 00:01:37,070 ar net PHP failą, kuriuo jūsų interneto serveris ketina interpretuoti, kad PHP 29 00:01:37,070 --> 00:01:38,332 kodas ir išspjauti rezultatus. 30 00:01:38,332 --> 00:01:40,540 Dabar, mes pateikiame jums su gana sistemoje tiek 31 00:01:40,540 --> 00:01:43,100 už it-- tiesų paskirstymo kodas problemos 32 00:01:43,100 --> 00:01:47,496 nustatyti šeši yra daugiau kaip 1000 eilučių ilgi, daug, kuris yra komentarai, būti fair-- 33 00:01:47,496 --> 00:01:49,370 bet tai iš tikrųjų reiškia būti galimybė 34 00:01:49,370 --> 00:01:52,570 gauti savo rankas purvinas nardymas į gana didelį projektą 35 00:01:52,570 --> 00:01:55,570 kad mes labai konkrečiai iškirpti gabalus už jus, 36 00:01:55,570 --> 00:01:59,046 taip, kad tikrai, kai išeisite CS50 ir įveskite realų pasaulį programavimo 37 00:01:59,046 --> 00:02:00,920 ir nori taškytis bet projektų skaičius, 38 00:02:00,920 --> 00:02:03,253 jūs turėsite daug didesnis Comfort atsisiųsti tam tikrą šaltinį 39 00:02:03,253 --> 00:02:05,020 kodas, kai atviro kodo projektas internete, 40 00:02:05,020 --> 00:02:08,174 ir nardymas ir priėmimo pokyčiai, kurie jums atrodo tinkama. 41 00:02:08,174 --> 00:02:11,340 Problema nustatyti septyni bus apie kurti savo žiniatinklio taikomąją programą 42 00:02:11,340 --> 00:02:14,140 kad mano dinamišką įvestį ir gamina dinamišką produkciją formos 43 00:02:14,140 --> 00:02:16,920 iš etrade.com panašūs svetainėje. 44 00:02:16,920 --> 00:02:20,800 Ir problema nustatyti aštuoni daugiausia dėmesio bus skiriama dar kitas žinomas kaip JavaScript kalba. 45 00:02:20,800 --> 00:02:24,170 >> Tuo tarpu, galutinis Projektas yra horizonto. 46 00:02:24,170 --> 00:02:26,800 Vadinamasis anksto pasiūlymas yra dėl per savaitę nuo šiandien. 47 00:02:26,800 --> 00:02:29,930 Pasirengimo proposal-- už specifikacijos, kuris yra CS50 anketa website-- 48 00:02:29,930 --> 00:02:33,260 yra gana atsitiktinis galimybė Jums siųsti gana glausta laišką 49 00:02:33,260 --> 00:02:35,170 savo mokymo bendradarbiu tik informuoti jį 50 00:02:35,170 --> 00:02:38,250 ar jai ką jūs galvojate, kad naudoti jį arba ją skleidėjo. 51 00:02:38,250 --> 00:02:40,980 Ir turėti sveiką protą check-- ar jūs galvojate 52 00:02:40,980 --> 00:02:43,210 apie kramtymas ne per daug, o gal per mažai, 53 00:02:43,210 --> 00:02:46,480 arba gal jūs neturite idėjos, ką ir nori įsitraukti į pokalbį. 54 00:02:46,480 --> 00:02:48,480 >> Vėliau yra pasiūlymas ir būklės ataskaita, 55 00:02:48,480 --> 00:02:51,860 vadinamasis CS50 hackathon čia Kembridžo Harvardo ir Jeilio studentai 56 00:02:51,860 --> 00:02:52,362 panašūs. 57 00:02:52,362 --> 00:02:54,320 Galutinis projekto įgyvendinimas yra ten tiesiai. 58 00:02:54,320 --> 00:02:59,290 Ir tada CS50 tikroji čia, Cambridge, taip pat, kaip ir kitas, New Haven. 59 00:02:59,290 --> 00:03:02,500 Taigi pasiūlymo, pažvelgti už šių duomenų svetainė. 60 00:03:02,500 --> 00:03:06,530 >> Tačiau daugiau intriguojančiai, taip pat yra galimybė gauti savo rankas purvinas, 61 00:03:06,530 --> 00:03:09,350 ir jūsų mintys nesugestų be atviros visos krūva temų ir įrankiai 62 00:03:09,350 --> 00:03:12,920 ir metodus, kurie yra pagalbinės į kursą "pagrindinės mokymo programos, 63 00:03:12,920 --> 00:03:14,810 bet vis dėlto susiję. 64 00:03:14,810 --> 00:03:18,400 Ir taip pat puikus atspirties į daro tikrai cool galutinius projektus, 65 00:03:18,400 --> 00:03:22,020 peržengti medžiagos mes apėmė oficialiai problemos nustato arba paskaitos. 66 00:03:22,020 --> 00:03:24,446 Taigi eikite į CS50 anketa svetainėje visa grafikas seminaruose. 67 00:03:24,446 --> 00:03:26,070 Jei neturite užsiregistruoti dar, tai gerai. 68 00:03:26,070 --> 00:03:29,860 Eiti į priekį ir užsiregistruoti dar ir mes Tolesni su transliacija nuorodą, 69 00:03:29,860 --> 00:03:31,844 diena ir laikas yra svetainėje. 70 00:03:31,844 --> 00:03:33,760 Ir viskas bus registruojami ir įdėti internete 71 00:03:33,760 --> 00:03:35,800 jei jūs negalite padaryti ypatingas dienas ir laiką. 72 00:03:35,800 --> 00:03:39,380 >> Kalbant apie tai, kas laukia priekyje thereafter-- gerai, Žinoma, yra "The CS50 hackathon. 73 00:03:39,380 --> 00:03:43,560 Ši nuotrauka, prisiminti, nuo nulinio savaitę priimtas apie 4 esu vienas vakaras metų praeitį. 74 00:03:43,560 --> 00:03:46,900 CS50 teisinga, kuris vėl vyks abiejuose miestuose. 75 00:03:46,900 --> 00:03:49,760 Ir tada, tik sodinti sėklos, nors mes vis dar 76 00:03:49,760 --> 00:03:54,080 turi per mėnesį plius kairėje semestrą, jei norite prisijungti prie CS50 nuosavą mokymą 77 00:03:54,080 --> 00:03:56,770 darbuotojai, ir jūs norite pradėti galvoju apie tai, CA, 78 00:03:56,770 --> 00:03:59,550 ar mokymo kolegos, žinau, kad Pradėsime kalbėti daugiau apie tai 79 00:03:59,550 --> 00:04:00,630 vėliau šį semestrą. 80 00:04:00,630 --> 00:04:03,470 Bet čia nuotraukoje yra dauguma šių metų komanda. 81 00:04:03,470 --> 00:04:06,950 >> Ir taip, PHP-- ir aš buvau taip liūdna praeitą savaitę, kad [? Allyse?] Maloniai 82 00:04:06,950 --> 00:04:09,370 nuvyko į gauti pastangų JAV šie nuostabūs rekvizitai 83 00:04:09,370 --> 00:04:11,720 kad aš ne galų gale naudojant, todėl tikrai tik atrodė rūšies kvailas 84 00:04:11,720 --> 00:04:15,160 kad mes turėjome kastuvą sėdi čia visi dieną praėjusį trečiadienį, ir šiek tiek šaukštu. 85 00:04:15,160 --> 00:04:17,709 Bet tai buvo mano metaforinė būdas bando tapyti 86 00:04:17,709 --> 00:04:21,600 iš kodėl mes pereiti nuotrauka nuo C iki panašaus PHP kalba. 87 00:04:21,600 --> 00:04:25,480 Ir tą patį galima būtų pasakyti ir apie bet skaičius languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 ar kekių tarnauja kitiems, bet kadangi C, pavyzdžiui, rašyti į C programa 89 00:04:31,270 --> 00:04:34,050 gali paprastai būti, pavyzdžiui, atsižvelgiant panašaus šaukštu 90 00:04:34,050 --> 00:04:36,770 ir kasti skylę žemės, smėlio ar purvo. 91 00:04:36,770 --> 00:04:39,770 PHP leidžia jums imtis daug Didesnės įkandimų iš problemos, 92 00:04:39,770 --> 00:04:42,842 rašyti kur kas mažiau kodą naudojant gerokai mažesnę nuorodą, 93 00:04:42,842 --> 00:04:45,050 nes ten daug daugiau funkcionalumas pieced vietą. 94 00:04:45,050 --> 00:04:47,633 >> Dabar, jei mes buvome tikrai dramatiška, mes norime turėti kažką kastuvu 95 00:04:47,633 --> 00:04:48,760 čia, bet tegul bus taip. 96 00:04:48,760 --> 00:04:51,370 Tuo tarpu, kita metafora, mes atėjo su 97 00:04:51,370 --> 00:04:53,770 yra, žinoma, galite naudoti kažką panašaus veržliarakčiu 98 00:04:53,770 --> 00:04:56,610 plaktuku kažką panašaus vinis. 99 00:04:56,610 --> 00:04:58,980 Bet, žinoma, teisę priemonė naudoti vyksta 100 00:04:58,980 --> 00:05:01,360 kad būtų ne tiek daug kalba vadinama C-- 101 00:05:01,360 --> 00:05:03,590 ir dabar aš tiesiog erzina [? Sanders?] Tikriausiai, 102 00:05:03,590 --> 00:05:07,890 mes nustatyti, kad later-- taip tinkama priemonė dažnai naudoja 103 00:05:07,890 --> 00:05:09,640 yra nesiruošia būti Tai žemiausias lygis priemonė. 104 00:05:09,640 --> 00:05:13,720 Ir iš tiesų, C yra ne kalba, kuri dauguma iš jūsų yra kada nors naudoti, 105 00:05:13,720 --> 00:05:15,590 ar būtinai turi naudoti dar kartą. 106 00:05:15,590 --> 00:05:18,350 >> Ir iš tikrųjų, šiek tiek secret-- vienintelį kartą 107 00:05:18,350 --> 00:05:23,160 Aš naudoju C save yra gana daug tarp Rugsėjo ir gruodžio kiekvieną rudenį 108 00:05:23,160 --> 00:05:23,870 semestrą. 109 00:05:23,870 --> 00:05:25,790 Ir tai todėl, kad mes naudoti jį kaip galimybę 110 00:05:25,790 --> 00:05:27,852 mokyti pagrindai programavimo, 111 00:05:27,852 --> 00:05:29,810 ir su juo kompiuteriu Mokslas pagrindai, duomenų 112 00:05:29,810 --> 00:05:32,435 struktūros, algoritmai ir like-- bet labai greitai bus jums 113 00:05:32,435 --> 00:05:35,010 matyti, kad dabar, sintaksę ir pagrindines idėjas C 114 00:05:35,010 --> 00:05:37,530 yra taip nuostabiai perkeliami į daugiau modernių 115 00:05:37,530 --> 00:05:41,130 aukštesnio lygio kalbos, kaip PHP ir Python, Perl ir Java 116 00:05:41,130 --> 00:05:46,750 ir tikslas-C-- tikrųjų, ne tiek daug Tikslas-C-- bet Swift, tai naujesnė 117 00:05:46,750 --> 00:05:50,010 kalbos, kad daugelis iš jūsų bus tada taškytis su jumis galutinio projekto. 118 00:05:50,010 --> 00:05:55,070 >> Taigi be tolesnio ceremonija, tegul iš tikrųjų naudoti PHP išspręsti kai kurias problemas. 119 00:05:55,070 --> 00:06:00,230 Prisiminkite, kad anksti, paskutinis savaitę, mes tiesiog naudoti CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 mes parašė dinky maža programa kad tik pasakė: "Hello world". 121 00:06:02,990 --> 00:06:05,680 Ir tada aš jį išgelbėjo iš failas vadinamas hello.php. 122 00:06:05,680 --> 00:06:07,280 Ir tada aš sutikau šią komandą. 123 00:06:07,280 --> 00:06:08,080 >> Ir kodėl? 124 00:06:08,080 --> 00:06:09,900 Anglų kalba, kas vyksta čia? 125 00:06:09,900 --> 00:06:12,760 Ką aš buvau daro, kai Išbėgau šią komandą? 126 00:06:12,760 --> 00:06:13,405 >> Taip? 127 00:06:13,405 --> 00:06:16,572 >> Auditorija: Yra keletas funkcija PHP kuri skaito tai, kas in-- supranta. 128 00:06:16,572 --> 00:06:19,696 DAVID Malan: Geras, ten kai funkcija PHP-- ir leiskite man būti konkretesnis, 129 00:06:19,696 --> 00:06:21,810 ten programa, vadinama PHP, dar žinoma kaip 130 00:06:21,810 --> 00:06:25,872 Vertėjas, kad supranta Iš hello.php turinys, 131 00:06:25,872 --> 00:06:27,830 ir interpretuoja jį iš viršaus į apačioje, iš kairės į dešinę, 132 00:06:27,830 --> 00:06:29,590 ir ką daro tie komandas pasakyti. 133 00:06:29,590 --> 00:06:33,320 Į hello.php komandas, žinoma, yra tik šaltinis code-- funkcijas 134 00:06:33,320 --> 00:06:35,750 ir kintamieji ir kilpos ir panašiai, kad mes patys 135 00:06:35,750 --> 00:06:37,460 pradėjo rašyti PHP. 136 00:06:37,460 --> 00:06:40,240 >> Tačiau skirtingai nuo C, kuris yra parengtą kalba, 137 00:06:40,240 --> 00:06:42,810 PHP galite tiesiog parašyti jį ir paleisti jį. 138 00:06:42,810 --> 00:06:46,420 Jūs praleisti, kad tarpininkas žingsnis konvertuoti jį į nulių ir, 139 00:06:46,420 --> 00:06:47,790 ir tada paleisti jį. 140 00:06:47,790 --> 00:06:50,510 Ir kas taip yra tai aukštyn kojom? 141 00:06:50,510 --> 00:06:52,690 Kodėl mes praleidžiant žingsnį? 142 00:06:52,690 --> 00:06:55,238 Kodėl daugiau šiuolaikinių kalbų linkę praleisti šį žingsnį? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 Kokia buvo nauda? 145 00:07:01,220 --> 00:07:02,080 >> Arba tiesiog intuityviai? 146 00:07:02,080 --> 00:07:04,200 Net jei mes ne parašyta daug PHP anksčiau, 147 00:07:04,200 --> 00:07:07,210 kas naudinga apie ne Sudarant kodą manai? 148 00:07:07,210 --> 00:07:08,520 Nėra? 149 00:07:08,520 --> 00:07:09,610 Ne įsipareigojant? 150 00:07:09,610 --> 00:07:11,350 Braižymo ant galvos? 151 00:07:11,350 --> 00:07:12,614 Taip. 152 00:07:12,614 --> 00:07:13,600 >> Auditorija: labiau dinamiškas. 153 00:07:13,600 --> 00:07:14,683 >> DAVID Malan: labiau dinamiškas? 154 00:07:14,683 --> 00:07:16,032 Ką turi omenyje? 155 00:07:16,032 --> 00:07:17,000 >> Auditorija: [nesigirdi] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 DAVID Malan: Gerai, gerai, todėl priklausomai nuo įvesties, 158 00:07:22,390 --> 00:07:23,470 Jūs neturite kaupia kiekvieną kartą. 159 00:07:23,470 --> 00:07:24,990 Ir tai tikrai yra kaip paprasta, kaip that-- ką 160 00:07:24,990 --> 00:07:26,990 yra toliau taškas sudaryti savo kodą? 161 00:07:26,990 --> 00:07:29,480 Tai tik žingsnis, kad tai making-- tai reikia, 162 00:07:29,480 --> 00:07:31,900 Per pastaruosius kelis savaičių, dvigubai daugiau žingsniai 163 00:07:31,900 --> 00:07:33,820 kaip tik rodyti savo programą. 164 00:07:33,820 --> 00:07:36,940 Tai buvo naudinga pamatyti, kad jūs pamatyti klaidų pranešimus ir taip toliau, 165 00:07:36,940 --> 00:07:38,720 bet tai dar tik erzina žingsnis. 166 00:07:38,720 --> 00:07:41,810 >> Ir taip supratau, programuotojai laikui bėgant, tai ne mes, kodėl 167 00:07:41,810 --> 00:07:45,327 pradėti rašyti kalbas, kurios nėra reikia, kad gana mechaniškai žingsnį, 168 00:07:45,327 --> 00:07:47,160 taip, kad gali tiesiog parašyti savo kodą ir paleisti jį. 169 00:07:47,160 --> 00:07:48,920 Bet kas buvo kaina kad mes matėme mokama 170 00:07:48,920 --> 00:07:50,910 Praėjusią savaitę su vienu konkrečiu pavyzdžiui? 171 00:07:50,910 --> 00:07:51,650 Taip? 172 00:07:51,650 --> 00:07:52,370 >> Greitis. 173 00:07:52,370 --> 00:07:54,690 Taigi [? kas?] vertėjai šiek tiek lėčiau, 174 00:07:54,690 --> 00:07:57,330 tuo, kad nulių ir yra gražus ir greitas kompiuteriu 175 00:07:57,330 --> 00:08:00,070 suprasti, dėl to, kad "Intel" procesorius, ar kokia ji yra, 176 00:08:00,070 --> 00:08:03,070 tiesiog supranta, kas vyksta apie su tais bitais modelius. 177 00:08:03,070 --> 00:08:05,370 Kadangi vertėją yra programa, kuri tikrai 178 00:08:05,370 --> 00:08:07,980 turi skaityti ASCII šaltinį kodą, kurį parašiau, 179 00:08:07,980 --> 00:08:12,700 ir konvertuoti jį, taip sakant, arba išsiaiškinti, kaip jis konvertuoja galiausiai 180 00:08:12,700 --> 00:08:13,525 į nulių ir. 181 00:08:13,525 --> 00:08:15,650 Taigi tereikia šiek tiek tiek veiklos rezultatų hitu. 182 00:08:15,650 --> 00:08:16,858 Taigi tai iš kompromisas tiek. 183 00:08:16,858 --> 00:08:21,570 Dabar, jei mes darome tai per čia, leiskite man eiti į priekį ir padaryti pavyzdį taip. 184 00:08:21,570 --> 00:08:26,610 Jei aš einu čia, naujas failas, aš ruošiuosi išsaugoti šį kartą yra hello.php. 185 00:08:26,610 --> 00:08:31,450 Ir dabar aš ruošiuosi eiti į priekį ir sako: "spausdinimo hello world", - 186 00:08:31,450 --> 00:08:35,130 ir priminti, kad aš galiu naudoti spausdinti, aš ne turite naudoti spausdinimo-F. Ir dabar žemyn čia 187 00:08:35,130 --> 00:08:42,039 jei aš PHP apie hello.php, huh-- aš neatrodo, kad ją aiškino. 188 00:08:42,039 --> 00:08:43,412 Ką man daryti negerai? 189 00:08:43,412 --> 00:08:44,710 >> Auditorija: lenktąją apyrankės. 190 00:08:44,710 --> 00:08:47,015 >> DAVID Malan: Taip, jums reikia kad kampas laikiklis iki viršaus. 191 00:08:47,015 --> 00:08:49,390 Taigi tai tipo erzina, bet jums priprasti prie jo greitai. 192 00:08:49,390 --> 00:08:53,500 Jeigu aš turiu rašyti PHP kodą, aš Apskritai reikia pasakyti programą, 193 00:08:53,500 --> 00:08:56,950 ar pasakyti vertėją, ei PHP, čia ateina šiek tiek PHP kodą. 194 00:08:56,950 --> 00:09:00,440 Ir tada gera priemonė, aš norėčiau uždaryti šį ne tai, o 195 00:09:00,440 --> 00:09:03,740 tik su klaustuku kampu laikiklis, taip, kad dabar žemyn čia, 196 00:09:03,740 --> 00:09:06,840 jei aš paleisti tai dar kartą, dabar Aš gauti norimą rezultatą. 197 00:09:06,840 --> 00:09:09,820 >> Dabar padarykime nedidelį optimizavimas, tik todėl, kad jūs matėte anksčiau. 198 00:09:09,820 --> 00:09:14,040 Tai tipo erzina, kad aš turite paleisti PHP kosmoso hello.php, 199 00:09:14,040 --> 00:09:16,060 nes per pastaruosius I gali tiesiog parašyti dot velniop 200 00:09:16,060 --> 00:09:17,560 programos pavadinimas, kuris yra natūra gražus. 201 00:09:17,560 --> 00:09:19,420 Tai tipo geresnį vartotojų patirtį. 202 00:09:19,420 --> 00:09:24,160 >> Taigi paaiškėja, galite tai padaryti PHP su following-- I 203 00:09:24,160 --> 00:09:28,780 galite naudoti gana paslaptingas Buršana viršuje čia, 204 00:09:28,780 --> 00:09:31,740 kuris paprastai vadinamas Szulernia, kuriuo tai yra aštrus simbolis, 205 00:09:31,740 --> 00:09:34,270 taip sakant, tai yra sprogimo arba šauktukas. 206 00:09:34,270 --> 00:09:38,490 Ir tai dabar yra programai kelias tipiškas Linux sistemoje, kuri 207 00:09:38,490 --> 00:09:41,500 vadinamas aplinkai arba ENV. 208 00:09:41,500 --> 00:09:43,920 Ir tai line-- ilga istorija short-- linija tik vienas 209 00:09:43,920 --> 00:09:48,710 sako, ei kompiuteris, rasti PHP vertėjo man į aplinką, 210 00:09:48,710 --> 00:09:50,610 rasti jį į savo atmintį, taip sakant. 211 00:09:50,610 --> 00:09:54,130 >> Ir kas malonu dabar yra kad jei aš eiti čia 212 00:09:54,130 --> 00:09:57,750 Galiu padaryti dot velniop Sveiki dot PHP, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 Leidimas nesuteiktas. 214 00:09:59,000 --> 00:10:02,350 Na, pamatysite dar daugiau apie tai su problema septynis, jei jums 215 00:10:02,350 --> 00:10:04,060 dar neturite, su leidimais. 216 00:10:04,060 --> 00:10:06,510 Pasirodo, kad man reikia vykdyti šią komandą 217 00:10:06,510 --> 00:10:10,779 vadinamas [? chamod?] pokyčiams mode-- pliuso x hello.php. 218 00:10:10,779 --> 00:10:13,820 Man reikia [nesigirdi] Tai vienas papildomas žingsnis, kuris pasakoja savo kompiuterį, 219 00:10:13,820 --> 00:10:16,400 padaryti hello.php vykdomąjį. 220 00:10:16,400 --> 00:10:21,310 Ir dabar žiūrėti, ką happens-- tašką slash hello.php, jis tiesiog veikia. 221 00:10:21,310 --> 00:10:23,310 Man nereikia nurodyti vertėjas nebėra. 222 00:10:23,310 --> 00:10:26,680 Ir aš galiu tai padaryti dar gražiau, dar, jei aš pervadinti šį dalyką. 223 00:10:26,680 --> 00:10:30,570 Jei aš judėti hello.php tiesiog Hello-- todėl pranešimas viršutiniame kairiajame, 224 00:10:30,570 --> 00:10:32,860 kad programos pavadinimas yra Iš tiesų dabar tik Sveiki. 225 00:10:32,860 --> 00:10:37,300 Dabar aš galiu padaryti, tai atrodo kaip C programa, nors ji parašyta PHP-- 226 00:10:37,300 --> 00:10:39,210 arba atvirai bet koks skaičius Kitų kalbų. 227 00:10:39,210 --> 00:10:41,480 >> Taigi ribinio stiprinimas, nėra funkcinis skirtumas. 228 00:10:41,480 --> 00:10:44,460 Bet tai tik šiek tiek smalsumas dabar, kad galite rašyti programas 229 00:10:44,460 --> 00:10:48,989 bet kokia kalba, ir vartotojas nėra turite žinoti, ar rūpintis, kas tai yra. 230 00:10:48,989 --> 00:10:51,030 Na, pažvelkime daugiau įtikinamų pavyzdžių dabar 231 00:10:51,030 --> 00:10:52,850 kad aš plakta iš anksto. 232 00:10:52,850 --> 00:10:54,955 Ir tai vadinama quote.php. 233 00:10:54,955 --> 00:10:56,740 Ir tai galima rasti internete. 234 00:10:56,740 --> 00:11:00,299 Ir pastebėsite, kad tai gana short-- bet tai komandinės eilutės programa, kuri yra 235 00:11:00,299 --> 00:11:02,840 ketina ieškoti akcijų kainas man, kuris iš tikrųjų vyksta 236 00:11:02,840 --> 00:11:04,230 būti Priklauso problema nustatyti septyni. 237 00:11:04,230 --> 00:11:05,396 >> Taigi pažiūrėkime, ką aš darau. 238 00:11:05,396 --> 00:11:08,640 Pačiame viršuje aš turiu atvira laikiklis klaustukas PHP. 239 00:11:08,640 --> 00:11:13,372 Tada aš turiu šią eilutę, pagal kurią Aš esu reikalaujantis failą pavadinimu functions.php-- 240 00:11:13,372 --> 00:11:15,080 mes ketiname pamatyti Daugiau apie tai šiek tiek, 241 00:11:15,080 --> 00:11:17,340 bet tai kaip C " versija SHARP apimti, 242 00:11:17,340 --> 00:11:19,090 ten, kur norite eiti įtraukti kitą failą. 243 00:11:19,090 --> 00:11:23,720 PHP ragina jis reikalauja, nors ji taip pat turi būti funkciją. 244 00:11:23,720 --> 00:11:26,861 Ir paaiškėja, kad function.php yra tiesiog kažkas rašė prieš klasę. 245 00:11:26,861 --> 00:11:29,860 Aš įdėti jį į tą pačią direktoriją, nes Norėjau veiksnys iš tam tikrą kodą 246 00:11:29,860 --> 00:11:31,800 kad mes galbūt norėsite naudoti kitur. 247 00:11:31,800 --> 00:11:34,560 >> Tuo tarpu, jūs tikriausiai galite numanyti, kas čia vyksta. 248 00:11:34,560 --> 00:11:39,200 Tai yra šiek tiek skiriasi nuo C-- bet ką man reiškia užtikrinti tinkamą naudojimą? 249 00:11:39,200 --> 00:11:41,180 Versti ši techniškai. 250 00:11:41,180 --> 00:11:45,950 Kokiomis aplinkybėmis aš esu mesti programą, arba išeinant? 251 00:11:45,950 --> 00:11:47,074 Taip? 252 00:11:47,074 --> 00:11:47,990 >> Auditorija: Kai jūs neturite du komandinės eilutės argumentai. 253 00:11:47,990 --> 00:11:49,480 >> DAVID Malan: Kai aš neturiu į komandų eilutę argumentus. 254 00:11:49,480 --> 00:11:52,396 Ir atminkite, kad viena iš šių argumentai yra pats programos pavadinimas. 255 00:11:52,396 --> 00:11:55,340 Ir antra bus kitą žodį I tipo po eilutę. 256 00:11:55,340 --> 00:11:57,460 Taigi, kaip ir C, šis yra mano būdas patikrinti, 257 00:11:57,460 --> 00:12:00,022 Ar vartotojas bendradarbiauti ir paleisti programą kaip aš skirtas? 258 00:12:00,022 --> 00:12:01,730 Dabar kažkas šiek tiek kitoks 259 00:12:01,730 --> 00:12:04,020 su C-- Pirmiausia mes turėti šią dolerio ženklas, 260 00:12:04,020 --> 00:12:07,710 ir ką daro doleris pasirašyti pažymėti PHP? 261 00:12:07,710 --> 00:12:08,440 Tiesiog kintamasis. 262 00:12:08,440 --> 00:12:11,731 Štai all-- tik kintamasis po ką jūs norite iš tikrųjų jį vadiname. 263 00:12:11,731 --> 00:12:14,000 Atkreipkite dėmesį, kad yra kažkas trūksta mano PHP programa, 264 00:12:14,000 --> 00:12:18,210 kaip jis buvo dingęs paskutinis savaitę, lyginant su C, kuris yra kas? 265 00:12:18,210 --> 00:12:21,620 >> A rūšys, bet ir kažkas. 266 00:12:21,620 --> 00:12:26,409 Nėra kažkas function-- pagrindinę funkciją. 267 00:12:26,409 --> 00:12:27,450 Nėra pagrindinė funkcija. 268 00:12:27,450 --> 00:12:29,680 Jūs tiesiog pradėti rašyti Jūsų kodas neturint 269 00:12:29,680 --> 00:12:32,790 nerimauti gana savavališkas Konvencija dėl pavadinimų kai pagal nutylėjimą 270 00:12:32,790 --> 00:12:33,880 funkcija pagrindinis. 271 00:12:33,880 --> 00:12:36,720 Taigi ARG C yra tiesiog tikrai pasaulinė kintamasis 272 00:12:36,720 --> 00:12:39,049 kad vertėjo daro man prieinami. 273 00:12:39,049 --> 00:12:40,090 Dabar, tai yra įdomus. 274 00:12:40,090 --> 00:12:41,140 Taigi ieškoti daiktų. 275 00:12:41,140 --> 00:12:43,370 Dolerio ženklas ištekliai yra dėl į kairę, kad mano kintamasis. 276 00:12:43,370 --> 00:12:45,120 Dešinėje pusėje, ten matyt 277 00:12:45,120 --> 00:12:50,270 PHP funkcija vadinama lookup, kad Aš artimųjų paskutinio mano komandinę eilutę 278 00:12:50,270 --> 00:12:51,902 argumentas to-- kokia žodis. 279 00:12:51,902 --> 00:12:53,610 Ir mes pamatyti, kaip tai dirba momentu. 280 00:12:53,610 --> 00:12:55,380 >> Ir tada galiausiai aš ataskaitų kainą. 281 00:12:55,380 --> 00:12:58,650 Aš spausdinti vieną dalis tokia ir tokia. 282 00:12:58,650 --> 00:13:02,082 Ir atminkite, tai yra būdas PHP-- A PHP-- būdu 283 00:13:02,082 --> 00:13:04,290 kur jūs neturite daryti dolerio ženklas S nebėra. 284 00:13:04,290 --> 00:13:06,782 Jūs galite tiesiog naudoti vingiuotus skliaustus ir prijunkite kai kintamasis. 285 00:13:06,782 --> 00:13:09,240 Jūs neturite jaudintis naudojant printf tuo pačiu būdu,. 286 00:13:09,240 --> 00:13:13,530 >> Ir kaip panaikinti, kai jūs įtraukėte kintamąjį viduje dvigubas kabutes, kaip šis, 287 00:13:13,530 --> 00:13:17,370 Jūs naudojate išgalvotas technika vadinamas kintamos interpoliacija. 288 00:13:17,370 --> 00:13:20,380 Tai tiesiog reiškia, prijunkite kintamasis čia. 289 00:13:20,380 --> 00:13:23,760 Ir kaip panaikinti, kai kurie iš jūsų, kurie atvyksta iš kitų programavimo sluoksnių, 290 00:13:23,760 --> 00:13:26,960 Jūs negalite naudotis Viengubomis kabutėmis apie įsipareigojimų tai padaryti. 291 00:13:26,960 --> 00:13:30,290 Jūs turite naudoti dvigubas kabutes už kintamasis interpoliacija į darbą. 292 00:13:30,290 --> 00:13:32,740 Priešingu atveju jūs tiesiog pamatyti tuos vingiuotus skliaustus. 293 00:13:32,740 --> 00:13:34,500 >> Taigi galiausiai, eikime į priekį ir paleisti tai. 294 00:13:34,500 --> 00:13:36,690 Leiskite man padaryti, kad mano terminalo šiek tiek didesni. 295 00:13:36,690 --> 00:13:41,940 Leiskite man eiti į priekį ir paleisti viduje mano citata kataloge. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? citata?] PHP citata dot PHP, 297 00:13:46,950 --> 00:13:50,290 ir aš ruošiuosi ieškoti kažko kaip GOOG, kuri yra jos simbolį, 298 00:13:50,290 --> 00:13:55,510 ir viena dalis nauju pavadinimu, Alfabetas Inc kainuos $ 717, kaip šiandien. 299 00:13:55,510 --> 00:13:58,680 Gerai, jei norime paleisti tai vėl kas nors 300 00:13:58,680 --> 00:14:02,600 turi kitą žymėjimo akcijos jie nori ieškoti? 301 00:14:02,600 --> 00:14:06,770 >> "Microsoft", manau, yra tai viena, MSFT-- 53 $. 302 00:14:06,770 --> 00:14:09,720 Manau, Yahoo gal. 303 00:14:09,720 --> 00:14:12,130 Ir "Facebook" yra tai, kad. 304 00:14:12,130 --> 00:14:13,740 >> Taigi, kas yra ši programa daro? 305 00:14:13,740 --> 00:14:16,306 Magija, atrodo, būti integruotas toje peržvalgos funkcija. 306 00:14:16,306 --> 00:14:17,430 Taigi leiskite priimti greitai pažvelgti. 307 00:14:17,430 --> 00:14:21,815 >> Pasirodo, kad neateina su PHP, tai į functions.php. 308 00:14:21,815 --> 00:14:23,690 Ir mes ne eiti per Tai labai išsamiai, 309 00:14:23,690 --> 00:14:28,040 bet pastebėsite, operacinis žodis čia kad iš functions.php-- šešių linija 310 00:14:28,040 --> 00:14:29,440 Aš tiesiog pasakyti funkciją. 311 00:14:29,440 --> 00:14:31,050 Aš nurodykite savo funkcijos pavadinimą. 312 00:14:31,050 --> 00:14:34,330 Aš tada nurodykite bet argumentai, arba parametrai, 313 00:14:34,330 --> 00:14:36,480 Noriu, kad funkcija take-- jokių tipus. 314 00:14:36,480 --> 00:14:37,580 Ir tada aš jį įgyvendinti. 315 00:14:37,580 --> 00:14:39,240 >> Ir aš pakylės ranką tuo įgyvendinimą, 316 00:14:39,240 --> 00:14:42,115 nes tai gana pažangi teisė dabar, bet mes pamatyti jį vėl iš tikrųjų 317 00:14:42,115 --> 00:14:44,700 per savaitę į problemą nustatyti septyni. 318 00:14:44,700 --> 00:14:47,490 Bet galiu valyti tai iki, per daug. 319 00:14:47,490 --> 00:14:49,590 Aš taip pat įtraukiami į Šiandienos kodas versija, 320 00:14:49,590 --> 00:14:52,340 Citatos, kuris neturi dot PHP failą. 321 00:14:52,340 --> 00:14:57,270 Nes tai, kas yra tikriausiai ne Top programos vadinamas tiesiog pacituoti? 322 00:14:57,270 --> 00:15:00,140 Tai vadinamasis shebang-- gana paslaptingas užkalbėjimas 323 00:15:00,140 --> 00:15:04,590 kad sako rasite PHP ir tada paleisti jį į mano kodas čia. 324 00:15:04,590 --> 00:15:07,360 >> Gerai, kad atneša mums, kur mes baigėte 325 00:15:07,360 --> 00:15:09,560 paskutinis LAIKĄ_ nors kai kurios sudėtingesnės pavyzdžiai. 326 00:15:09,560 --> 00:15:13,980 Turite klausimų iki šiol apie PHP ar tai, ką mes darome? 327 00:15:13,980 --> 00:15:15,570 No-- viskas gerai. 328 00:15:15,570 --> 00:15:16,180 Taip? 329 00:15:16,180 --> 00:15:19,610 >> Auditorija: Viduje HTML failus, daryti you-- 330 00:15:19,610 --> 00:15:22,226 [? ar tu ?] [? tiesiog vadina jį?] A [nesigirdi] PHP failą? 331 00:15:22,226 --> 00:15:23,350 DAVID Malan: Geras klausimas. 332 00:15:23,350 --> 00:15:26,070 Be interneto kontekste, kuris mes tiesiog apie pereiti prie, 333 00:15:26,070 --> 00:15:28,028 Jums nereikia naudoti vadinamoji Szulernia viršuje, 334 00:15:28,028 --> 00:15:31,980 nes interneto server-- dažnai programa, vadinama "Apache" arba "Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet Information Server arba bet kita serverio programinės įrangos egzempliorių skaičių, 336 00:15:37,470 --> 00:15:40,636 žino, kad kai ji mato dot PHP failą, kad jį 337 00:15:40,636 --> 00:15:42,010 reikia paleisti interpretatorių ant jo. 338 00:15:42,010 --> 00:15:43,468 Tai neatrodo tuo pirmoje eilutėje. 339 00:15:43,468 --> 00:15:45,580 Taigi pirmoji eilutė triukas yra tik tada, kai esate 340 00:15:45,580 --> 00:15:48,330 raštu komandinės eilutės programs-- kurį mes negali padaryti itin dažnai, 341 00:15:48,330 --> 00:15:52,510 bet tai mūsų būdas mažinti Mūsų C pavyzdžiai šiol mūsų PHP. 342 00:15:52,510 --> 00:16:00,680 >> Taigi leiskite tiesų įveikti šį pasaulį iš komandinės eilutės pasaulyje prie interneto 343 00:16:00,680 --> 00:16:02,230 atlikdami šiuos veiksmus. 344 00:16:02,230 --> 00:16:05,090 Leiskite man eiti į priekį ir parengti per čia tik akimirką. 345 00:16:05,090 --> 00:16:09,940 Taigi, jei mes turime interneto serverį, ar veikiau jei mes turime mano nešiojamas per čia 346 00:16:09,940 --> 00:16:11,280 kurios aš atkreipti, kaip šis. 347 00:16:11,280 --> 00:16:14,250 Ir čia mes turime Interneto tam tikra forma. 348 00:16:14,250 --> 00:16:18,210 Ir tada per čia, mes turime esantis tokioje stato serveris 349 00:16:18,210 --> 00:16:20,760 tai kaip internetas works-- ir čia 350 00:16:20,760 --> 00:16:23,120 yra kai kurių žibintai gal serveris. 351 00:16:23,120 --> 00:16:27,530 Ką iš tikrųjų vyksta tarp šių dviejų jungčių? 352 00:16:27,530 --> 00:16:29,240 >> Taigi šiame pastate yra žiniatinklio serverio. 353 00:16:29,240 --> 00:16:31,420 Tai tiesiog kompiuteris kad manimi veikia Kai kurios operacinės 354 00:16:31,420 --> 00:16:34,561 system-- gal nemokama programinė įranga, vadinama Apache, kuris CS50 IDE veikia. 355 00:16:34,561 --> 00:16:36,310 Taigi jūs iš tikrųjų galite galvoti apie šio pastato 356 00:16:36,310 --> 00:16:38,579 Jis laikomas pastatas kurie yra saugomi CSt0 IDE. 357 00:16:38,579 --> 00:16:40,870 Štai kur jūs visi sąskaitos, kur visi jūsų 358 00:16:40,870 --> 00:16:43,130 turėti savo serverį veikia, visi jūs 359 00:16:43,130 --> 00:16:45,730 turi savo unikalų URL, kaip mes pradėjome diskutuoti, 360 00:16:45,730 --> 00:16:47,280 ir pamatysite daugiau p nustatytas šešių. 361 00:16:47,280 --> 00:16:49,450 >> Štai mano nešiojamas kažkur kitur internete. 362 00:16:49,450 --> 00:16:54,550 Ir todėl, kai aš aplankyti URL, kuris priklauso pas mane, kad interneto srauto vyksta 363 00:16:54,550 --> 00:16:58,360 perkelti į serverį, serverio gauti HTTP request-- 364 00:16:58,360 --> 00:17:02,900 tarsi gauti index.html ir tai Siekiant atsakyti į šį tinklalapį. 365 00:17:02,900 --> 00:17:04,280 Taigi, kad bendras paradigma. 366 00:17:04,280 --> 00:17:07,089 Kadangi viską aukštyn Iki šiol šiandien viskas 367 00:17:07,089 --> 00:17:09,660 vyksta tik į pragyvena iš šio pastato. 368 00:17:09,660 --> 00:17:12,910 Aš naudoju mano nešiojamas, bet Man buvo prijungtas prie CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 todėl visi iš šių programų Buvau veikia buvo viduje tame serveryje, pati. 370 00:17:17,369 --> 00:17:22,660 >> Bet dabar, pradėkime pakartotinai PHP rašyti keletą faktinių programas, 371 00:17:22,660 --> 00:17:24,230 aptarnaujami iki pagal serveryje. 372 00:17:24,230 --> 00:17:30,320 Ir tai padaryti, aš ruošiuosi eiti į visa krūva pavyzdžių 373 00:17:30,320 --> 00:17:33,710 kad pristatyti šią idėją čia. 374 00:17:33,710 --> 00:17:38,500 Taigi tai yra rūšies išgalvotas būdas aprašant programavimo paradigma. 375 00:17:38,500 --> 00:17:41,540 >> Ir iš tiesų, kaip jūs išeiti CS50 arba dirbti dėl galutinių projektų, 376 00:17:41,540 --> 00:17:43,520 arba imtis tam sekti nuo klasės, jūs pradėsite 377 00:17:43,520 --> 00:17:45,740 matyti, kad world-- ypač užaugo 378 00:17:45,740 --> 00:17:48,300 su kalbomis, pavyzdžiui, C kad yra super žemas level-- 379 00:17:48,300 --> 00:17:51,290 suprasti, kad geriau būdai rašymo programinės įrangos. 380 00:17:51,290 --> 00:17:53,290 Yra tam tikrų modeliai, galite sekti, 381 00:17:53,290 --> 00:17:57,640 tam tikri būdai organizuoti savo failus būdai ir pavadino savo funkcijas, 382 00:17:57,640 --> 00:18:00,300 taip, kad ilga istorija trumpa, pasaulis sugalvoti 383 00:18:00,300 --> 00:18:04,340 su visa krūva akronimai ir pavadinimai būdų programavimą. 384 00:18:04,340 --> 00:18:06,260 Tai yra tik metodai galite naudoti. 385 00:18:06,260 --> 00:18:09,660 >> Ir vienas iš jų yra vadinamas "MVC, Model View Controller. 386 00:18:09,660 --> 00:18:12,270 Ir tai tik, už dabar pernelyg sudėtinga 387 00:18:12,270 --> 00:18:18,960 būdas pasakyti, kaip reikia išdėstyti PHP pagrindu svetainė, mūsų atveju. 388 00:18:18,960 --> 00:18:22,140 Kaip jums organizuoti savo failus, kaip jums organizuoti savo logiką, 389 00:18:22,140 --> 00:18:26,220 tokiu būdu, kad leidžia lengviau rašyti sudėtingesnius svetaines? 390 00:18:26,220 --> 00:18:28,550 Ir iš tiesų, mes greitai ten su P-septynis. 391 00:18:28,550 --> 00:18:32,020 >> Taigi, MVC pasaulyje, jūs ketinate pamatyti, kad mūsų kodas gali paprastai 392 00:18:32,020 --> 00:18:38,290 būti apibūdinamas kaip arba modelio kodu, arba valdytojas kodas, arba peržiūrėti kodą. 393 00:18:38,290 --> 00:18:40,200 Ir aš ruošiuosi daug supaprastinti jį kaip follows-- 394 00:18:40,200 --> 00:18:42,074 duomenų valdytojas yra smegenys jūsų programos, 395 00:18:42,074 --> 00:18:44,100 tai kai visi įdomus loginis atsitiks. 396 00:18:44,100 --> 00:18:46,110 Taigi viskas mes jau raštu iki šiol klasėje, 397 00:18:46,110 --> 00:18:48,210 yra lyg valdiklio code-- tai kontroliuoti 398 00:18:48,210 --> 00:18:50,585 jūsų programa, jūsų kilpos, jūsų sąlygomis jūsų funkcijos 399 00:18:50,585 --> 00:18:52,100 ir kintamieji ir visa kita. 400 00:18:52,100 --> 00:18:56,160 >> Peržiūros, dabar ketiname būti šiek tiek daugiau nei akivaizdi, atsižvelgiant į interneto pasaulį. 401 00:18:56,160 --> 00:18:59,360 Vaizdas yra estetika Jūsų svetainės. 402 00:18:59,360 --> 00:19:04,080 Tai, ką vartotojas sees-- vaizdus, HTML lentelių HTML žymes, ir visi 403 00:19:04,080 --> 00:19:08,220 to, visi purios estetinių stuff, kad yra ne tai, kad sunku rašyti, 404 00:19:08,220 --> 00:19:11,380 bet ką jūs generuoti, yra vadinamasis nuomone, estetika. 405 00:19:11,380 --> 00:19:13,880 Ir modelis, galiausiai, vyksta būti duomenų bazės stuff-- kuris 406 00:19:13,880 --> 00:19:16,510 mes pradėsime pasinerti į visus daugiau šį trečiadienį. 407 00:19:16,510 --> 00:19:19,740 Taigi valdytojas yra logika, vaizdas yra estetinis dalykų, 408 00:19:19,740 --> 00:19:23,500 ir modelis bus kur mes saugome mūsų faktinius duomenis. 409 00:19:23,500 --> 00:19:26,410 >> Taigi pažvelkime į tai konkrečiau su tokia pavyzdyje. 410 00:19:26,410 --> 00:19:34,700 Aš ruošiuosi eiti į mano katalogą čia Šiandienos šaltinio code-- kurie visi 411 00:19:34,700 --> 00:19:35,770 yra prieinami internete. 412 00:19:35,770 --> 00:19:37,800 Ir aš ruošiuosi eiti į versiją nulio. 413 00:19:37,800 --> 00:19:41,500 Ir čia is-- tegul ją skambutį iš CS50 tinklalapyje nulis versija. 414 00:19:41,500 --> 00:19:43,010 Yra ne daug čia ne visi. 415 00:19:43,010 --> 00:19:46,810 Tai labai paprasta interneto puslapis tai tikriausiai naudojate ką HTML tags-- tik 416 00:19:46,810 --> 00:19:48,970 atspėti iš praeities pavyzdžių? 417 00:19:48,970 --> 00:19:49,890 >> Kas tai? 418 00:19:49,890 --> 00:19:53,920 H1-- turbūt, kad didelis paryškinti pavadinimas, kad logotipas iki viršaus, CS50. 419 00:19:53,920 --> 00:19:55,080 Ir ką dar yra žaisti? 420 00:19:55,080 --> 00:19:55,799 Taip? 421 00:19:55,799 --> 00:19:56,840 Auditorija: Nerūšiuotas sąrašas. 422 00:19:56,840 --> 00:19:59,990 DAVID Malan: Nerūšiuotas list-- todėl UL žyma o gal LI žymeles pora. 423 00:19:59,990 --> 00:20:01,840 Ir jei jūs neturite prisiminti tai, jis nuoširdžiai nesvarbu. 424 00:20:01,840 --> 00:20:04,170 Tai yra purus rūšiuoti įgyvendinimo detales HTML 425 00:20:04,170 --> 00:20:06,378 kad jūs greitai ieškoti ir jūs esate atgal į savo kelią. 426 00:20:06,378 --> 00:20:10,040 Mes daugiau dėmesio skirti programavimui idėjų, kurios yra sultingesnis vienetų. 427 00:20:10,040 --> 00:20:12,890 >> Taigi leiskite tiesiog greitas pažvelgti į HTML-- ir iš tiesų 428 00:20:12,890 --> 00:20:16,880 jei aš atverti Žiūrėti kodą čia Yup, Būtent tai, kas vyksta čia. 429 00:20:16,880 --> 00:20:18,440 Ten būna UL žymė. 430 00:20:18,440 --> 00:20:20,630 Įdėtos viduje, kuri yra Li žymes. 431 00:20:20,630 --> 00:20:24,470 Ir tada aš pasiskolino URL Faktinio mokymo programą čia. 432 00:20:24,470 --> 00:20:27,570 >> Ir tada į lectures.php matyt 433 00:20:27,570 --> 00:20:31,640 kitas generuojamas dinamiškai puslapis kad ketina turėti, tegul see-- Ah, 434 00:20:31,640 --> 00:20:33,170 pirmąsias dvi savaites Paskaitų. 435 00:20:33,170 --> 00:20:36,600 Taigi nulis savaitę savaitę vienas, tegul pažvelgti this-- jei aš Rodyti puslapio šaltinį, 436 00:20:36,600 --> 00:20:38,120 Taip pat super paprasta. 437 00:20:38,120 --> 00:20:42,430 Tai yra viena iš pirmaujančių dviejų puslapių vadinamas week0.php ir week1.php. 438 00:20:42,430 --> 00:20:44,040 Taigi mano dabar kas vyksta. 439 00:20:44,040 --> 00:20:50,630 >> Kai paspaudžiu ant week0.php, mano nešiojamas daro už week0.php prašymą. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 Web serveris, dar žinoma kaip, CS50 IDE, gauna tą virtualų voką. 442 00:20:58,110 --> 00:21:01,040 Tai matydamas žinutę kaip, gauti week0.php. 443 00:21:01,040 --> 00:21:05,060 Jis tada žodžiu failą, iš viršaus į apačią, iš kairės į right-- failą 444 00:21:05,060 --> 00:21:07,720 vadinamas week0.php-- ir spjaudė iš rezultatų. 445 00:21:07,720 --> 00:21:10,510 Taigi viduje šį failą, week0.php, turi būti 446 00:21:10,510 --> 00:21:15,410 valdiklis logika, kuri generuoja HTML, ir mes netrukus pamatysite, kad. 447 00:21:15,410 --> 00:21:19,340 >> Bet dabar, leiskite paspauskite ant nulio savaitę ir dabar mes turime trečiadienį ir penktadienį, 448 00:21:19,340 --> 00:21:25,260 ir dabar mes turime skaidres lėtai nuo nulinio savaitę. 449 00:21:25,260 --> 00:21:27,400 Ir jums gali prisiminti Tai iš kelio atgal, kai. 450 00:21:27,400 --> 00:21:29,340 Taigi, kad viskas šioje svetainėje darai. 451 00:21:29,340 --> 00:21:31,120 >> Taigi aptarkime, kaip tai daryti. 452 00:21:31,120 --> 00:21:34,290 Aš ruošiuosi grįžti į kodo čia, CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 ir aš ruošiuosi atverti index.php. 454 00:21:36,660 --> 00:21:38,910 Šio failo viršuje yra komentarų krūva. 455 00:21:38,910 --> 00:21:43,000 Ir tada viduryje šio failo, jį turns out, yra ne PHP kodą kokia. 456 00:21:43,000 --> 00:21:47,380 Nes jei jūs neturite bet kurį iš atvira Laikiklis klaustukas PHP žodžius, 457 00:21:47,380 --> 00:21:49,180 Jūs esate laisvai tiesiog įdėti HTML. 458 00:21:49,180 --> 00:21:51,480 >> Nes tai, kas PHP vertėjas turėtų daryti, 459 00:21:51,480 --> 00:21:53,938 yra tada, kai jis skaito šį file-- iš viršaus į apačią, iš kairės į right-- 460 00:21:53,938 --> 00:21:59,100 jis tik interpretuoja kodą jis mato tarp tie kampas skliausteliuose klaustuką. 461 00:21:59,100 --> 00:22:02,380 Ir dar ką nors, kad jis nėra pripažinti PHP, jis tiesiog išspjauna. 462 00:22:02,380 --> 00:22:05,080 Ir HTML tarp stuff tai bus tiesiog išspjauti. 463 00:22:05,080 --> 00:22:09,090 >> Taigi šis failas gali turėti buvo vadinamas index.html 464 00:22:09,090 --> 00:22:11,690 bet aš pavadinti viską dot PHP kaip slenksčiu. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- panašiai underwhelming, tai tik keletas HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php, panašiai tik keletas HTML. 467 00:22:19,840 --> 00:22:22,300 >> Bet dabar tegul įdėti ant patarlė inžinerijos skrybėlę, 468 00:22:22,300 --> 00:22:24,400 ir apsvarstyti, kaip mes galime pagerinti šį. 469 00:22:24,400 --> 00:22:28,541 Tai nėra sunku tai padaryti, bet aš natūra perduotos į kopiją ir pasta. 470 00:22:28,541 --> 00:22:31,540 Ir iš tiesų, jei aš dviejų savaičių, jums žinoti, ką aš tikriausiai ketinate daryti? 471 00:22:31,540 --> 00:22:34,940 Aš ruošiuosi eiti į week1.php, aš ketina pabrėžti viską. 472 00:22:34,940 --> 00:22:39,110 Aš ruošiuosi nukopijuokite jį, įklijuokite jį į naują failą pavadinimu week2.php, 473 00:22:39,110 --> 00:22:42,440 įgnybti kai URL ir būti mano būdas. 474 00:22:42,440 --> 00:22:45,240 >> Taigi remiantis tuo, kas mes matyti C jau 475 00:22:45,240 --> 00:22:46,860 tai neturi jaustis, tikiuosi. 476 00:22:46,860 --> 00:22:49,610 Kopijuoti, pasta retai teisingas sprendimas. 477 00:22:49,610 --> 00:22:51,429 Taigi, ką mes galime pradėti padaryti, siekiant pagerinti tai? 478 00:22:51,429 --> 00:22:53,345 Kur yra galimybės geriau dizainas? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> Iki to laiko gaunu aštuonių savaičių, ji vyksta 481 00:22:58,760 --> 00:23:00,910 būtų tikrai erzina jei noriu pakeisti 482 00:23:00,910 --> 00:23:03,930 kiekvieno vienos šriftas Mano puslapiai arba, jei noriu 483 00:23:03,930 --> 00:23:06,522 pakeisti išdėstymo struktūrą. 484 00:23:06,522 --> 00:23:08,396 Taigi, kur yra galimybė geriau dizainas? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 Na, tegul mano kas bendrai naudojami visi šie failus. 487 00:23:15,160 --> 00:23:21,696 >> Štai savaitę vieną, čia savaitę nulis, čia lectures.php, 488 00:23:21,696 --> 00:23:25,790 čia index.php-- kas yra tas pats, ir Kuo skiriasi, Apytiksliai, 489 00:23:25,790 --> 00:23:26,760 kiekvienoje iš šių bylų? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 Taip? 492 00:23:32,060 --> 00:23:34,560 >> Auditorija: [nesigirdi] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 DAVID Malan: Gerai, gerai. 495 00:23:42,160 --> 00:23:46,115 Taigi ten modelis, be abejo, pagal kurią kiekvieną kartą, aš pasirinksiu paskaita I, 496 00:23:46,115 --> 00:23:48,250 Būčiau Generatoriniai labai panašiai atrodančius puslapis. 497 00:23:48,250 --> 00:23:50,375 Ir taip gal aš galiu sverto faktas, kad tikrai, 498 00:23:50,375 --> 00:23:53,060 mes sąmoningai programinio indeksuojami mūsų lectures-- 499 00:23:53,060 --> 00:23:55,290 jei aš galiu įdėti dar daugiau žodžius į savo atsakymą. 500 00:23:55,290 --> 00:23:59,984 Ir kas yra vienintelis dalykas, tikrai, kad keičiasi tarp savaitės one-- 501 00:23:59,984 --> 00:24:02,400 ir leiskite man slinkite žemyn, todėl maždaug tuo pačiu place-- 502 00:24:02,400 --> 00:24:05,480 Taigi čia yra nulis savaitę maždaug viršuje. 503 00:24:05,480 --> 00:24:12,370 Štai savaitę vieną, savaitę nulis, savaitę vienas, nulis savaitę. 504 00:24:12,370 --> 00:24:14,370 Gerai, tiesiog, jei žinote nė viena programa kokia, 505 00:24:14,370 --> 00:24:16,286 tai yra, dabar tik kaip modelio atitikimo žaidimas. 506 00:24:16,286 --> 00:24:17,200 Taigi, kas skiriasi? 507 00:24:17,200 --> 00:24:18,765 Taip? 508 00:24:18,765 --> 00:24:19,777 >> Auditorija: [nesigirdi] 509 00:24:19,777 --> 00:24:22,360 DAVID Malan: Geras, todėl pavadinimas keičiasi, vis tiek šiek tiek. 510 00:24:22,360 --> 00:24:24,010 Nulis vyksta, žinoma, į vieną. 511 00:24:24,010 --> 00:24:25,570 Tas pats vyksta H1 žyma. 512 00:24:25,570 --> 00:24:28,790 Ir mes ne visai matyti, kaip lengvai, nes URL yra šiek tiek ilgai. 513 00:24:28,790 --> 00:24:30,670 Bet tie URL keičiasi nežymiai. 514 00:24:30,670 --> 00:24:34,490 >> Bet kas nesikeičia yra, drįstu pasakyti, dauguma iš page-- turinį 515 00:24:34,490 --> 00:24:38,530 HTML tegus tas pats, galva tas pats, pavadinimas yra beveik tas pats, 516 00:24:38,530 --> 00:24:40,659 kūnas yra tas pats, ir beveik visa kita 517 00:24:40,659 --> 00:24:42,450 yra vienodi, išskyrus tas mažai tweaks. 518 00:24:42,450 --> 00:24:45,310 Taigi, kaip mes galime eiti apie faktoringo kai tai atlikti? 519 00:24:45,310 --> 00:24:48,740 >> Na leiskite man pasiūlyti būtent kad kitą versiją. 520 00:24:48,740 --> 00:24:53,890 Taigi čia versijos vieną, turiu tiksli tie patys failai, plius kiti pora. 521 00:24:53,890 --> 00:24:59,730 Štai index.php-- ir net jei jūs niekada PHP anksčiau, 522 00:24:59,730 --> 00:25:05,511 ką aš tikriausiai daro išspręsti šią problem-- remiasi tuo, ką matote čia? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 Taip, yra tai, kad šiek tiek įsipareigojimą? 525 00:25:12,760 --> 00:25:13,450 Nėra? 526 00:25:13,450 --> 00:25:16,020 Taip, eiti. 527 00:25:16,020 --> 00:25:17,380 >> Auditorija: [nesigirdi] 528 00:25:17,380 --> 00:25:18,380 >> DAVID Malan: Yep. 529 00:25:18,380 --> 00:25:20,380 >> Auditorija: [nesigirdi] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> DAVID Malan: man reikia jums kalbėti tik šiek tiek garsiau. 532 00:25:28,669 --> 00:25:31,084 >> Auditorija: [nesigirdi] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 DAVID Malan: Gerai, gerai. 535 00:25:36,660 --> 00:25:38,620 Ir aš think-- tai buvo sunku išgirsti you-- bet aš 536 00:25:38,620 --> 00:25:42,690 manau, tai, ką jūs gaunate ne tai, kad žodžius, kurie buvo dažni iki viršaus, 537 00:25:42,690 --> 00:25:47,710 ir žodžius, kurie buvo populiaresnės apačioje, jau buvo atsižvelgta iš, 538 00:25:47,710 --> 00:25:51,140 arba nustumtos į kokius failus? 539 00:25:51,140 --> 00:25:53,476 Header.php ir footer.php-- ir mes ketiname 540 00:25:53,476 --> 00:25:55,600 padaryti keletą tweaks spręsti susirūpinimą jūs tiesiog 541 00:25:55,600 --> 00:25:59,370 iškėlė apie numerius keičiasi, už Pavyzdžiui, jei aš girdėjau jus teisingai. 542 00:25:59,370 --> 00:26:02,060 >> Bet, kad atrodo, kad iš jos esmė. 543 00:26:02,060 --> 00:26:04,820 Jei ten buvo didžiulis atleidimas iš darbo ne puslapio viršuje, 544 00:26:04,820 --> 00:26:06,736 ir didžiulis atleidimo apačioje 545 00:26:06,736 --> 00:26:09,280 tegul pažodžiui tik akcentas ir supjaustyti, kad turinys iš, 546 00:26:09,280 --> 00:26:13,270 įdėti jį į atskirą file-- tik kaip CSS, idėja, kur mes atsižvelgti dėmesį 547 00:26:13,270 --> 00:26:16,710 labai panašūs estetika, pateikiami ji atskirame dot PHP failą, 548 00:26:16,710 --> 00:26:20,340 naudoti reikalauja mechanism-- kuris yra kaip cis include-- kuris 549 00:26:20,340 --> 00:26:23,570 iš esmės yra tarsi sakydamas eiti patraukti header.php turinį, 550 00:26:23,570 --> 00:26:25,370 nukopijuokite ir įklijuokite jį čia. 551 00:26:25,370 --> 00:26:29,490 >> Bet ką tai reiškia, kad dabar index.php, turiu šias dvi linijas. 552 00:26:29,490 --> 00:26:32,130 Be lectures.php, aš taip pat turi šias dvi linijas. 553 00:26:32,130 --> 00:26:35,230 Be week0.php, aš taip pat turi šias dvi linijas. 554 00:26:35,230 --> 00:26:38,380 >> Taigi dabar, jei noriu pakeisti iš visų mano puslapius pavadinimas, 555 00:26:38,380 --> 00:26:40,530 ar aš noriu pakeisti pagrindinė struktūra, 556 00:26:40,530 --> 00:26:44,380 Galiu pakeisti jį dabar tik vienoje vietoje, ar du places-- antraštės ir poraštės, 557 00:26:44,380 --> 00:26:45,429 atitinkamai. 558 00:26:45,429 --> 00:26:47,970 Dabar kodą pradeda ieškoti šiek tiek daugiau paslaptingas, tiesa? 559 00:26:47,970 --> 00:26:53,590 Tačiau, jei jūs manote apie tai, ką puslapis yra doing-- jei aš prašydama week0.php, 560 00:26:53,590 --> 00:26:59,880 kaip dėl piešimo ant here-- kai week0.php prašoma, 561 00:26:59,880 --> 00:27:00,960 ką tai reiškia? 562 00:27:00,960 --> 00:27:04,410 >> Drąsiai, šis failas yra prašo naršyklėje. 563 00:27:04,410 --> 00:27:06,240 Interneto server-- dar žinoma kaip 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- griebia šį failą, week0.php ir skaito 565 00:27:09,250 --> 00:27:10,780 ji iš viršaus į apačią, iš kairės į dešinę. 566 00:27:10,780 --> 00:27:15,400 On line vienos, tai iš karto susiduria su atvira laikiklis klaustukas PHP, reikalauja 567 00:27:15,400 --> 00:27:17,872 antraštės taškas PHP ir tt kas PHP interpretatorius 568 00:27:17,872 --> 00:27:20,580 does-- kad pastatytas į interneto serveris, nes mes iš anksto sukonfigūruotas 569 00:27:20,580 --> 00:27:24,580 tai už you-- jis automatiškai eina į header.php, kopijos turinys, 570 00:27:24,580 --> 00:27:25,640 pastos juos čia. 571 00:27:25,640 --> 00:27:28,790 >> Bet tada vertėjas susitikimai klaustukas Uždaryti laikiklis, 572 00:27:28,790 --> 00:27:30,320 todėl viskas padaryta galvoti. 573 00:27:30,320 --> 00:27:33,400 Dabar jis tiesiog aklai išspjauna iš linijų du per septynių, 574 00:27:33,400 --> 00:27:35,240 nes tai tiesiog žalias HTML. 575 00:27:35,240 --> 00:27:38,470 Paimama linija aštuoni, ir tai daro pati magija again-- atidarant failą, 576 00:27:38,470 --> 00:27:41,460 greiferiniai turinį ir reikalaujant iš jų arba įklijuoti juos 577 00:27:41,460 --> 00:27:42,480 teisę tada ar ten. 578 00:27:42,480 --> 00:27:44,210 >> Bet aš tik užsiminė klaidą. 579 00:27:44,210 --> 00:27:48,610 Tai yra dalinis žingsnis atgal, nes jei pažvelgsime į header.php, 580 00:27:48,610 --> 00:27:50,850 Aš rūšies supjaustyti kampe. 581 00:27:50,850 --> 00:27:56,250 Kas funkcija aš pasiduoti tam įgyti šį ginčytina geriau dizainas? 582 00:27:56,250 --> 00:27:57,305 Taip? 583 00:27:57,305 --> 00:27:58,180 Auditorija: [nesigirdi] 584 00:27:58,180 --> 00:28:00,570 DAVID Malan: Taip, aš natūra nuo supjaustyti nontrivial kampe. 585 00:28:00,570 --> 00:28:04,489 Jūs pažymėjo, kad tai, kas keičiasi buvo pavadinimą, pavadinime numeris 586 00:28:04,489 --> 00:28:05,530 ir į H1 skaičius. 587 00:28:05,530 --> 00:28:08,170 Taigi, mano sprendimas buvo, gerai, tegul tiesiog pervadinti puslapį, 588 00:28:08,170 --> 00:28:10,080 o ne kovoti su tuo problema kokia. 589 00:28:10,080 --> 00:28:12,130 Taigi, kad dalinis žingsnis atgal, tikrai. 590 00:28:12,130 --> 00:28:14,300 >> Bet kas yra Pažymėtina čia Ar tai, ką aš padariau 591 00:28:14,300 --> 00:28:17,200 kitaip sudauginti visas bendros stuff. 592 00:28:17,200 --> 00:28:21,520 Ir footer.php, pastebėsite, aš įskaičiuota iš visų, kad, nors ir mažesnis, 593 00:28:21,520 --> 00:28:22,790 bendra medžiaga. 594 00:28:22,790 --> 00:28:26,070 Taigi man reikia kažkaip dabar galės žengti dar vieną žingsnį į priekį, ir nustatyti 595 00:28:26,070 --> 00:28:27,160 tas pavadinimas klausimus. 596 00:28:27,160 --> 00:28:28,180 Taigi leiskite tai padaryti. 597 00:28:28,180 --> 00:28:35,060 >> Leiskite man eiti į mano antroji versija čia, kuris, vėl, turi tokias pačias failus 598 00:28:35,060 --> 00:28:36,825 išskyrus vieną naują to. 599 00:28:36,825 --> 00:28:38,950 Ir tai šiek tiek daugiau daugiažodis, bet pažiūrėkime, jei mes 600 00:28:38,950 --> 00:28:40,550 gali erzinti, išskyrus tai, kas vyksta čia. 601 00:28:40,550 --> 00:28:45,370 Taigi vietoj reikia header.php ir footer.php, 602 00:28:45,370 --> 00:28:50,180 Man atrodo, kad reikia tik reikalauti, kad viena file-- vadinamas, žinoma, helpers.php. 603 00:28:50,180 --> 00:28:52,560 Ir leiskite man nustatyta, jau dabar, kas viduje helpers.php 604 00:28:52,560 --> 00:28:55,330 yra tik funkcijų krūva kad aš parašiau, kaip anksčiau. 605 00:28:55,330 --> 00:28:57,550 Bet aš jį pavadino helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> Dabar, matyt, į trys linijos ir 10, aš 607 00:29:00,370 --> 00:29:02,840 skambina du functions-- teikti galva, suteikti apačia. 608 00:29:02,840 --> 00:29:05,040 Tie, kurie negali ateiti su PHP, parašiau tiems save. 609 00:29:05,040 --> 00:29:07,880 Ir aš įdėti juos į helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> Dabar, mes tik matė šį sintaksė vieną kartą, ir tai buvo super trumpai. 611 00:29:11,210 --> 00:29:15,330 Bet tai, matyt, argumentas teikti antraštę, funkciją. 612 00:29:15,330 --> 00:29:16,450 Kodėl aš žinau, kad? 613 00:29:16,450 --> 00:29:18,522 Na čia artimas paren, čia atvira paren. 614 00:29:18,522 --> 00:29:21,230 Ir, žinoma, kaip ir C, nieko tarp šių skliausteliuose 615 00:29:21,230 --> 00:29:23,350 yra input-- arba argumentas funkcijai. 616 00:29:23,350 --> 00:29:26,710 >> Kas yra duomenų tipas šio argumento, remiantis tuo, kas aš pabrėžė? 617 00:29:26,710 --> 00:29:30,820 Ką tie skliaustus nurodo, remiantis paskutinę savaitę? 618 00:29:30,820 --> 00:29:33,390 Taip, tai yra array-- specialiai Association masyvas. 619 00:29:33,390 --> 00:29:35,700 Ir tai tiesa sintaksė yra šiek tiek funky, 620 00:29:35,700 --> 00:29:38,860 bet tai tik artimųjų vienoje rakto porą. 621 00:29:38,860 --> 00:29:43,530 Svarbiausia yra, citata citatos pabaiga pavadinimas ir vertė yra CS50. 622 00:29:43,530 --> 00:29:46,220 >> Jei būtume tai padarė C, tai gali vietoj 623 00:29:46,220 --> 00:29:49,400 atrodo labiau kaip šis, tiesiog citata citatos pabaiga CS50-- 624 00:29:49,400 --> 00:29:52,460 ar iš tikrųjų tai būtų garbanotas petnešos, ar kažką panašaus, kad C, 625 00:29:52,460 --> 00:29:55,580 kur raktas yra nulis, o vertė yra CS50. 626 00:29:55,580 --> 00:29:59,840 Bet vėl, PHP, nors sintaksė, vėlgi, šiek tiek keistai, 627 00:29:59,840 --> 00:30:02,860 jis leidžia jums pereiti į žodžiai vietoj numeriai 628 00:30:02,860 --> 00:30:05,120 susieti raktai su vertybėmis. 629 00:30:05,120 --> 00:30:06,390 >> Taigi, ką visa tai reiškia? 630 00:30:06,390 --> 00:30:09,750 Jei aš einu į helpers.php, Pažvelkime į šią funkciją. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, o renderHeader yra mano funkcija, 632 00:30:13,620 --> 00:30:16,220 ir žinau, kad, nes matau funkcija raktažodis čia. 633 00:30:16,220 --> 00:30:19,450 Tai nauja iš C-- ją, matyt, užima argumentą, pavadintą data-- 634 00:30:19,450 --> 00:30:22,400 bet aš galėjo tai pavadino nieko, bet aš jį pavadino duomenys, 635 00:30:22,400 --> 00:30:25,090 tik šiek tiek clean-- ir tik spėti, ypač 636 00:30:25,090 --> 00:30:28,173 jei jūs užprogramuoti kai kurie kiti aukštesnio lygio kalba anksčiau, kažkas 637 00:30:28,173 --> 00:30:29,820 virš C, konceptualiai. 638 00:30:29,820 --> 00:30:33,820 >> Ką vienodą atvirą laikiklį kvadratinių laikiklį tikriausiai reiškia? 639 00:30:33,820 --> 00:30:35,540 Arba ką jis galėtų reikšti? 640 00:30:35,540 --> 00:30:39,660 Mes nematėme tai C. Taip? 641 00:30:39,660 --> 00:30:40,480 >> Tuščia masyvo. 642 00:30:40,480 --> 00:30:45,440 Tiksliau sakant, tai reiškia, kad, jei vartotojas neskambina renderHeader 643 00:30:45,440 --> 00:30:49,340 su argumentu, aš vis dar vyksta turėti argumentą, vadinamą duomenų, 644 00:30:49,340 --> 00:30:52,327 bet jos Numatytoji reikšmė yra bus tuščias masyvas. 645 00:30:52,327 --> 00:30:53,660 Taigi tai tiesiog gražus patogumui. 646 00:30:53,660 --> 00:30:56,493 Aš neturiu klykauti ne vartotojui, arba pasakyti jums naudoti mano funkcija negerai. 647 00:30:56,493 --> 00:30:59,849 Aš galiu tik suteikti vartotojui nutylėjimą vertė, jei aš ne itin rūpi. 648 00:30:59,849 --> 00:31:01,890 Dabar ši funkcija, aš vyksta mojuoti mano rankas. 649 00:31:01,890 --> 00:31:07,620 Tačiau šis ekstraktas funkcija leidžia mums perduoti šių kintamųjų duomenų 650 00:31:07,620 --> 00:31:10,360 į header.php šiuo būdu. 651 00:31:10,360 --> 00:31:13,100 Ir tai yra paskutinis gabalas, Manau, funky sintaksė. 652 00:31:13,100 --> 00:31:15,860 Čia yra mano nauja versija iš header.php-- ją 653 00:31:15,860 --> 00:31:20,140 sakydavo, pažodžiui, atvira laikiklis pavadinimas CS50, ir kad ji buvo. 654 00:31:20,140 --> 00:31:21,766 Ir tas pats už H1. 655 00:31:21,766 --> 00:31:24,310 >> Dabar tai, matyt, sako kažkas gana madingas. 656 00:31:24,310 --> 00:31:28,030 Ir leiskite man supaprastinti šį akimirką taip. 657 00:31:28,030 --> 00:31:31,020 Tai yra tai, ką aš pakeitė mano vardo būtų. 658 00:31:31,020 --> 00:31:35,140 Tačiau tai vis tiek negraži nuolat atviros skliausteliuose su PHP, 659 00:31:35,140 --> 00:31:36,610 ir tada naudokite spausdinimo funkciją. 660 00:31:36,610 --> 00:31:40,810 Pasirodo, kad PHP turi Sutrumpintas notacijos už tai, kuri yra tik 661 00:31:40,810 --> 00:31:45,050 lygybės ženklą, kuris yra techniškai funkcija vadinama echo vietoj spausdinti, 662 00:31:45,050 --> 00:31:46,800 bet tai tas pats, efektyviai. 663 00:31:46,800 --> 00:31:48,440 >> Tai tiesiog atrodo geriau. 664 00:31:48,440 --> 00:31:50,510 Tai tiesiog sintaksinis cukraus, jei norite, 665 00:31:50,510 --> 00:31:52,260 kad daro mano kodas atrodyti šiek tiek geriau. 666 00:31:52,260 --> 00:31:54,010 Tačiau paaiškėja, ir matysime tai dar kartą 667 00:31:54,010 --> 00:31:57,420 prieš ilgas, mes turime tai vadiname annoyingly vadinamas ilgas funkcija 668 00:31:57,420 --> 00:32:00,582 HTML specialių simbolių in PHP, nes paaiškėja, 669 00:32:00,582 --> 00:32:02,790 yra tam tikras žaliavas kad vartotojas gali duoti mums, 670 00:32:02,790 --> 00:32:05,160 arba kad vartotojai gali duoti mums, kad ketina nutraukti mūsų svetainę. 671 00:32:05,160 --> 00:32:07,035 Bet mes pamatysime, kad kitą savaitę su JavaScript. 672 00:32:07,035 --> 00:32:10,740 Bet dabar, tiesiog žinau, kad Šis failas, headers.php, tiesiog 673 00:32:10,740 --> 00:32:13,040 laikosi pavadinimą, Aš praėjo, tai padaryti 674 00:32:13,040 --> 00:32:17,380 įsitikinkite, kad jis yra saugus, kurį reikia sušvirkšti į interneto puslapis, ir jis išspjauna jį kaip mano pavadinime 675 00:32:17,380 --> 00:32:18,640 ir kaip mano H1. 676 00:32:18,640 --> 00:32:24,440 Taigi, jei aš einu į šią versiją dabar pastebėsite, kad paskaitos turi savo pavadinimą atgal, 677 00:32:24,440 --> 00:32:28,630 nulis savaitę turi savo pavadinimą atgal, ir Iš tiesų, HTML, aš generuoti 678 00:32:28,630 --> 00:32:32,110 yra identiškas, ką mano pirmąją versiją was-- išskyrus mano tarpų, 679 00:32:32,110 --> 00:32:35,150 nes aš pradėjau formatavimą mano kodas šiek tiek kitaip. 680 00:32:35,150 --> 00:32:38,082 Bet aš generuojami visi kodas Aš rūpi. 681 00:32:38,082 --> 00:32:39,790 Taigi leiskite man pristabdyti tik akimirka ir pamatyti 682 00:32:39,790 --> 00:32:42,200 jei yra kokių nors klausimų ar man painiava sukūrėte. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 Gerai, tad pasukti šiek tiek sunkiau čia 685 00:32:48,150 --> 00:32:51,500 pamatyti, jei ten yra galimybė tobulinti. 686 00:32:51,500 --> 00:32:56,130 Helpers.php taip pat turėjo tai funkcija, vadinama renderFooter. 687 00:32:56,130 --> 00:32:59,652 Ir kas Pažymėtina apie renderHeader ir renderFooter? 688 00:32:59,652 --> 00:33:02,610 Ir vėl, šiandienos tikslais žinoti kad ekstraktas funkcija yra tik 689 00:33:02,610 --> 00:33:08,280 mano būdas artimųjų argumentų į header.php ir footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> Atsiprašome? 692 00:33:11,780 --> 00:33:13,056 >> Auditorija: [nesigirdi] 693 00:33:13,056 --> 00:33:15,180 DAVID Malan: Taip, aš tik pasikeitė reikalauja linija. 694 00:33:15,180 --> 00:33:19,410 Taigi pažodžiui, aš padaręs nuodėmę kopijavimo ir įklijavimo dar kartą. 695 00:33:19,410 --> 00:33:21,920 Tai nėra labai daug linijų, bet ateis on-- 696 00:33:21,920 --> 00:33:25,220 jei aš kopijuodami viską tiesiog pakeisti vieną mažą žodį 697 00:33:25,220 --> 00:33:28,610 ir vienas mažas žodis, Alanas atkreipia OUT Footer čia, lyginant su header čia. 698 00:33:28,610 --> 00:33:30,670 Priešingu atveju, viskas yra vienodos, išskyrus, 699 00:33:30,670 --> 00:33:32,180 Žinoma, ši funkcija vardai. 700 00:33:32,180 --> 00:33:33,690 Taigi, ką galėtume padaryti geriau? 701 00:33:33,690 --> 00:33:39,810 >> Na leiskite man atverti šią versiją čia, kur į helpers.php, 702 00:33:39,810 --> 00:33:42,300 kodėl ne aš tiesiog gauti tiek protingesni apie tai? 703 00:33:42,300 --> 00:33:46,410 Parašyk šiek tiek sudėtingesnis kodas, bet ją vadina padaryti? 704 00:33:46,410 --> 00:33:48,470 Taigi, ką aš iš esmės pasikeitė? 705 00:33:48,470 --> 00:33:51,770 >> Tai užtrunka argumentą now-- du argumentai, duomenų dar. 706 00:33:51,770 --> 00:33:54,444 Ir kas tada pirmas vardas tikriausiai yra naudojamas, 707 00:33:54,444 --> 00:33:55,860 remiantis tuo, kas jūs skaitote čia? 708 00:33:55,860 --> 00:33:58,452 Net jei kai kurie iš sintaksė yra dar nauja. 709 00:33:58,452 --> 00:33:59,660 Kas yra dolerio ženklas šablonas? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> Atsiprašome? 712 00:34:03,016 --> 00:34:03,710 >> Auditorija: ar apačią. 713 00:34:03,710 --> 00:34:04,510 >> DAVID Malan: ar apačią. 714 00:34:04,510 --> 00:34:07,134 Taigi, matyt, aš nusprendžiau, kad jei vienintelis dalykas, kuris keičiasi 715 00:34:07,134 --> 00:34:10,159 kas šabloną Noriu į print-- ir šabloną 716 00:34:10,159 --> 00:34:13,100 Aš turiu galvoje, tai yra koncepciją, kodas, kuris Noriu produkcijos, 717 00:34:13,100 --> 00:34:16,350 bet aš noriu prijungti kai kurie values-- todėl, jei tai tik antraštės 718 00:34:16,350 --> 00:34:20,440 arba poraštės, kodėl ne aš parameterize kad ir skambinkite argumentas dolerio ženklas 719 00:34:20,440 --> 00:34:21,409 šablonas? 720 00:34:21,409 --> 00:34:26,250 Ir tai funky sintaksė leidžia man sukurti kelią į kintamąjį čia. 721 00:34:26,250 --> 00:34:28,030 >> Taigi dolerio ženklas kelias yra kintama. 722 00:34:28,030 --> 00:34:31,120 Ką tai sintaksę daryti, jei esate susipažinę? 723 00:34:31,120 --> 00:34:32,512 Taip? 724 00:34:32,512 --> 00:34:34,065 >> Auditorija: [nesigirdi] 725 00:34:34,065 --> 00:34:34,940 DAVID Malan: Būtent. 726 00:34:34,940 --> 00:34:37,600 Jei šablonas yra citata citatos pabaiga, galva, arba jei šablonas yra, 727 00:34:37,600 --> 00:34:41,170 citata citatos pabaiga, apačia, kad linija yra kad aš pabrėžė, linija aštuoni, 728 00:34:41,170 --> 00:34:46,330 tiesiog vartojate šį pavadinimą, pavyzdžiui, antraštės, ir concatenating su dot PHP. 729 00:34:46,330 --> 00:34:49,750 Taigi mes neturėjome šį operatorių C Tai taškas operatorius 730 00:34:49,750 --> 00:34:54,520 nuostabi dalykas PHP-- jei esate susipažinęs su JavaScript arba Java, 731 00:34:54,520 --> 00:34:56,949 galite naudoti pliuso pasirašyti daryti sujungimas. 732 00:34:56,949 --> 00:34:59,974 >> C, tai yra į neck-- skausmas ir aš taip gaila, kad p nustatytas šešių, 733 00:34:59,974 --> 00:35:02,390 jūs ketinate daryti this-- tai yra kaklo skausmas 734 00:35:02,390 --> 00:35:03,930 Jungiant eilutes. 735 00:35:03,930 --> 00:35:04,670 Kodėl? 736 00:35:04,670 --> 00:35:06,580 Na, nes jei jūs turite eilutė, tai taip ilgai, 737 00:35:06,580 --> 00:35:09,538 ir kitą eilutę tai taip ilgai, Jūs negalite tiesiog prijunkite juos kartu. 738 00:35:09,538 --> 00:35:11,070 Ką jūs, o ne daryti, C? 739 00:35:11,070 --> 00:35:11,680 Taip? 740 00:35:11,680 --> 00:35:12,380 >> Auditorija: [nesigirdi] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: Jūs turite malloc atminties arba naudoti masyvą ant kamino. 742 00:35:15,090 --> 00:35:17,214 Ir jūs iš tikrųjų turi padaryti, kad masyvas pakankamai didelis 743 00:35:17,214 --> 00:35:20,940 kad tilptų šis plius tai, plius Backslash nulis. 744 00:35:20,940 --> 00:35:24,994 Tada Jungiant juos kartu naudojant maišykite katė arba rankiniu būdu su už kilpos, 745 00:35:24,994 --> 00:35:26,160 arba bet metodus, skaičius. 746 00:35:26,160 --> 00:35:27,760 Ir mes parodysime jums per porą P-nustatyti šeši. 747 00:35:27,760 --> 00:35:29,080 >> Tai, kaklo skausmas. 748 00:35:29,080 --> 00:35:34,190 Ir tai yra tikrai tai, ką aš turiu galvoje apie Tai, palyginti su this-- kaip C, palyginti su PHP. 749 00:35:34,190 --> 00:35:36,870 Jūs tik gauti daug daugiau funkcionalumas nemokamai 750 00:35:36,870 --> 00:35:39,030 taip, kad jūs galite sutelkti dėmesį, Idealiu atveju, ant fun 751 00:35:39,030 --> 00:35:41,190 dalis kodavimas, The Projektas norite išspręsti, 752 00:35:41,190 --> 00:35:43,190 o ne žemo lygio smulkmenų. 753 00:35:43,190 --> 00:35:49,840 >> Taigi tai tik generuoja header.php arba footer.php kuriais remiantis vienas aš skambinti. 754 00:35:49,840 --> 00:35:52,280 Ir iš tiesų, jei aš einu į index.php, pranešimas 755 00:35:52,280 --> 00:35:56,230 visi, kad changed-- Vietoj raginama teikti antraštę ar padaryti apačia, 756 00:35:56,230 --> 00:36:00,230 Aš raginama teikti, o po to Pavadinimas šabloną, kad aš noriu padaryti. 757 00:36:00,230 --> 00:36:02,370 Ir jūs pamatysite tai, taip pat, į problemą septynis, 758 00:36:02,370 --> 00:36:05,530 kurią mes leidžia jums naudoti pačią funkciją padaryti kekių 759 00:36:05,530 --> 00:36:07,550 ir kekių įvairių tinklalapių. 760 00:36:07,550 --> 00:36:10,570 >> Taigi, o ne gyventi per daug daugiau tų details-- 761 00:36:10,570 --> 00:36:13,210 kuri pamatysite vėl Problema rinkinys seven-- pažiūrėkime 762 00:36:13,210 --> 00:36:16,850 ne dabar iš tirpalo pradžioje į įdomesnio problema. 763 00:36:16,850 --> 00:36:19,310 Iki šiol nieko mes padaryti yra išsaugotus duomenis. 764 00:36:19,310 --> 00:36:22,920 Tiesą sakant, tik laiko mes kada nors išgelbėti kažkas, ką mes padarėme šioje klasėje 765 00:36:22,920 --> 00:36:31,030 yra, kai mes turėjo labai paprastą demo kurį laiką atgal, kurią mes naudojamas failo IO C, 766 00:36:31,030 --> 00:36:34,520 ir aš manau, aš įvedėte mano vardu, ir Hannah vardas, ir Maria vardas, 767 00:36:34,520 --> 00:36:37,610 arba gal Andy vardas ir tada mes išgelbėti CSV file-- 768 00:36:37,610 --> 00:36:39,430 atskyrus kableliu failą. 769 00:36:39,430 --> 00:36:43,530 >> Ir mes naudojome fopen-- Manau mes naudojome fprintf kaip prisimenu, 770 00:36:43,530 --> 00:36:44,910 ir mes išgelbėti failą. 771 00:36:44,910 --> 00:36:46,920 Dabar, kad yra paprasčiausias forma bazėje. 772 00:36:46,920 --> 00:36:50,230 Jei norite padaryti dėl svetainės Frosh IGS programoje, pagal kurią pirmakursiai 773 00:36:50,230 --> 00:36:53,390 gali registruotis sporto, jums idealiai noriu padaryti kažką su tais duomenimis. 774 00:36:53,390 --> 00:36:55,370 Praėjusią savaitę, mes nieko su data-- mes ką tik pasakė, 775 00:36:55,370 --> 00:36:56,661 esate užsiregistravęs, tikrai ne. 776 00:36:56,661 --> 00:36:58,950 Arba gal aš elektroniniu paštu Proctor, ir kad ji buvo. 777 00:36:58,950 --> 00:37:02,110 >> Bet tai būtų malonu, jei galėčiau duoti, kad Proctor CSV failą, 778 00:37:02,110 --> 00:37:03,340 kaip Excel failą. 779 00:37:03,340 --> 00:37:05,090 Arba dar geriau, tai malonu, jei galėčiau 780 00:37:05,090 --> 00:37:08,830 įdėti tiems vartotojams, vardus ir bendrabučio vardus ir visi, kad 781 00:37:08,830 --> 00:37:11,740 į duomenų bazę, kuri tiesiog gyvena amžinai, 782 00:37:11,740 --> 00:37:13,530 kol aš pasirinksiu ištrinti duomenis. 783 00:37:13,530 --> 00:37:15,645 Duomenų bazę, kuri leidžia man užklausos informaciją. 784 00:37:15,645 --> 00:37:18,070 Ir iš tiesų, tai ką duomenų bazė yra. 785 00:37:18,070 --> 00:37:20,470 >> Pristatome šiandien, ir kitą savaitę, taip pat, technologija 786 00:37:20,470 --> 00:37:25,020 vadinamas SQL-- Struktūrinis užklausa Kalba, kuri yra kita kalba. 787 00:37:25,020 --> 00:37:28,750 Tai iš esmės yra programavimo kalba, bet duomenų bazių. 788 00:37:28,750 --> 00:37:31,760 Ir duomenų bazė dabar tik galvoti, kaip super išgalvotas versija 789 00:37:31,760 --> 00:37:35,710 "Microsoft Excel", ar "Google" Skaičiuoklės, ar "Apple" numerius. 790 00:37:35,710 --> 00:37:39,950 Tai paprastai yra programa, kuri leidžia jums laikyti visa krūva duomenis 791 00:37:39,950 --> 00:37:43,960 eilėmis ir stulpeliais, gana kaip jums gali Excel. 792 00:37:43,960 --> 00:37:47,100 >> Bet kas malonu, ypač jei mes ne itin gerai susipažinęs su Excel, 793 00:37:47,100 --> 00:37:52,040 kas SQL leidžia jums padaryti, tai užklausos ši informacija raštu kodo eilutes 794 00:37:52,040 --> 00:37:55,220 kur jūs galite, net jei jūsų duomenų bazė turi milijono eilučių jame, 795 00:37:55,220 --> 00:37:57,190 Jūs rasite dalykų, super greitai. 796 00:37:57,190 --> 00:37:59,950 Iš tiesų, Excel yra ypač neblogai didelių duomenų rinkinių. 797 00:37:59,950 --> 00:38:02,460 Ir iš tikrųjų, iki kelių prieš keletą metų, paaiškėjo, 798 00:38:02,460 --> 00:38:08,890 "Excel leistų jums laikyti tik iki 65.535 eilučių data-- kuris 799 00:38:08,890 --> 00:38:12,020 skamba kaip daug, bet ne kartą buvau grad studentas, 800 00:38:12,020 --> 00:38:14,920 ir aš prisiminti užkliuvimo per tai, nes aš buvo generuoti 801 00:38:14,920 --> 00:38:17,900 CSV failus savo mokslinių tyrimų ir I norėjo juos analizuoti greitai 802 00:38:17,900 --> 00:38:19,530 tiesiog atverti Excel. 803 00:38:19,530 --> 00:38:23,730 Žinoma, mano kompiuteris tiesiog sudužo, nes turėjau daugiau nei 65000 eilučių. 804 00:38:23,730 --> 00:38:27,210 >> Bet kur padarė 65.535 atsirado? 805 00:38:27,210 --> 00:38:29,670 Kas buvo "Microsoft daro, matyt? 806 00:38:29,670 --> 00:38:32,430 Jei esate gera su savo galias dviejų? 807 00:38:32,430 --> 00:38:37,160 Taip, jie buvo naudoti 16 bitų vertė atstovauti eilės numerį. 808 00:38:37,160 --> 00:38:41,310 Ir du 16 yra 65,536-- atėmus vieną, nes jei 809 00:38:41,310 --> 00:38:45,414 nulis puslapis reiškia, kad buvo Patys eilučių skaičius galėčiau turėti. 810 00:38:45,414 --> 00:38:46,830 Ir tai buvo tik dizainas sprendimas. 811 00:38:46,830 --> 00:38:52,760 Taupydami 16 bitai, jie man ribojamas 16.000 eilučių, o 4 mlrd, 812 00:38:52,760 --> 00:38:54,322 kurį aš galėjo idealiai. 813 00:38:54,322 --> 00:38:57,030 Bet dabar, mes ketiname pristatyti šį daugiau interneto kontekste. 814 00:38:57,030 --> 00:39:00,390 Ir kas malonu apie SQL yra tai, kad net nors tai gana galingas ir gana 815 00:39:00,390 --> 00:39:04,050 sudėtingas, tai tikrai verda iki keturi pagrindiniai veiksmai, keturi 816 00:39:04,050 --> 00:39:08,060 Pagrindinės funkcijos, jei will-- pasirinkite, už nuskaitant duomenis, ieškant 817 00:39:08,060 --> 00:39:12,510 duomenų; ištrinti ar ištrinti duomenis; įterpti pridėti eilutes į duomenų bazę; 818 00:39:12,510 --> 00:39:13,410 ir atnaujinimas. 819 00:39:13,410 --> 00:39:17,010 Taigi, jei jūs kada nors naudoti "Google" Skaičiuoklės, "Apple", "Microsoft" numeriai 820 00:39:17,010 --> 00:39:19,310 "Excel", turite įvykdytas, Labiausiai tikėtina, kad visi 821 00:39:19,310 --> 00:39:22,530 iš šių operacijų kaip žmogaus pagal tik naudojant klaviatūrą ir mouse-- 822 00:39:22,530 --> 00:39:26,050 įterpiant duomenis, naudodami savo akis pasirinkite arba ieškoti duomenų, 823 00:39:26,050 --> 00:39:28,360 arba atnaujinti duomenis ar ištrinti duomenis. 824 00:39:28,360 --> 00:39:29,870 >> Taigi, ką tai reiškia? 825 00:39:29,870 --> 00:39:34,300 Na, iš anksto įdiegta į CS50 IDE yra programa, vadinama MySQL. 826 00:39:34,300 --> 00:39:37,050 Tai nemokama, atviro kodo duomenų, kad super populiarus. 827 00:39:37,050 --> 00:39:40,590 Facebook, pavyzdžiui, naudoja jį ši be kitų priemonių, kurias jie naudoja dieną. 828 00:39:40,590 --> 00:39:44,300 Ir labai populiarių svetainių aikštelė naudoti tai didele dalimi todėl, kad tai greitai, 829 00:39:44,300 --> 00:39:45,230 ir todėl ji nemokama. 830 00:39:45,230 --> 00:39:46,820 Nors tikrai alternatyvų. 831 00:39:46,820 --> 00:39:49,580 Ir kai kurie iš jūsų gali taškytis su alternatyvos galutinių projektų. 832 00:39:49,580 --> 00:39:55,330 >> Tai yra ekrano, tuo tarpu, iš internetinė priemonė vadinama phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 Tai yra sutapimas, kad Šis internetinis įrankis taip pat 834 00:39:58,260 --> 00:40:01,720 parašyta kalba, PHP bet ką tai reiškia, daryti 835 00:40:01,720 --> 00:40:04,620 yra mums internetinė Sąsaja su duomenų baze. 836 00:40:04,620 --> 00:40:07,180 Kadangi MySQL paprastai yra kažkas, istoriškai jus 837 00:40:07,180 --> 00:40:08,770 būtų sąveikauti su tik su komandų eilutę. 838 00:40:08,770 --> 00:40:10,811 Ir tai būtų super erzina ir paslaptinga turėti 839 00:40:10,811 --> 00:40:14,487 rašyti tekstinius komandas pasirinkti duomenys, įrašyti duomenis ir ištrinti duomenis. 840 00:40:14,487 --> 00:40:16,820 Taigi keletas patarimų internete žmonės rašė žiniatinklio programa 841 00:40:16,820 --> 00:40:18,900 kad tiesiog leiskite mums valdyti Į mūsų duomenų bazėje duomenys. 842 00:40:18,900 --> 00:40:23,040 Tai kaip dukart paspaudę ant "Excel", ir veikia jų žiniatinklio versiją. 843 00:40:23,040 --> 00:40:26,370 >> Ir ką jūs ketinate naudoti šį galiausiai kitą savaitę, o ne p nustatytas šešių, 844 00:40:26,370 --> 00:40:28,680 bet yra sukurti kažką vadinamas CS50 Finansai, kuri 845 00:40:28,680 --> 00:40:32,630 ketina turėti duomenų bazę vartotojams, su vartotojo vardai ir slaptažodžiai, 846 00:40:32,630 --> 00:40:34,860 sumas doleriais, kad jie turi savo banko sąskaitas. 847 00:40:34,860 --> 00:40:37,280 Tai bus ką jūs naudojate saugoti 848 00:40:37,280 --> 00:40:39,910 simboliai ir kiekiai išteklių, apie kuriuos vartotojai 849 00:40:39,910 --> 00:40:42,567 nusipirkau naudojant virtualios dolerių, kad jums duoti jiems. 850 00:40:42,567 --> 00:40:44,900 Ir jis ketina leisti vartotojams užsiregistruoti savo svetainę, 851 00:40:44,900 --> 00:40:47,190 taip, kad net jūsų draugai galima sureguliuoti į savo svetainę 852 00:40:47,190 --> 00:40:49,360 ir faktiškai įregistruoti, prisijunkite, ir pažaisti 853 00:40:49,360 --> 00:40:52,807 ir pabandyti surasti gedimą jūsų kodas, ir pabandyti surasti klaidas į savo svetainę. 854 00:40:52,807 --> 00:40:55,390 Ir jie bus tiesiog registruotis pridedant save, efektyviai, 855 00:40:55,390 --> 00:40:58,120 per kodą, kurį rašyti į savo duomenų bazę. 856 00:40:58,120 --> 00:41:02,470 >> Pavyzdžiui, tai greitai ekrano kas duomenų bazė gali atrodyti. 857 00:41:02,470 --> 00:41:05,190 Tai buvo iš vienos iš praėjusių metų solutions-- 858 00:41:05,190 --> 00:41:07,760 tai tarsi mini Excel failą, saugomi mūsų duomenų bazėje, 859 00:41:07,760 --> 00:41:09,950 saugomi šiame programinė įranga vadinama MySQL. 860 00:41:09,950 --> 00:41:13,260 Kairėje pusėje, aš, matyt, suteikta kiekvienam vartotojui unikalų numerį. 861 00:41:13,260 --> 00:41:16,200 Antroje skiltyje, aš suteikti Kiekvienas naudotojas name-- my own 862 00:41:16,200 --> 00:41:16,880 tarp jų. 863 00:41:16,880 --> 00:41:21,430 Ir dešinėje pusėje, Aš davė jiems maišos. 864 00:41:21,430 --> 00:41:26,760 >> Dabar tai tikrai slaptažodį bet tai nėra paprastas tekstas slaptažodį. 865 00:41:26,760 --> 00:41:30,160 Tai užšifruotos slaptažodį, jei Jums bus arba maišos slaptažodį. 866 00:41:30,160 --> 00:41:32,000 Kuris mes grįžti į prieš ilgas. 867 00:41:32,000 --> 00:41:34,340 >> Bet jei jūs kada nors skaityti straipsnis apie tai, kaip 868 00:41:34,340 --> 00:41:37,950 Jūsų slaptažodis tikru banku arba kai svetainė gali būti pažeistas, 869 00:41:37,950 --> 00:41:39,630 ji iš esmės gali reikšti vieną iš dviejų. 870 00:41:39,630 --> 00:41:42,780 Taigi tai yra tiesiog šešių vartotojų ištrauka. 871 00:41:42,780 --> 00:41:45,460 Visi jūs dabar gali suprasti iš per įsilaužimo arba skilinėjimą 872 00:41:45,460 --> 00:41:47,690 kas mūsų šešių žmonių slaptažodžiai. 873 00:41:47,690 --> 00:41:49,720 Bet jei jūs kada nors Dotarłeś perspėjimas ar atsiprašymas 874 00:41:49,720 --> 00:41:52,803 iš bendrovės arba svetainėje sakydamas, Atsiprašome, hakeris įsilaužė į mūsų duomenų bazę, 875 00:41:52,803 --> 00:41:56,360 jūs tikriausiai turėtų pakeisti savo slaptažodį, ką gali tai reiškia? 876 00:41:56,360 --> 00:41:59,670 >> Na, vienas, gali reikšti, kad kompanija buvo daugiau Kretyński, 877 00:41:59,670 --> 00:42:03,630 ir buvo laikyti slaptažodį kaip šiuo skiltyje, paprastasis. 878 00:42:03,630 --> 00:42:05,840 Tai reiškia, kad priešininkui, kas pavogė duomenų bazę, 879 00:42:05,840 --> 00:42:07,440 tiesiog žino jūsų Vartotojo vardas ir slaptažodis. 880 00:42:07,440 --> 00:42:08,960 Štai blogiausią atvejį. 881 00:42:08,960 --> 00:42:11,710 Ir kaip jūs pamatysite p-Set septynių, todėl lengva išvengti. 882 00:42:11,710 --> 00:42:15,624 Nėra absoliučiai jokio pateisinimo, kad forma kvailumo šiandienos internete. 883 00:42:15,624 --> 00:42:18,540 Two-- ir mes surasime keletą straipsnių liudyti, kad tai vis dar 884 00:42:18,540 --> 00:42:21,710 atsitinka, nonetheless-- du, o gal priešas 885 00:42:21,710 --> 00:42:23,840 pavogė šį duomenų bazės versiją. 886 00:42:23,840 --> 00:42:27,110 Kuri vis dar yra rūšies blogai, nes dabar jie žino, kad aš turiu šešis klientus, 887 00:42:27,110 --> 00:42:29,270 Aš žinau, naudotojo vardus šių šešių klientams 888 00:42:29,270 --> 00:42:32,910 ir aš žinau, šifruotą versijos, arba maišytą versijos, 889 00:42:32,910 --> 00:42:34,340 šių šešių klientų slaptažodžius. 890 00:42:34,340 --> 00:42:37,010 Bet kas nors iš jūsų, kurie gali padariau [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 kur krekingo slaptažodžius, ar buvo a look tuo problemos versijos 892 00:42:41,150 --> 00:42:46,280 rinkinys, kodėl ji vis dar mažai jaudina jei priešininkas žino savo maišos 893 00:42:46,280 --> 00:42:47,435 slaptažodžius? 894 00:42:47,435 --> 00:42:49,732 >> Auditorija: Nes jie galėtų įveskite visą žodyną 895 00:42:49,732 --> 00:42:50,690 į maišos funkcija. 896 00:42:50,690 --> 00:42:54,520 Ir jei jūsų slaptažodis yra žodynas Žodis [? jie gali tiesiog match--?] 897 00:42:54,520 --> 00:42:57,640 >> DAVID Malan: Būtent, priešas galite tiesiog parašyti kodą, kaip kai kurie iš jūsų 898 00:42:57,640 --> 00:43:00,526 padarė [? Hakerių?] 2, kuriuo galite pakartoti per 899 00:43:00,526 --> 00:43:03,400 visi žodyne tariant, ar visi galimi deriniai A 900 00:43:03,400 --> 00:43:06,610 per Z ir vienas per nine-- kurioje sounds kaip daug, ir jis yra. 901 00:43:06,610 --> 00:43:08,361 Bet kompiuterio, tai pretty darn greitai. 902 00:43:08,361 --> 00:43:10,610 Ir iš tikrųjų, kad buvo taškas [? Hacker 2,?] Buvo 903 00:43:10,610 --> 00:43:12,540 imtis dalykų, kad tiesiog atrodo taip, 904 00:43:12,540 --> 00:43:14,900 ir perkonstruoti ką ji iš tikrųjų buvo. 905 00:43:14,900 --> 00:43:17,270 >> Taigi mes pažvelgti, kaip mes galime laikyti tai efektyviau. 906 00:43:17,270 --> 00:43:20,210 Pasirodo, laimei MySQL, Yra bus duomenų tipai. 907 00:43:20,210 --> 00:43:22,800 Ir vienas iš smagių dalys apie duomenų bazių projektavimas, būti sąžiningais, 908 00:43:22,800 --> 00:43:25,810 iš tikrųjų nuspręsti už save kaip jūs turėtumėte atstovauti duomenis? 909 00:43:25,810 --> 00:43:29,630 Jei atstovaujate telefono numerį, kaip int, kaip didelis skaičius, ar ilgai? 910 00:43:29,630 --> 00:43:31,630 Arba jūs iš tikrųjų tai padaryti kaip simbolių sekos? 911 00:43:31,630 --> 00:43:33,780 Ir ten gali būti labai neakivaizd poveikis apie tai. 912 00:43:33,780 --> 00:43:36,714 >> Iš tiesų, vienas iš anksčiau įdomus Germane istorijos 913 00:43:36,714 --> 00:43:39,880 yra tada, kai Markas Zuckerberg statė "Facebook", iš pradžių ji buvo parašyta, 914 00:43:39,880 --> 00:43:42,300 ir vis dar daugiausia parašyta PHP. 915 00:43:42,300 --> 00:43:45,400 Ir vienas iš didžiausių iššūkių jie susiduria anksti buvo mastelio. 916 00:43:45,400 --> 00:43:48,820 Kai jie laikomi pridedant mokyklą po Mokykla po mokyklos, mano žiniomis, 917 00:43:48,820 --> 00:43:51,639 vienas iš originalių sprendimų esmės buvo nukopijuoti ir įklijuoti 918 00:43:51,639 --> 00:43:53,430 kai kurie iš duomenų bazių, ir kai kurie iš kodą, 919 00:43:53,430 --> 00:43:55,346 kad Harvardo buvo veikia savo serverį, 920 00:43:55,346 --> 00:43:56,995 ir MIT buvo paleista savo serveryje. 921 00:43:56,995 --> 00:43:59,120 Ir tai buvo, kodėl, kai iš jūsų, kurie gali priminti, 922 00:43:59,120 --> 00:44:01,510 tu negali turėti draugų kituose tinkluose. 923 00:44:01,510 --> 00:44:05,050 >> Jūs tikriausiai neturite draugų ne MIT arba Harvardo prieš 10 metus ar panašiai, 924 00:44:05,050 --> 00:44:07,467 bet tu negali apimti tinklus Iš dalies dėl šios priežasties. 925 00:44:07,467 --> 00:44:10,550 Ir vienas iš didžiausių iššūkių Markas ir įmonėms, pavyzdžiui, "Facebook" 926 00:44:10,550 --> 00:44:13,460 iš tikrųjų tvarkymo šimtus ir tūkstančiai ir milijonai 927 00:44:13,460 --> 00:44:14,460 Prašymų per sekundę. 928 00:44:14,460 --> 00:44:16,501 Taigi, ką mes pradėsime kalbame apie šią savaitę 929 00:44:16,501 --> 00:44:19,860 tikrai bus Priklauso rašyti gerą programinę įrangą, o populiariai 930 00:44:19,860 --> 00:44:23,040 sėkmingomis priemonėmis, kad gali dirbti daug vartotojų. 931 00:44:23,040 --> 00:44:25,460 >> Taigi mes kalbame apie tokius dalykus kaip indeksavimo ir paieškos, 932 00:44:25,460 --> 00:44:26,910 bet tai ją šiandien. 933 00:44:26,910 --> 00:44:28,780 Mes jus pamatyti daugiau trečiadienį. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [Muzika - "Seinfeld" TEMA] 936 00:44:33,902 --> 00:44:35,943 DAVID Malan: galite ji, ir atimti iš jo. 937 00:44:35,943 --> 00:44:38,859 Ir jūs neturite klijuoti su kai iš anksto nustatomi atminties kiekis. 938 00:44:38,859 --> 00:44:40,580 Na, kas tai bus vadinama? 939 00:44:40,580 --> 00:44:42,369 >> GARSIAKALBIS 1: Na, kas vyksta? 940 00:44:42,369 --> 00:44:43,535 SPEAKER 2: Ką tai reiškia? 941 00:44:43,535 --> 00:44:44,451 Jis suteikia paskaitą. 942 00:44:44,451 --> 00:44:47,650 DAVID Malan: Ir mes galime naudoti funkcija vadinama malloc į memory-- 943 00:44:47,650 --> 00:44:50,050 >> GARSIAKALBIS 1: Kodėl ne jo rankos juda? 944 00:44:50,050 --> 00:44:52,450 >> SPEAKER 2: Na that's-- žinote, kad tai normalu. 945 00:44:52,450 --> 00:44:57,162 Tai kaip jis turi tik Didelės dešrelės kabo ten. 946 00:44:57,162 --> 00:44:59,040 >> GARSIAKALBIS 1: Tai normalu? 947 00:44:59,040 --> 00:45:03,096 >> SPEAKER 2: Taip, aš manau, kad mes tiesiog manyti, jis netyčia 948 00:45:03,096 --> 00:45:06,840 pakeisti savo dezodorantas su superglue. 949 00:45:06,840 --> 00:45:07,608