>> [Musika jotzen]
>> DAVID J. MALAN: Guztiak eskubidea.
Hau da CS50.
Aste honetan zortzi hasiera da.
Eta gogoratzen dezakezu utzi dugun Azken aldiz hizkuntza berri bat bilatzen
guztiz.
Izan ere, bat ere hori da nahiko arina eta ez da, nahiz
programazio hizkuntza bat.
Da markup hizkuntza bat da, aukera ematen digu benetan egituratzeko eta web orriak egiteko.
Eta noiz beste zerbait this-- batzuekin batera
edo laster izango duzu, Ez duzu jadanik.
Kaskadako erabili goaz Estilo-orriak, edo CSS, eta horrek
hizkuntza mota bat da propietate eta balioak
hori gurekin egiten utzi du Gauzak gustatzen kolorea aldatu
eta posizio aldatzeko eta Tweaks mota horiek.
Baina, gaur egun eta aurrerantzean, hasiko dugu hizkuntzak ahaltsuagoa ardatz,
Benetako programazio PHP bezalako hizkuntza.
>> Beraz, PHP inguruan izan da denbora pixka bat.
Eta ikusiko da jo batik bat diseinatu zen,
goiz benetako egiteko web garapenean erabili
eta egia esan, web orriak sortuz.
Beraz, zer mota Ezaugarri hizkuntza bat du
Web egiteko behar dinamikoki berarekin orriak?
>> Bestela esanda, eman nahi baduzu edukiak Facebook-en bezala dynamically--
Newsfeed, etengabe aldatzen da, edo pop up duten noizean berehalako mezuak
zer bezalako time-- funtzionalitate funtsezko pieza
programazio hizkuntza batean behar duzun duzula dinamikoki utzi litzateke
pantailara berria informazioa inprimatzeko?
>> Ikaslea: Kodea.
DAVID J. MALAN: Kodea.
OK.
Duten hartu dugu.
Apur bat gehiago, hain zuzen.
Esan nahi dut, egin genezake C, Egia batekin.
Lepoan mina bat izango litzateke.
But-- konpromiso hau?
>> Ikaslea: Bai.
Aldagaiak, agian?
DAVID J. MALAN: aldagaiak.
OK, ziur.
Aldagaiak zalantzarik gabe lagunduko digu.
Eta nahiz eta zerbait errazagoa.
Erabiltzen dugu lehenbiziko Eta, gaur egun programa
benetan esan "kaixo mundua". dugu
>> Ikaslea: Print.
>> DAVID J. MALAN: Print, ezta?
Inprimatu, edo printf hasi C. Beraz, denbora horretan guztian munduan,
at dugu izan gure eskura hizkuntza elikatzen a C,
particular-- eta are Gai horren Scratch
Testu-kateak sor ditzake.
>> Beno, HTML bada, azken astean ikusi genuen bezala, testu kateak sorta oso bat besterik ez
Parentesi eta itxita irekia bada ere Parentesi eta errima mota batzuk
eta arrazoi horren atzean, Tira, bada benetan izan dugu
hasteko web orriak sortuz bai eskuz idazten gedit arabera
edo Microsoft Word-en, horretarako matter-- testu editore bat besterik ez dugu behar.
>> Edo kodea idatzi izan dugu, zure iradokizun
lehenago, gurekin utzi litzateke dinamikoki HTML sortzeko,
eta hori zer ari gara PHP egiten hasteko
eta, azken finean bat izan da, are gehiago, hizkuntza JavaScript izenekoa,
da hizkuntza bat erabili beste sortzeko.
Eta, hain zuzen, hau da, zer Facebook eta beste hainbatetan, beste guneak
egin benetan dinamikoki duzu berria informazioa bistaratu.
>> Hargatik hasiko this-- batekin críptica begira line, baina bat
hori da benetan nahiko indartsua.
Horrela, orain arte, izan dugu C erabiliz, bertan konpilatu hizkuntza da.
Eta recap-- azkar bat besterik ez konpilatu hizkuntza zein den du?
Jakina, behar duzu konpilatu , baina zer esan nahi du horrek?
Bai?
>> Ikaslea: izan behar da makina kodea sartu muntatu.
>> DAVID J. MALAN: Ados.
Muntatu behar da makina kodea sartu.
Beraz, zure iturburu-kodea hartu duzu, bertan ingelesa bezalako moduko da.
Duten bihurtzen Zerbait maila txikiagoa,
azken finean deritzo objektu-kode, 0 eta 1-en.
Eta horiek 0 da eta 1-en dugun CPU bat, horiek Intel egindakoak bezalaxe,
benetan ulertzen.
>> Orain, PHP eta Python eta Ruby eta Ikusteko Javascript-a eta bestelako sortak
hizkuntzak ez dira konpilatu hizkuntzak baina interpretatu hizkuntza,
horrek esan nahi du zuk idatzi besterik eta gero ez duzu buelta 0 eta 1-en sartu.
Horren ordez, orduan bezala ematen duzu norbaiten programara sarrera,
interprete bat deitu.
Eta pertsona horren programa diseinatu da
ulerturik eta bakoitzean Python edo PHP sinbolo guztietan
edo Ruby edo edozein zenbaki beste hizkuntza esan nahi du.
>> Eta beraz, behar dugun guztia da honen antzeko zerbait.
Beraz, hain zuzen ere, nahi dut joan tresnari
Hemen, edozein sartu leiho zaharrak, eta ez gara
Animatu eta open joan izeneko fitxategi batean, esan, kaixo.
Orain, aldez aurretik, I gorde izana hau are fitxategi-luzapen bat,
baina ez dut egin behar zerbait hemen errazagoa.
Aurrera joan eta hasiko naiz Fitxategi hau críptica sintaxia honekin.
Beraz, "Erabiltzaileak, bin, env, ingururako, php. "
>> Horrek, besterik gabe, kode lerro bat, hori da nire sistema eragilea esango,
joan zure tokiko aurkitu ingurunea edozein dela ere,
lekuan PHP interpreter-- du is-- eta aurrera eta interprete hori erabili
kode hau interpretatzeko.
Orain, hau da, mota PHP ezaugarri itsusi.
Baina hizkuntza honetan, edozein Denbora PHP kodea idatzi duzunean,
itsusi horietako bat izan behar duzu PHP tags hasieran mugatzen
Zure kode <? php dira.
>> Baina, hemen behean, zerbait egin ahal izango dut nahiko erraz, atsegin printf kaixo, koma
Mundu backslash n hurbil aurrekontua, itxi parentesi.
Eta, ondoren, ona besterik neurri, noa
Animatu eta hurbil joan Nire php hemen baino etiketa
beraz, dena itxura duten nicely polit inprimatuta.
>> Eta ahalik eta azkarren sakatu nuen bezala Save, gedit da benetan smart enough
Oso lehen lerroan begiratu eta konturatzen, oh, PHP kodea idazten ari zaren.
Let me sintaxia nabarmendua koloreak ezazu
Hemen, beraz, nabarmentzen pixka bat gehiago.
Baina orain ez dut joan nire terminal leihoa behera.
Handiagotzeko dut.
>> Programa hau deitzen zen "kaixo" beraz, naiz dot barra egin kaixo noa,
baina baimena ukatu.
Eta bash.
Benetan entzun dugu Duela gauza pare bat aste
ShellShock testuinguruan, bugs horietako bat.
>> Baina baimena ukatu ikusi dugu aurretik, beste testuinguru batean agian.
Norbaitek gogoratzen du nola zerbait konpontzeko baliteke
non baimena ukatu hau atsegin?
Zer da komandoa, gutxienez?
>> Ikaslea: Chmod.
DAVID J. MALAN: Bai, chmod, fitxategi baten moduan aldaketarako.
Eta lortu erabiliko du gehiago nahi duzu ondorengo arazo bat datorren aste honetan
ezarri.
Baina orain, naiz aldatu egingo dut modua ez da irakurgarria izan behar du,
baina denek executeability emateko pribilegioak, gaitasuna
fitxategia exekutatzeko.
Eta ez dut esleitu joan fitxategira duten kaixo.
>> Egin dut, gaur egun, gero dot barra kaixo sartu, duzu ikusi, izan ere, nire programa, kaixo mundua.
Eta zer urrats egin nuen argi salta?
Biltzea.
Beraz, programa hau exekutatu dut nahiko besterik gabe.
>> Eta bihurtzen da hori egin dezakezu Sintaxia asko C. gogorarazten
Let me joan gaurko kodea, bertan jarri dut nire ostalari direktorioa sartu
Hemen, benetako arrazoiengatik atzera etorri egingo dugu.
Eta ez dut nahi sartu joan, demagun, baldintza 1.
>> Eta ikusi hemen dituzu, lehen eta behin, iruzkinak sorta osoa.
Baina hau da benetan PHP re-sorkuntza
programa baten astean egin genuen baldintza bat deitzen 1.c
non helburuarekin Programa honen bizitza
itxuraz eskatu zenbaki oso bat erabiltzaileak
eta ondoren egin fluffy batzuk Analisi horren bidez on
esan duzu positiboa da edo bada negatiboa edo zero.
Eta Gora ekarri dut, besterik ez delako, agian, xehetasun bat izan ezik,
indistinguishable da C. batetik, orain arte
>> Zein da ezaugarria Hemen, agian joango
zaitu apur desberdin bat bezala?
Agian, bi gauza.
Bai?
>> Ikaslea: Dollar ikurra n?
>> DAVID J. MALAN: Bai.
Beraz dolarraren ikurra n presente.
Eta dolarraren seinaleak, hala ikusi dugu, joan dira
hasierara fix bat izan nahi du PHP edozein aldagai ere.
Bietan ona ona eta txarra izan da Ordena bistako zer da dela
aldagai bat, txarra hori da, oraindik beste gauza bat idatzi.
Eta ez da bat bestearen Gauza ez dugula nahiko
ikusi, gutxienez ortografia honetan. bai?
>> Ikaslea: ReadLine.
>> DAVID J. MALAN: ReadLine.
ReadLine ez genuen ikusi, per se, in C, zerbait existitzen bada ere
antzekoa da, baina getstring erabili dugu, eta hau bere zeuden dago.
Beraz, joan dut honetan sartu bada gida, gertatzen den bezala,
nire ostalari apur bat dut azaldu bezala direktorioa eta nire iturburu A,
eta aurrera joaten naiz eta ez dot barra conditions-- whoops-- dot barra
, baldintza 1, ikusiko duzu berriro, the issue-- baimena bera ukatu.
>> Beraz, utzi gerturatzeko me eta egin plus bat chmod x-baldintzak, dot barra-baldintzak.
Zenbaki oso bat nahi nuke, mesedez, 50.
Eta honetan jolastu ahal izan genuen Partida egun dabil.
Honez zehazki zein portaera izango aste batean egin bezala.
>> Ados, beraz, ez guztiak desberdinak, izan ezik ez soilik sintaxia apur apur hori,
baina goialdean, dut berriro lerro hau izan bertan
onartzen zerbait sortzeko me duten izeneko kaixo C programa baten itxura du,
baldintza izeneko 1.
Baina ez da 0 eta direnak Zuzenean exekutatzean naiz.
Honez ordez hau abiarazi interprete horren izena
Gertatzen hizkuntza berdina izan.
Programa deritzo PHP, eta nire kodea line azpian dago pasa ari.
>> Beste nahiko sinpleak egin ahal izango dugu Adibidez, zerbait gogorarazten
Duela aste egin dugu.
Berriz ere, hau antzekoa da, zatia kode arbitrarioa
Antza, ez du zer denean exekutatu duzu?
Zer da hau inprimatu, zentzuzkoa gertatzen da?
>> Beraz, hasiera batean, on line 16 da x da gaur egun 2, ziurrenik esan nahi du.
% D $ i printf bezala bera da.
Orduan nik cubing da, dot, dot, dot, line 17.
Eta gero, lerro 18 da agertuko Cubed funtzio bat deitzeko.
Eta non Cubed definitzen da?
>> Beno, itxura line 25 bezala, beraz, hori ez da guztiak desberdinak.
Nik gainetik lortu nuen zenbait iruzkin da, baina zati handiena,
nahiko erraza da eraman edo bihurtze
C PHP bertsio-programari.
Baina ez dira gaur egun pare bat agian salto egin behar dira desberdintasunak.
Zer gehiago da, nola desberdin C programa hau bera idatzi dezake?
>> STUDENT: [INAUDIBLE].
>> DAVID J. MALAN: Ez dago no prototipoa sortu top.
Beraz, PHP eta Egia, a languages-- moderno asko
dira asko smarter eta gehiago lagungarria Baino C Konpilatzaileak duzula
Hemen funtzioa jar ditzake, funtzio bat behera jarri dezakezu hemen,
eta interprete va duzu irakurketa mesedea
fitxategi osoak erabakitzen aurretik funtzio batzuk hori ez da existitzen.
Hain polita hobekuntzak urte geroago.
Baina ez da zerbait bestela desberdinak edo ez hemen.
Bai?
>> STUDENT: [INAUDIBLE].
DAVID J. MALAN: dugu ez dute aldagaiak deklaratzeko,
beraz, ikusiko dugu luze baino lehen duten PHP mota desberdinak daude,
baina ez duzu behar horiek zehazteko; horrek ere da, bai onak eta txarrak.
Eta badira beste gauza Falta bat da.
>> Ikaslea: Ez dago liburutegirik.
>> DAVID J. MALAN: Ez dago liburutegirik.
Ados, beraz, hori da polita.
Asko gehiago koadroan irtengo gara.
Beraz, ez da benetan askoz gehiago uste baino gauza desberdinak izan ziren.
Nola Itzuli modu buruz?
Zer da hori?
Esan berriz ere?
>> Ikaslea: erakuslea.
>> DAVID J. MALAN: Ez erakusleak.
Ados, gutxienez adibide honetan, ez.
Hori da arrazoizko.
Beraz, ez dira erakusleak PHP benetan osoari helarazteko.
Badira zerbait izeneko erreferentziak, baina ez dugu pasatzeko denbora gehiegi ez.
Eta zer gehiago?
>> Ikaslea: Main.
DAVID J. MALAN: Main.
Beraz, hau izan da biggie Dut pentsatzen zuen.
Ohartu ez dago sarrera puntu nagusia.
Besterik gabe, zure kodea idazten hasten zara.
Eta hori da, benetan abantailatsuena izango da
denean trantsizioa dugu une benetan erabiliz
hizkuntza hori bera web bidezko programazio, bertan dugu
nahi ez sarrera-puntu bat besterik ez izatea.
Agian mordo bat izan nahi dugu URLak, fitxategiak ezberdinak sorta bat
guztiak erabiltzailearen sarrera hartuz eta irteera ekoizten.
>> Baina hemen oso negargarria egin Adibidez azken aldia agindu dut,
karpeta honetan hain zuzen Hemen, gaizki idatzitako hitzak.
Fitxategia speller honetan Beraz, zein dugu ez du denbora gehiegi pasatzeko ere, bada
funtsean porting-- P-O-R-T bat. Besterik ematen denean, adibidez, hitza da,
bihurtzeko hizkuntza batetik duzu beste eskuz ohi da.
>> Hau PC eraman da speller bertsio pset 5 from.
Eta, funtsean saiatu naiz bihurtzeko berau lerroz lerro estu I can.
Beraz, nahi duzu gauza mota hau bada, benetan da noizbait merezi
horietako dio bai gora by Bigarren mailako eta zer da bera ikusi
eta zer da desberdina.
Baina pretty darn antzekoak dira.
Gogoan baduzu zer speller are dirudi,
ez duzu, nahiz eta Fitxategi hau aldatu behar,
nahiko antzekoa da egituraz pare bat besterik ez
aldaketak han eta hemen ere.
>> Beraz, hori baino ez da esatea nahiko dela erraza speller bihurtzeko
C-tik PHP.
Baina hiztegian, ez da, zerbait gehiago ere sinesgarria.
Dezagun aurrera eta sortu nire kabuz dictionary.php fitxategia.
Beraz, apur bat ezberdina dugu egingo php ordez deitu c dira.
PHP fitxategi bat delako, I do-- zertxobait annoyingly-- dute
fitxategia hasteko php horrelako etiketa bat.
Eta aurrera noa joan eta definitzeko funtzio batzuk.
Txeke izeneko funtzioa, hau da, hitz batean hartu aurretik bezala.
Baina argudio honetan dolar bat izan da joan
sina ari gara, berriro ere, PHP erabiltzen delako.
Funtzio Another dictionary.c karga zen
eta hartu hiztegi baten izena da, beraz, funtzio hori prest joan naiz.
>> Dictionary.c beste bat zer zen?
Tamaina nicest direnak bat zen, Inguruan aldagai batzuk mantendu duzu behintzat bada.
beraz, tamaina besterik ez du, aldagai bat itzultzeko.
Eta orduan, hustuketa zen.
>> Beraz, ez ziren lau horiek arazoa ere funtzio multzo 5
batera ezartzeko behar duzula datu-egitura edo egitura batzuk.
Beraz, agindu dut hori PHP, deklaratu ahal izango dugu
hash taula bat, esate baterako, errazago hori guztia.
Izan ere, hash taula bat nahi badut, Besterik ez naiz horrelako joango
eta ez dago nire hash taula da.
Eta hori oharraren da, ahazteko modukoa, utzi dugun azken denbora.
Eta badakizu zer, nahiko banu tamaina aldakorra da, bai,
hau ez da guztia C-tik desberdina,
baina aurrera noa, eta hori egin egingo da.
Eta konturatu datu-mota.
Eta egingo beranduago joaten naiz eta benetan gehitu iruzkin batzuk hemen.
Baina karga zer?
>> Gero dolarraren ikurra hiztegi nire fitxategi baten izena da
eta benetan kargatu nahi dut taula batean esanda, gaur egun,
I benetan egiten zerbait nahiko erraza da.
One-- eta hau da minorly annoying-- PHP,
barruan zehaztu behar duzu Funtzio bat baduzu
global batzuk sartu nahi hori kanpo definitutako aldagaia.
>> Baina hori ez da bereziki interesgarri oraintxe.
Zer gehiago interesgarria da hau bakoitzerako eraikitzeko azken aldiz aipatu dut.
Eta bihurtzen da PHP funtzio bat dauka izeneko fitxategi horren helburua bizitzan
fitxategi bat irekitzeko eta irakurtzeko ere Bere lerro guztia array batean
eta horiek entregatu itzuli.
>> Zein da hiztegi hori egin ahal izango dut esan nahi orain dela eraginkortasunez Artxibategi deitzen diot nik,
hori me entregatu atzera joan fitxategitik hitz multzo gisa.
Ez da ona hori guztia.
Oraindik lerro bat izango da hitzak, zerbait lineal.
Baina, aurrera joan ahal izango dut eta batetik bestera joateko hitz hauetako bakoitzak erabiliz
sintaxia laburki azken aldiz ikusi genuen.
Eta hori gehiago ikusiko duzu Datozen pset batean.
>> Baina orain begizta errepikatzean bat dut Hiztegian hitz bakoitzaren gainetik.
Eta iterazio bakoitzean, gogoratzen naiz Uneko hitza "hitza." deituz
Eta hori guztia egin behar joan hartu hitz bat jarri sartu dictionary da
hitza asmatzeko izango da "benetako".
Hori da nire Txertatze funtzioa da.
Hori da nire karga funtzio da nire hiztegi da.
Orain Cheat delako pixka bat da, Badakizu zer, ez da benetan
backslash n en hitz amaieran dudala beharko kentzeko,
baina hori ez da arazo bat delako PHP ditu izeneko funtzio txuleta literalki
txuletak karaktere bat off oso amaieran.
Beraz, arazoa ez.
Animatu eta benetan, joan gara besterik honetarako duten laburtu.
Eta orain, ziurrenik segimendua behar dut tamaina, Hargatik, gutxienez, hau egin
tamaina ++.
Dut hori egin ahal izango lehen bezala.
Eta gero, hau da, ziurrenik joan lan ongi, beraz, horrek itzultzeko egia.
Eginda.
Pset 5.
>> [Barreak]
>> DAVID J. MALAN: Ados.
Hori berriro egin behar izan dugu hurrengo pset, gehiegi.
Beraz, zer tamaina buruz?
Beno, hau zorionez buruz Azken aldiz Espero nahi duzun bezala,
nahiz egin behar dut Gauza global ergelak hau.
Besterik ez da batetik erreferentzia bat da Hizkuntza diseinua.
>> Baina kontrol pixka bat gehiago interesgarria da.
Beraz, bada dolarrak gainditu dut sina hitza, nik lehenengo
sarbidea izan nahi taula global aldagai hori.
Eta orain bada nahi dut egiaztatu hitz bat da, ez bada,
I besterik gabe esan daiteke egia bada honako hau da taula ezarri,
gero aurrera eta itzulera egia; Bestela, itzultzeko faltsua.
Eginda.
Beste pset 5 erdia.
>> Ondo da, beraz, berriro ere, naiz Zenbait txoko bat ebaketa.
Zuzentasuna, ziurrenik behar dut pasatzeko segundo batzuk gehiago
ezarpena honetan.
Eta ziurrenik ez dut maketak guztia ordu pset jarri hainbeste.
Beraz strtolower funtzio bat da.
Antzeko zerbait existentzialista C, gutxienez pertsonaiak,
baina PHP katea bertsio osoa lortu.
>> Hori guztia behartzeko joan , minuskula horietatik batzuk
egin izan dezake zer canonicalize to zure hiztegi jartzen ziren.
Eta orain hau egin dezakezu C, too.
Honek ez du zerikusirik PHP egin du.
>> Baina edonoiz duzu Baldintza boolear bat,
Zerbait on line bezalako 10 Han, hau da, soilik
to egia ebaluatzeko edo faltsuak, eta zure ez bada, argi eta garbi
egia edo gezurra itzuliz, ezin izan dut besterik gabe, benetan egin sexier hau
eta besterik ez da honen antzeko zerbait.
Beraz, hori ez dago nire check funtzioa.
Eskuin, Boolean bada itzultzen egia edo faltsua,
gaitezen nahiko luke berehalako.
>> Eta ez da beste Tweaks batzuk Han eta hemen egin izan dut.
Load-- hustuketa, bide batez, hori egin.
Han ez dute ezer egiten.
Memoria guztietan zenetik PHP eta beste hizkuntza askotan
benetan zuretzat kudeatzen.
Beraz, C, berriz, gisa painfully ikasi duzun,
ezer malloc edo calloc duzu, edo idazketa, zeure burua askatu behar duzu.
Ezer fopen duzu, fclose duzu, baliabideak, azken finean, askatu egingo dituzte, beraz,
eta Valgrind bezalako tresna ez nabarituko eta ez kexatu,
gauza ona horien gainean exekutatu da.
>> Baina, segur aski, ez dago muztioa harrapaketa bat izan, ezta?
Bestela, mota alferrik galtzen dugu aste osoa sorta bat.
Beraz, ez dago arrazoi kopurua edozein izan zergatik moduko ibilbidea hau hartuko dugu,
baina ez dago merkataritza-off bat da.
Oraintxe, hau gaikako izan da.
>> Beraz, zer merkataritza-off bat gerta daiteke hemen, mugitzen C-tik PHP?
Sentitzen guztiak irabazi orain arte baino beste bezalako itsuskeriaren pixka bat hemen edo han.
Bai.
Zer da hori?
>> STUDENT: [INAUDIBLE] memoria.
DAVID J. MALAN: Abiadura.
OK.
Beno, nire abiadura nahiko azkarra izan zen.
Eskuin?
Baina programaren exekuzioa abiadura?
Ados, beraz, arrazoizko puntu bat da.
>> Beraz, gerta litzateke, nik aldez aurretik cued sortu bai nire saiatu konponbidea, bat
Izan big taula batean I oinarritutako saiatu konponbide bat izan zen,
eta hori daukat direktorioa honetan hemen.
Beraz dut une batean, aurrera I eta Hau abiarazi King James Bible on,
Sartu sakatuz.
Eta hau da, zorionez, zuzena bukaeran gauzatzea,
denbora ematen dit, guztira 0.38 segundo egiteko
Adibidez zertxobait arbitrarioa da.
>> Eta badut orain hau sartu bigarren terminal leihoa
hemen non lehen ireki dut gedit, utzi me horrek, berriro joan gaurko kode sartu,
direktorio honetan da hemen eta utzi aurrera me eta exekutatu speller.
Beraz, argi izan behar, hau PHP bertsioa da.
Besterik ez da goiko naiz erakusten hemen.
>> Beraz tilde CS50 speller egiten badut Pset 5 testuak, King James, idatzi.
Oraindik idatziz baino azkarrago C da, baina denbora guztira
da, oharra, 0,93, berriz, nire C-oinarritutako inplementazioa 0,38 izan zen.
Beraz, ez hutsala diferentzia bat da.
>> Eta hori besterik ez da fitxategi bat dago.
Bi exekutatu bazina programak big taula versus
eta sarrera-sorta osoa probatu, hau da ziur asko gehitu litzateke up.
Eta datu multzo are handiagoa izan bagenu, hau ere, gehiago gehitu litzateke sortu.
Beraz, bai, prezio batzuk ordainduz abiadura da, hain zuzen kasua.
Zer gehiago?
Bai?
>> Ikaslea: RAM erabilera zenbatekoa.
>> DAVID J. MALAN: RAM erabilera zenbatekoa.
Beraz, ez nuen segundo bat eman pentsatu PHP hau idazten ari naizen
bertsiora gisa zenbat memoria erabiliz nintzen.
Erabat PHP hori naiz deferring bera eta duenak programa hori idatzi zuen.
Eta hori da OK izan daiteke, baina, egia esan badut benetan
bezainbeste performance estutuz buruzko zaintzeko out nire programa edo nire webgunean daudelarik
edo edozein tresna daudelarik , Eraikitzen ari naiz, agian
PHP, hain zuzen ere, ez da eskuineko hizkuntza.
>> Eta hain zuzen ere, horregatik, for Esate baterako, asko web servers--
Benetako programak zerbitzatzeko web content--
Ez zara escrito en PHP edo Python edo Ruby.
Idatzita daude, bezala orain dituzu pset 6 zerikusirik,
C da, beraz estutu dezakezu errendimendua bit guztietan atera
eta benetan egikaritu Zer da gorako fin-grain kontrol
gertatzen da azpian kanpaia eta ez soilik hartu
emandako zenbait goi-mailako mailako datu-egitura.
>> Demagun, azken finean, PHP duenak inplementatu
hash baten ideia dela table-- benetan gehiago
ongi elkartze array bat deitu ez zuen edo zer nolako edozein ideia zuen
sarrera duzun dira izango egitura sartu jarriz?
Beraz, jakina, ez da, ezta?
Tresna soil bat izango da, tresna hori da in
edonork nahi du, betiere erabiltzen den, eta, beraz, ziur asko
ezin da, azken finean, optimizatu zehatz-mehatz zer egin nahi duzun da.
>> Beraz, merkataritza-offs-- garapen denbora agian datoz bat, performance ezberdina izan daiteke,
konplexutasuna edo memoria erabilera ezberdina izan daiteke.
Eta beraz, zer aurkituko duzu gero eta gehiago da, ez dagoela
ezberdina izango da merkataritza tresnak.
Eta gehiengo super bat, hain zuzen ere pertsonen klase honetan azken proiektuak,
sinetsi edo ez, C ez da joan Eskuineko hizkuntza erabili izan.
>> Eta hain zuzen ere, takeaways bat azken finean hau atsegin klase edozein
da ezagutu pentsatzen duzun buruz, bai, zer behar off tira
apala nahi duzunean arazo batzuk konpontzeko.
Eta hain zuzen ere, zubi hau zeharkatu beharko dugu are gehiago begiratzen dugu bezala hizkuntza gehiago at
gaur egun ere haratago.
>> Hargatik trantsizio orain agian testuinguru gehiago ezagutzen
PHP bezalako hizkuntza bat erabiliz.
Da zertxobait ohikoa den erabili Komando-lerroan, gidoiak idazten
bezala egin nuen, baina ez da askoz, askoz gehiago da.
Eta nahi zen joateko bat erabili ahal formatuan normalean amaituko
.php--, baina hori da Ez prerequisite-- bat
web edukiak sortzen dituzten beraiek.
>> Hargatik aurrera me ireki gutxitara Adibide prestatu aldez aurretik nuen.
Eta horiek dira benetan ordenatzeko egia duen lehenengo gauza bat istorioak
Inoiz egin dut neure burua amaituta CS50 eta, agian, nire ustez,
CS51 urte da nire gelakide eta laguntzen zituzten I
freshman intramural exekutatu kirol programa, izan ere, garai hartan,
izan freshman hainbat erregistratzeagatik paper bat bete kirolak,
deitzen zen bezala, oinez Wigglesworth patioan zehar,
eta jaregiten batzuk Proctor ate jaitsiera.
Eta, ondoren, zuen bidez joan litzateke eta gero, benetan email gurekin eskuz
kirol batzuk garela erregistratu ziren.
>> Beraz, argi eta garbi, aukera bat hobekuntza.
Egun hauetan, besterik gabe, baliteke biratu Google Forms, baina egun atzera,
benetan iristeko honek For izan genuen ere ez zen luze ago-- iritsi
programazio bat hizkuntza ez zela PHP.
Garai hartan, izan zen Perl izeneko zerbait,
bertan modan daudelarik joan da geroztik.
Baina ideia bera da.
>> Eta, funtsean, I eseri behera saiatuko portuan Perl bertsioak doa PHP,
baina osoa disclaimer ere, ez du amore eman estetika pentsatu duen besterik ez oraindik.
Hortaz, hona hemen web orri bat da.
Hau fitxategi bat da.
Handiagotzeko badut, bere itxuraz froshim0.php izeneko
besterik gabe, gure lehenengo delako Serie honetan adibidez.
Eta nabarituko zer agertzen du ez duela Oso itsusia HTML formulario bat izan nahi du,
baina forma bat interesgarria da aukera ematen du,
erabiltzailearen sarrera emateko me nabigatzailean.
>> Orain azken aldia da formulario bat izan dugu, to nori zuen gure kontsulta parametroa aurkeztu dugu,
Ilaran parametroa bezala deitzen zen?
Google, beraz, ezta?
Erabat ideia on punted dugu sarrera hori ezer egin.
>> Baina gaur, irteera ekoizten hasiko gara.
Eta portaera naiz ikusteko dut Hemen, hasiera batean, ez da nahiko hutsala.
David, egiaztatu off dut genero Hemen, esan Matthews hemen.
Ez dut kapitain izango da.
Izena eman Ezkutatu noa.
Eta nabarituko URL du register-0.php aldatu da,
eta, ondoren, ez itsusi testu hau hemen.
Artharic eman nahi dut horren formatua.
>> Baina zer da interesgarria da, hiru baloreak ziren itxuraz gainditu.
Hau PHP-ren moduko da to printf baliokide
ikusiko dugu benetan zer ari da deitzen hori besterik inprimatzen bit batean
zer pasatu da sartu duzu.
Beraz, hau iradokitzen du inprimaki hori, Gutxienez hiru arlotan izan da,
eta ikusi duzu idatzi nigan.
Nire izena izan zen bat, bat izan zen genero, bat logela izan zen.
Eta Kapitainak ez, nahiz eta urratsak emateko bidali zerbitzariak ez nuen egiaztatu delako.
>> Beraz, hau da, itxuraz esan nahi, denean webean gauzak bidaltzen duzunean,
URL batzuetan ez bakarrik ez change-- batzuetan ez da.
Izan ere, fitxategi izena aldatuta, baina zer da URLa absenteak
ikusi Google denbora azken ote genuen.
Bai?
>> Ikaslea: No katea
>> DAVID J. MALAN: Ez dago katea ez.
Ez dago galdera ikur zerbait ez.
Ez dago galdera marka q katuak berdin, azken aldiz egin dugu.
Eta ez da, zalantzarik gabe, galdera-marka izen berdinen
David edo gela berdinen Matthews, beraz, non hori guztia joan da?
>> Beno, utzi, gedit atzera me hemen eta ireki fitxategi horiek lehena
nire ostalari, tokiko ostalari, publiko hemen eta froshim0 sartu.
Eta gertatu da ia Orrialde honen guztietako besterik ez da HTML.
Eta zuri ere Ohituta izan liteke, baina laster gehiago, beraz, izango da pset 6
eta pset 7 eta pset 8.
Baina hori besterik ez da HTML orri bat.
>> Eta gauza interesgarri badirudi hemen izan.
A inprimaki etiketa horren ekintza atributu erregistro 0 balio du.
Horregatik, I aurkeztu hau, doa fitxategi hori da.
Baina metodo gaur post desberdina da.
Eta gertatu da, ez da gutxienez erabili webean bi metodo
informazioa bidaltzeko nabigatzaileak zerbitzari izateko.
Get dioen URL.
Post beste nonbait jartzen du.
Eta noiz eta zergatik, agian, benetan webgune bat nahi
ondoren, horren ordez, zer erabili behar lortzeko, intuizioz?
Edozein web orri.
Nolako datuen onartu behar da inferentzia orain post bidez aurka
eta, lortzeko, ikusi dugu bada bi aldeak?
STUDENT: [INAUDIBLE] ziurtatzeko.
DAVID J. MALAN: Nahi izanez gero Zerbait segurua izateko.
Beraz pasahitz bat idazten baliteke webgune batean sartu, kreditu txartel bat
webgune batean iba hoberenak ez diren horiek mota
nabigatzailea jarri bada URL-barrutik balioa.
Zergatik?
Ikusten duzu, horrek ez du gauza handirik izan nahi du,
baina odds dira, nahiko maiz oinez duzu ordenagailuan edo erabilera ordenagailuan urrun
laborategiak, eta beraz, norbaitek bestela, edo nahiz eta gelakide bat
ezin erraz oinez igo eta ikusi informazio pribatua.
Mezu elektroniko bat bidali behar duzu web bidez, seguruenik duzu
ez dute daturik amaiera nahi URL baita.
Eta beraz, ez edozein arrazoi kopurua da Horregatik agian hemen jarri nahi dugu.
Eta photos-- eskubidea, ezin dut, nahiz eta nahiko imajinatu grafiko bat nola hartu nahi duzun,
JPEG bat bezala, eta jarri URL batean.
Egin ahal izango duzu.
Ez dago kodetzean moduak, baina da besterik ez da horrela erraza.
>> Beraz erregistratu 0 da benetan Oso underwhelming.
Guztiak literalki hau esaten du.
Bistaratzen batzuen barruan It HTML honako hauek etiketa.
Nik PHP etiketa bat hemen pre-etiketa baten barruan habiaratu.
"Pre" besterik formaturik testua esan nahi du, mono-tarte, idazmakina bat bezala.
>> Printr inprimatu recursive funtzio bat da.
Eta gero, ez da hau Gauza interesgarria hemen.
Eta itzuli dugu honetarako ez da beste batzuk direlako,
baina dolarraren ikurra azpimarra post agertzen da
PHP, aldagai bat bertan ezer zerbitzarira bidaltzen dituzun nabigatzailetik
lortzen duzu gordeta.
Eta ikusiko dugu nola at lortu luze baino lehen informazio hori.
>> Baina lehen, goazen atzera apur bat beste adibide bat.
Register-- sakonduz edo baizik eta, froshims1.php,
itxura apur bat ezberdinak.
Apur bat gehiago hartu dut formateatze ahalegina,
oraindik ere nahiko itsusiak ere izan arren.
Baina, aurrera joan nahi dut eta mota "David" orain.
Gizonezkoa.
Egiaztatu beharko dugu "kapitain" une honetan.
Egin dugu Matthews.
Eta izena emateko.
>> Eta oraingoan, dio hm, ez benetan.
Ondo da, beraz, zer en erregistratu 1?
Me erregistro open 1 and-- hm sartu.
Ondo da, beraz, hau da: interesgarria da, eta hau
zubia da da orain aldera programak interesgarriagoa.
>> Ohartu goiko fitxategi hau dauka PHP etiketa baita zenbait iruzkin.
Eta horiek dira, gaur egun, denbora pasa beraz, utzi besterik ez iruzkinak horiek kentzeko
ari dira C. en moduko Eta nik aldarrikatzen zatia kode hau iruzkin batekin
Kode hau da, aurkezteko balioztatzeko.
>> Beno, bihurtzen da dolarraren ikurra bezalako aldagaiak
azpimarra post dira super Globalak izeneko.
Oraindik horrelako dute aldagai global berezia
kasurik gehienetan omni-besterik ez dira Zure programa barruan eskuragarri.
Eta kortxetea notazioa erabil dezakezu Aurkibidera horiek zenbakiak erabiliz ez
like 0, 1, 2, 3, baina benetako hitzak.
>> Beraz dolarraren ikurra uste dezakezu azpimarra post hash taula bat sort
funtsezko bat, bilatzeko batean gainditu ahal izango duzu word-en artean, karratu parentesi artean,
eta nik bizkarrean emateko egingo balio erabiltzaileak benetan baldin eta.
PHP funtzioa du Hutsik izeneko besterik
dio bai edo ez, hau aldakorra, hutsik dagoen ala ez.
Tabernak bikoitz hauek ditugu, besterik gabe esan nahi edo, C. bezala
>> Beraz, indarrean dagoen, lerro hau 4 besterik ez da Erabiltzaileak ez badu izen bat eman esanez
edo ez zuen genero bati eman edo ez gela bat eman, aurrera eta redirect zion
edo bere lerro hau hemen bidez.
Beraz, hau da, apur bat críptica, baina hori esan nahi du, hitzez hitz
atzera jo kokapen horretarako, beraz, erabiltzaileak punts da
lekuan zuen etorri zen atzera.
Baina inelegant, apur bat da horretan gogor kodetuta dut.
>> Baina hori bada zer baldintza Ez du egia ebaluatzeko?
Zer erabiltzailea amore eman dit bada bere edo bere izena eta gela eta generoa?
Hori baldintza bada ez to egia ebaluatzeko,
beraz, ez dut hit 7 lerro irteera.
Beraz, zer gertatzen da?
Eta hau da, zer da PHP buruz interesgarria.
>> Sartu eta atera jaregin ditzakezu PHP moduan, nolabait esateko.
Kodea batzuk exekutatu nahi baduzu, ireki eta PHP etiketa bat itxi dezakezu
eta jarri kodea ez bezala egin dut hemen.
Itxi bezain laster PHP etiketa, zerbitzariak
besterik ez da txu joan han jarri duzuna.
Eta hain zuzen ere, horren parte zen jatorrizko PHP diseinua,
txarrerako hobea izan zen, hau kodea eta markaketa commingling
hizkuntza.
Eta ikusi dugu oso hori azkar nahaspila devolves.
Eta horrela baino hobeto egin dugu hau da, azken finean, baina besterik
erraztasuna duten naiz konturatu benetan gai logika batzuk exekutatu.
>> Baina, oraindik ere pixka bat underwhelming.
Dezagun ireki bertsioa Frosh Berehal, bi horietatik
itxuraz aurkezten den register2.php.
Beraz, fitxategi hau benetan joan ia berdintsu agertzeko.
Frosh Berehal 2 joan noa.
Baina Frosh Berehal 2, ikus dezagun zer gertatzen den.
>> David, sakatu irrati-botoia, eta, deitzen da; Matthews, kapitaina ez.
Izena eman.
Erregistratuta ari zara.
Ez da benetan.
Oh itxaron, besterik ez genuen Adibide horretan, ez dugu?
Ondo da, stand by.
Egin dugu hirurok.
Garbi dago zerbait buruz Gmail gertatuko.
Lortuko dugu han.
>> Beraz Frosh Berehal 3 itxura hau.
No desberdinak.
Baina, ez dut David, gizonezkoa, Matthews, eta Izena emateko, hirugarren eta azken bertsio honetan
erreklamazioak, nahiko besterik gabe, zuk Benetan erregistratuta daude.
Hori da, Sort-materialaren.
Baina aldarrikatzen dut honekin Hirugarren eta azken bertsio
Dira orain, zehazki zer birsortu dut nire gelakide eta Frosh Berehal eraiki dut
Duela programa urte.
Eta erraza izan zen.
Ez zen datu-basea, no Excel kalkulu.
Baina are garrantzitsuagoa dena, ez zegoen paper gehiago ez
zer egin zuen programa honekin dugulako benetan email Proctor zen, nor
zen aurrez jasotzeko Gauza horiek forma bidez.
>> Eta itxuraz programatutako dugu honetan halako eran norbaitek erregistratzen denean,
John Harvard kontua postak proctor-- edo berak, kasu honetan,
John Harvard-- honako text-- "Pertsona honek besterik erregistratuta."
Izena David da, kapitain hutsik; genero, gizonezkoak; eta gela, Matthews.
>> Beraz, zer gertatu da han?
Beno, galdera fitxategia hemen itxuraz register3.php.
Eta hau ireki dut bada, ikusiko duzu bai hau atsegin kodea boterea
eta, gainera, Egia, segurtasun eza email bezalako sistema bat.
Dut eraginkortasunez pretended izan John Harvard honela.
>> The php open etiketa behar dut goian, eta horrek besterik ez dio hemen PHP kodea batzuk dator.
Down hemen, bihurtzen ez PHP liburutegiak dira.
Ez besterik ez duzu behar goiburu fitxategiak askoz be.
Batera gehiago lortuko dituzu Sukaldea konketa, nolabait esateko.
>> Baina linea 4 oraingoan, ez dut liburutegi bereziak deitzen nahi
PHP Mailer, zerbait duzu doan instalatu dezakezu sistema askotan.
Down hemen balioztatzeko naiz aurkezteko besterik
arabera egiaztatzen zuen erabiltzaileari eman Niri izen bat, sexua, eta gela bat daude.
Eta hala bada, aurrera eta mailer bat instantziatu.
>> Pentsa daiteke izateaz hori besterik bideratzen kode lerro.
Da malloc bezalakoa da, baina apur bat sexier da
horretan ez aipatu duzu, besterik gabe, malloc eta zenbaki generiko batzuk.
Emadazu horietako bat esaten duzu, emadazu berri horietako bat.
>> Eta dituzun programatutako bada Java edo C ++ edo beste hizkuntza,
ikusi dezake hau.
Baina labur, balitz Ohituta, lerro hau
dolarraren ikurra mail sartu jartzen izenekoa eta egitura berezi bat
dela eraiki-objektu bat email funtzionalitatea.
Eta hain zuzen ere, konturatu eta antzeko sintaxia.
>> Hau ez da erakuslea, per se.
PHP besterik sintaxi berdina erabiltzen du.
Lerro honek erabilera esaten SMTP-- Simple Mail Transfer
Protokoloa, besterik ez da egin mezuak bidaltzeko erabiltzen den protokoloa.
Hau da, erabilera zehazten Harvard-en SMTP zerbitzari,
nonbait Hemen campusean.
>> Hau da esaten zer TCP portura hitz zenbakia,
eta hurrena dut besterik ez da out by googling edo laguntza mahaian galdetuz.
Eta gero Harvard batzuk erabiltzen delako Sistemaren segurtasuna mail zerbitzari buruzko
Gutxienez enkriptatu zuk eta arteko trafikoa,
inori hobeto esanda bidali nahiz dezake TLS protokoloa piztu noa
seguru horretan mantenduz.
>> Baina hori da, non gauzak get apur bat scary.
Arbitrarioki ezin dut jharvard naizela esan,
eta arbitrarioki ezin dut Neure buruari email hemen.
Eta, ondoren, I bat zehatz dezakezu Lerro hau hemen ikasgai.
>> Eta hori itxura itsusia, baina da besterik lotuz mordo bat.
Turns PHP ikurra super erabilgarria du, hizkuntza batzuek bezala, puntu operadorea,
besterik literalki kateatzen katea katea ondoren katea ondoren,
eta ez malloc edo figura behar Guztira, katearen luzera out.
Egin besterik ez duzu.
Eta hain zuzen ere, I kateatuz delako puntu horiek dituzten gauza horiek guztiak ere,
horregatik email dut bidali begiratu zuen bezala.
>> Eta gero, azkenik, hemen, mail bidaltzen dizuet.
Beraz, hau da faltsua bada, Besterik ez naiz hiltzen joan,
zein funtzio bat da hori besterik ez grabatuak pantaila errore-mezu batzuk izateko.
Baina, hain zuzen ere, bidali funtzioa deituz.
Bestela, horrek guztiak huts egiten badu, me birzuzentzen back hemen.
>> Eta zergatik ikusi nuen duela Erregistratuta benetan ari naiz?
Beno, hementxe gertatu da.
Beraz, ekarri dut hau ireki arrazoi pare bat.
>> One, hau da, zehazki nola eraikitzeko bada azken proiektuaren web batzuk
edo mundu errealean, hau da, email reminders nola bidaltzen duzunean
zure bezeroak edo zure harpidedun.
Hau Pasahitza gogorarazteko nola bidaltzen dituzunean.
Hau da, jendeak mezuak nola bidaltzen duzunean Facebook berri bat egin behar dutela
mezuaren zain dauden edo horrelako zerbait.
>> Baina hitz egiten du, era berean, Izan ere, hori ezin izan
oso ondo egon da bertatik Davin edo beste norbaitek.
Eta mota honetako diot irribarre batekin nago delako
nahiko ziur zer igaro zure adimenak puntu honetan zenbait.
Baina hau da horietako bat I egin esan, gauza mota egin dut, ez baita,
to hutsala delako Hau bezalako postak burdinola.
Baina zuk ikus daiteke edo Crimson irakurri,
Azken aldian, gainera, polita da pertsonentzako trivial
Horietako jatorri batzuk atzera traza.
Eta galdetu zidan denbora pixka bat, agian CS50 bazkaria, nola egin nuen lehenengo
got oso hurbiletik ezagutu ia ed board urte asko etorri
duela ohartu naizenean Interneten nola lan egin.
Beraz, edozein kasu pixkat ed taula egin ondoren.
>> Beraz, edozein kasutan, ez dago bat super Globalak sorta osoa,
dute hemen deitzen ari den bezala, horietako batek dolarraren ikurra azpimarra post saw-- dugu.
Badira get izeneko zeuden bat, zein URL batetik non stuff da
amaitzen joan.
Eta badira beste batzuk, sorta oso bat da, too-- saio eta zerbitzari eta cookie.
Itzuli dugu nahi beste denbora pixka bat cookiean,
baina saio cool mota da oraintxe delako orain arte
Guztia web nabigatzaile baten bidez egin dugu moduko estaturik gabeko, nolabait esateko.
Ezin dut inguruan egin klik, sarbide fitxategiak zerbitzariak, zerbait
pantailan gertatzen, baina ondoren, konexioa ixten du.
Internet Explorer edo Firefox ikonoa spinning gelditzen
eta ikusi besterik ez duzu zer Web orri hori du.
>> Beraz HTTP horretan estaturik gabeko Behin konexio bat egiten du,
datu batzuk lortzen, hori da.
No konexioa, Skype ez bezala, Facetime ez bezala GChat ez bezala, eta horrek
mantentzen konstante bat zerbitzariak konexioa.
Web da, funtsean, deskonektatu, dugu, nahiz
Luze nola aurretik ikusi Gauzak simulatu ahal izango dugu
Facebook chat eta GChat, illusion-- mantentzen da
edo benetan egiten mantentzea etengabeko konexioa erabiliz
teknologia modernoa gehiago.
>> Baina joaten naiz, bada, esan, counter.php, Hau beste adibide sinplea da,
ikusten dugu, gaur egun pentsatzen Gunearen zero denbora bisitatu dut.
Baina orria berriz kargatzea dut besterik ez bada, nolabait, badaki aurretik hemen izan nintzen.
Berriro birkargatu badut, hura badaki aurretik hemen izan nintzen.
Eta, eta, eta behin eta berriro berriro.
>> Beraz, ez dira zenbait plus-plussing da gertatzen ari da, baina oharra
gauza gutxi bira inoiz hain top labur-labur eta gero deskonektatzen,
beraz, ez da izan bezala, konstante bat dut nire tresna konektatzea.
Beno, banoa counter.php sartu bada, nabarituko nola sinplea da.
Lehenengo berezi honetan deitzen dut funtzio hori laster egingo dugu
emandako hartu saio hasiera deitu.
Hasi saio bat.
>> Eta saio bat besterik ez da, aurrerantzean ontzi bat izango da, erosketa bat bezala
saskia balioak jarri ahal izango duzu eta mota fidatzen programatzaile gisa
ari direla hemen izango da erabiltzaileak, bigarren batean atzera dator
geroago, ordubete geroago, urte bat beranduago ere, hain luze ez da argi zuen bezala egiten du
beren cookie, zaitugu azkenean ikusi.
Eta orain, besterik ez dut baten baldintza hemen bada.
Beraz, hurrengo gako bada, counter deitzen, barruan dago ezarrita
super honen global-- hash honetan mahaia, saio izeneko will-- izanez gero,
gero aurrera eta grab the session-- uste dute beren balioa
honen erosketa gisa cart-- eta gorde
counter deitzen aldi baterako aldagai batean.
>> Bestela, balio counter balitz zen Ez erosketa saskia deiturikoak ezarri,
besterik hasieratu 0.
Azkenik, behera hemen, joan eta berriro jarri erosketa gurdiak edo saio sartu
+1 counter balioa.
Eta gertatu da hori edukiontzi hemen bereziak
horrek, berriz, horiek lotutako bat array indizea, array bat ahal duzun
zenbakien ordez hitzak sartu jarraitzen erabiltzaileak doa, nahiz eta ondoren kanpoan.
Berriz ere, orain orrialdera itzuli behar dut.
Honez minutu bat edo, beraz, izan da.
Baina ez dut gogoratzen da 19 aldiz izan hemen aurretik.
Hau nire 20an bisita da.
>> Eta beraz, honen gakoa izango da gogoratzen edozein web gauzatzeko
duzula saioa ari ere, jarri duzun Zerbait literal karroan
erosi edo batzuk izan duzula mezu kopurua zain.
Edonoiz nahi dituzu Informazio gogoratu,
PHP ikusiko dugun bezala, beste hainbat hizkuntza,
egoera ilusioa hau ematen digu arren, pset 6 ikusiko dituzu gisa,
HTTP eskaerak egiten ari zaren bezero zerbitzari izateko, hori da.
Behin itzuli duzula erantzunez, ez dago ezer gehiago
zerbitzariak atzera datozen lehenespenez.
Baina nola egin inguruan lan ikusiko dugu.
>> Beno, gaur egun, dezagun saiatu en hau garbitzeko pixka bat.
Gutxi batzuk ikusi ditugu edo beste batzuk sortzen.
Oh, eta alde batera utzi da, gisa Horiek ezagutzen edo ezagunenak,
arrazoia dela Frosh Berehal adibide joan
Benetan bila itsusiak ondo slightly-- da,
oraindik ugly-- apur itsusiak gutxiago oraindik itsusi arren
da garelako begiratuz gero iturburu-kodea hemen at,
bihurtzen da, behar hori I Fitxategiaren goian egotea.
>> Turns bootstrap duten ugarietako bat da libreki eskuragarri liburutegiak ez out
ez dela existitzen programazio hizkuntzak beti, baina CSS edo JavaScript
edo HTML edo edozein hizkuntzatan kopurua.
>> Eta Folks horiek hemen jatorriz atera
Twitter-- besterik ez dute estiloen sorta osoa.
Fitxategia masiboa da Hemen norbait dela idatzi zuen,
edo norbaiten idatzi zuen, denboran zehar koloreak eta formatua zehazten du
eta whatnot ahal ditut, beraz, motatako maileguan dagozkien argumentuak
eta ez dute irudikatu nola finkatzeko nire forma.
Hau ere minified da ordenagailu bat ezin da, beraz,
Ulertzen baina ez nahitaez giza.
Beraz, besterik gabe zergatik stylization ez aldatu.
>> Baina orain hobeto utzi diseinu aldetik,
behera geratzea bada dugulako luzeegia errepide hau,
gure kodea Honez joan lortu narratsa eta Messier.
Beraz, dezagun adibide horiek hemen.
Gaurko azken.
>> Beraz, hemen da super sinple bat 1.0 bertsioa CS50 en Internet.
Loturak bakarrik ditu hitzaldiak eta curriculumaren,
eta orden gabeko zerrenda Idazteko erabiltzen ari da tag-- UL etiketa horiek azken aldiz erabili dugu.
Eta hain zuzen ere bada, badut ireki, View Page Source,
ikusiko duzu hori ez dela Benetan, HTML oso sinplea.
Eta hain zuzen ere, nahiz eta hau, nahiz PHP fitxategi bat kanpaia azpian,
eta oraindik ere, besterik tu soilik HTML oraingoz.
>> Beraz, egin klik I Hitzaldiak bada, hau gertatuko ikusiko dugu.
Eta klik egin dut astean bada zero, hau ikusiko dugu.
Eta klik egin badut Asteazkena, hau ikusiko dugu.
Eta hori itxuraz PDF zen egun horretatik aurrera Diapositibak.
Guztia egin dut batekin esteka aingura URL hau hemen etiketa.
>> Beraz, hori baino ez da hori nahiko esatera CS50 web bertsio simple.
Ikus dezagun nola inplementatu dezagun.
Banoa mvc0 direktorioa sartu bada, gutxi fitxategiak ikusiko dugu.
One README bat da, hala badagokio, Horren batzuk azkarregi,
zuk besterik Poke inguruan lasai geroago.
Eta hemen oharra index.php fitxategi bat da.
Bihurtzen da bada zuk zeuk, giza,
ez behin betiko izen bat zehaztu ere URL bat, web zerbitzariak normalean
izen lehenetsi batzuk ondorioztatzen zuretzat.
Indizea dot zerbait An da, oro har lehenetsia.
>> Beraz, horregatik, duela une bat URL hau bisitatu dut hemen,
fitxategi izena ez, fitxategia ez luzapena, URL aldi no.
Bazekien magikoki nolabait, besterik ez da index.php bilatzeko.
Hitzarmen bat besterik ez da.
Ezin ezer deitu daiteke.
>> Beraz, badut orain joan index.php, ikusiko duzu
duten, utzi indeed-- en get iruzkinak kentzeko
Hemen ez da benetan delako ezer interesgarri hobeto esanda
hau besterik ez da gogor kodetuta HTML.
Beraz, koherentea, nahiz eta, nire erreklamazioa
HTML eta PHP commingle dezakezu.
Ez dago benetako no logika programazioa hemen.
>> Eta beste fitxategiak dira nahiko askoz besterik izanarren gisa.
Besterik zatekeen astebete , hemen aste m bat eta aste bat w
Astelehen eta asteazkenetan da.
Eta, ondoren, ireki dut aste zero bada, nabarituko ia berdina da.
>> Eta hori funtsezko takeaway bat mota da.
Ohartu besterik ez nola erredundante hau.
Fitxategi horiek apenas aldatu, eta oraindik I kopiatu / itsatsi lanpostu horietako bat bota
non fitxategi bat hartu nuen, ustez astean zero kopiatu
denean astebete inguruan izan zen, eta gutxi balio bat tweaked.
Ziurrenik izan behar gara gai hori baino hobeto egin.
>> Beraz, goazen atzera MVC gehienez eta bertsio bat sartu.
Eta konturatu Nik a fitxategiak gutxi, izan ere, zer
ohikoa zen fitxategi horiek guztiak ondo bati Une ago-- atzera egin dut 0 bertsiora bada,
goazen atzera indizea sartu, eta besterik postulate--
behin comments-- etorri kentzeko I zer parte Orrialde honen
da, ustez behin nire fitxategiak batean?
Just deitu ezazu.
Zein lerro bikoiztuko dira seguruenik orrialde hauetan guztietan?
Bai?
>> STUDENT: [INAUDIBLE].
>> DAVID J. MALAN: 1 9 bitartez.
Bai, erabat.
1 9 bitartez, agian 8 ezik Pixka bat CS50 delako aldatzen
bihurtzen edo hitzaldien Aste zero edo zerbait.
Baina ia berdinak.
Beraz, guzti hau besterik ez da Mota da kopiatu eta itsatsi.
Eta han pare bat beste lerro daitekeela uste dut
hori da ziur aski berdin- fitxategi guztiak zeharkatuz.
>> Ikaslea: 12 eta 13.
DAVID J. MALAN: Bai.
Noski, 12, 13, eta 14, seguruenik, besterik gauza interesgarria delako
lerro 11 gertatzen eta 10, eta beraz, badirudi litzateke.
Hargatik begiratu 1 bertsioan, bertan Hau hobetzea saiatzen da.
1 bertsioa MVC adibide honen zaitugu azaldu zer MVC bitarteko une batean
Joaten naiz indizea hartuz gero, mota horri itxura apur bat nahasgarria da orain.
Ez da nahiko lehen bezain erraza.
>> Baina behin hasteko Irakurri ezazu arretaz, da
nahiko erraza da zer egiten ari da.
Antza denez, lerro 1 eta line 8 ordezkatu dituzte
stuff identified-- besterik ez duzu guztia nahiz eta neurri ona,
Uls han utzi nuen badaezpada batzuk egunetan ez zen gauza zerrenda bat.
Eta hala eskatzen nolako libra bezalakoa da C. It kopiak eta pastak ere, besteak
edukiak modu eraginkorrean hementxe fitxategi hau sartu.
>> Beraz header.php ere, ahala Bere izena infer daiteke,
orriaren goiburua izango.
Honez motatako hemen umezurtz.
Bakarra da goian ditu, baina eduki gehiago azpitik ez da.
>> Eta begiratu dut orri-oina hartuz gero bere aldetik, horrek beste fitxategi zen mentioned--
hau da, are gutxiago interesgarri, baina berriro ere, ohikoa da dena.
Beraz, hau oina.
Hau goiburua da.
Hau da fitxategia aldatzen dira, beraz, zergatik ez
saiatu faktore commonality bi lerro hauek hemen?
>> Baina hau garbitu ahal izango dugu Apur bat gorago.
Aurretik joan noa eta ireki bi non bertsioa
ikusiko dugu ez dagoela da fitxategi berri bat, helpers.php.
Ikusiko dugu zer duten une batean.
Goazen Aurkibidera en, gisa Istorio lehen bezala puntua.
>> Eta orain konturatu eskatzen dut helpers.php, ez goiburua edo orri-oinean.
Baina laguntzaile mota da gustatzen helpers.c eta helpers.h pset 2tik
edo pset 3 aspaldi denean benetan bilatu zuen eta pset hori aurkitu,
eta zure kodea guztietan izan duzun ordenatzeko eta fitxategi bereizi batean bilatzen.
Horixe gertatzen da hemen.
>> Eta orain, linea 3, apur bat desberdina izango da.
Eta lerro bat besterik ez da.
Hau are gehiago egin ahal izateko argia, besterik ez nuen
ez hau estilistikoki koherentea izan beste guztia egin duguna.
Baina hori ez da benetan funtzionaltasuna aldatzen.
Benetako kode lerro bat besterik ez da.
>> Dirudienez, ez funtzio bat nonbait izeneko goiburua errendatu,
eta hau da, non gauzak eskuratu nahiko indartsua.
Bere barruan Parentesi nabarituko zer beste sintaxia pieza da?
Pixka bat gogorra da esatea, seguruenik, baina nabarituko there's-- zuri bat jarri dut
espazioa.
Ez kortxeteak.
>> Eta kortxete duela pixka bat ikusi genuen elkartze-array testuinguruan,
eta horrek, berriz ere, hash taulak bezala.
Eta orain uste baduzu C-ra, argumentuak ordena funtzio batean
du berdina izango.
Zer gogoratu behar duzu is-- x, y, z edo z, y, x-- aginduko
eta beti eman behar duzu ordena berean ala begiratu haien
ahaztu baduzu.
>> Baina hori badirudi argia modu bat izan nahi du gako baten balioa arbitrarioa pasatuz
bikote zeinaren izenburua izena da kasu honetan, argumentu
eta CS50 bere balioa da.
Eta nintzen dutela kortxete horien
hemen esan nahi dut ezin izan ere zerbait pasatzen
duten aste 1 edo 0 edo 2 edo 3 da.
Beraz parametrizatu dugu horrela, oro har, funtzio hau
duten hainbat sarrera hartu ahal izango du, baina orain bat besterik ez da.
>> Badut orain helpers.php sartu, nabarituko zer egiten ari den.
Hau pixka bat da funtzionalitate berriak,
baina oraingoz besterik hartu fede on hori da,
sintaxia zein duzu PHP funtzioaren definitzeko.
Literalki esan duzun funtzioa.
Ez duzu itzulera bat zehaztu idazten, eta hori koherentea
detaile aldagai lehenago non ez duzu benetan biziki idatzi.
>> Hau besterik ez da zehazten duten, berez, hau
elkartze bat hartzen array argumentu gisa.
Eta zer ezagutzen duzu?
Gero erabiltzaileak ez du inork gainditu ere, bere gain balio lehenetsia.
>> Hau C ez duten ezaugarri bat da guretzat, hau da, polita, orain delako
datuak, zuk ez eman ezer,
da bat izango da array baina bat huts.
Eta alde batera utzita, atera bezain zerbait funky egiten
non gako guztiak hartzen honetatik ezazu Elkartze-array, gauza guztiak
kortxete artean jarri ahal izango duzu, eta aldagai sortzen horietako out
dugu, azken finean, sarbidea izan daiteke, beraz, Horiei footet.php eta header.php batean.
Hori abstraktu txiki bat da, beraz, utzi hau seinalatu zidan.
>> Index.php, konturatu naiz I a izenburua gako bikotea igaroz
CS50 balioa duten.
Orain dut helpers.php begiratzen bada, RenderHeader nabarituko
dela pasatzen dut datu horiek ateratzean , eta, ondoren header.php eskatuko.
Zer egin dut bat pobrea gizakiaren moduko ezartzeko honako orain.
>> Ireki nuen header.php bada, ohar horretan, jada ez dut gogorra
kodetuak hitza goiburu fitxategi honetan CS50.
I jarri hau Admittedly atrociously funtzio izeneko, HTML karaktere bereziak,
hor.
Baina konturatu zer egin dut.
Nik HTML irekita.
Gero dut buru irekia eta izenburuan irekita.
>> Eta gero barruan titulua ko irekia eta itxi tags, PHP kodea pixka bat dut.
Eta hau da, polit bat, baina sintaxia, besterik gabe esan nahi oihartzuna out.
Literalki esan this-- It echo Honako hau
baina hau sexier idazteko da.
Echo izenburua hori izan da gainditu.
>> Baina zer uste duzu HTML char bereziak guztiei buruz,
batez ere baldin baduzu aurretiko HTML esperientzia batzuk?
Zer pertsonaiak izan liteke pasa den orrialde bati arriskutsua
non dinamikoki sortzen ari zarenean hau atsegin kodea web orria?
Goazen fitxategi honetarako me, bertsio bi, eta ikusi ezin badut bultzatu honetan.
>> Bi bertsioa da hau.
Eta nabarituko guztia gauza ederra da, ondo ari da lanean.
Baina demagun joan index.php sartu nintzen eta I zehaztu nire orriaren titulua
Ez da CS50.
Parentesirik script Alerta da kaixo mundua, itxi aurrekontua single,
itxi parentesi, koma, parentesirik, slash gidoia.
>> Gidoia, hala zaitugu Azkenean ikusi, tag bat da
hori beste erabili ahal izango duzu izeneko programazio hizkuntza
Web orri baten barruan Javascript.
Eta orain konturatu logika hemen.
Hemen izenburua izeneko gakoa da.
Hemen da da balio luze ero orain.
>> Baina joaten naiz laguntzaile izateko bada page- edo, hobeto esanda, goiburu orria,
Funtzio hau deitzen naiz izenburua duen lehenengo orrian.
Beraz kargatu berriro orri hau dut orain, bada, I ikusi hau, itxura barregarria,
baina segurua da.
Itxura besterik ez da ergela.
>> Baina demagun ordez Ahaztuta nuen hau.
Eta nire hitzak markatzeko, nonzero zenbaki bat Hori egin ahal izateko, ahaztu egingo duzu
eta lortuko duzu industrious batzuk Ikasle edo lagun datozen
duzu CS50 azokan edo anonimoki Gauez kuxkuxean zure web orrian
eta, funtsean, kodea injektatzen duzu unbeknownst zure gunean
nolabait.
>> Txu dut besterik ez bada delako izenburua hemen eta izenburua out
han bai, izenburu bada hitzez hitz Hau eta PHP bezalako itxura
duten txu hizkuntza gisa beste hizkuntza testua out,
hau da, hitzez hitz joan Etiketa honek ordezkatu du,
noski, beste leku batean jarri dut.
>> Beraz, bada, orain, hemen joan behar dut eta ondoren birkargatu segurtasun mekanismo horiek desegin,
gaur egun I kaixo mundua hemen.
Orain hori ez da guztia dela bat big aurre egiteko, baina zerbait egin izan
Apur bat gehiago maltzurren Hemen, ez da atsegin
beste tags-- ikusiko dugun bezala dugu behin gastatzen dugu JavaScript denbora gehiago kokapena atsegin
dot href lortzen, aurrekontua, unquote, HTTP business.com, baina horren kontrakoa
beste egun batetik.
Eta orain, web bat bultzatu ahal izango dituzu orrira benetan joan berehala
Web orri hau hemen.
>> Eta egia esan, ez dut nahi are business.com joan
delako ez dut nahi zer dela jakitea.
Baina honetan ere, kodea eragin du Orri honetara sartu injektatu.
Beraz, hori baino ez dela esan arren super batzuk goiz ari gara sartuz
egitura konplexuagoa du, guztiak da ziur eginez amaiera aldera
Zure kodea ez da, ustiatzeko.
>> Beraz, orain hirugarren bertsio bat hemen.
Honez fancier apur bat lortzeko.
Ez dut atsegin Nire alde anal
izan zen pixka bat haserretu by lortzean Izan nuen deitzen duen funtzioa
RenderHeader eta RenderFooter duten ia berdinak izan ziren.
Beraz, gertatu zait, zergatik ez Parameterize I funtzio horiek
bakar bat izeneko errendatu sartu, dute bigarren argumentu bat eraman ezazu
txantiloiaren izena bezala, finalean bai goiburua edo orri-oina render-- nahi?
Eta, ondoren, nahi izanez gero, nahi dut to gako bikote batzuk pasatzeko
bezala egiten du titulua lortzeko I goiburua baina ez footer egin dio,
Hori egin izan dut.
>> Eta beraz, orain badut helpers.php sartu bada, apur bat konplexuagoa da.
Eta nire eskuak olatuen egingo dut at xehetasunak, baina funtzio bat besterik ez da.
Beraz, diseinu hobea norabidean urrats bat da.
>> Urrats bat gehiago hartu ahal izango dugu.
Joan nintzen nire laugarren sartu bazara honen bertsio, nabarituko orain
duten zerbait egiten ari naiz críptica moduko are gehiago.
Eta badakit hau da, asko berehala xurgatzeko,
baina ari gara, besterik gabe mota garbiketa gauzak.
Orain nire laguntzaile naiz jarriz izeneko karpeta batean artxibatzen
includes-- arbitrarioa besterik an izendatzeko non gauzak jarri nahi dut
include-- eta gero nahi dut honen gainerako bera da.
>> Baina orain begiratzen dut gedit bada, ahaztuak Nik kentzeko oharra
Beste fitxategi horien guztien eta nik dut bultzatu zituen, esate baterako, hemen sartu.
Eta gero txantiloietan, Daukat hau hemen, too.
Horrela, orain urrats bat norabidean diseinurako eredua askoz hobea erabiliz.
Eta oso azkar gara urruntzen joan
PHP lehenetsia funtzionalitate batetik, horrek hemen hasi ginen eta,
non commingle besterik ez duzu PHP, eta zure HTML, eta zure CSS,
eta txu besterik ez duzu it out eta zure bidea egin dezakezu.
Ez da oso atxikigarria izango.
Just C bezala, erabiltzen hasi ginen Hainbat fitxategi eta funtzio bat baino gehiago
eta factoring gauza out.
Hemen gauza bera egin dugu.
Eta hain zuzen ere, bosgarren eta azken saioa Hemen bertsioa, beste gauza bat egin nuen.
Are dot dot erabili ahal izango duzu, eta horrek, berriz, guraso direktorioa da.
Segurtasun are gehiago kontziente izateko, begiratzen dut entzutea, bada delako
Hemen bosgarren eta azken bertsioa, oharra Direktorio bat hemen izeneko que tengo
publikoak, eta, ondoren, Maila berean, nolabait esateko,
Nik sartzen dira eta txantiloiak eta, ondoren, testu fitxategi readme duten.
>> Eta arrazoia egituratuta egon naiz this-- eta web hainbeste gustatzen
ostalarien, batez ere $ 5 horiek Hileko direnak edo $ 10 hilabete direnak,
Duzun inoiz izan horietako bat bada services-- zer beraz, horietako asko egin
da espero, besterik ez dute guztia irauli duzu Zure fitxategiak direktorio bat sartu,
bezala, dagoeneko egin dugu batera Oso lehen adibide honetan.
>> Baina laster gehiago eraikitzen hasten zara guneak sofistikatua gorde
Datu fitxategiak zuri buruzko eta zaintzen duzun zaintzeko, egia esan, gauzak antolatzeko
behar bezala eta segurtasun gehiagorekin Kontuan kontzientziaren
defendatzeko hasten gara lagun guztien aurka
bai edo baduzula klase honetatik kanpo,
egiten hasteko bezain laster programak zeure burua webean,
dira biltzen hasteko duzu, eta horien gainean.
>> Eta beraz, begiratzen dugu Diseinu honetan, azken finean.
Hau argazki bat besterik ez da Jarraitzaile ditu.
Guztiak jarri behar izan dugu gure logika programatzeko fitxategi bat edo gehiago,
eta horretan ari gara Nahikoa joan kontrolagailu horiek deituz.
Da non garunak Gure webguneak benetan dira.
Ondoren goaz aldiz, eta ikusia izan
besterik ez dira bereizi bezain erraza files-- txantiloi deitzen, askotan.
Aski izango dute nire orriaren estetika,
orrialdea begiratu nahi dut koloreak eta diseinua antzeko
eta posizioak aldagai guztiak.
>> Eta gero interesgarriagoa garela azkenean lortu
eredua, hau da, besterik gabe, izango da Hitzaren Slap dugu beste teknologiei buruzko
ekarri dugun sartu Irudian, datu-baseak, benetako bezala,
nahi duzunean, horrela, informazioa gordetzeko,
ez besterik email bat Zure PROCTOR edo zeure buruari,
benetan gordetzeko da datu base batean SQL bezala ezagutzen den beste hizkuntza bat erabiliz.
Eta horrela utziko dugu hemen gaur eta jaso honekin asteazkenean
eta datu-baseak aurkeztu ondoren.
>> [Musika jotzen]