>> SPEAKER 1: Kﾃｵik, eks tere tulemast tagasi.
See on CS50.
Ja see on algusest nﾃ､dalal ﾃｼheksa.
Ja see on algusest ﾃｼlejﾃ､ﾃ､nud oma aega CS50, kus me
ﾃｼlemineku nﾃｼﾃｼd lﾃｵpuks veebis aspekt muidugi, kus saate
leiavad, et palju pﾃｵhialuste et oleme olnud eksportivate nﾃ､dalat
veel tagasi tulla kﾃｼlla, vﾃｵi kummitama, meiega.
Aga nﾃｼﾃｼd, leiad, et see on suurusjﾃ､rgus lihtsam
tﾃ､ita teatud ﾃｼlesandeid ja Teatud probleemide lahendamiseks -
nii palju, et isegi siis, kui sa arvasid, teatud probleem komplekti oli lﾃｵbus oma
omal moel, ma arvan, et sa leiad, et p seatud 7, lk mﾃ､ﾃ､rata 8, ja siis,
lﾃｵpuks, lﾃｵplik projekt on seda enam meeldiv, sest sul
leiavad, et hakkame enesestmﾃｵistetavaks nﾃｼﾃｼd asjad mﾃ､lu haldamine ja
suunanﾃ､itajaks, ja mis toimub on alla kapuuts.
Ja jﾃ､lle, temaatilised, kﾃｵik kogu semester on see kihilisus
ja kihistumist.
Ja nﾃｼﾃｼd me oleme omamoodi ﾃｼles Siin seisab
ﾃｵlgadele nﾃ､dalat varem.
>> Nﾃｼﾃｼd mﾃ､letate viimast korda, et me rﾃ､ﾃ､kis, kuidas internet toimib.
Ja see oli vﾃｵib-olla jﾃ､releandmisi, kuid pidage meeles, et
iga arvuti maailmas on IP lahendada, kuigi see on natuke
jﾃ､releandmisi ikka.
Ja need aadressid on kasutatud ﾃｼheselt kindlaks masinate et
kui saadate teavet vﾃｵi pakette, nii rﾃ､ﾃ､kida, vﾃｵib neil pﾃ､ritolu
aadress ja sihtkoha aadress.
Ja need samad IP-aadressid on vﾃｵimalik kasutada nii hea kui ka kurja,
sind jﾃ､lgida, nﾃ､iteks.
Tegelikult igaﾃｼks teist koos sﾃｼlearvuti avada nﾃｼﾃｼd vﾃｵi telefoni oma
tasku, on IP aadress on Harvard vﾃｵrku.
Ja see pole veel kﾃｵik, et raske korrelatsioonis, et kes ja kus sa
on nendel pﾃ､evadel.
Aga rohkem sellest ehk tulevikus.
>> Nﾃｼﾃｼd ma mﾃｵtlesin, et ma tagasi tuua mﾃｵned mﾃ､lestused [? suurendada?] ja teile
teise klipi nﾃ､idata teile vﾃｵite leida tuttav.
Kui me saaksime pﾃ､evasﾃｵidutulede tuled vaid paar sekundit.
Nﾃ､ita Numb3rs.
>> SPEAKER 2: See on 32-bitine IPP4 aadress.
>> SPEAKER 3: IPP nagu internet?
>> SPEAKER 2: Private vﾃｵrku.
Et Amita isiklik vﾃｵrk.
Ta on nii hﾃ､mmastav.
>> SPEAKER 3: Tule, Charlie.
>> SPEAKER 2: See on.
Peegel IP aadress.
Ta lastes meile vaadata, mida ta on teinud reaalajas.
>> SPEAKER 1: OK, nii et mﾃｵned asjad sellel pildil valesti.
Nii et ﾃｼks ja see on vastuvﾃｵetav, see on tegelikult
ei ole kehtiv IP-aadress.
Kehtiv IP aadress peab olema numbrid vormi w.x.y.z, kus iga
need kirjad on 0-255.
Aga see on hea, sest nagu filmi, kus nad vﾃｵltsitud telefoninumbrite
need vﾃｵlts IP aadresse.
Sa tegelikult ei tabanud tﾃｵeline servereid.
>> Kuid mind sa, et see on brauseris.
Ja brauserid ei hakka kirjutamine arvuti koodi niimoodi.
Ja kui me vaatame veidi sﾃｼgavamale, teate et keel, et nad nﾃ､evad
ekraanil on keeles nimetatakse Eesmﾃ､rk C, mis on keel,
mis iPhone apps on kirjutatud, eriti need, mis hﾃｵlmavad
vﾃ､rvipliiatsid, kui nﾃ､ete lﾃ､htekoodi siin.
>> OK, ma arvasin, et see oli naljakas.
Nii et see koodilﾃｵik on absoluutselt midagi pistmist iganes see
eriti episood oli umbes.
Nii nali on omamoodi on inimesed vﾃｵttes selleks antud.
Kuid see ei ole kﾃｵik, et raske saada nende tehnilised ﾃｼksikasjad oleksid ﾃｵiged.
Ja ma kutsun teid.
Ja tegelikult, 50 vﾃｵib vﾃ､ga hﾃ､sti rikkuda palju telesaateid ja filme vﾃｵi te
sest leiad, et see on lihtsalt ei ole vﾃｵimalik see, mida nad on
tehes ekraanil.
Aga tﾃｵesti, see on kood, mida vﾃｵib nﾃ､ha seda iPhone rakendus
vﾃｵi Mac OS.
See on midagi ﾃｼldse pistmist turvalisus.
Nii et hoidke silma peal rohkem selline lﾃｵbus asjad niimoodi.
>> Aga tﾃ､na me hakkame sukelduda tegelikult sﾃｼgavalt kﾃｵiki keeli.
Tﾃｵepoolest, ﾃｼks ﾃｼldine takeaways selle osa
Muidugi ei ole teada, kuidas programmeerida PHP, mitte ﾃｵppida SQL iseenesest ei
ﾃｵppida JavaScript per se, vaid pigem ﾃｵpetada ise, kuidas ﾃｵpetada
ise uusi keeli, sest tﾃｵepoolest, hakkame vﾃｵtma nﾃｼﾃｼd
Apupyﾃｶrﾃ､t maha nii, et pﾃ､rast kursuse lﾃｵpuks, sa ei saa eeldada, 20
lehekﾃｼlje kirjelduse ﾃｶelda, kuidas rakendada mﾃｵningaid programmi.
Sul on piisavalt koostisaineid oma meele ja piisavalt vahendeid oma tﾃｶﾃｶriist
kit, kellega alustada hoone lahendusi probleemidele huvi
sa mﾃｵnda ﾃｵpilast rﾃｼhmas mﾃｵnda uurimisprojekti, vﾃｵi tﾃｵesti midagi
Teile huvi pakkuda.
>> Nii suunas, et lﾃｵpuks meelde, et see oli Pildil juhtis ta viimast korda.
Ja see on kaks arvutit, kliendi ja katkestama, rﾃ､ﾃ､gi ﾃｼksteisega.
Ja protokolli, keel, nii et rﾃ､ﾃ､kida, et need kaks arvutit juhtuma
kﾃｵnelda nimetatakse HTTP.
Ja see on lihtsalt kasutatav protokoll arvutid teabe edastamiseks ﾃｼle
World Wide Web.
Web, on muidugi vaid ﾃｼks teenus mis jookseb peal
niinimetatud internet.
Mis muu teenus saadaval tippu internet nendel pﾃ､evadel?
Mﾃｵned teised protokoll vﾃｵi - mis see on?
>> Publik: FTP.
>> SPEAKER 1: FTP.
Nii File Transfer Protocol on teine.
Enamik teist ilmselt ei ole seda kasutanud.
Aga enamik te ilmselt kasutada asjad Gchat vﾃｵi vahetu
Sﾃｵnumid ﾃｼldisemalt kindlasti email.
Ja need ka, on teenused, mis tﾃｶﾃｶtavad tippu internet, sest kell
Pﾃ､eva lﾃｵpuks on internet ise tegelikult lihtsalt saada andmeid punktist A
punkti B. Ja see kasutab mitmeid osakesed ise ﾃｼks neist vﾃｵi kaks
neist enamik tavaliselt nimetatakse TCP / IP, mis tﾃ､hendab, et ﾃｼks arvuti
Internetis vﾃｵib tegelikult olla teeme erinevaid asju, email,
ja web, ja nii edasi.
Google teeb palju see.
Niisiis, kuidas on neid teenuseid ﾃｼheselt kindlaks, kas me ﾃｼtleme, arvuti
mis vﾃｵiks tegelikult olla teeme mitu asja?
>> Pordi number.
Ja need on vaid suvalise inimese konventsioonides, nagu 80 on web, 443 on
krﾃｼpteeritud web, 25 on e-mail.
Ja seal on kobarad teised.
Ja need numbrid on lihtsalt lisatud need paketid teabe, nende
virtuaalne ﾃｼmbrikus, mis tegelikult sisalduva taotluse vﾃｵi vastus.
>> Nii et kui sa tagasi vastus web, tavaliselt sa ei nﾃ､e
numbrid ﾃｼldse seisukohalt staatuse kood vastust.
Sa tegelikult ei nﾃ､e tﾃｶﾃｶst
paketid, mis tulevad tagasi.
Aga 200 tﾃ､hendab tﾃｵesti OK.
Ja see tﾃ､hendab, et kﾃｵik on hﾃ､sti.
Te olete nﾃ､inud hunnik neid.
Mis on ilmselt kﾃｵige levinum olete nﾃ､inud netis?
>> 404.
See tﾃ､hendab lihtsalt, faili ei leitud.
See tﾃ､hendab, keegi keeras.
Sa tegid mida mistyping URL vﾃｵi keegi teine 窶銀逆egi andes teile
vigane URL, vﾃｵi need kustutatakse faili ja URL on endiselt
mida kasutavad inimesed.
Nii tahes mitmel pﾃｵhjusel vﾃｵimalik seletada miks faili ei leitud.
Ja te nﾃ､ete, et lﾃ､hinﾃ､dalatel, need teised veakoodid, ja sa pead
ﾃ､ra mﾃｵned neist.
Halvim on 500.
Kui saad 500 viga koodi olete kirjutada, mﾃｵelda, et kui mingi
analoog seg rikete maailmas veebi programmeerimine.
See ei ole pﾃ､ris nii kohutav.
Aga see lihtsalt tﾃ､hendab, et kusagil, sa silmamunad.
Seega ootan neid.
>> Aga vaatame, kas me saame nﾃ､ha neid kontekstis.
Lubage mul minna brauseri siin ja tehke jﾃ､rgmist.
Nii et see on Chrome, mis juhtub paigaldada seade.
Aga kﾃｵige iga brauser nendel pﾃ､evadel on mﾃｵned samavﾃ､ﾃ､rset funktsionaalsust.
Ma lﾃ､hen ﾃｼles Chrome'i menﾃｼﾃｼ ja mine Tools, ja ma lﾃ､hen
Arendaja tﾃｶﾃｶriistad.
Ja te nﾃ､ete, et see vﾃ､ike paneel avaneb akna allosas.
Teine otsetee, kui aus olla, siis ma Tavaliselt kasutan ise on Paremklﾃｵps
vﾃｵi kontrolli nuppu kuskil netis lehele ja minge kontrollige element.
Ja see ei ole ainult avatud see on teile.
See avab ka konkreetselt Elements osa kohta
vasakul pool.
>> Nii et me muidugi nﾃ､eme Google.
Nad muutsid oma logo tﾃ､na.
Aga kui ma keri ﾃｼles siin, teate et alla Elements, nﾃ､ed
mida nimetatakse HTML, hyper Keel ja see on keel
et see ja kﾃｵik veebilehti, tﾃｵesti on kirjutatud sisse
Aga see on tegelikult vormindatud meile nii palju readably
kui see tavaliselt on.
Tegelikult, kui ma suumida ja ma selle asemel lihtsalt paremklﾃｵps vﾃｵi Control Click
Klﾃｵpsake lehel, ja seejﾃ､rel minna Vaata Page Source, see on sﾃｵna otseses mﾃｵttes, mida
Google saatnud oma brauseris.
>> Nii mﾃｵned isiku kirjutas Google.com kasutades lﾃ､htekoodi.
Enamik see ei ole HTML.
See on tegelikult keeles nimetatakse JavaScript, mis
me tuleme kolmapﾃ､eval.
Aga mida Chrome, ja see, mida iga brauser saab teha meie jaoks, on selline vaata
minevikus kﾃｵik distractions hull sﾃｼntaks ja taastavad tﾃｼhik
meile ja isegi sﾃｼntaksi esiletﾃｵstmise, vﾃｵi toonida asjad meie jaoks.
Nii et sa leiad, et need niinimetatud kehitystyﾃｶkalut ehitatud brauserid
teeb oma elu nii, nii palju lihtsam sest sa vﾃｵid avastada, lﾃ､bi selle menﾃｼﾃｼ
liides, just see, mida nende aluseks olevate lﾃ､htekoodi on
iga lehekﾃｼlg internetis.
Ja tﾃｵepoolest, see on ﾃｼks kﾃｵige tﾃｵhusamaid viise, et ﾃｵppida, kuidas seda teha
midagi uut, vﾃ､hemalt siis, kui leht ei ole nii keeruline, et uputama, on
alustada poking ﾃｼmber on HTML, vaata selle nn CSS, mis me tuleme
et natuke ka selleks, et saada arusaam, et programmeerija
rakendanud eelkﾃｵige funktsiooni osas.
>> Aga tehniliselt huvitav ﾃｵigus nﾃｼﾃｼd saab olema see.
Kui ma lﾃ､hen Network sakk olgem nﾃｼﾃｼd selge see.
Ma lﾃ､hen kliki vﾃ､he rist sﾃｼmbol siin, ja siis
minna teise veebilehel.
Ja ma olen lihtsalt kavatse tﾃｼﾃｼpi aastal Facebook.com.
No HTTP, mitte HTTPS ei WWW.
Olgem tegelikult nﾃ､ha, mis juhtub siin.
>> Enter.
Nﾃｼﾃｼd teate terve hunnik asju lihtsalt ilmus see alumine paneel, in
Lisaks veebilehe ilmumist top.
Ma lﾃ､hen, et kerida tagasi ﾃｼles Network sakk siin, ja ma lﾃ､hen
klﾃｵpsa esimesel real.
Mis see tﾃｶﾃｶriist lﾃ､heb ilmutab meile on iga ﾃｼhe HTTP taotlusi
et kiiresti lihtsalt lﾃ､ksin tagasi ja edasi-minu brauseris
ja Facebook serverisse.
Ja nii iga ﾃｼks neist read on ﾃｼks selline taotlus vﾃｵi
Vastuseks ﾃｼhe vﾃｵi mitme need virtuaalsed ﾃｼmbrikus.
Vﾃｵi rohkem juhuslikult, see on nagu inimene nagu inimene, kliendile
restoran, paludes midagi uuesti ja uuesti ja uuesti.
Ja kelner hoiab tuues tagasi ﾃｼhekaupa.
>> Nﾃｼﾃｼd, kui ma suurendada selle, teate ja see on selline asi,
et sa oled teretulnud ja julgustada mﾃ､ngida oma, sest me
ei lﾃ､he lﾃ､bi kﾃｵik vﾃ､ga ﾃｼksikasjalikult.
Aga teate, seal on mﾃｵned sub tabs siin -
Pﾃ､ised, Eelvaade Response, Kﾃｼpsised ja ajastus.
Ma lihtsalt vaadata pﾃ､iseid nﾃｼﾃｼd, sest need on vﾃ､he
koostisainete sees ﾃｼmbriku aidata andmeid saada ja kohtadest.
>> Nii et esimene, las ma klﾃｵpsa see, Vaata Allikas kﾃｵrval Soovin pﾃ､ised.
On nﾃｵue, et minu brauser, Chrome, sel juhul saadetakse sees
et virtuaalne ﾃｼmbrikus.
Sul meenutada mﾃｶﾃｶdunud nﾃ､dalal kﾃ､sitsi kirjutatud see kuigi
teeseldes brauserit.
Seejﾃ､rel meenutas server, et see on otsin vastuvﾃｵtva nimega
Facebook.com.
Ja siis seal on natuke rohkem keerulisse teavet, mis me laine
meie kﾃ､ed nﾃｼﾃｼd.
>> Aga kui ma hakkan keri nﾃｼﾃｼd see aken, lubage mul saada
vastus pﾃ､ised.
See oli see, mis on loodud virtuaalses ﾃｼmbrik, et tulin tagasi
Facebook.com.
Ja kui ma nuppu Kuva Lﾃ､htekood lihtsalt nﾃ､ha toores teksti see,
mﾃ､rgata mﾃｵningaid asju.
ﾃ很s, Facebook rﾃ､ﾃ､gib ka sama protokoll, versioon 1.1 sﾃ､testatut.
Nii et on tore.
Aga staatuse kood 301, pﾃｼsivalt liigutatud.
>> Noh, Kui Heck Kas Facebook minna?
Mis see ﾃｼritad edastada meile?
Noh, teate siia seal on teine pﾃ､is nimega Location.
Miks on Facebook ﾃｼtleb mulle, et nad pﾃｼsivalt liigutatud, et URL
kﾃｵrval Asukoht?
Ma unustasin www.
>> Nii et oli minu valik.
Tegelikult enamik meist harva, arvatavasti kirjuta www.whatever.com nendel pﾃ､evadel.
Aga selgub, sﾃｼsteemiadministraator, nagu Facebook, saavad
seadistada oma servereid nii et kas Facebook.com tﾃｶﾃｶtab, vﾃｵi
www.Facebook.com tﾃｶﾃｶtab, vﾃｵi, tﾃｵesti, selline eesliide ees oma
domeeninimi.
Nii nad tegid seda meie eest.
Ja neid suunates meid ilmselt mﾃｵned tehnilised,
mﾃｵned pﾃｵhjustel.
Nad tahavad lihtsalt ﾃｵgvenda edasi www.Facebook.com.
>> Aga see pole pﾃ､ris see.
Kui ma keri siin, lﾃ､hme vaata, mis juhtub.
See ﾃｼtleb mulle, et me pﾃｼsivalt liigutatud
http://www.Facebook.com.
Nii vaatame teise taotluse et minu brauser saadab.
Kahjuks tundub, et Facebook liikunud jﾃ､lle, sest teine
taotluse, valides et URL selle asemel, ﾃｼtleb, et liiga, kolis
jﾃ､ﾃ､davalt.
Ja las ma keri siin et vastus pﾃ､ised.
Kus on Facebook lﾃ､inud nﾃｼﾃｼd?
>> Nii HTTPS.
Nﾃｼﾃｼd Facebook on alanud, eriti arvestades praegust
Viimaste kuude sﾃｼndmused, eelkﾃｵige ja ka viimase paari aasta jooksul
sundida kﾃｵik oma kasutajatele, hea Muide, kasutada HTTPS, mis on rohkem
kindlustada, kuigi mitte tﾃ､iesti turvaline.
Ja nﾃｼﾃｼd minu lehekﾃｼljel minu brauser on kavatse nﾃｵuda selle kolmanda URL.
Ja nﾃｼﾃｼd lﾃｵpuks, saame muidu nﾃ､htamatu 200 OK.
>> Mis siis maailmas vﾃｵi kogu need teised read siin.
Ma sﾃｵna otseses mﾃｵttes kirjutatud ﾃｼks asi ja minu brauser tundub, et on taotletud, nagu
20 mﾃｵned kummalised asjad.
Mis see on?
>> Publik: Skriptid?
>> SPEAKER 1: Scripts, et teised failid kirjutatud keeles nimetatakse
JavaScript, mis jﾃ､llegi, me vaata natuke kolmapﾃ､eval.
Mida veel?
Style lehed.
Seega midagi keeles nimetatakse CSS, mis me nﾃ､ha natuke.
GIF ja JPEG ja pngs ja pilte, ja videofaile - olenemata veebileht
on kﾃｵige tﾃｵenﾃ､olisem kujul faili.
Ja mis me nﾃ､eme vasakul servas on kﾃｵik failid
et Chrome pidi alla, rekursiivselt, kui soovite, et
komponeerida kogu lehel.
>> Niisiis, mida me nﾃ､gime hetk tagasi Google, kui ma vajutan Elements
tab see, muidugi, on HTML, keelt, mis komponeerib seda lehte.
Aga seal on kobarad muid asju.
Seal on logo.
Seal on need, sinakas ikoonid seal.
Ja seal on muid elemente veel leht, mis ise vﾃｵib olla
eraldi failidena.
>> Mis on ilus umbes brauser on, et vaadeldakse keele me
hakake, vﾃｵi olete juba hakkas kirjalikult P komplekti 7, arvud
vﾃ､lja, kus need failid elavad ja lﾃ､heb ja haarab neid samuti.
Ja ma ei saa piisavalt rﾃｵhutada, isegi kuigi mﾃｵned see vﾃｵib tunduda natuke
kauge vﾃｵi valdav esmapilgul ﾃｵppida, kuidas programmi
taotluste veebis, see on hindamatu mﾃｵista, kuidas need
vﾃ､he vahendeid tﾃｶﾃｶle.
Need on omamoodi nagu GDB nagu tﾃｶﾃｶriistad kuid palju lihtsam lﾃｵppkokkuvﾃｵttes kasutada -
ja tegelikult annab teile silma, milliseid oleme vﾃｵtnud ette antud
juba mﾃｵnda aega.
>> Mida me saame nﾃｼﾃｼd teha seda teavet?
Noh, tegelikult, kui heita pilk aluseks olevad mﾃｵisted HTML.
Ja me edasi lﾃｼkata, kui meil juba on, et lﾃｵigud sel nﾃ､dalal, et probleem
mﾃ､ﾃ､ratud 7 spetsifikatsioon, et mﾃｵned rohkem andmed nendest keeltest.
Aga vaatame, kas me ei saa maalida pilt, mida sa peaksid mﾃｵistma,
ﾃｼldine siin.
>> Nii HTML Hypertext Markup Language, ei ole programmeerimiskeel.
Mida see tegelikult tﾃ､hendab?
Nii HTML nﾃ､eb vﾃ､lja selline.
Ja mﾃｵned teist juba teavad seda.
Mﾃｵned teist on seda teinud see juba mﾃｵnda aega.
Aga vaatame, kui me ei suuda tﾃ､ita mﾃｵnel toorikud samuti.
Nii mﾃ､rkate paar asja siin.
ﾃ很s, see on lihtsalt teksti.
Nii et see on nagu lﾃ､htekoodi C, vﾃｵi mﾃｵni muu keel.
>> Pange tﾃ､hele, et seal tundub olema muster siin.
Seal on taandus, kuid tehniliselt taane on lihtsalt inimese
konventsioon.
Brauserid ei hooli, kas seal on uus joonte ja kaarte nagu me nﾃ､eme seal.
Aga teate, et seal on sﾃｼmmeetria siin.
Seal on see, mida ma kutsun, ﾃｼlaosas Selle faili avatud tunnussﾃｵna vﾃｵi algus
tag nimega HTML.
Ja siis, allapoole, tﾃ､iesti vooderdatud up, meelega teeme looksulg,
nﾃ､eme sulg, edasi slash, HTML, sulg.
Nii et see vastab lﾃ､hedal tag vﾃｵi end tag, sest see asi.
>> Koos kﾃｵik sees niinimetatud avatud tag ja tihe tag
kirjutada, mida me kutsume element.
Ja me nﾃ､eme, et ﾃｼks hetk, see on tﾃｵesti sﾃｵlme puud.
Sest kui sa arvad nﾃｼﾃｼd taandus et vaikiv siin, siis
selline on, nagu, vanavanem sﾃｵlme nimetatakse HTML.
Mitu last vﾃｵib teile ﾃｶelda, mis pﾃｵhineb Selle pildi HTML element on?
>> Nii ilmselt kaks.
ﾃ很s pea on element, ilmselt.
Ja ﾃｼks on keha element.
Ja miks kaks last?
Noh, ma olen lihtsalt selline jﾃ､reldada, et kui Mul on avatud pea tag ja siis
Sulge pea tag, see element.
Ja siis, kui seal on veel avatud keha tag ja lﾃ､hedal body, mis on nagu
teine 窶銀菊lement.
Nii et selles mﾃｵttes, et kui ma mingi pﾃｶﾃｶramine pilt kﾃｼlili, see on
nagu vﾃｵttes HTML tag, ja siis pea tag ja siis body ja
siis mingi teksti, tere, rippuvad off body ise.
>> Nii saame teha, et olukord tunduda see.
Kujundid on meelevaldne.
Aga teate, et ma olen kasutanud omamoodi ellips ﾃｼlaosas esindama
dokumendis endas.
Selgub, ei saa olla muud kraami sees veebileht, ma ei ole
tﾃｵmmata.
Nii et me ei kavatse isegi riputada HTML sﾃｵlme vﾃ､lja nn dokumendi sﾃｵlme.
Ja siis on meil head ja keha ja pealkiri, teade,
mis on pesastatud edasi.
Ma ei viitsinud panna lisarida puruneb sees pealkiri tag.
See lihtsalt tundus see oli saada natuke liiga paljusﾃｵnaline.
Nii et ma jﾃ､tsin ta ﾃｼhele joonele seal, kus avatud pealkiri, tere, lﾃ､hedal pealkiri.
Ja siis on meil mingi tekst rippuvad off siin.
>> Nii et see pilt tulevad tagasi meid, kui me sukelduda JavaScript.
Ja mﾃｵista, et kui sa kirjutada HTML meeldib see, mida
on brauseri teed?
Noh, me ei pea muretsema kuidas ta seda teeb, vﾃｵi mida
algoritm, kuid lﾃｵpus pﾃ､eval, kui brauser saab HTML nagu
et alates Facebook vﾃｵi Google, see korrastab , nii et rﾃ､ﾃ､kida, ta loeb seda,
midagi nagu fread, ﾃｼlevalt alla, vasakult paremale, ja kui see
mﾃｵistab, oh, avatud tag ja sulgege tag, see hakkab malloc niiﾃｶelda,
sﾃｵlme puu.
Ja kui ta avastab, nagu me oleme kaudselt siin taandus,
laps sﾃｵlme, see mallocs sﾃｵlm et ja lisatud, et puu.
>> Seega puu struktuuri, binaarne puid sulam kolme puud ja suuremad puud, mis
me pilgu nﾃ､dal vﾃｵi kaks tagasi, teade et sama pﾃｵhimﾃｵte on
tulevad meile tagasi.
Ja kes ellu, Chrome iganes meeskond tegi, et arvatavasti oli
rakendada mingi puu struktuuri all kapuuts.
Ja see on iseenesest arvatavasti keeles nagu C vﾃｵi C + + vﾃｵi madalam
tase keeles, kanname nﾃｼﾃｼd kasutada atop veebis.
>> Nﾃｼﾃｼd, vﾃｵibolla on see tahe mﾃｵttekam.
Tegelik tattoo mﾃｵnest mees, kes vﾃｵiks kahetsen seda hiljem, omamoodi.
OK, olgu, nii palju web huumor.
See ei ole tﾃｵesti ﾃｼle nii hﾃ､sti tﾃ､na.
Nii me edasi liikuda.
Hea kﾃｼll.
>> Vﾃｵtame pilk nﾃｼﾃｼd juures mﾃｵned nﾃ､ited.
Lihtsaim vﾃｵimalik asi vﾃｵib olla selles.
Ma lﾃ､hen edasi minna ja avada ka gedit fail nimega hello.php.
Ja sees siin, ma lﾃ､hen kiiresti lihtsalt seda, printf, tsiteerin
lﾃｵppeb, "tere."
>> Nii teate, ja ma teen oma Kenoviiva n, Ma ei ole vaevunud kuulutada peamine.
Selgub, php, ja palju keeles, sa ei pea peamiseks
funktsioon iseenesest.
Sa vﾃｵid alustada kirjalikult oma programmi.
Nﾃｼﾃｼd, kui ma salvestada see fail, teate ma olen lﾃ､heb on teha jﾃ､rgmist.
Ma ei kavatse kasutada tegema, ja ma ei ole kavatse kasutada rﾃｵkkama sest PHP, erinevalt
C, ei ole koostatud keeles.
See on see, mida nimetatakse tﾃｵlgendada keel, mis tﾃ､hendab, et sa jooksed ta
kui sisend lﾃ､bi teise programmi nimetatakse tﾃｵlk.
Ja et programm loeb seda, ﾃｼlevalt alla, vasakult paremale, ja teeb
mida sa ﾃｶelda tahad.
>> Nii et selles asjas on mul ﾃｼks rida, mis ﾃｼtleb printf.
Nii et kui ma saan selle lﾃ､htekoodi hello.php, kuigi programm, mis
juhtub, mugavalt, mida nimetatakse PHP, et programm PHP loen
see fail, ﾃｼlevalt alla, vasakult paremale, ja see saab teha seda, mida ma
ﾃｶelda seda, mida teha - tﾃ､idesaatva kood, ja kui ta ei tunne midagi, lihtsalt
sﾃｼlitada vﾃ､lja.
Nii et ma lﾃ､hen edasi minna ja kﾃ､ivitada PHP kohta hello.php.
Enter.
>> Ja see pole pﾃ､ris see, mida ma ette.
Noh, miks see nii on?
Noh, PHP on keel, mis on tegelikult eesmﾃ､rk on olla ﾃｼsna
pﾃｵimunud veebis.
Tehes veebilehti selles keeles PHP, nagu me varsti nﾃ､eme, siis me
tahad teha midagi print vﾃ､lja rida niimoodi.
>> Ma lﾃ､hen seda tegema.
Sulg, kﾃｼsimﾃ､rk, PHP, ja nﾃｼﾃｼd ma lihtsalt taane lihtsalt hoida
asjad kena.
Ja nﾃｼﾃｼd ma lﾃ､hen tegema, kﾃｼsimus tﾃ､histada sulg.
Nii et seal on natuke asﾃｼmmeetria siin.
Sa ei saa seda teha.
Ja sa ei pea tegema slash, nii PHP on veidi erinev.
>> Aga nﾃｼﾃｼd, kui ma uuesti, see programm, PHP hello.php nﾃｼﾃｼd ma
tegelikult saada Hello World.
Ja me nﾃ､eme, miks see on vﾃ､ﾃ､rtuslik.
ﾃ很s, see vﾃｵimaldab mul tﾃ､psustada, super sﾃｵnaselgelt, et see on
kood, kﾃ､ivitada see.
Ja see on tﾃｵesti see, mida need eriline sildid tﾃ､henda siin.
>> Aga see tﾃ､hendab ka, et kui ma lihtsalt teha midagi ma eesmﾃ､rk siin, et
tﾃ､hendab, et sﾃｵna otseses mﾃｵttes, et lihtsalt vﾃ､lja trﾃｼkkida, ilma vajaduseta
tegelikult helistada printf vﾃｵi printida, vﾃｵi muu sarnane funktsioon.
Nii et me tuleme tagasi, et vaid hetk.
>> Esiteks, ﾃ､rgem seda teha.
Seadme sisemust, meil kataloog nimega Vhosts, virtuaalne
vﾃｵﾃｵrustajate kﾃ､rpida kohalik host, kﾃ､rpida avalik.
Nii et see on natuke verbose, kuid pikk lugu lﾃｼhike, et seade on mﾃｵeldud mitte
ainult toetada C. Samuti kavandatud toetama PHP.
Aga see on ka mﾃｵeldud web server ja andmebaas server.
Ja see on projekteeritud ja tﾃｵeliselt konfigureeritud, olema meenutab iga
kaubik web hosting ettevﾃｵte, mis sa vﾃｵiksid maksta $ 5 kuus,
$ 100 kuus.
ﾃ很skﾃｵik teenus on, see on konfigureeritud olla vﾃ､ga sarnane
Reaalses maailmas tootmise server.
>> Ja mida see tﾃ､hendab, on see, et see tﾃｶﾃｶtab Seade on veebiserveri tarkvara.
See juhtub, et kutsuda Apache.
See on lihtsalt tasuta ja avatud lﾃ､htekoodiga ja vﾃ､ga populaarne.
Ja meil on seadistatud Apache teada et kui ma kﾃｼlastan teatud URL, koos
Chrome vﾃｵi brauseri sees seade, et uurida selle kataloogi
failide jaoks kasutaja taotleb.
>> Teisisﾃｵnu, andke minna ja seda teha.
Toas minu avalik kataloog, ma lﾃ､hen minna ja luua uus fail
nimega index.html.
See annab mulle lingile siin.
Ja ma lﾃ､hen vﾃ､ga kiiresti ja minna ja paugu vﾃ､lja
Selle programmi siin.
DOCTYPE HTML, mis nﾃｼﾃｼd, just eeldan, et sa pead kirjutama.
See on lihtsalt kauge tag, mis ei ole tﾃｵeliselt HTML tag, mis mﾃ､ﾃ､rab, et
siin on mﾃｵned HTML.
>> Ma lﾃ､hen edasi minna ja taastada mida nﾃ､gime hetkeks tagasi.
Siin on pea osas.
Toas oli pea -
nii pealkiri.
Nii ﾃｼtleme tere, maailm.
Ja siis siin all oli body.
Lubage mul lﾃｵpetada body.
Ja siis siin ma ka ﾃｶelda, lihtsalt selguse, tere.
>> Nii et see on vﾃ､idetavalt lihtsaim vﾃｵimalik veebileht te
saab teha, et see kehtib.
See on sﾃｼntaktiliselt korrektne.
Kﾃｵik, mis on avatud on suletud.
Kﾃｵik on kenasti stiilis ja liigestatud.
Vaatame nﾃｼﾃｼd, kuidas ma saab avada faili.
>> Noh, lubage mul minna Chrome siin.
Ja lubage mul minna http://localhost/index.html.
Mis on kohalik server?
Noh, kﾃｵige tahes arvuti maailmas, Linux, Mac OS, Windows, on hﾃｼﾃｼdnimi
kutsus kohalik host.
Nii et kui sa kunagi tahad rﾃ､ﾃ､kida oma arvutisse -
olgugi, veidralt reflexively -
helistate ise kohalik host.
ﾃ很skﾃｵik milline on sinu tegelik arvuti nimetatakse, kas see on Taaveti MacBook
Air, vﾃｵi midagi verbose niimoodi.
>> Nii et see link on ilmselt kavatse kasutada HTTP rﾃ､ﾃ､kida kohaliku peremehe
sama arvuti, seadme-ja see lﾃ､heb kﾃｼsida, vﾃｵtke lihtsalt
arvan, mida faili?
Index.html.
Seega seade on konfigureeritud eelnevalt teada, et kui ma palun
midagi nagu index.html, otsige kausta nimega Vhosts, in
kausta nimega localhost, kausta selles nn avalik.
See on koht, kus kﾃｵik mu avalik faile saab olema.
Nii et ma nﾃｼﾃｼd lﾃ､hen Enter.
>> Ja kurat, on see keelatud sﾃｵnum, mida nimetatakse 403,
numbrilise koodi.
Mis on valesti?
Noh, see ei ole piisav, et lihtsalt panna faili sees minu kausta.
Mul on vaja tegelikult teha jﾃ､rgmist.
>> Lase mul minna minu Vhosts kataloog sisseveo localhost, riikliku ja lase
Teen Kas kriips l.
Ja seal on mﾃｵned muud asjad siin tﾃ､nase eesmﾃ､rkidel.
Aga teate vasakul servas, kﾃｵrval et index.html, me nﾃ､ha ainult ﾃｼks RW.
Ja minevikus, mida on RW seisis?
>> Lihtsalt lugeda ega kirjutada.
Asjaolu, et ta ﾃｼtleb rw vasakul tﾃ､hendab, et mul on selle faili omanikku, saab
lugeda vﾃｵi kirjutada.
Aga mul on vaja, et lasta kﾃｵik inimesed maailma lugeda seda, kuigi mitte kirjutada.
Nii et ma lﾃ､hen muuta viisi faili chmod, kﾃｵik pluss r anda
igaﾃｼks lugeda luba edasi fail nimega index.html.
>> Ja kui ma nﾃｼﾃｼd Korda LS kriips l, teade et, siin on mﾃｵned rohkem
Ri on hﾃｼppasid ﾃｼles.
Ja nﾃｼﾃｼd, spec lﾃ､heb ﾃｼksikasjalikumalt.
P komplekti 7, mis tﾃ､hendab lihtsalt kﾃｵigile saab nﾃｼﾃｼd lugeda seda faili.
Kui ma lﾃ､hen tagasi oma brauseris nﾃｼﾃｼd ja uuesti, voila.
Tere maailm.
>> Ja ma ei saa isegi avada minu Chrome tﾃｶﾃｶriistad ja vaata, just nagu Google ja
Facebook, et seal on minu HTML, vormindatud vﾃ､he
erinevalt ja vﾃ､rviline.
Kui ma lﾃ､hen vﾃｵrgu kaart ja asetage lehekﾃｼlje mﾃ､rgata, et seal on saada
taotleda, et Chrome on saatmine seadmele.
Seal on 200 kohta, et konkreetse faili.
Nii lﾃｼhike, on see, kuidas kﾃｵik need erinevat tulevad kokku.
See lihtsalt nii juhtub, et web server me kasutame praegu ei ole vﾃ､ike,
nagu Facebook.
See on sﾃｵna otseses mﾃｵttes sama arvuti, mis on tﾃ､iesti OK.
>> Nii et mida rohkem me saame teha veebilehele?
Noh, lihtsalt, lﾃ､hme pﾃｵgusalt paari neid asju.
Aga lubage mul minna ja uuesti Gedit koos index.html.
Ja lubage mul minna ja tere ﾃｶelda CS50, salvestada see fail, mine tagasi
brauser, tﾃｵesti underwhelming muutusi.
>> Aga mis siis, kui me tahame, et tegelikult linkida midagi nﾃｼﾃｼd?
Nii selgub, et meil on lingid HTML, mis on lihtsalt sildid
ise.
See juhtub, et kutsuda ankur tag. href vﾃｵrdub
https://www.cs50.net, www.cs50.net Sulge quote, sulg.
Ja nﾃｼﾃｼd vaatame, mis muidu tuleb jﾃ､rgmisena.
>> Olen avatud tag.
Nﾃｼﾃｼd on vaja, et anda sellele fraas nagu CS50.
Lubage mul lﾃｵpetada tag.
Ja teate mﾃｵned asjad.
Kuigi seal on see segasena asi siin, ma ei korrata, kui sa
sulgeda tag.
Sa lihtsalt sulgeda tag tema nimi ﾃｼksi.
Ja see on see, mis on tuntud kui atribuudi vﾃ､ﾃ､rtus.
Omadused lihtsalt muuta kﾃ､itumist Mﾃｵnede tag sees lehekﾃｼlg.
>> Nii et see on mﾃ､ﾃ､ratud kindlaks, et hﾃｼper viide, fancy viis ﾃｶelda
URL selle ankur, selle link peaks olema CS50.net.
Ja tekst, mida me tahame nﾃ､idata kasutaja ei ole nii toores URL, vaid pigem
sﾃｵna CS50.
>> Nii et kui nﾃｼﾃｼd ma uuesti laadida, lubage mul suurendada eest selgus, lubage mul asendusostu lehekﾃｼlge,
teate, et meil on see vana kooli sinine allajoonitud link.
Ja kui ma hover ﾃｼle, ja see toimub olla raske nﾃ､ha, et all vasakul
nurgas ekraani, teate et ta ﾃｼtleb aadressi, kuhu
Ma lﾃ､hen minema.
Ja kui ma vajutan sinna, voila, nﾃｼﾃｼd ma teen veebilehti.
Ja me oleme viinud end et kodulehekﾃｼlg.
>> Aga teate, mis potentsiaal see pakub meile.
Turvalisus on vﾃ､ga palju moes nendel pﾃ､evadel.
Mis siis, kui ma selle asemel ﾃｶelda midagi seda, ja ma selle asemel minna, ﾃｼtleme, olgem
vaata, fakeCS50.net.
Vﾃ､rskenda seda lehte.
>> OK, nii et teate seda ikka nﾃ､eb vﾃ､lja nagu ma olen lﾃ､heb CS50, kui nutikas silma
mﾃ､rkad ma lﾃ､hen vﾃｵlts CS50.
Ma arvan, see domeen ei ole vﾃｵtnud.
OK, nii see ei ole kﾃ､ttesaadav.
Nii see on hea.
Keegi tegelikult on, et domeen.
>> Aga olgem veidi pahatahtlik sest see on tobe.
Mis siis, kui me muudame seda Paypal.
Ja mis siis, kui me nimetame seda, nagu, www.paypal.badguy.com,
olenemata domeeni.
See ilmselt olemas.
Nﾃｼﾃｼd lubage mul asendusostu lehekﾃｼlge.
Ja siin me oleme omamoodi phishing rﾃｼnnak, P-H-I-S-H-I-N-G, mis on
tobe sﾃｵna antud rﾃｼnnak pﾃｼﾃｼab kala teavet vﾃｵi parem
veel, raha vﾃ､lja inimesed tricking neid teabe, et
nad muidu ei tee.
See tundub tﾃ､iesti ﾃｵigustatud, eks?
Mul peab olema link siin Paypal.com.
In ﾃｵigluse, kui ma mingit sugu ta vﾃ､lja mﾃｵned graafika, saame muuta see otsima
rohkem nagu PayPal.
ﾃ品gus?
Sest ma saaksin, kui kﾃｵrvale jﾃ､tta, Ma vﾃｵiks minna Paypal.com.
Ja me oleme just nﾃ､inud, kuidas ma saan vaata kﾃｵik oma HTML.
Ma vﾃｵiks lihtsalt kopeerida ja uuesti esteetika Paypal mitte minna
vana kooli siin.
Aga teate, muidugi, ja see on natuke vﾃ､ike ikka, ainult pﾃｵhja
vasakus nurgas, et nagu 10 punkti font, sa nﾃ､ed, mida URL oled
tegelikult saab olema viis.
>> Ja kui te olete kunagi saanud rﾃ､mpsposti ﾃｶelda minna, ja sa oled konto
on rikutud.
Palun kliki seda linki ja andke teada, oma parool, et saaksime tagada oled
sa, ei ole kunagi seda teha.
Need asjad peaks olema iseenesestmﾃｵistetav.
Aga see on imeliselt lﾃｵbus, ja traagiline, kuidas igal aastal see tundub
juhtuda mﾃｵned nullist hulk inimesi.
>> Ja see on ilu phishing rﾃｼnnakuid.
Vﾃｵite saata miljoni e-kirju.
Ja isegi kui 0,01% inimestest tegelikult klﾃｵpsa Paypal ja teile oma
parool, see on ikka nullist number inimesed, kes olen lihtsalt annab
sa oma raha.
Ja saata e-kirju, muidugi, on ﾃｼsna lihtne ja sisuliselt vaba
nendel pﾃ､evadel.
>> Nii pikk lugu lﾃｼhike, imeliselt ilus mﾃｵte, eks?
Aastaid tagasi, see oli varem veebis, mis vﾃｵimaldab web
hﾃｼperlinkide vahel ressursse.
Aga nii kiiresti see vﾃｵiks olla kasutatakse haige eesmﾃ､rkidel.
Ja e-posti, siis piisab sellest, kui ﾃｶelda, need pﾃ､eva, on HTML varjatud sees.
>> Noh, las ma lihtsalt veel ﾃｼks asi.
Ja me lﾃｼkata suuresti jagu probleem seatud seitse, mis vﾃｵimaldab teil
uurida ﾃｼksikasju.
Aga lubage mul minna ja teha mﾃｵned asjad siin.
Ma lﾃ､hen minema ja kuulutama mida nimetatakse div vﾃｵi
jagunemise osas.
Lubage mul lﾃｵpetada, et div tag.
>> Ja ma ﾃｼtlen ﾃｼles siin lehe ﾃｼlaosas.
Ja siis alla, ma lﾃ､hen tegema midagi muud div, sulgege see
tag, ja tegema lehekﾃｼlje.
Ja olgem salvestage see.
>> Nﾃｼﾃｼd lﾃ､hme tagasi oma faili.
Vﾃ､ga underwhelming.
Aga mida divisjoni kasutatakse, all kapuuts, on see tegelikult
kena struktuuriline element.
See ei ole mingit esteetika kuivﾃｵrd nﾃ､eme, va ilmselt
paneb asjad on uued liinid.
>> Aga teate, kui kﾃｵrvale jﾃ､tta, vaid lﾃｶﾃｶb Sisesta ei lﾃｵigata HTML nagu see
Mis aastal C. Vﾃｵib arvata, et see on panen kena suur vahe
ﾃｼlemine ja alumine leht.
Aga see tﾃ､helepanuta.
Valge ruum on sisuliselt ignoreeritud veebilehti, va kﾃｵige esimene
tﾃｼhikut isiksuse vﾃｵi kelgutagastusmﾃ､rgid et vajutad klaviatuuril.
Kui soovite rohkem reavahetused, siis pea seda ise.
>> Nii et ma lﾃ､hen tegema mﾃｵned asjad siin nﾃ､idata, mis toimub.
Ma lﾃ､hen lisada atribuut, mis olemas ja jﾃ､lle, kuidas sa ﾃｵpid
mis omistab olemas, mida sildid on olemas, tﾃｵesti, online viited.
HTML on omamoodi keel - see on ei programmeerimiskeelt.
See on mﾃ､rgistuskeel - et pﾃ､rast hea pool tundi, vﾃｵib-olla, tund
see, saate kindlasti aru, kﾃｵige tﾃｵenﾃ､oline, pﾃｵhiidee.
Ja siis Google otsing kaugusel on kﾃｵik vﾃｵimalik sildid, mis sa vﾃｵiksid olla
huvitatud
Ja kohta spec, mis on ﾃｼsna tervitada ja julgustada siin.
>> Nﾃｼﾃｼd lubage mul minna ja midagi sellist teha.
Background-color.
Ja nﾃｼﾃｼd, ma lﾃ､hen tegema midagi nagu punane, semikoolon.
Ja te vﾃｵite seda teha mitu erinevat vﾃｵimalust.
Ma olen lihtsalt omamoodi kirjutades seda super selgelt kui vﾃｵimalik.
>> Aga selgub, et see vﾃ､ﾃ､rtus siin on mida nimetatakse CSS, kaskaadlaadistiku
Lehed, mis on teise keel ﾃｼldse.
CSS ei ole midagi pistmist avada sildid ja tihe sildid.
See on pistmist omadused.
>> Ja omadused on lihtsalt pﾃｵhivﾃ､ﾃ､rtus paari, mis tﾃ､hendab lihtsalt mingi sﾃｵna,
koolon ja seejﾃ､rel mﾃｵnda muud sﾃｵna.
Ja kui teil on mitu ones vﾃｵi lihtsalt ﾃｼks siin, vﾃｵite selle lﾃｵppu
semikoolon, lihtsalt selguse huvides.
Aga see ka tﾃｶﾃｶtab siin.
>> Nﾃｼﾃｼd mis see nﾃｼﾃｼd teeme?
Te saate tﾃｵenﾃ､oliselt arvan.
Lubage mul minna ja laadige see leht.
Ja nﾃｼﾃｼd on see tﾃｵesti tuleb.
Niisiis peale minu leht on punane.
Aga mis on vﾃｵti siin on see, et ma mainisin varem, et div annab teile
jagunemise osas.
Ja see on tﾃｵesti see, mida ta teeb.
Sisuliselt jagab lehekﾃｼlje ristkﾃｼliku, mis saab siis
manipuleerida.
>> Ja seda mﾃｵistet ristkﾃｼlikud on selline olulisemaks, et kui sa arvad
kﾃｵige tahes veebilehel, seal on ilmselt mﾃｵned struktuuri ta.
Enamik olete ilmselt harva Facebook kodulehel, kui olete sisse logitud
kogu aeg.
>> Aga Facebook kodulehekﾃｼlg, seal on mingi div ﾃｼlaosas.
Ja see ei pruugi olla nii lihtne ﾃｼhe div, kuid seal
ristkﾃｼlikukujuline piirkond seal.
ﾃ徑ejﾃ､ﾃ､nud leht on nagu tohutu div, nagu palju
suurem ristkﾃｼlikukujuline piirkond.
Nii pikk lugu lﾃｼhike, lihtsalt vﾃｵttes neid vﾃ､he ehitusplokkide
vﾃｵime mudel asjad nagu ristkﾃｼlikud, kas lai vﾃｵi kitsas, saate ka
teha veerud potentsiaalselt vﾃｵimaldab teil panema lehekﾃｼlge, tﾃｵesti, aga sa
tahaks.
Me tﾃｵesti ainult kriimustada pinda siin.
>> Tﾃｵepoolest, kui ma ﾃｼks teine, lase mul minna ja teha stiilis
background-color, me teeme midagi nagu sinine, lﾃ､hedal hinnapakkumisi.
Vaatame uuesti seda.
Nﾃｼﾃｼd see muutub veelgi koledam.
Aga nﾃｼﾃｼd ma saan sellist uhkeldama minu P mﾃ､ﾃ､ratud viis oskuste, eks?
Red.
See meenutab mulle RGB, Red Roheline Sinine kolmikud.
Noh, selgub veebi programmeerimine, vﾃｵi web design, mis on see, me oleme
veel programmeeritud midagi per se, saab tegelikult
on Heksadesimaalikoodin.
Seega midagi midagi midagi midagi, midagi, midagi.
Nii saab olema kuus kuueteistkﾃｼmnendsﾃｼsteemis mﾃ､rkide vﾃｵi kolm, mﾃｵnel juhul
ja kﾃｵik need kﾃｼsimﾃ､rgid Peab olema kuueteistkﾃｼmnendarvudega,
null kuni f.
>> Kui ma tahan olla palju punane ja rohelist ja sinist, mis on
vastand null kasutades hex?
See on f.
Ma vﾃｵin teha ff, null null, null null salvestada, ja nﾃｼﾃｼd siin.
Ja ma tegelikult ei nﾃ､e muutusi.
Nii quote Tsitaat lﾃｵppeb "punane" on ilmselt sﾃｼnonﾃｼﾃｼm kﾃｵik punane,
ei roheline, mitte sinine.
Vahepeal teeme tahtlikult muuta see peab olema midagi
juhuslik, nagu ABCDF.
>> Vaatame, mis see on.
See on tﾃｵesti kena sinine, tegelikult, baby blue.
Olgu, need on lihtsalt nﾃｼﾃｼd mﾃｵnevﾃｵrra juhuslik kombinatsioonid
tﾃ､hemﾃ､rki.
Nii et me ei Tyssﾃ､tﾃ､ siin.
Aga jﾃ､lle, see rﾃ､ﾃ､gib tﾃ､psus et saab hakata
kohaldatakse - isegi kui sa oled vﾃ､ga ﾃｼlekoormatud poolt esteetika.
Tegelikult, kui sa tﾃｵesti tahad olla muljet, lubage mul minna ja muuta
kirjasuuruse, nﾃ､iteks.
Ja teate semikoolon, mis on vaja seal.
>> Fondi suurus, vﾃｵime olla lihtsalt naeruvﾃ､ﾃ､rne siin, 96 punkti.
Salvesta seda.
Wow, see on suur kirjasuurus.
Olgu, see on vﾃ､ga lihtne.
Ja tegelikult, sa oled sisuliselt nﾃ､gemine kﾃｵige esimene veebileht tegin
aastat tagasi, kui ma esimest korda ﾃｵppinud seda kraami.
See on vﾃ､ga lihtne teha vﾃ､ga jubedusi kiiresti.
>> Ja kui sa oled tuttav Wayback Masin archive.org, siis
leiad kﾃｵik mu kole undergrad veebilehti.
ﾃ很s oli Kermit Frog ees.
Lﾃ､ksin lﾃ､bi faasi, kus ma arvasin, see oli lahe, et vﾃｵtta taustal
punane kardin, kui sain teada, kuidas te saab plaat pilte uuesti ja uuesti, ja
uuesti, et tﾃ､ita lehekﾃｼlge suur kleepuv punane kardin.
Ja siis, peale seda, oli ikoon et sa pidid kliki siseneda minu kodu
lehekﾃｼlg, sest see oli vﾃ､ga moes.
>> Ja siis minu esimene programm, mida ma kunagi kirjutasin ei olnud PHP, kuid keel
nimega Pearl kirjutas kﾃｼlalisraamatusse, mis on vﾃ､ga lahe asi, mis
Paljud inimesed eeldavad, et oled avaldab kodulehekﾃｼlg.
Kui sa saad lehele, mida nad tahavad sind sisse logida, ja ﾃｶelda, kes sa oled,
ja miks sa oled seal.
See on vﾃ､ga 1990ndate stiilis web design.
>> Aga need pﾃ､evad, kindlasti oleme tulla palju kaugemal.
Ja te nﾃ､ete, et osa, ja isegi aasta probleem seatud seitse, mida
vﾃｵimendades raamatukogud nendel pﾃ､evadel, see on nii palju lihtsam teha
ilusam asjad kiiresti.
Tﾃｵesti siin, me lihtsalt kriimustada pinnal, mida saate teha
stiililiselt.
>> Ja tegelikult juba, lubage mul rﾃｵhutada, et see on juba saada inetu, ei
lihtsalt esteetiliselt, kuid seoses stiil minu kood, vﾃｵi
disain minu kood.
Olen praegu comingled HTML, mis on rohekas avatud sildid seal, kus
CSS omadused, mis on tﾃ､iesti ﾃｵigustatud.
See on tﾃｵesti, kui keel oli oma pﾃ､ritolu.
>> Aga huvides puhas disain, palju nagu alustasime faktooring vﾃ､rk
vﾃ､lja C faile. h faili, lase mind tegelikult harjutada sellist
pﾃｵhimﾃｵtet ja alustada teed Selle asemel.
Las ma panen stiil tag siin, mis on olemas ka HTML, ja lase mind
tﾃ､psustada jﾃ､rgmist.
Las ma kustutan selle.
Tausta vﾃ､rv saab olema punane.
Ma lﾃ､hen kustutada tﾃ､ielikult.
Ma lﾃ､hen, et saada lahti stiili omistada, ja ma lﾃ､hen ﾃｼheselt
selgitada selle div koos sﾃｵna -
suvaliselt, vaid mﾃｵistlikult, quote Tsitaat lﾃｵppeb "top". Ja id on eriline
atribuut, mis unikaalselt mﾃ､ﾃ､ratleb teatud HTML element
kellel et id.
>> Kui ma nﾃｼﾃｼd tahan stiliseeritud seda, kuni siin pea minu lehe sees
style tag, mﾃ､rkate, et Ma saan hash top.
Ja siis ma ei pane paar lokkis traksid, meenutab C, ja seejﾃ､rel lasta
mulle kleepida et stiliseerimine.
Ja lubage mul minna siin ja ennetada kui ma lﾃ､hen seda.
Lubage mul ka luua kﾃｵige alumine div.
Lubage mul rﾃｼﾃｼtama see kole kood maha siin, pane see siin ja ma tulen
veidi anal nﾃｼﾃｼd ja stiliseeritud see poolt lihtsalt paneb asjad omal
line, mis lﾃｵpeb semikooloniga.
Lubage mul vabaneda stiil tag.
>> Aga ma pole seda veel teinud.
Mul on vaja teha ﾃｼks asi.
Jah, ID vﾃｵrdub quote Tsitaat lﾃｵppeb "alt" vﾃｵi mis iganes id tahan
anda, et element.
Nﾃｼﾃｼd lubage mul minna tagasi siia.
Ja see on metsik.
Ma ei saa tegeleda 96 punkti.
Teeme 24 punkti.
Vﾃｵi siis vﾃｵiks olla tﾃ､psem.
Vﾃｵite tegelikult kasutada pikslit, px, nii et sa tﾃｵesti peenem tera
kontrolli oma lehele.
>> Nagu kﾃｵrvale, see ei ole tingimata parim asi, kui kasutajate jaoks
kﾃ､ttesaadavus pﾃｵhjustel taha vﾃｵimalik suurendada suurused.
Nii mﾃｵistame, et on olemas viise asju, mis ei pruugi
raske koodi kﾃｵike.
>> Olgu, see on suurem, 24 punkti, kui iganes vaikimisi.
Aga nﾃｼﾃｼd on see veidi puhtamaks.
Ja lubage mul seda ﾃｼhe sammu edasi.
Just nagu idee header faili, mﾃ､rkate oleme ﾃｼhe sammu lﾃ､hemale, et.
Mul on arvutatud vﾃ､lja, kuid ikka, sees minu lehele neid CSS reeglid.
Miks vﾃｵiks ma tahan seda sammu edasi, eemaldage see tﾃ､ielikult ja
pane see eraldi faili?
>> Ma vﾃｵin seda kasutada, eks?
See on lihtsalt selline intuitsioon kohe.
Enne, ma vﾃ､ita, et see oli lihtsalt saada inetu vﾃｵttes stiil
Omadused sees DIVs ise.
Aga selline arvates lﾃ､bi.
Nagu lehel saab kauem ja kauem, kui sa paned siin ja siin, ja
siin ja siin, kﾃｵik need erinevad vﾃ､rvid ja font suurused ja muu selline
atribuudid, lehel on vﾃ､ga kiiresti lﾃ､heb muutunud juhitamatuks teile.
>> Kui keegi tuleb teie ja ﾃｼtleb, oh, sa tead, mida?
Ma tﾃｵesti tahaks muuta fondi suurust kaks lisapunkti, siis
oleks vﾃｵinud minna ja otsida ja asendada suur hulk ridu koodi.
See on palju selgem, et koondada kﾃｵik nagu esteetika siin.
Aga kui soovite, et uuesti neid esteetika mitu veebilehekﾃｼlge, kﾃｵik
rohkem kaalukaid jaoks Nﾃ､iteks luua faili
nimetatakse nende sisu.
>> Ja lubage mul seda teha.
Salvesta see fail.
ﾃ徼len styles.css, meelevaldne, aga tavaline.
Ma panen selle John Harvard koju kataloogis praegu lihtsuse.
Ja mida ma saan teha minu veebileht on saada lahti stiilis tag ﾃｼldse,
ja mﾃｵnevﾃｵrra unintuitively, kasutage link tag, mis ei anna teile lingi
hﾃｼperlinki klikitav mﾃｵttes, vaid kui ma ﾃｼtlen, link, href vﾃｵrdub
styles.css.
Ja suhe, et see element on koos veebileht on olla
oma stiil.
>> Niisiis, kuidas ma tean seda?
ﾃ很s, sa lihtsalt lugeda kasutusjuhendit, vﾃｵi te Google'i ﾃｼmber, ja sa
vaadata erinevaid vahendeid.
Ma mﾃｵtlen, et tﾃｵesti on see, kuidas te kiirenemist tehnikaid nagu see, ja jﾃ､rjepidev
Selle idee ﾃｵpetamise enese uus keeles, jﾃ､lle sa leiad, et
seal on ainult piiratud hulk asju mis tahes keeles, et kui sa saad
neid, leiad, et see muutub kiiremini ja kiiremini kirjutada.
Tﾃｵepoolest, ﾃｵppida uue programmiperioodi keel on nii palju kiiremini, kui uus
kﾃｵnekeel, sest need asjad on palju vﾃ､iksem ja palju muud
tﾃ､pselt mﾃ､ﾃ､ratletud.
>> Aga ma olen rﾃｵhutanud natuke on anomaalia siin.
Miks ma esile selle kaldkriips siin?
Sest mul on sulgeda tag.
Ma sulgeda tag.
Ja leiad lugematuid ressursse line, mis ei
vajalik tihe sildid.
Ja reaalselt, see ei ole rangelt vajalikud tehnilised ja on
pﾃｵhjustel reaalsuse, brauserid on vaid ﾃｼsna tolerantne vigu web
lehekﾃｼlge, hea vﾃｵi halb, kuid enamasti hullemaks.
>> Nii et see siin on lihtsalt puhtam viis ﾃｶelda midagi loll nagu see,
kus, kui soovite avada link tag aga sulgeda, seal on tﾃｵesti mingit mﾃｵiste
sisu eest link tag.
See tﾃ､hendab lihtsalt, laadige see fail ja pane see siia.
See on nagu terav Kaasa C. Vﾃｵite avada ja sulgeda tag korraga
Samasse tag.
Ja seal on teisi nﾃ､iteid.
See ei ole viis, kuidas seda teha, kuid br tag jaoks reavahetused, kui ma
tﾃｵesti tahtsin saavutada seda, mida ma olin ﾃｼritab enne lﾃｶﾃｶb Enter, kui
Ma selgesﾃｵnaliselt ﾃｶelda Reapiiri Reapiiri Reapiiri Reapiiri ja
seejﾃ､rel laadige see leht, nﾃｼﾃｼd mﾃ､rkad et lehe allosas on
Tﾃｵepoolest, palju kaugemale alla lehekﾃｼlje allosas.
Aga isegi, mida saab teha palju rohkem puhtalt CSS, ja marginaale,
ja muude selliste esteetiliste tehnikat.
>> Nii et nﾃｼﾃｼd, takeaways on see.
HTML, meil on need asju nimetatakse sildid.
CSS, meil on need asjad nimetatakse omadused.
Saame comingle need kaks keelt, kasutades kas style atribuut,
vﾃｵi stiilis tag vﾃｵi parim veel, faktooring pihta, kui me teeme
Probleemse mﾃ､ﾃ､ratud 7.
Kﾃｼsimused, seejﾃ､rel umbes kontseptuaalne pﾃｵhitﾃｵdesid siin?
>> Publik: mul on ﾃｼks kﾃｼsimus.
>> SPEAKER 1: Oh, vabandust.
>> Publik: Miks ei olnud see vﾃ､rviline -
>> SPEAKER 1: Oh, teistes tab?
See siin on?
>> Publik: Ei, see on nagu -
>> SPEAKER 1: Oh, see on sellepﾃ､rast, Olin on lohakas.
Panin faili vales kohas.
Nii et kui ma tegelikult pane see siia ja ma chmod see kﾃｵik + r styles.css ja
Nﾃｼﾃｼd laadige leht uuesti, nﾃｼﾃｼd saada stiliseerimine tagasi.
Ja kuna font suurused erinevad, ei nﾃ､e me ﾃｼsna palju
valge ruum.
Me mitte nﾃ､ha, mis on Vaikimisi on selle asemel.
Hea kﾃｼsimus.
Jah?
>> Publik: Miks on link tag sees header?
>> SPEAKER 1: Miks on lingid tag sees pﾃ､ises -
Lﾃｼhike vastus, just sellepﾃ､rast.
See on see, mida otsustati.
See, kui link sildid lﾃ､hevad sul on, mida nimetatakse
vﾃ､line stiil.
Muud kﾃｼsimused?
>> Olgu teeme seda.
Meil on nii palju lﾃｵbu meie ees tﾃ､na.
See on lihtsalt kriimustada pinna CSS.
Teeme seda.
Vﾃｵtame viis minutit pausi siin sest iga minu e-posti, lﾃ､hme riputada
seal kuni 02:30-ish tﾃ､na.
Aga kui sa ei pea jﾃ､ta, see on hea.
Aga me lﾃ､heme edasi pﾃ､rast viis minutit puhkust.
Ja ﾃｵpime natuke midagi umbes PHP, MySQL ja rohkem.
>> Olgu, proovime, nﾃｼﾃｼd siduda mﾃｵned neist ideedest koos ja teha,
ﾃｶelda, meie enda otsingumootori.
Mﾃ､rkasin, pigem uudishimulikult, jﾃ､rgmised.
Kui teil on Google.com, sa oled tavaliselt URL nagu see siin
mitte midagi peale dot com.
Aga kui ma otsin midagi loll nagu kassid ja vajuta Enter, et me jﾃｵuame - mitte
loll, aga sa tead.
>> OK, nii et teate, ﾃｼlaosas lehekﾃｼlge, nﾃｼﾃｼd, link on muidugi muutunud.
Ja see ei ole midagi uus, et keegi meist.
Klﾃｵpsate lingid ja stuff juhtub veebis.
Aga mis on huvitav siin on jﾃ､rgmine.
Seal on palju segadusega, kuid lubage mind visata asju, mida ma ei ole
pﾃ､ris hﾃ､sti aru vﾃｵi ei tﾃｵesti vaatama asjakohane.
>> Lubage mul vabaneda sellest.
Lubage mul vabaneda sellest.
Ja las ma lihtsalt lahti saada see kﾃｵik.
Ja nﾃｼﾃｼd teate, et kassid on URL, jﾃ､rgida q, siis vﾃｵrdne
logi sisse ees.
Nii selgub see, kuidas kuidas see toimib, kui tegemist on
sisend ja vﾃ､ljund.
>> Me oleme kaua rﾃ､ﾃ､kinud mustad kastid, eks?
Nii et kui see on funktsioon rakendatud siin on must kast, kulub sisend
ja annab vﾃ､ljundi, noh, tﾃ､hendab mille abil anda oma panus
kodulehel on teel, sageli oma URL.
Sa lihtsalt panna kﾃｼsimﾃ､rk ja seejﾃ､rel klahvi vﾃｵrdub raha.
Ja siis ﾃ､kki ampersand, ja siis teine 窶銀久ﾃｵti on vﾃｵrdne vﾃ､ﾃ､rtus, siis vﾃｵib-olla
teise mﾃ､rgi, vﾃｵti on vﾃｵrdne vﾃ､ﾃ､rtus.
See, kuidas sa edasi ka vﾃｵtmed ja vﾃ､ﾃ､rtused, paari sisendeid.
>> Nii et kui ma Enter nﾃｼﾃｼd, mis on huvitav Google on see, et kﾃｵik
et segadusega ma vﾃ､lja ei ilmu tingimata vajalik.
Kﾃｵik ma pean saatma Google'ile on kﾃｼsimus mﾃ､rk q vﾃｵrdub kassid saada
tagasi mﾃｵned kassid.
Noh, mis tﾃ､hendas seda, siis, on see, kui ma tﾃｵmba gedit, ma olen hakanud
muutes oma otsingumootori siin aastal fail nimega seach0.html.
>> Ja lubage mul minna ja kustutada veel ﾃｼks joon, mis te
ei tohtinud nﾃ､ha.
Ja nﾃｼﾃｼd, lubage mul minna oma brauseris nii mitte Google, ja minna
http://localhost.
Ja see lﾃ､heb saada takistuseks.
Nii et me ei kavatse ﾃｶelda hﾃｼvasti et nﾃｼﾃｼd, liiguta seda siin,
oh, nﾃｼﾃｼd me peame hﾃｼvasti, et faili.
>> Kui teil on fail nimega index.html vﾃｵi index.php sisse
kataloog, kui veebiserver on konfigureeritud nii, mida saate
vaata, vaikimisi on sisu, et faili asemel loetelu
kataloog, nagu ma tahtsin siin.
Veel selle aasta spec.
Sa ei nﾃ､inud seda.
>> Nii et see on see, mida ma tegelikult tahtsin.
Aga hetk tagasi oli fail selles kaustas nimega
index.html ja index.php.
Ja nii veebiserver oli nﾃ､itab mulle neid faile.
Selle asemel, ma tahan, et see kataloog loetletud siin.
>> Ma lﾃ､hen minema CSS ja minna search0.
Ja ma vﾃ､ita, et see on see saab olema alguses oma konkurentsivﾃｵimeline
otsingumootori.
Ja et seda teha, ma lﾃ､hen minema siin sisseveo CSS ja avada koos
gedit, search 0.
Aga kahjuks pole ei ole palju siin toimub.
Kﾃｵik mida ma ei olnud kasutada pealkirja tag, mis juhtub nimetada h1, mis
Sisuliselt tﾃ､hendab suur ja julge, ja see on kﾃｵik.
Aga mille abil saame anda sisendeid nende kaudu
asju nimetatakse vorme.
>> Nii et lubage mul minna ja avada ja sulgeda, ennetavalt, vormi tag seal.
Ja lubage mul minna ja teha midagi sellist.
Input tﾃｼﾃｼp vﾃｵrdub teksti.
Ja siis lﾃ､hme sulgeda tag jooksul Sulgudes ise.
Mul ei ole vaja hakata tekstivﾃ､li ja lﾃｵpetage tekstivﾃ､ljale.
See on lihtsalt saab olema seal vﾃｵi mitte.
>> Ja siis alla, et teeme sisendi tﾃｼﾃｼp vﾃｵrdub esitama.
Salvesta see.
Ja nﾃｼﾃｼd siis teha kiire meelerahu vaadata.
Teeme uuesti.
>> OK, nii see ei ole halb.
See ei ole Google'i stiilis, aga see on ﾃｼsna lﾃ､hedal.
Seal on tekstivﾃ､li.
Ma ei kirjuta mﾃｵned asjad, Enter, kuid midagi ei juhtu veel.
Ja see on, sest ma ei ole mﾃ､ﾃ､ratletud hagi vormi, nii rﾃ､ﾃ､kida.
Nii et kui ma lﾃ､hen tagasi vormi element, Selgub, ja ma tean, et see ainult
omamast dokumentatsiooni lugeda, et vormi tag vﾃｵtab atribuut
nimetatakse tegevust, mis on URL kohta veebilehe, kus sa
soovite saata kujul.
>> Ma tﾃｵesti ei arva, et me aega rakendada kogu kolp eest
otsingumootori tﾃ､na.
Nii me lihtsalt ﾃｶelda, eh, minna google.com / search.
Ja nﾃｼﾃｼd andke mulle sulen hinnapakkumisi.
Ja lubage mul tﾃ､psustada, et meetodit kasutada saab
mida nimetatakse saada.
>> Pikk lugu lﾃｼhike, seal on kaks vﾃｵimalust, on vﾃ､hemalt, et saate esitada teavet
alates brauseri server.
ﾃ很s on saada ning tﾃ､nase eesmﾃ､rkidel see tﾃ､hendab lihtsalt URL.
Nﾃ､ed tﾃ､pselt kﾃｼsimﾃ､rke, vﾃｵrdusmﾃ､rke ja sﾃｼmboliga, mis
me nﾃ､gime.
Vﾃｵi on olemas alternatiiv nimetatakse ametikohale.
Praegu teame, et postitus on sageli kasutatud kui soovite faile ﾃｼles laadida, nagu
pilte ja nii edasi, vﾃｵi kui soovite esitama krediitkaardi andmed, vﾃｵi
paroole, midagi, et see ei tﾃｵesti mﾃｵtet, kontseptuaalselt vﾃｵi
turvalisus tark, et lﾃｵpuks URL brauseri kus snooping vanemad,
vﾃｵi toakaaslased vﾃｵi keegi, kellel on juurdepﾃ､ﾃ､s et arvuti vﾃｵib nﾃ､ha.
>> Teeme salvestada et siin.
Ja ma pean tegema veel ﾃｼks asi.
See ei ole piisav, vaid et ﾃｼtlevad mulle tekstivﾃ､ljale.
Mul on anda selles valdkonnas on Vﾃ､ﾃ､rtustame nimi.
Nii et lubage mul laenata Google'i valik nimed, q, ning tﾃ､psustada, et teine
omistada ma tﾃｵesti ei hooli nimi nuppu Esita.
Kﾃｵik, mida ma hoolin on esitanud mida kasutaja tipib sisse
>> Ja nﾃｼﾃｼd see on selline kole.
Ta lihtsalt ﾃｼtleb esitama.
Selgub, ja tean seda dokumentatsioon, ma ei saa tegelikult ﾃｶelda
vﾃ､ﾃ､rtus vﾃｵrdub quote Tsitaat lﾃｵppeb "CS50 Piiratud, "close tsiteerida.
Siis lﾃ､hme uuesti uuesti.
Nii ma saan pihta Command-R vﾃｵi Kontroll-R minu klaviatuuri uuesti laadida.
>> Nﾃｼﾃｼd on meil rohkem huvitavaid otsingumootori.
See ei ole pﾃ､ris vﾃ､lja nﾃ､gema Google veel, kuigi.
Nii lﾃ､hme edasi siin ja teha natuke reavahetuse.
>> OK, nii et nﾃｼﾃｼd on meil Google.
Me tegelikult peaaegu ei ole Google.
Nﾃｼﾃｼd mis juhtub?
Ma lﾃ､hen kirjuta midagi nagu kassi.
Ja brauser lﾃ､heb sﾃｵeluda et vorm, mida ma mﾃ､ﾃ､ratleda.
Ja see saab saata kasutaja, et URL.
Nii et see aeg, mﾃｵnede kummaline pﾃｵhjus, Sain rohkem teavet kalavarude
kui tegelike kassid.
Aga see on hea, sest teate me ikka lﾃｵpetasin siin, q vﾃｵrdub kassid.
>> Nii pikk lugu lﾃｼhike, tundub ﾃｼsna triviaalne saada sisend kasutaja.
Ja kui aus olla, ei kimpu teist tﾃｼﾃｼpi vormi vﾃ､ljad.
Seal on ruudud, ja vﾃ､he vastastikku eksklusiivne nﾃｶﾃｶpide ja
rippmenﾃｼﾃｼst menﾃｼﾃｼde ja rohkem.
Aga kﾃｵik need on suhteliselt kergesti rakendada
see tekstivﾃ､li oli.
Ja lﾃｵpuks, me peame lihtsalt tegema kindel, et keegi ei kuula teiselt
rea lﾃｵppu, et saada, et tﾃｶﾃｶdeldava teabe, kuidagi, ja
anda meile tagasi meie kassid.
>> Vaatame veidi rohkem seotud nﾃ､iteks.
Lase mul minna minu Vhost on kataloogi, kohalikku host, avalik ja kui ma
panna tﾃ､nane lﾃ､htekoodi.
Kﾃｵik see toimub kursuse veebileht, kus saab kﾃ､pard.
Ja kui ma minema froshims, lubage mul avada ﾃｼles selle faili nﾃｼﾃｼd, froshim0.php.
See ﾃｼks on natuke verbose, nii me ei kirjuta seda nullist.
Aga teate nﾃｼﾃｼd paar mﾃｵnevﾃｵrra tuttav omadused.
>> ﾃ很s, vormi tag erinevaid meetmeid.
See ei ole tﾃ､ielik URL.
Nﾃｼﾃｼd on ilmselt fail nimega register0.php sest hetkel
Ma lﾃ､hen ﾃｵpetada ennast veidi midagi PHP, programmeerimine
keel, sest PHP saab kasutada rakendada, mida Google rakendatud
tagasi lﾃｵpuks oma otsingumootorid.
>> Google tegelikult ilmselt kasutab mﾃｵned Python, mﾃｵned C + +, ja
kobarad teistes keeltes.
Aga me vﾃｵiksime kindlasti rakendada otsing tulemusi, kasutades PHP kui tahtsime.
Aga nﾃｼﾃｼd, me hoida lihtsa.
Ja see on tegelikult meenutab ﾃｼks teise vﾃ､ga esimene veebilehed I
tehtud aasta tagasi.
>> Tagasi minu pﾃ､ev, siis registreeritud ettevﾃｵttesisene sport nagu uustulnuk poolt
tﾃ､ites paberile, kﾃｵndimine ﾃｼle ﾃｵue, ja kukutades seda
postkasti Proctor sisse Wigglesworth, ja see oli, kui sa
registreeritud.
Ja nii minu projekt varsti pﾃ､rast CS50, oli panna, et mis teeb meistriks
mﾃｵttes, veebi, mis ei olnud nagu moes siis, kui see on praegu.
Aga kﾃｵik me pidime tegema, oli luua sisuliselt HTML-vormi.
>> Ja et vorm tundus umbes niimoodi.
Mul oli sisendiks uustulnuk nimi.
Mul oli teine 窶銀脚uut vﾃｵi vﾃｵi nad ei tahtnud olla kapten, mida
nende sugu oli ja mida nende ﾃｼhiselamus oli.
Ja siis ma kﾃｵva kodeeritud asjad nagu Apley Kohtu ja Canaday,
Hallid, ja nii edasi.
>> Nii et taas, uued sildid.
Ei ole nﾃ､inud neid enne, uus atribuudid, kuid ﾃｼsna kﾃ､ttesaadavad.
Kui nﾃ､ete nﾃ､iteks, saate objekti ja laenata, et idee ja teha drop
rippmenﾃｼﾃｼ jaoks kﾃｵige midagi.
Aga mis peamine on see, et iga need asjad on nimed.
Ja allosas selle vormi, seal submit nupp mille etiketil
vﾃｵi vﾃ､ﾃ､rtus on registris.
>> Nii lﾃ､hme sellele lehele.
Lubage mul minna tagasi kataloogis.
Lubage mul minna froshims, ja minna froshim0.php.
Nii et see on kole, see oleks ﾃｵiglane.
Nii et ma oleks kindlasti Stilisoida see mﾃｵned CSS, ma vﾃｵiks teha mﾃｵned
graafika, vﾃｵibolla lisada mﾃｵned vﾃ､rvid, ja muuta see ilusamaks.
Aga funktsionaalselt, ma vﾃ､ita, et see on tegelikult pﾃ､ris valmis.
>> Kahjuks, kui ma tﾃ､itke see ﾃ､ra, David, kapten, Mees, me valida,
oletame Matthews, register, kﾃｵik, mis juhtub on see.
Aga teate paar takeaways.
ﾃ很s, mida fail tagastatakse need tulemusi, ilmselt?
Nii et see on tﾃｵepoolest register0.php.
Nii, et me nﾃ､gime, et hagi vﾃ､ﾃ､rtus hetkel tagasi vﾃｵtta register0 see
kinnitab, et me tﾃｵepoolest lﾃｵppenud kuni selle konkreetse faili.
>> Nﾃｼﾃｼd on see lihtsalt inetu tekst.
Aga teate, et see tekst on pﾃ､rit kohaliku peremehe
mis on seadet.
Mﾃｵtle seade nﾃｼﾃｼd lihtsalt web server, mis vﾃｵivad olla
Science Center.
See vﾃｵib olla tegelik web.
Nii et see on avalikult kﾃ､ttesaadav.
>> Nii selgelt, seal on kuidagi lﾃ､bimise vormivﾃ､ljale sisendite server
nii et ta saab midagi teha nendega.
Kahjuks register0 on pﾃ､ris loll.
Kﾃｵik see on vﾃ､lja printida array mis nﾃ､eb vﾃ､lja selline.
Ja see ei ole massiivi selles mﾃｵttes, et me teame seda.
Selgub, et PHP ja palju keeles, ei ole mitte ainult arvuliselt
indekseeritud massiivid kelle esimene indeks on null, ﾃｼks, siis kaks, siis dot,
dot, dot, n miinus 1.
>> See on see, mida nimetatakse assotsiatiivne massiiv.
Assotsiatiivne massiiv on selline, kus saate salvestada pﾃｵhivﾃ､ﾃ､rtus paari kus
vﾃｵti ei pruugi number.
See vﾃｵib tegelikult olla string sﾃｵna.
Ja nii see on vﾃｵimalik rakendada, all kapuuts, selgub,
kasutades andmete struktuuri, mida nimetatakse?
Arvasin midagi dramaatilist oli umbes juhtuda -
hash tabelis.
>> Nii hash tabel, mﾃ､letate, you need kes tegi seda P komplekt 6 vﾃｵi isegi meenutada
see, vﾃ､hemalt isegi kui sa proovida, hash tabel, meie kasutamisest, kasutati
lihtsalt hoidke sﾃｵnu.
Aga tﾃｵesti, sa olid hoidmine vﾃｵtmed ja vﾃ､ﾃ､rtused.
Kui te ellu hash tabelit P mﾃ､ﾃ､ratud 6 sﾃｵnastik, vﾃｵtmed olid
sﾃｵnad ise, ja vﾃ､ﾃ､rtused oli tegelikult ﾃｵige vﾃｵi vale.
Jah, siin, vﾃｵi kaudselt, Ei, mitte siin.
>> Noh, vﾃｵib ﾃｼldistada, et idee.
Ja me vﾃｵiks kasutada vﾃ､ga sarnane andmed struktuur salvestada ei string
ise ﾃｼksi oma hash tabel, kuid Oletatakse, et iga ﾃｼhe oma hash
tabeli tippu.
Ja siis vﾃｵiks isegi seda teha proovida mitte lihtsalt bool.
Sul vﾃｵib olla midagi muud.
Mis siis, kui vﾃｵti ei maxwell jaoks Nﾃ､iteks vaid quote Tsitaat lﾃｵppeb "nimi" vﾃｵi
Tsiteerin lﾃｵppeb "kapten." Ja sees oma C andmestruktuur, paned
vﾃ､ﾃ､rtus, mitte ainult Loogiline, kuid vﾃ､ﾃ､rtus nagu quote Tsitaat lﾃｵppeb "David" vﾃｵi
"M" vﾃｵi "Matthews," ja nii edasi.
>> Nii et need sama andmestruktuurid kasutasime ilmselt on olemas ka teistes keeltes.
Ja ma tahaks vﾃ､ita, et nad on tegelikult palju, palju lihtsam juurdepﾃ､ﾃ､s siin.
Olgem tegelikult vaatleme nﾃｼﾃｼd mﾃｵned sellised sﾃｼntaks.
>> Ma lﾃ､hen minema PHP kataloog.
Ja ma lﾃ､hen avama parem versiooni tere-0-st enne.
Pange tﾃ､hele, et kﾃｵik, mis ma tegin, oli lisada mﾃｵned mﾃ､rkused.
Nii saame lahti saada, et juhtida tﾃ､helepanu kﾃｵrvale.
>> Ja see programm tﾃｵepoolest prindib tere, sest ma olen mﾃ､ﾃ､ratletud vahel
sildid, et ma tahan tﾃ､ita selle koodi.
Nﾃｼﾃｼd me nﾃ､eme, et hetkel miks see on kasulik.
Aga Avame ﾃｼhe teise nﾃ､iteks siin.
Lubage mul minna ja avada ﾃｶelda, gedit tingimuste ﾃｼks.
>> See on viis ajas tagasi nﾃｼﾃｼd.
Aga nﾃ､dal tagasi, ma arvan, et nﾃ､dal ﾃｼks vﾃｵi nﾃ､dal kaks oli meil nﾃ､iteks nn
conditions1.c.
Ja ma otsustasin implementeerid see PHP, lihtsalt mingi rﾃｵhutada, et
PHP, sﾃｼntaktiliselt, on peaaegu identne et C. See ei ole suur hﾃｼpe
eelmisel nﾃ､dalal sellele.
>> Teade ﾃｼlaosas see programm, mille algab, kui varem, sest mﾃｵned
kommentaarid, mis ma vabaneda AS hﾃ､iritud.
Pange tﾃ､hele, et ma olen PHP reﾅｾiimis selles failis.
Nii et see kood, me nﾃ､eme, saavad tﾃ､idetud.
Pange tﾃ､hele, et seal on readline, mis on ilmselt
analoog PHP kohta getString.
Teade, et see on veidi erinev.
Sa tegelikult tﾃ､psustada viip funktsiooni nimetatakse lugeda line, ja see on
mida kasutaja nﾃ､eb.
Nii et sa ei pea printf kﾃ､sitsi.
Aga see ei ole suur asi.
Ma lﾃ､hen hoida, sees $ n, tagastatav vﾃ､ﾃ､rtus see, et olenemata
kasutaja liigid on nende int.
Ja siin on veel uudishimu.
Selgub, PHP, iga muutuja lihtsalt tuleb eesliide
koos dollari mﾃ､rk.
See on natuke tﾃｼﾃｼtu.
Aga teate, mida ma teinud ei ole PHP.
Mis puudub vasakul pool vﾃｵrdusmﾃ､rki?
>> Ei mainita tﾃｼﾃｼp.
Nii et see on erinev C. parem vﾃｵi veel hullem, PHP on nﾃｵrgalt
kirjutatud keeles.
Tal on numbrid.
Tal on stringid.
Tal on tﾃｵevﾃ､ﾃ､rtused.
Ja see ei ole paar muud tﾃｼﾃｼpi andmeid.
Aga sina, programmeerija, tavaliselt ei pea hooli neist.
Segamini on see, et ta teeb see veidi lihtsam programm.
Sa ei mﾃｵtle veidi vﾃ､hem.
Negatiivne kﾃｼlg on see ka avab sulle vﾃｵimalikke vigu, kui te kogemata
ravida number string, string kui number, mis vﾃｵib, kuid isegi
siis, PHP, ja palju keeli, on ﾃｼsna tolerantne.
Nad kasutavad, mida nimetatakse kaudne casting.
Ja kui sa pﾃｼﾃｼad kasutada n kontekstis arvulise olukorras tahe
teisendada mida siin saab olema string, sest kui kasutaja liigid
midagi, ja sa saad tulemuse, Nagu readline vﾃｵi saada string,
et lﾃ､heb tagasi string.
>> Aga teate, paar rida hiljem, ma vaadake, kui n on suurem kui null.
Nii PHP lﾃ､heb kaudselt koo mu "String" 123 vﾃｵi mis iganes kasutaja
liigid sisseveo int.
Nii lﾃｼhike, asju lihtsalt tﾃｶﾃｶtab palju rohkem intuitiivselt.
Nii et me nﾃｼﾃｼd hakkame lﾃｵﾃｵgastuda mﾃｵned asju, mida me oleme teinud minevikus.
>> Palju see kraam on sama, kuigi.
Ikka on vﾃｵrdne vﾃｵrdne.
Nagu kﾃｵrvale PHP on ka vﾃｵrdne vﾃｵrdsete vﾃｵrdne, kuid rohkem, et vﾃｵib-olla ka
tulevikus.
See oli.
Typo vaid kaks vﾃｵrdusmﾃ､rke tﾃ､hendab sama asi nagu enne, vﾃｵrdluseks.
printf tﾃ､hendab sama, mis enne.
Lﾃ､ngkriipsu n tﾃ､hendab sama asi nagu enne.
>> Niisiis, kuidas ma saan selle programmiga?
Noh, nagu enne, kui ma PHP, conditions1.php ja kirjuta
number nagu 123.
See on positiivne number.
Kui ma sisestada 0, I pick 0.
Ja kui ma kirjuta negatiivne 123, saan tagasi negatiivne arv, mis on ainult
ﾃｶelda, sﾃｼntaktiliselt, PHP on super, super sarnased.
>> Miks see nii on nﾃｼﾃｼd kasulik aastal web kontekstis?
Noh, lﾃ､hme tagasi selle froshims Nﾃ､iteks, mis tundus,
uuesti, nagu see siin.
Ja olgem tegelikult tﾃｵmba veebileht uuesti, mis nﾃ､gi vﾃ､lja selline.
Mida me saame teha koos andmed, mis on esitatud?
>> Noh, lubage mul avada uuema versioon sellest.
Ja te nﾃ､ete, et probleem komplekti kirjelduse suunab teid
lﾃ､bi mﾃｵned neist.
Selle asemel, et alustada nullist, Vaatame froshims3,
mis teeb natuke rohkem.
>> Teade esimene, tegelikult, olgem avatud up mis 0 oli, nii et nﾃ､ete
mida register 0 oli.
Pane tﾃ､hele, mida register 0 tegid.
ﾃ很s on mul comments ﾃｼlaosas.
Kustuta need ja keskenduda ainult sellele.
Enamik sisu register0.php on ilmselt mis keeles?
Just tooraine PHP.
>> Nii teate, seda faili ei kﾃ､ivitu koos, hetkel, sulg,
kﾃｼsimﾃ､rk, PHP.
PHP ei vﾃｵimalda teil segunevad PHP koodi HTML teeke.
Aga ma olen teinud, et siin sees on leht siin.
>> Nﾃｼﾃｼd jﾃ､llegi, sa ainult ei tea seda alates olles tutvunud kasutusjuhendiga. print_r,
Selgub, et on print_recursive. _recursive Ja see on lihtsalt mugav
kasulikkusfunktsioon et lihtsalt trﾃｼkib, rekursiivselt, mida iganes sa kﾃ､e ta.
Kui sa kﾃ､e ta massiivi see saab printida massiivi.
Kui sa kﾃ､e ta number, see saab trﾃｼkkida number.
Anna see string, siis see prindi string.
Kui sa kﾃ､e ta hash tabel, see vﾃ､lja printida hash tabelis.
Te ei pea kirjutama kﾃｵik selle kood ise.
>> Nﾃｼﾃｼd teate, et ma olen sisenevad PHP reﾅｾiim siia.
Ma vﾃ､ljumise PHP reﾅｾiim siia.
Nii et kui veebiserver loeb seda faili ﾃｼlevalt alla, vasakult paremale, sest
see lﾃｵpeb failinimi kutsutud. php, kﾃｵike, mis ei ole sees PHP sildid on
lihtsalt saab olema sﾃｼlitada vﾃ､lja, nagu toores HTML.
Ei midagi erilist.
Aga niipea, kui veebiserver mﾃ､rkab see, et see saab ﾃｶelda, ma ei peaks
sﾃｼlitama, sﾃｵna otseses mﾃｵttes, print_r ametikoha.
Ma peaks rahuldama jﾃ､rgmisi rida koodi.
>> Seega viimane kﾃｼsimus, siis selle faili on, noh, mida kuradit see on?
Vﾃｵtke oletus.
Mis on $ _POST, ilmselt?
>> Publik: [kuuldamatu]
>> SPEAKER 1: Jah, postitatud andmed.
Tuletame meelde, lﾃ､hme kerida tagasi aeg hetkeks.
froshim0 jﾃ､llegi tundus see.
Super enamus on lihtsalt HTML.
Jﾃ､llegi, mﾃｵned mﾃ､rksﾃｵnad, mida ei nﾃ､inud veel, vﾃｵi mis
te olete juba tuttav.
Aga huvitav asi oli see.
See ﾃｼks rida on see, mis tegelikult ﾃｼhendab see meie register0.php faili.
Ma esitamise kaudu meetod postitus.
Ja see tﾃ､hendab, et parameetrid kasutaja liigid ei ole
lﾃ､heb lﾃｵpuks kus.
>> Nad ei kavatse ilmu URL.
Nad on ikka veel vﾃ､lja saata kliendi brauserist, et
server, vaid lihtsalt lﾃ､bi mﾃｵne muu mehhanism, et me loobuda meie kﾃ､tes
kell tﾃ､na, kuid see ei ole URL.
Aga teate suhe nﾃｼﾃｼd post, mis tavapﾃ､raselt on
vﾃ､iketﾃ､hed siin.
>> Aga kui ma avada register0.php, Ma ilmselt trﾃｼkkimiseks.
Nii et see on imelik nimetades konventsiooni.
Aga mis on kena PHP on see, et kui kasutades PHP web kontekstis mitte
kﾃ､surea nagu mina tegin hetk tagasi kui sa tegelikult kasutades seda veebi
lehe Vhost kataloog sest me oleme, automaatselt siis PHP tﾃ､ita seda
asi, mis on assotsiatiivne massiiv, niiﾃｶelda hash tabel, kus
kﾃｵik kasutaja sisestatud sisse
>> ﾃ徂esﾃｵnaga, $ _POST kﾃｵik mﾃｼtsid on globaalne muutuja PHP lihtsalt
vﾃｵluvﾃ､el tekitab teile kui kasutades PHP web kontekstis.
Ja see paneb sees on kﾃｵik nimed parameetreid kujul, et
esitati seda faili ja kﾃｵik vﾃ､ﾃ､rtused, et kasutaja sisestatud sisse
Nii ta jﾃ､tab sulle, mida kasutaja kirjutasid selle vormi.
>> Nii et enne, meil tﾃｵesti loll vﾃ､ljund lihtsalt nﾃ､ha seda, sest kﾃｵik, mida ma tegin
oli rekursiivselt prindi see massiiv.
Oluline on nimi, mille vﾃ､ﾃ､rtus on David.
Oluline on kapten.
Vﾃ､ﾃ､rtus on.
Ja topeltnooleks ja nurk sulg ei, see on lihtsalt meelevaldne.
See ei ole koodi.
See on vaid PHP vﾃｵimalus nﾃ､idata Mis vﾃ､ﾃ､rtus mﾃｵned olulised on.
>> Aga nﾃｼﾃｼd andke mulle ettepaneku, et froshIMs3, see on peaaegu identne
vﾃ､lja arvatud see leiab selle faili.
Ja veel, me ei kavatse sellist lihtsalt pilk see, lihtsalt et nﾃ､ha, mﾃｵned
sﾃｼntaks, kuid teate mis seda faili ei.
Vﾃｵtke vist lihtsalt pﾃｵhineb rida kood, mis ilmselt ei sarnanema
Kreeka, mﾃｵningal mﾃ､ﾃ､ral ilmselt teeb.
>> See fail on kuidagi seotud e-posti, e-posti.
Mis siis on see programm teeb?
Selles versioonis, kui ma tegelikult tﾃ､itke see vorm - ja lubage mul minna
froshIMs3, ei froshIMs0 -
vorm ja vﾃ､lja nﾃ､eb sama.
David, kapten, male, ﾃｼhiselamus, Matthews.
Aga kui ma saadan selle, see fail on kavatse minna register3.php.
>> Ja ma vﾃ､ita, vaadates see lﾃ､htekoodi, see lﾃ､heb
kuidagi kaasata email.
Lubage mul minna ja avada see ﾃｼles suurem aken, nii et me
nﾃ､ete seda puhtamalt.
Oleme Vhosts, kohalik host, avalik, froshims.
Ma lﾃ､hen avama erinevates programm, just nii me
nﾃ､ete rohkem korraga.
>> Nﾃｼﾃｼd siin mﾃ､rgata mﾃｵningaid asju.
ﾃ徑aosas fail on avatud sulg, kﾃｼsimﾃ､rk, PHP.
Siis on hunnik kommentaare mida me ei saa eirata, on
ebahuvitav nﾃｼﾃｼd.
>> Nﾃｼﾃｼd on see.
Selgub, PHP on palju Koodi nimetatakse nﾃｵuavad.
See on vﾃ､ga sarnase sisuga C on sisaldab hash sisaldavad mis
pﾃｵhiliselt haarab sisu mﾃｵned muu fail ja lihtsalt plops neid siin,
nii et saate neid kasutada.
Sel juhul on seadmel, eelinstalleeritud, raamatukogu tasuta ja
avatud lﾃ､htekoodiga raamatukogu kutsus PHP mailer, et igaﾃｼks saab
alla laadida internetist.
Me tegime seda sinu jaoks.
Ja see tﾃ､hendab, et ma nﾃｼﾃｼd on e-posti funktsionaalsus minu kﾃ､sutuses.
>> Nﾃｼﾃｼd teate mﾃｵned asjad.
Ma lﾃ､hen, et kinnitada vormi esitamist.
Tuleb vﾃ､lja, PHP, ﾃｼks, on hﾃｼﾃｼatus punkte ei operaator, nagu
C. Kuid PHP on ka funktsioon nimetatakse tﾃｼhi.
>> Tﾃｼhi lihtsalt tagastab tﾃｵsi, kui vﾃ､ﾃ､rtus on asi, mida see tuleb
Sulgudes on tﾃｼhi, nagu kasutaja ei kirjuta midagi sisse
Nii et see on see sﾃｵna ja teate sﾃｼntaks, vﾃ､ga meenutab C, kui
nimi vﾃｵti, nii nimi vﾃ､ljale vormi, mille kaudu esitada posti teel
kasutaja ei ole tﾃｼhi, ja nende sugu ei ole tﾃｼhi kujul nagu
Noh, ja nende ﾃｼhiselamus ei ole tﾃｼhi -
aga teate ma ei hooli Kapten, siis mida me teeme?
>> Ma lﾃ､hen tﾃ､itma see rida koodi.
Ja sa ei mﾃｵtle seda liiki nagu malloc, kuid see on natuke
raskemat.
Aga nﾃｼﾃｼd see annab mulle erilist vatseti tﾃｼﾃｼpi PHP mailer.
Kuid ignoreerida mﾃ､rksﾃｵna uus tﾃ､na.
>> Nﾃｼﾃｼd ma lﾃ､hen helistada funktsioon nimega IsSMTP, mis ﾃｼtleb, kasuta SMTP.
See on port 25, nagu ka video eelmisel nﾃ､dalal, kui asi oli viskamine
kirjadest tulemﾃｼﾃｼri.
Port 25 on SMTP.
SMTP tﾃ､hendab kasutada posti server.
Kumb saame kasutada Harvardi SMTP.fas.harvard.edu.
>> Meil on vﾃｵimalik valida alates aadress olema John Harvardi.
Kui ma keri edasi, ma ei saa mﾃ､ﾃ､rata saaja aadress, vaid
omavoliliselt, oleks John Harvardi samuti.
Nii ta lﾃ､heb, mida postitada ise.
>> Nﾃｼﾃｼd on vﾃｵimalik valida teema olema registreeritud.
Ja ma ei saa mﾃ､ﾃ､rata keha e-posti jﾃ､rgmiselt.
See rida tundub veidi segasena, aga see on lihtsalt sellepﾃ､rast, et seal on palju
Teabe ta.
ﾃ很s, seal dot operaator.
Keegi peab teadma juba mida dot operaator teeb.
See ahel.
Nii et kui soovite vﾃｵtta stringi PHP, ja lisada, vﾃｵi ﾃｼlaloleva see, et
teise stringi PHP, jumal tﾃ､natud sa ei pea kasutama strcopy ja malloc,
ja kﾃｵik see enam.
>> Kui soovite concatenate kaks stringi, kes hoolib mﾃ､lu.
Olgu PHP nﾃ､itaja lﾃ､bi sulle.
Mis PHP pistmist dot operaator siin on lihtsalt suur lause vﾃ､lja
Selle rea, seda joont, see joon, seda joont.
Ja nﾃｼﾃｼd ette, et see saab sokutama vﾃ､ﾃ､rtushinnangutes.
Nii e-posti, et John Harvard lﾃ､heb saada sﾃｵna otseses mﾃｵttes ﾃｼtlen
nimi, koolon, midagi, mitte, siis me sulgemiseks string ja concatenate edasi
olenemata kasutaja sisestatud aastal, siis uus rida.
>> Siis jﾃ､rgmisel real John Harvardi e, et see saab ﾃｶelda,
Kapten, Sees vﾃｵi midagi.
See saab ﾃｶelda sugu, mees vﾃｵi naine.
Dorm saab olema Matthews minu puhul.
Ja siis mﾃ､rkate tuttav semikoolon pﾃ､ris lﾃｵpus.
Ja siis siia, teate, mﾃｵnevﾃｵrra segasena veel, kuid jﾃ､llegi, pﾃ､rast
muster, mis harjuvad pﾃ､rast P seatud 7, kui saata mail
tagastab false, siis minna ja surra.
>> Nii PHP on funktsioon nimega die, mis sﾃｵna otseses mﾃｵttes lihtsalt tapab
kodulehel ja lihtsalt trﾃｼkib vﾃ､lja mida iganes sa ﾃｼtled seda - tema on suremas
sﾃｵnad, nii rﾃ､ﾃ､kida.
Ja see, kui tegemist on, siis printida millised vea info on
mis juhtus valesti minema.
Nii pikk lugu lﾃｼhike siin, mida me oleme on nﾃ､ide sellest, kui kasutaja
esitab vormi, froshim0, froshims3.php, see lﾃ､heb
register3.php.
Aga register3.php siis tulu tﾃ､ita kﾃｵik need read.
>> Nii et seal on mﾃｵned take kahjustavad tegurid siin.
ﾃ很s, see on ilmselt ﾃｼsna lihtne, programmiliselt, saata e-kirju,
mis on hea.
Kui kasutajad registreeruma saidile sisse Sellisel juhul, kui nad registreerivad oma
sport, saate e-posti uustulnuk Proctor vﾃｵi John
Harvard, kﾃ､esoleval juhul.
>> Aga see tﾃ､hendab ka seda, mida saate teha, mis?
Saada e-kirju, et keegi kedagi.
Ja see on vﾃ､ga ﾃｵige.
See ei ole nii lihtne teha, kui sa oled harjunud kasutama Gmaili.
Aga kui sa oled kunagi kasutada Eudora vﾃｵi Outlook, saab pﾃ､ris palju ﾃｶelda
posti server, et olete keegi tahad.
Ja see on koht, kus ma pean panema et mﾃｼts ja ﾃｶelda, ei tee seda.
Aga see on mﾃ､rk sellest, kui lihtne see on tﾃ､ita phishing rﾃｼnnakuid, ja
saata anonﾃｼﾃｼmseid e-kirju ja spam ﾃｼldisemalt.
Ja see tﾃｵesti taandub Asjaolu, et kﾃｵik, mida vajame, on mﾃｵned
programmiline juurdepﾃ､ﾃ､s.
>> Nagu kﾃｵrvale, minu lﾃ､hedaste kohtumine reklaam pardal, minu uustulnuk aastal,
oli, kui ma avastasin selle cool trikk, et wow, saate
saata e-kirju kelleltki.
Ja nii me olime vﾃｵttes mﾃｵned loll argument, sﾃｵna otseses mﾃｵttes, Matthews,
ﾃｼks minu Proctor grupp.
Ma isegi ei mﾃ､leta mis teema oli.
Aga ma tahtsin proovida panna lﾃｵppu, et see loll arutelu.
>> Nii et ma otsustasin ma lihtsalt saata e-posti minu Proctor grupp, teeseldes, et
teine 窶銀杵oormees, kellel kelle arvamus nﾃｵus, ja teda pﾃ､ri
mis iganes minu arvates oli selle konkreetse arutelu.
Ja nii ma sepistatud seda e-posti kasutades tehnikat sarnase sisuga seda.
Aga see oli tegelikult lihtsam ajal.
Tulemus saata.
Ta ei olnud rahul, ega kﾃｵrvalda on reklaami pardal.
>> Ja ma olin vﾃ､ga kiiresti pﾃｼﾃｼtud sekundit, sest nagu te teate, ma kirjutama
minu e-kirju teatud viisil.
Ja kuigi ma seda teha kﾃ､sitsi, suurtes osa, 15 aastat hiljem, sest olin
traumeeritud, et.
Mul ei ole allkirja minu e-posti nﾃｼﾃｼd.
Aga aastal 1995, ma lihtsalt pidin sig, allkiri on minu e-posti.
Nii oli see teadmiseks ﾃｶeldes Kallis Proctor grupp, ma leppida minu arvamus
ja nﾃｵus David allkirjastatud nii ja Niisiis, uus liin, uus liin, DJM.
>> Nii ei tee seda vﾃｵi ﾃｼldiselt vﾃｵtta ﾃ､ra seda tehnikat.
Aga kui teha veebileht, nagu ette oma lﾃｵpliku projekti tegemisel
kodulehel midagi ettevﾃｵtlikkust, see on see, kuidas, pragmaatiliselt, saate
vﾃｵimendada muid teenuseid internetis nagu posti ja siis tegelikult
Kirjuta asju kasutades koodi.
>> Niisiis, kuidas me saame tﾃ､iustada seda?
Noh, esiteks vﾃｵtame kiirﾃｼlevaate mﾃｵned asjad, mis sa nﾃ､ed,
ja siis, kui heita pilk paar nﾃ､idet.
Nii et ﾃｼks, rahustada, sest Me lendame lﾃ､bi PHP.
Ja ma tean, et mingil hetkel sa pead tegelikult hakake seda, kui te
ei ole juba.
Mﾃｵistma, et ﾃｼks, peamine on selline ja aknast PHP.
Kui soovite kirjutada koodi, mis saab tﾃ､ide, sa lihtsalt hakake seda
fail nimega. php nii kaua teil on sulg
kﾃｼsimﾃ､rk PHP tag.
>> Aga teate need on tingimused php.
Teade, et see on tﾃ､pselt sama slaid meil oli nﾃ､dalas ﾃｼks, kui meil oli
tingimused C. Tingimused PHP on struktuurilt ja
sﾃｼntaktiliselt sama.
Ainus tﾃｵeline erinevus on see, kui sul on muutujaid kaasatud, siis on need
dollari mﾃ､rke.
>> Vahepeal Loogiline vﾃ､ljendeid nﾃ､evad vﾃ､lja tﾃ､pselt nagu seda
vﾃｵi-se vﾃｵi ja-se koos.
Lﾃｼlitid vﾃ､lja tﾃ､pselt sama.
Mis on tore, PHP, samas C, lﾃｼlitid olema juhtudel
primitiivid nagu ints vﾃｵi sﾃｼmbolit, PHP Sinu puhul avaldusi vﾃｵib tegelikult olla
kohta tervikuna stringid, mis on tegelikult omamoodi kena.
Sﾃ､ﾃ､stab aega.
Ei saanud teha, et C.
>> Siin for loop PHP.
See on identne.
Vﾃｵib-olla mﾃｵned dollari mﾃ､rgid muutujate.
Sa ei pea mainima, et midagi on int.
Sa lihtsalt kuulutada koos dollari mﾃ､rk ja muutuja nimi.
Aga jaoks silmus on sama.
Samas loop on sama.
Teha, kui silmus on sama.
>> See on veidi erinev.
Nii PHP, array, saate staatiliselt deklareerida massiivi, nagu C,
aga sa kasutad nurksulgudes.
In C, siis oleks kasutada looksulg, kui sa isegi teadsin seda.
Aga see on tegelikult vﾃ､ga levinud PHP kuulutada array, sel juhul
numbrid ja helistage muutuja numbrid.
>> Muutujad ise nﾃ､eb vﾃ､lja selline.
Siin on string, tsiteerin lﾃｵppeb "tere maailmas. "Sa oleks vﾃｵinud lﾃ､ngkriipsu n.
Ma lihtsalt ei ole kﾃ､esolevas asjas.
>> Nﾃｼﾃｼd on see huvitav ehitada.
C ei ole seda.
Aga see on super abivalmis.
Ja te nﾃ､ete seda P kogum 7 spec - iga ehitada.
Kui soovite korrata ﾃｼle kﾃｵik elementide massiiv, sa ei pea
tegeleda $ i ja $ n, ja + +, ja kﾃｵik.
Vﾃｵid sﾃｵna otseses mﾃｵttes ﾃｶelda, PHP, see -
iga numbrite arv, nii Ma oletan, et $ numbrid
on massiivi numbrid.
Ja kui ma ﾃｼtlen iga numbrid kui number, see lﾃ､heb
automaatselt, kui minu loop hukatakse, uuendada, iga iteratsiooni, vﾃ､ﾃ､rtus
sees dollari mﾃ､rk number -
uuesti ja uuesti ja uuesti jalgsi minu jaoks ﾃｼle, et massiivi.
Nii see lihtsalt sﾃ､ﾃ､stab meid kood.
No semikoolonit ei + + 's, mitte i on, ei n on, see on lihtsalt kena.
>> Kuid PHP on ka see.
Ja see on super vﾃｵimas.
Ja sa kasutada seda, kﾃ､ed edasi, P seada 7.
Ja assotsiatiivne massiiv on ka kuulutatud nurksulgudega.
Aga teate sﾃｼntaksi nﾃｼﾃｼd.
See meenutab nﾃ､gime koos print_r hetk tagasi.
Mitu vﾃｵtmed, kui vﾃ､he Psﾃｼﾃｼhikavise Mis see massiivi tundub, et on.
>> Nii et see on kaks.
Ja ma nimetan seda massiivi.
Aga kui see aitab, vﾃｵite mﾃｵelda Selle kui hash tabel, vﾃｵi
assotsiatiivne massiiv.
Aga see on lihtsalt erinevad tﾃｼﾃｼpi massiiv.
Ja jﾃ､lle erinevaid keeli on need.
Me nﾃ､eme midagi sarnast JavaScript samuti.
Seal on kaks vﾃｵtit.
ﾃ很s on tsitaat lﾃｵppeb, "sﾃｼmbol," ﾃｼks on Tsiteerin lﾃｵppeb "hinnaga." Ja need vﾃｵtmed
iga on vﾃ､ﾃ､rtus.
Sel juhul sﾃｼmboli vﾃ､ﾃ､rtus on FB jaoks Facebook ja hindade vﾃ､ﾃ､rtus on 49, 26,
mis oli Facebooki aktsia hinnad alates hommikul.
>> Mis on kasulik umbes assotsiatiivne massiiv.
Mul oleks vﾃｵinud arvuliselt indekseeritud massiivi lihtsalt
lihtne nurksulgudes.
Ja ma oleks vﾃｵinud dollari mﾃ､rk quote vﾃｵrdub lihtsalt see.
Las ma tegelikult seda teha.
Oletame, ma selle asemel lihtsalt tunnistada Selle massiivi niimoodi.
See on tﾃ､iesti kehtiv, sﾃｼntaktiliselt.
See ei kaota andmeid, per se.
Ma ikka nﾃ､en, et sﾃｼmbol on fb, ja et hind on 49, 26.
Miks on assotsiatiivne massiivid mﾃｵjuvad?
>> Publik: Te ei pea meeles pidama, kui paned asjad.
>> SPEAKER 1: Tﾃ､pselt nii, sa ei pea meeles pidada, kuhu panna asjad.
Sul ei ole suvaliselt meeles et aktsia sﾃｼmbol on sulg null,
ja aktsiahinnad on sulg ﾃｼks, mis on eriti ohtlik, kui te
muuta asju, lﾃｵpuks.
See on palju parem siduda mida me kutsume metaandmed
oma tegelikke andmeid.
Ma tahaks vﾃ､ita, et see, mida me tﾃｵesti hoolime umbes siin on fb ja 49, 26.
Sﾃｼmbol ja hind on metaandmete mis kirjeldab andmeid, mida me
tegelikult hoolivad.
Aga see on lihtsalt nii palju lihtsam juurdepﾃ､ﾃ､s.
>> Nﾃｼﾃｼd, kui kﾃｵrvale mis hind, mida me maksma?
Me oleme seda teinud juba aastal CS50 nﾃ､dalaid.
See funktsioon peab tulema teatud hind.
Mﾃ､lu.
Nii et sa ei ole lihtsalt ladustamiseks 32-bit tﾃ､isarv, nﾃ､iteks.
Sa ladustamiseks sﾃｼmbol / 0, ilmselt.
Nii et te kasutate rohkem mﾃ､lu.
>> Ja mis on tﾃ､itmiseks otsin midagi ﾃｼles
assotsiatiivne massiiv, ilmselt?
See on ilmselt aeglasem.
Muutmﾃ､lu on tore, eriti kui saad teha binaarne otsing.
Aga kui sa oled tegelikult nﾃｼﾃｼd vaadates ei numbrite, vaid stringid, seda
tﾃｵeliselt ellu all kapuuts, tﾃｵenﾃ､oliselt hash tabel, kus
kasutad ﾃｼkskﾃｵik kumba hash tabel eraldi ﾃｼhendamine.
Vﾃｵi te kasutate proovida tegelikult salvestada vﾃ､ﾃ､rtusi.
Nii et ﾃ､kki saab teha pidevalt aega, kuid teil on ikka vaadata S-Y-M-B-O-L,
potentsiaalselt asemel lihtsalt 32 bits otsida midagi ﾃｼles.
Nii et taas, need samad mﾃｵtted tulevad Tagasi korduda selles kontekstis.
>> Aga jﾃ､lle, PHP on nﾃｼﾃｼd mﾃｵned super globaalseid, et selgub, on
assotsiatiivne massiivid.
Nﾃ､gime ﾃｼks hetk tagasi, $ _POST.
Ja et super globaalne on vﾃｵtmed ja vﾃ､ﾃ､rtused.
Tﾃ､psemalt vﾃｵtmed rivistama, mida?
Kust vﾃｵtmed $ _POST tulevad?
Lihtsalt sulgege?
>> Publik: Nimi.
>> SPEAKER 1: nimi, kus?
>> Publik: [kuuldamatu]
>> SPEAKER 1: nimi on atribuut.
Noh, aga kus nad tegid algselt pﾃ､rit on?
Vormi.
Nii et kui HTML lehel on vorm tag, mille sees on mﾃｵned sisendid, nagu
ruudud, tekstivﾃ､ljade rippmenﾃｼﾃｼst menﾃｼﾃｼd, millest igaﾃｼhel on nimi, nende
nimed lﾃｵpuks nagu vﾃｵtmed $ _POST ning ausalt, et asi, $ _GET.
Kui meetod on GET, sama mﾃｵte.
See on lihtsalt erinevas super globaalne.
Ja vﾃ､ﾃ､rtusi, muidugi, on pﾃ､rit olenemata kasutaja tipitud tema vﾃｵi
tema brauser.
>> Aga seal on mﾃｵned teised.
Seal on kﾃｼpsis, mis me tulen tagasi tulla lﾃｵpuks.
Aga need on asjad, mida sa tead, web kasutab mﾃｵnda head vﾃｵi halba.
Aga me tuleme tagasi selle.
Server ja istungil ja need kaks on mingi eriline kasulikkust.
>> Aga vﾃｵtame pilk see.
Lubage mul minna ja avada nﾃ､iteks nimetatakse mvc0.php Nii MVC
tﾃ､histab jﾃ､rgmist.
Ja me vﾃｵtame kasutusele seda varem on Tﾃｼﾃｼpiline, tﾃｵesti, et sa projekteerimine
ﾃ徑esanded 7 ja ka lﾃｵplik projektide aastal omamoodi tﾃｶﾃｶstus
tavapﾃ､rasel viisil, ja puhas viis.
See on hea disain.
>> Nii et sa parasjagu nﾃ､ha, ja sa pead kogemus, P komplekti 7, paradigma, sorteerida
programmeerimise mﾃｵtteviisi, mis nﾃ､eb natuke midagi sellist.
M mudeli, C Controller, V View.
Pikk lugu lﾃｼhike, MVC on lihtsalt selline on metoodika, moodus
veebilehed, eriti, mille te panna kﾃｵik oma, loll lause -
ﾃ､riloogika -
kﾃｵik oma intellektuaalse omandi mida nimetatakse kontroller, fail
nagu index.php vﾃｵi me nﾃ､eme, quote.php vﾃｵi buy.php.
>> Kontekstis ﾃ徑esanded 7, oma mudelid sisaldavad tavaliselt oma andmed,
midagi, mis on seotud andmebaasi, kui paneme lﾃｵpuks nﾃ､ha ja oma seisukohti
sisaldavad esteetika oma site, HTML, CSS.
Nii et me juba nﾃ､gime seda C vﾃ､he natuke abil. h failid.
Me tﾃｵesti nﾃ､gin seda hetk tagasi koos CSS, poolt faktooring CSS stiliseerimine
kraami meie HTML.
>> Nii MVC on tﾃｵesti ainult umbes joonistus jooned liiva sisse ja ﾃｼtles:
huvitav programmeerimine kood oma veebilehel kuulub mida me kutsume
kontroller.
Stuff seotud andmebaas tavaliselt jﾃｵuab mudel.
Aga nﾃ､ete, et ﾃ徑esanded 7, me ﾃｼhendada C ja M hoida lihtsa.
Aga vaade on koht, kus kﾃｵik oma HTML ja esteetika tavaliselt minna.
>> Mida see tﾃ､hendab reaalselt?
Noh, lubage mul minna oma MVC kataloog jﾃ､rgmiselt.
Ja te nﾃ､ete, mitu neist kﾃ､inud lﾃ､bi spec.
Nii mvc0, ma vﾃ､ita, et see on, nagu, versioon 0 CS50 veebisaidil.
>> Meil on vaid mﾃｵned HTML, nagu suur h1 tag, ilmselt.
Ja siis tﾃ､pploendit.
Ma pole kunagi nﾃ､inud tﾃ､pploendit enne, aga pole hullu.
Lﾃ､hme kiiresti vaadata lﾃ､htekoodi.
Selgub Tavalise nimekirja kuulidega on sulg ul ﾃｼhe vﾃｵi
rohkem loendielementidest li.
Nii teate siin on ankur tag.
Me nﾃ､gime, et hetk tagasi.
>> Nii see on, kuidas ma ellu sellel lehel.
Mul on kaks lingid, kaks loendielementidest ﾃｼks ul eest Tavalise nimekirja, ning lﾃｵpuks
tulemus, esteetiliselt, on see vﾃ､ga ilus veebileht, versioon 0 siin.
Aga mis on huvitav nﾃｼﾃｼd, kuidas see rakendatakse all kapuuts.
>> Lubage mul minna gedit ja avada see esimene nﾃ､ide, et maalida.
Ja me vaatame, mis on vigane, potentsiaalselt siin.
Nﾃｼﾃｼd, kui ma minema localhost, avaliku MVC, mﾃ､rkate mﾃｵne faili.
Ma kutsun neid, et Praegu kﾃｵik kontrollerid.
Aga see on natuke kuritarvitamise tﾃｵttu nﾃ､ete kﾃｵik on segatud
sees neist.
>> Ja lase mul minna sees index.php.
Ja me nﾃ､eme, sﾃｵna otseses mﾃｵttes, sama HTML.
Nii et kuigi see fail lﾃｵpeb . Php, see ei tﾃ､henda, et see on
mingit PHP koodi.
See vﾃｵib lihtsalt olla toores HTML, kuigi see on tobe.
Aga teate pole sulg PHP sildistada, vﾃ､lja arvatud see, mis ausalt ﾃｶeldes
on lihtsalt selleks, et teenida kommentaari.
Aga see on funktsionaalselt ei isegi, et huvitav.
>> Aga mﾃ､rka seda.
Huvitav on nﾃｼﾃｼd see, mida muudatused sellel lehel.
Lubage mul kliki loenguid.
Ja teate URL on umbes muuta.
Nﾃｼﾃｼd ma olen lectures.php.
Lubage mul kliki null.
Nﾃｼﾃｼd ma olen week0.php Ja nﾃｼﾃｼd mul avada neid faile gedit.
Mitte lihtsalt indeks, kuid lubage mind avama loenguid.
Ja lubage mul vabaneda kommentaarid keskenduda vaid selle osa.
>> Ja nﾃｼﾃｼd lubage mul avada veel ﾃｼks, week0.php, visake kommentaare
lihtsalt puhastada see ﾃｼles.
Ja nﾃｼﾃｼd mﾃ､rkate jﾃ､rgmist.
Mﾃｵeldes tﾃｵesti omamoodi hoolikalt disain ja teeme seda rida
kuni sama, mida saaks teha parem siin, sa arvad?
>> Kuidas ma saan teha nﾃ､dalas ﾃｼks?
Kuidas see.
Nii see on, kuidas ma tegin nﾃ､dal ﾃｼks.
Ma lﾃ､ksin File, New, Paste, Salvesta week1.php ja siis ma lﾃ､ksin sisse.
Ja ma muutsin ﾃｼks -
Mis oli see, ﾃｼks reedeni.
Muutsin nulle ﾃｼks.
Muutsin selle ﾃｼhe.
>> OK, nﾃｼﾃｼd vaadata minu faile.
Mida vﾃｵiks teha teisiti?
Kus on vﾃｵimalik, vﾃｵib-olla?
Nii et seal on vﾃｵimalus alustada faktooring seda kraami vﾃ､lja.
Lubage mul avada, nagu spoiler, jaoks mida nﾃ､ete P kogum 7.
Kui ma avada, nﾃｼﾃｼd index.php versioonis viis see, tundub, viis
rohkem segasena kﾃｼll.
>> Aga see, nﾃｼﾃｼd on see, mida ma kutsun kontroller, mis on kontrolli
loogika minu lehel.
Ja te vﾃｵite objekti rekonstrueerida, intuitiivselt ehk mis toimub.
Esimesel real, see on veidi segasena.
Aga teate ma nﾃｵuavad, jms terav sisaldavad faili nimega
helpers.php.
Ja siis ma helistan, ilmselt funktsioon, mida nimetatakse krohvi, mis kulgeb
kaks argumenti.
>> ﾃ很s on tsitaat lﾃｵppeb, pﾃ､ises.
Ja teine 窶銀黍n, millist andmetﾃｼﾃｼp on see, mis pﾃｵhineb
meie sﾃｼntaks varem?
See on seotud massiivi.
Tﾃ､psemalt, see kulgeb pealkiri mﾃｵned metaandmed, mis meenutab
mulle, mis see on ja selle vﾃ､ﾃ､rtust.
Siis ma nﾃ､en kﾃｵva kodeeritud ul, et mﾃｵned toores HTML.
Aga siis ma olen tagasi PHP reﾅｾiim helistades funktsioon krohvi.
Nii et isegi kui sa ei ole kunagi kasutanud HTML vﾃｵi PHP enne ja kuigi see tundub
hirmsam, miks on see ilmselt parem disain?
Mis on parem sellest, pﾃｵhineb jﾃ､reldus?
>> Publik: [kuuldamatu]
>> SPEAKER 1: Vﾃ､hem ﾃｼlearune et enam ei ole mingit HTML tag, mitte rohkem
pea tag, mitte rohkem body igas kuradi faili.
Selle asemel, ma arvutatud vﾃ､lja sarnasuste ja arvatavasti panna neid
see faili kuidagi seotud et pﾃ､ises.
Ja sama asja lﾃ､hedal keha tag, lﾃ､hedal HTML tag.
See on ilmselt siia sees on jalus kuskil.
Ja te nﾃ､ete, et ﾃ徑esanded 7, vﾃ､ike ekskursioon lﾃ､bi selle.
>> Niisiis, mis ees ootab?
ﾃ很s asi, mida me ei ole vﾃｵimeline veel on tegelikult talletamiseks.
Ja mis me hakkame nﾃ､gema Kolmapﾃ､ev, nﾃ､iteks, on see, et oma
vana sﾃｵber Excel vﾃｵi numbrid, vﾃｵimaldab salvestada palju
andmed ridade ja veergude.
Tuleb vﾃ､lja, mida saate teha, et see, mis on nimetatakse andmebaasi programmiliselt.
maniakaalne Ja selgub, pﾃ､rast seda, me saaks salvestada asjad
see, mida te nﾃ､ete jﾃ､lle P set 7, terve hunnik kasutajanimed ja
paroolid, millest viimane on tegelikult krﾃｼpteeritud palju nagu nad
olid P komplekt 2 on hﾃ､kker vﾃ､ljaanne.
Ja lﾃｵpuks, saate rakendada seda, oma Etrade-nagu kodulehel, et
rakendab kollektiivselt CS50 rahastamiseks.
>> Lﾃｵpuks, kuna olete siin ﾃｶﾃｶbinud nii hilja tﾃ､na, kui sa tulla tagasi selle osa
campus, kell 04:00 tﾃ､na, siis me annab teile mitte ainult nﾃｵu, kell SCES
Nﾃｵustamine Fair, kell 16:00 in Maxwell-Dworkin, me anname teile mﾃｵned
Americone Dream, Cherry Garcia, Chocolate Fudge Brownie, Chocolate
Chip Cookie Tainas, ja kui te Google Chunky Monkey, saad selle.
Seega kﾃｵik, mis ootab kell 04:00 PM Maxwell-Dworkin.
Nﾃ､eme kolmapﾃ､eval samuti.
>> SPEAKER 2: Jﾃ､rgmisel CS50, RJ magab sisse
>> RJ: Minu jagu!
Ha!
Oh,