>> DAVID Malan: Allt í lagi.
Þetta er CS50, og þetta er lok viku níu.
Það er verið vindbylur yfir síðustu daga.
Og Heimadæmi sjö, ef þú ert hné djúpt inn í það, við gerum það er alveg
hluti nýja sem er þarna.
En við skulum sjá hvort við getum ekki stykki allt saman hér stuttlega
áður þá veering burt í enn aðra átt og að sjá
hvar annars við getum farið.
>> Svo svona langt, höfum við talað um HTML.
Við höfum talað um CSS.
Við höfum talað um PHP.
Þú hefur byrjað að upplifa SQL.
Í dag munum við tala aðeins um JavaScript.
En hvernig gera öll þessi ólíkum tungumál passa saman?
>> Þannig að við ræddum í síðustu viku um hugmynd af having a framreiðslumaður.
Þannig að við skulum draga bara þessa rétthyrning eins og a vefur framreiðslumaður hér.
Og a vefur framreiðslumaður þjónar vafalaust skrá.
Og sumir af þeim skrám getur verið HTML skrár.
Svo einn af þeim hlutum sem vefþjóni geta spýta út gæti verið skrá sem
við verðum bara draga svona inniheldur nokkrar HTML.
Svo í skilmálum leikmaður er, hvað er HTML láta þig gera?
>> Áhorfendur: Page útlit ágætur.
>> DAVID Malan: OK, gera síðu útlit ágætur, þó svo að ég held að ég hef sannað
sem annars.
Svo HTML er að láta þig leggja út síður setningafræðilega, og það gerir þér kleift að
konar fagurfræðilega merkja upp síðu, merkja upp _STATIC_CONTENT, svo að þú
geta þá skoðað það með a vefur flettitæki.
>> En það er lykillinn.
Það er fast efni.
Þú skrifar það, spara það, og þá skip það.
Og the vefur framreiðslumaður þjónar þá það upp til þinn gestur.
>> En við stylize hlutina með mismunandi tungumál að öllu leyti.
Við byrjuðum að nota stíl eigindi á ákveðnum merkjum.
Og stíl eigindi skulum setja hlutir eins og leturstærð og lit.
Og þú hefur sennilega byrjað að uppgötva, eða þú vilja bráðum til endanlegrar
verkefni hugsanlega enn öðrum eiginleika sem þú getur notað í CSS.
Og svo í skilmálum leikmaður er, hvað í raun þá er CSS do?
Þeir eru bara dæmi þar.
Hvað þýðir það að láta þig gera það HTML virðist ekki frá því sem
við höfum séð hingað til?
>> Áhorfendur: Skilgreina stíl sjálfur.
>> DAVID Malan: Skilgreina stíl sjálfur.
Svo skilgreina hluti eins og flokkum eins og þig kunna að hafa komið upp, eða einstaklega
þekkja hnúður í skjali svo að þú getur stylize þá.
En nánar tiltekið, myndi ég segja að CSS raunverulega gerir þér kleift að taka hlutina á
síðast míla og gerir þér kleift að tilgreina mikið nánar fagurfræði,
en HTML mestu leyfir þú uppbygging síðurnar þínar.
>> Og jafnvel þó að það eru sumir vanskil, eins og við sáum merkinu
vöruliði tag, sem bil að tala gerði hlutina mjög stór og djörf.
Það er nokkuð almenn skilgreining merkislns - stór og djörf.
Hvað leturstærð er það?
Hvaða litur er þetta?
Hvernig feitletrað er það?
Og CSS leyfir þér meira fínskorinn Tune svoleidis.
Auk skipulag, eins og sumir af þú hefur séð.
>> Og hreinskilnislega, CSS er dálítið af sóðalegur tungumál.
Það er mjög öflugur í að þú getur gert bókstaflega allir website að þú hafir
séð á vefnum í dag með það, en það er góður af a sársauki í hálsi.
Og sum ykkar hafa banged höfðinu gegn veggjum þegar bara að gera
eitthvað heimskur eins miðju á valmyndinni Heimadæmi sjö ef þú hefur fengið að
að benda nú þegar.
>> En átta sig, þá hluti fá auðveldara með tímanum.
Þú byrjar að taka eftir mynstrum.
Og aftur, Google mun vera vinur þinn fyrir ýmsar leiðir sem þú getur
leysa þessar tegundir af vandamál.
>> Og ég þori að segja með CSS og HTML meira Almennt er hægt að leysa vandamál í
margar fleiri leiðir, sem allt gæti mjög vel vera rétt, en þú gætir
í eitthvað eins og C, jafnvel nú PHP eða JavaScript.
Það eru bara margar mismunandi Leiðir til að leggja það út.
>> En þetta byrjaði að fá sóðalegur, sagði við.
Bara svona commingling HTML og CSS þinn með stíl eigindi var
smá sloppy.
Og svo ég sagði í staðinn, eins konar abstractly tala, að þú ættir
amk byrja að þáttur út CSS þitt sennilega.
Ekki þinn stíll eiginleika, en að minnsta kosti nota stíl tag inni það
hluti af vefsíðu?
>> Áhorfendur: Head.
>> DAVID Malan: í höfuðið.
Allt þar til nú, við höfðum aðeins titilinn upp það, en þú getur einnig bætt við stíl
merkja, og þú getur sett CSS þinn u.þ.b. tala í átt að efst á síðu.
En þá tókum við það einu skrefi lengra og við reiknað það út meira
í sérstakri skrá.
>> Og svo þessar tvær skrár voru einhvern veginn nú tengdir.
Og reyndar var það tag sem gerði það.
Og hvað var einn af sérlegu motivations fyrir þátta út CSS okkar
allt meira?
>> Áhorfendur: Reusability.
>> DAVID Malan: Reusability.
Satt?
Þú gætir hafa séð í p-sett sjö þegar að mikið af þeim síðum, sem
kaupa síðu, sölu síðu, sem eigu síðu, eru líklega
byggð nokkuð álíka.
There 'a CS50 fjármál merki efst nema þú hafir ákveðið að breyta því.
There 'a fót í því neðst á síðum.
Og CSS gerir þú þá að þáttur það út það inn í sérstaka skrá þannig að ef
þú vilt breyta einhverju á heimsvísu yfir alla síðuna þína, þú getur raunverulega
bara breyta því á einum stað.
>> En það er verðið sem þú greiðir hugsanlega með því að hafa reiknað út
CSS HTML skrá mína í sérstakt skrá tilvísanir það með
tag, sem við sáum á mánudag.
Hvað gæti hæðir verið um þetta?
Hugsun aftur fyrir viku síðan að þegar við erum tala um HTTP og TCP / IP og hvernig
Netið virkar.
Eitthvað hérna?
>> Áhorfendur: Það tekur lengri tíma.
>> DAVID Malan: Það tekur lengri tíma.
Hvers vegna?
>> Áhorfendur: [inaudible].
>> DAVID Malan: Já.
Svo tekur það að öllum líkindum aðeins meiri tíma.
Vegna þess að einn, CSS er augljóslega ekki í sama skrá.
Svo nú þú ert að gera ekki einn, heldur tveir beiðnir.
Og hver af þeim beiðnum sem við sáum í Króm í svokölluðu Inspector,
og við leit á flipann Network, hvor af þeim skrám þarf einn HTTP
Beiðni, sem við sáum tekur smá tíma.
Nú, kannski er það ekki mikið.
Kannski er það aðeins 20 millisekúndur.
Kannski er það 200 millisekúndur.
>> En hugsa um síðu eins og Facebook, eða CNN eða Google, sem eru mun
stærri en dæmi sem við höfum horfði á svona langt.
Þeim síðum gætu hafa heilmikið af skrá, sem hver um sig gæti þurft að
niðurhal á skrá.
Svo það geta hugsanlega byrja að hægja niður.
>> Og sérstaklega þessa dagana þegar við allir hafa farsíma í vasa okkar og
hægari Internet tengingar, þurfa að bíða í nokkrar fleiri millisekúndur, nokkrar
fleiri millisekúndur fyrir viðbótar skrá geta raunverulega vera hægur.
Leynd er orðið sem lýsir konar bíða að þú ert að þú
upplifa þegar að bíða eftir sumir stykki af upplýsingar.
>> En það er hækkun en lækkun.
Svo það er ekki allt hálfgerður -
það er í raun hluti af a seesaw hér.
Galli nú, en hvað vafrar geta gert ef þeir eru klár til að forðast
að þurfa að biðja um sömu styles.css skrá aftur getur verið að gera hvað?
>> Skyndiminni það.
Svo flýtiminni -
C-A-C-H-E -
yfirleitt er hér bara til að vista skrá sem þú baðst um í fyrsta skipti, og
þá stöðva skyndiminni fyrir það.
Athugaðu að þú ert konar geymsla gámur, og ef þú ert þegar með
afrit af styles.css, jafnvel þótt einhver annar síðu í p-sett, eða allir website,
óskar það aftur, bara til að gefa notandi sama afrit afrit.
Nenni ekki að biðja hana.
>> Hæðir þar, þó, eins og sum ykkar hafa skemmtiferðamaður yfir í p-setja.
Ef þú gerir breytingar á þjóninum og þú ferð til baka í vafranum og þú
endurhlaða, stundum virkar vafrinn þér greiða og ekki nennir
aftur að sækja styles.css skrá vegna þess, að koma á, hvað eru líkurnar
að þessi stíll sem Facebook notar eru að fara að breyta klukkutíma eða
degi til dags?
Það er nokkuð lágt.
Þeir breytast með tímanum, en ekki við mínútu eða eftir klukkustund.
>> Svo bragð, bara FYI hvenær aðgerð vefur þróun, er oft halda niðri
Shift lyklinum til dæmis og þá smelltu endurhlaða í vafranum þínum, og það mun
yfirleitt segja vafranum endurhlaða allt, jafnvel ef þú ert nú þegar
það í skyndiminni.
Svo aftur, upsides og downsides, en öll þeirra
lokum hönnun ákvarðanir.
>> Svo nú, við gerðum ekki bara enda söguna hér.
Ef ég fer nú aftur og aftur og aftur og aftur, við byrjuðum að kynna ekki bara
HTML, en PHP.
Svo í skilmálum leikmaður er, hvað er PHP skulum við gera?
>> Áhorfendur: [inaudible].
>> DAVID Malan: Hvað er það?
>> Áhorfendur: Kynntu rökfræði inn kóðann.
>> DAVID Malan: Já, kynna rökfræði í kóðann þinn.
Svo það er satt forritunarmál með lykkjur, og breytur og
aðgerðir og aðstæður, og allt það sem við höfum verið að nota leið til baka
þegar síðan grunni.
Og PHP, við höfum séð, er hægt að nota annaðhvort í stjórn lína - það
þarf ekki að hafa neitt að gera með vefnum, jafnvel þó að það er
virkilega uppruna þess og hvað það hefur tilhneigingu að vera góður í og ​​hvetur til -
en þú getur notað PHP eingöngu eðli sínu af þeirri staðreynd að það hefur prentun ()
virka, og printf () virka, eða echo () virka.
Það er bunches af lifnaðarhættir þú Hægt er að prenta texta með PHP.
>> Því er hægt að nota þennan forritun tungumál til að framleiðsla nákvæmlega
hvað við vorum að tala um áður.
Þú getur dynamically mynda HTML.
Kannski ekki minna en það.
Kannski þú harður kóða hlutir, eins og haus og fæti, og lógó,
og stíll lak þína, og allt það.
En fyrir eitthvað eins p-sett sjö, þar sem þú ert að notfæra fiskistofna og
sýna eigu notandans, sem er fara að breytist, þú gætir
vafalaust nota PHP og rökfræði það gefur þú sem forritunarmálið til
framleiðsla virk undirhópum á síðunni.
>> Svo þegar þú talar um dynamic websites, eða vefur forritun, sem er
hvað þú ert í raun að tala um.
Using a tungumál eins og PHP, eða hlutum kallast Python eða Ruby eða Java, eða
hefur enn öðrum tungumálum, að fyrirspurn gagnagrunn oft, eða annar framreiðslumaður, og
þá breytilega spýta út HTML.
>> Nú er niðurstaðan, sem innskot, er að HTML flestra vefsíður,
þ.mt p-setja sjö þinn, er líklega fara til vera a gríðarstór sóðaskapur ef
þú horfir á upptökum kóða í vafranum.
Það er ekki stór samningur.
Á þessum tímapunkti, þegar við vænt um stíl annt um
efni sem þú skrifar.
Við munum ekki sama um efni sem hvað númerið framleiðsla þinn.
Svo ekki hafa áhyggjur óður í inndrátt hér ef það er PHP sem er
reyndar outputting efni.
Eftir allt saman, the flettitæki vilja ekki kæra, og manneskju muni ekki vera að leita
við upptök samt.
Við starfsfólk, til dæmis, myndi að horfa á PHP þinni.
>> Svo láta mig gefa a fljótur dæmi nú af hverju annars þetta gæti verið gagnlegt.
Svo að segja get ég ekki munað síðast skiptið sem ég notaði C til að leysa vandamál í
the raunverulegur veröld.
Það var líklega í framhaldsnám þegar Ég þurfti að nota tungumál sem
var nokkuð lágt stig og gaf mér tækifæri til að gera eitthvað mjög hátt
framkvæma til raunverulega spara eins og margir CPU hringrás og ég gat, í stórum hluta
vegna þess að ég var að nota mikið gagnagrunna, og sérhver CPU hringrás telja.
Og hreinskilnislega, jafnvel í hlutum eins og sími þessa dagana og önnur tæki
þar sem þú ert ekki alveg eins mikið minni og þú þarft ekki alveg eins
mikið CPU, nota hraðari tungumál er enn aðlaðandi.
>> En í hinum raunverulega heimi, þegar þú bara vilja til að henda eitthvað forrit saman að
greina nokkur gögn, eða þú hefur safnað allt fullt af skráningum fyrir
sumir Nemendahópurinn og þú vilt mjög fljótt sjálfvirkan að senda tölvupóst
eitt af öðru að hver og einn af þeim sem skráir, ætlar þú að fara til að ná til
hærra stigi tungumál en C svo að segja.
Eitthvað eins og PHP eða Python, eða Ruby, eða hálfa tylft aðrir sem eru fyrir hendi
þessa dagana.
En þeir þrír eru líklega mest töff núna.
>> Og hvað þýðir þetta er að þú getur opnað upp texta ritil eins gedit eða
mest allt annað og þá bara byrja skrifa kóðann án þess að þurfa að hafa áhyggjur
um söfnun, án þess að þurfa að raunverulega hafa áhyggjur af stjórnun minni,
hafðu í huga þó að lítið sloppiness mun að lokum koma aftur
að bíta þig ef gögnum verður stærri eða vandamálið fær stór.
En hvað þýðir þetta fyrir okkur er eftirfarandi.
>> Láta mig fara á undan og keyra Speller frá Heimadæmi sex.
Svo er þetta trie-undirstaða framkvæmd minn sem ég notaði á stóru
borð þar sem ég söng ekki svo vel.
Við munum koma aftur í tíma viku og endurskoðun þeir sem á endanum topp
stór borð á síðasta fyrirlestri okkar.
En nú, láttu mig fara á undan og bara hlaupa lausn mína í texta, og við munum gera
King James Biblían, og hér við fara.
>> Þannig að þeir eru allt í talið rangt stafsett orð af
The King James Biblían.
Og framkvæmd minn tók hálfa sekúndu í aðaleinkunn.
Svo ekki of slæmt á þetta sérstakur tölva.
En hugsa um hversu mikið númer sem ég þurfti að skrifa.
Hugsa hversu mikið númerið sem þú þurfti að skrifa.
Hugsaðu hversu margar klukkustundir þú varið í D-sal eða dorm eða hvar
reyndar erfðaskrá upp þessi lausn.
>> Jæja, ef ég hef reyndar meiri tungumál eins og PHP, taka mið af
hvað ég get gert hér.
Fyrst, gera ráð fyrir að þetta er í staðinn dreifingu númerið þitt.
Þetta er skrá sem heitir Speller.
Það er í boði sem hluti af dag dreifingu kóða.
Og ég ætla að veifa hendinni á mér á flestum á smáatriði, en þetta er í raun
áhugaverð dæmi um hvernig þú gætir höfn tungumál
eins og C yfir til PHP.
Ég opnaði bókstaflega tvær texti gluggakista, einn með C minn útgáfa af speller.c,
og ég byrjaði bara að þýða það í mínum höfuð til PHP og slá það út með því að nota
nánustu sambærileg verkefni.
>> Svo sumir af þessum hlutum eru mismunandi.
Við sáum síðasta skiptið sem PHP notar ekki fela í alveg sama hátt.
Það notar venjulega þurfa, þó eru hefur til.
Skilgreina er svolítið öðruvísi # Skilgreina í C, en það er
hvernig við tökum fasti.
$ Argc það reynist til í PHP, þannig að við höfum séð það áður.
Þetta eru bara breytur, allar sem byrja með dollara merki.
Muna að þetta eru bara fullt fljótandi stig.
>> Svo löng saga stutt, þú ert velkominn að flettir gegnum þetta ef forvitinn, þetta er
nánast línu-fyrir-línu ummyndun á C útgáfa af speller.c í PHP.
Og þú getur gert þetta aftur fyrir hálfri tylft annarra tungumála.
>> En hvað er áhugavert er þetta.
Eða hvað er satt Svekkjandi er þetta.
Láta mig fara á undan og slá um dictionary.php, og halda því fram að ég er
að fara á undan og með tilvísun til-innleiða Heimadæmi sex hér.
>> Svo skulum leggja fyrst að í þessu skrá, sem verður hrint í framkvæmd í
PHP, svo látið mig opna tags mínar svona.
Leyfðu mér að gefa mér alþjóðlegt breytu, $ stærð fær núll.
Og ég ætla að gefa sjálfur kjötkássa borð.
Ég nota kjötkássa borð fyrir þetta.
Hvernig get ég lýsa kjötkássa borð í PHP?
Lokið.
OK.
>> Svo opinn krappi nærri krappi táknar hvað í PHP, sem við höfum séð?
An array, en fylki sem gæti vera tengin array.
An tengin array er gögn uppbygging sem
tengir lykla með gildum.
>> Nú í einfaldasta tölulega verðtryggð array, eru þessir lyklar hvað?
Núll, einn, tveir, þrír, satt?
Gamla skólann efni aftur frá C. En það getur einnig vera strengi eins foo, og bar,
eða Maxwell, eða allir svo band.
Svo ég get skiptimynt sem á aðeins augnablik.
>> Láta mig fara á undan og lýsa fall eins -
skulum gera álag () fyrst.
Svo virka hlaða ().
Og PHP er svolítið öðruvísi í því þú slærð bókstaflega virka, en þú
ekki skrifa aftur tegund.
Ég ætla að fara á undan og segja að hlaða () fall ætti að taka í
rök $ orðabók, bara eins og C útgáfa gerði.
Ég ætla að gera það úr minni.
>> Og ég leggja til að ég er að fara að gera þetta.
Ég er einfaldlega að fara að gera framhandleggur.
Ég ætla að hringja í aðgerð sem kallast skrá (), sem liggur í nafni sem
skrá, sem er breytan $ Orðabók sem $ orði.
Og þá inni í mín fyrir lykkju hérna, ég er að fara á undan og geyma í mínu
$ Töflunni að $ orð fær satt.
Lokið.
Ó, bíddu.
Lokið.
OK.
>> Það er álag () fall segja í PHP.
Nú, hvers vegna er það að vinna?
Og ég er svona að svindla hér.
>> Svo, einn, framhandleggur við sáum stuttlega síðasta skipti.
Það þýðir bara að þú getur iterate yfir fylki án þess að angra með i
og n og plús plús og allt það.
Orðabók er auðvitað the skrá nafn, eitthvað eins stór eða lítil, tveir
orðabækur sem við notuðum síðasta sinn.
Skrá er fall sem opnast texta skrá, les það í samræmi við línu, og
hendur þér aftur a gríðarstór fylking, hver af hverra þætti er
lína frá þessi skrá.
Svo er að samsetning fopen, og fread, og á meðan lykkja, og fclose,
og allt það.
Að lokum, eins og orðið merkir bara það er breytu Ég ætla að hafa aðgang að
á hverjum endurtekning í þessu lykkju.
>> Svo í stuttu máli, þetta eitt Ferja hér þýðir opna skrána sem heitir í
orðabók, breytu, iterate yfir það línu fyrir línu, og í hvert sinn sem þú færð
lína, geymt í breytu sem heitir orð, og þá gera eitthvað með orði.
Hvað vil ég að gera?
Mig langar að setja orð í kjötkássa töflunni minni.
>> Jæja, ég get sett eitthvað í mínum kjötkássa borð rétt eins og í C
nota hornklofa.
Þetta er nafn fyrir kjötkássa borð mitt.
Ég ætla að skrá inn í þessi hash borð á þessum stað.
Svo ekki krappi núlli, ekki krappi einn.
Bracket vitna unquote eitthvað, hvað sem það orð er.
Og rétt eins og þú gætir hafa í þinn kjötkássa borð vinna trie, geymt bara
raun Boolean, óbeint eða óbeint.
Lokið.
Ég er að geyma verðmæti satt.
>> Nú er það a par af hlutur Ég er að skera horn á hér.
Tæknilega, það er að fara að vera pirrandi nýja línu, / n, í lok
hvert þessara orða.
Þannig að ég ætti sennilega að hringja í PHP virka kallað höggva (), sem mun
alveg bókstaflega höggva það burt.
Og ég þarf í raun og veru að gera einn annar hlutur.
Ég ætti líklega að hækka stærð á hverjum endurtekning, svo ég ætla að halda utan
heimsvísu um hvað það er.
Og hreinskilnislega, og þetta er eitt af stupider þætti PHP, ef þú ert
með alþjóðlegum breytu, þú þarft að beinlínis að segja að þú ert.
Þannig að ég ætla að fara til raunverulega tegund í alþjóðlegum $ Stærð, alþjóðlegt $ borð, og nú
virka minn er lokið.
>> Svo ekki alveg eins einfalt eins og áður, en sennilega tók minni tíma en C
útgáfa, kannski?
OK.
>> Svo nú skulum gera stöðva () virka.
Við skulum sjá hvort þetta amk tók tímunum að það tók okkur í C. Svo
láta mig fara á undan og lýsa athuga sem virka.
Tekur í rifrildi orði, sem er fara að koma frá Speller.
Og ég ætla bara að fara að athuga hvort Eftirfarandi breytilegum isset, borð
krappi strtolower orðs -
skulum jafnvægi alla sviga mínum -
þá aftur að veruleika.
Annað -
sem var mjög harður hluti af þessari áætlun.
Annars, return false.
Lokið.
Það er stöðva ().
>> Nú, hvers vegna er þetta?
Jæja, einn ég fór í orði, sem er band.
Tveir, ég er að haka inni hökkun borð, sem heitir $ töflunni.
Ég er að neyða það til lágstafir með því að hringja fall alveg líkur tolower () í
C, en þetta er allt orðið, ekki einn stafur.
Og ef það er sett, með öðrum orðum það er gildi stillt, með öðrum orðum,
ef það er satt, þá já, þetta er orðið.
Vegna þess að ég setti það þar með álag ().
Og ef ekki, ég ætla að return false.
>> Nú hinir eru auðvelt.
Virka stærð (), hvernig geri ég þetta?
Ég í raun aftur $ stærð.
En ég þarf tæknilega að gera þetta pirrandi hlutur.
Og reyndar upp heyra, ég var að klippa eitt horn of margir.
Ég þarf virkilega að gera alþjóðlegt $ töflunni.
>> En það að segja, afferma).
Afferma () er ótrúlegt.
Virka afferma ().
Hvernig vil ég að innleiða afferma ()?
Lokið.
OK.
>> Svo afferma (), minni stjórnun er alveg gætt af fyrir þig í
eitthvað eins og PHP og margt af hærri stigi tungumálum.
Þannig að þetta er alveg magnað.
Eins hvers vegna í fjandanum gerði við eytt síðustu átta plús vikur á C skriflega
virðist mjög hægt, raunverulega tími neyslu vandamál með tugum klukkustunda
af vinna undir belti okkar?
>> Jæja, fyrir eitt, þetta mega vinna fínt fyrir litlum forritum.
Það greiddist vissulega upp minn þróun tími.
En við skulum sjá hvað gerist í raunheimum.
>> Leyfðu mér að fara inn í þessa möppu í flugstöðinni glugga.
Það er Speller.
Og taka eftir Sem innskot, og þú gætir hafa komið þessu í Heimadæmi
sex eða Heimadæmi sjö.
Þú ert ekki strangt verða að enda PHP skrá með. php.
Ef þú setur línu svona fyrsta einn á the mjög toppur, sem er með sérstaka línu
af setningafræði sem í raun þýðir að finna er forrit sem heitir PHP og nota það til að
túlka þessa skrá.
Svo nú enginn veit í raun að Ég er að keyra PHP forrit.
Ég get keyrt það bara eins og það voru eitthvað saman í C.
>> En hér er málið.
Reyndar, við skulum gera þetta aftur.
Dropbox/pset6 /.
Það er Speller.
OK, 0,44 sekúndur.
Það varð hraðari í þetta sinn.
>> Nú skulum fara inn í PHP útgáfu.
Ágætur snerta.
En bara hugsa hversu miklum tíma Ég spara á skrifstofutíma.
OK.
>> Svo 3,59 sekúndur, sem í raun hljómar ekki rétt heldur.
En það er vegna langa sögu stutta, þegar þú ætlar að prenta út mikið magn
af efni á skjánum, að sjálft hægir það niður.
Hvað það tók virkilega á CPU í tæki var 3,59 sekúndur, í
Öfugt við C, sem tók 0,44 sekúndur nýlega.
Það er sannarlega röð Umfang öðruvísi.
>> Svo hvar er það verð að koma frá?
Hvers vegna er það svo miklu hægar?
Hvers vegna virkar PHP framkvæma svo illa?
Danielle?
>> Áhorfendur: Þú varst í raun ekki nota kjötkássa borð.
>> DAVID Malan: Ég gerði í raun ekki nota kjötkássa borð.
Svo ég gerði svona.
Svo er það tengin array.
Líklegast ef að fólk á PHP eru virkilega klár, notað þau undir hlutanum
Hood raunveruleg kjötkássa borð til framkvæmda í eitthvað eins og C eða C + +.
En.
Já.
>> Áhorfendur: [inaudible].
>> DAVID Malan: Já.
Svo að hver af þeim störfum sem ég skrifaði núna - Reyndar er hægt að segja að þegar meira
lítill hávær?
>> Áhorfendur: Hver af þeim aðgerðum sem þú fylgir hefur mikið meira fullur
getu en -
>> DAVID Malan: Svo er það mjög satt.
There 'a einhver fjöldi fleiri kostnaður að við erum í raun ekki að sjá með því að einblína eingöngu á
dictionary.php, sem ég skrifaði bara.
Hins vegar er allt túlkur fara í bakgrunni.
Reyndar, þegar ég hljóp þetta forrit, það var ekki hlaupandi saman núll og sjálfur
hannað fyrir Intel CPU minn.
Fremur, það var að keyra á milli lína PHP kóða sem lítur nákvæmlega
eins og við slegið það.
Og svo þegar þú notir túlkað tungumál, þú
reyndar borga þetta verð.
Það er að fara að taka nokkurn tíma til að lesa skrá Top til botn, vinstri til
hægri, og þá framkvæma hvert lína aftur og aftur.
>> Nú í raun, sérstaklega á vefnum, þú getur raunverulega flýta þessu ferli
By Búrhvalur að niðurstöður PHP kóða sem túlka.
Og það er vit á vefnum, vegna þess ef þú ert ekki einn notandi eins
mig hér, en 1.000 eða 10.000 notendur, þá kannski í fyrsta skipti sem skrá er
nálgast það er hægt, en eftir það það er miklu hraðar.
>> En þetta líka, aftur, er að skipta út.
Og fyrir eitthvað eins og rannsóknargögnum sett, eða jafnvel eitthvað stórt eins og
þetta, notendur munu að lokum byrja að líða að hægagangur.
>> Svo í stuttu máli, túlkað tungumál eru mjög mikið fyrst komist í tísku, mjög vinsæll, og
hreinskilnislega eru sennilega þeim tungumálum sem þú ætti að ná til þegar leysa vandamál
kjölfar CS50.
En átta sig á hversu mikið þú ert virkilega taka sem sjálfsögðum hlut undir hetta
fá þessa undanfarnar vikur í hash borðum, og tré, og reynir,
sem eru notuð á endanum að raun framkvæma hluti eins og opna krappi,
ferningur krappi, sem við getum nú þakklæti taka sem sjálfsögðum hlut.
>> Þannig að við skulum taka a líta nú á þessari vefsíðu samhengi.
Og ég nefndi síðast að það er fullt af superglobals í PHP sem
eru í raun ekki máli í stjórn lína.
Þeir eru meira máli í sambandi þess að nota PHP í a vefur samhengi.
Svo keyra PHP á a vefur framreiðslumaður í röð til að búa til efni eins og HTML.
>> Og við leit á $ _GET og $ _POST, og það er þar sjálfkrafa notendur '
inntak endar einfaldlega ef þú sendir inn mynda að skrá sem endar á. PHP á vefnum
framreiðslumaður eins tækinu.
En við skulum líta stuttlega á $ _COOKIE Og $ _SESSION.
>> Í skilmálum leikmaður er, hvað er kex sem að skilja það í samhengi við
nota vefinn?
>> Áhorfendur: skrána á tölvunni.
>> DAVID Malan: Já.
Það er skrá á tölvu notandans gróðursett af hvaða vefsíðu
þú verður að heimsækja.
Svo þegar þú ferð á Facebook, þegar þú ferð til bankofamerica.com, þegar þú ferð
á google.com, þegar þú ferð að nánast allir website í heiminum þessa dagana,
þ.mt cs50.net, en kex er gróðursett á tölvunni þinni, sem er
annaðhvort gildi sem eru geymdar í vinnsluminni í þinn tölva í minni vafrans þíns, eða
stundum örugglega geymd á harða disknum þínum.
>> Og hvað er yfirleitt geymd í þessi skrá er ekki notandanafnið þitt, ekki þinn
lykilorð, yfirleitt ekki eitthvað næmur nema vefsíða er ekki svo
góður með öryggi þeirra, heldur það er stór einstakt auðkenni meðal
aðra hluti.
Það er stór handahófi tala gróðursett á þinn tölva en þú getur hugsað sem
konar raunverulegur hönd frímerki eins frá félag eða einhver skemmtigarður sem
gerir starfsfólk, eigendur sem þjónustu, að muna hver þú ert.
Þannig að ef stór handahófi tala er eins og 12345678, þó að það er augljóslega
ekki of handahófi, hugsa um það sem er hönd stimpill að þegar þú heimsækir
facebook.com í fyrsta skipti, þeir stimpla þessi númer á hendinni.
Og þá vegna þess að þú talar HTTP, þú vera flettitæki, og vegna þess að Facebook
augljóslega talar sama og vefur miðlara, siðareglur HTTP segir að
hvenær sem þú heimsækir í kjölfarið facebook.com, hvort sem það er annað
síðar, klukkutíma síðar, jafnvel næsta dag, svo lengi sem þú ert ekki beinlínis
innskráður, sem í raun er eins og að þvo hendurnar.
HTTP segir þú ættir að kynna þér hönd stimpill í hvert skipti sem þú
aftur til að website.
>> Hvað Facebook þá gerir er að þeir líta á þessi hönd stimpli og
þeir segja, ó, 123456789.
Ég veit ekki við fyrstu sýn að þessi er David Malan í Cambridge,
Massachusetts, en þeir geta stöðva þeirra gagnagrunn og segja, ó, sá
á sem tölva við gróðursett 123456789 er David Malan frá Cambridge,
Massachusetts.
Við skulum sýna að notandi þá uppsetningu hans síðu eða News hans Feed.
>> En það er vandamál hér ef þetta er hvernig vefur virkar örugglega.
Láta 'taka a líta á a fljótur dæmi.
Við skulum fara í raun að segja facebook.com.
En áður en við gátum farið þangað, láta mér að fara á undan og opna Króm
Skoðunarmaður hérna.
Láta mig líta á flipann Network.
Og nú skulum fara á undan og slá í https://facebook.com.
Og ég er að gera það þannig að við sjáum ekki allar þessar tilvísanir og úrgangs
tíma í að leita í gegnum þá.
Leyfðu mér högg koma inn í.
>> Allt í lagi.
Við sjáum allt fullt af beiðnum.
Það kemur Facebook.
There 'a heild búnt af skrá.
Og hér, á minnast mínu Leynd síðasta sinn, sem er
a einhver fjöldi af HTTP beiðnir.
En sá fyrsti er líklega mest áhugavert.
>> Svo skulum fletta niður hér, og Ég zoom í á sekúndu.
Þetta er að fara að vera eins konar sóðaskapur, en við skulum sjá.
Facebook er að senda okkur allt fullt af dóti.
>> En hó, áhugavert.
Þeir eru að gróðursetningu ekki einn, heldur fjórir hönd frímerki inná minni hendi hér.
Set-Cookie, Set-cookie, setja-cookie, setja smáköku.
Og það eru nokkrar aðgerðir hér.
Öll þau nefna nokkur konar fyrningu.
Og það lítur út eins og Facebook er vonast að muna eftir mér fyrr en 2015.
Svo er það væntanlega sinn sem Ég verð að skrá þig út eða þeir bara
sjálfkrafa gera ráð fyrir að ég er ekki aftur.
Svo er það í raun ágætis tíma.
>> Og það eru nokkrar aðrar hlutir að gerast hér.
Þetta kex virðist vera með valdi eytt með því að segja að það rann út í 1970
áður smákökur lýði.
Svo vafrinn er bara að fara að gera ráð fyrir OK, það er eins og
þvo hendur stimpil.
>> En nú þegar vafrinn minn gerir beiðni síðar -
láta mig fara á undan og gera þetta aftur og endurhlaða.
Nú láta mig fletta aftur til Top beiðni og fara niður
hér, óska ​​haus.
Taka þetta.
Svo núna er ég undir ekki svar haus, en eftir það segir beiðni haus.
Og taka eftir því að vafrinn minn sem hluta af beiðni hans eftir hitting endurhlaða hefur
sendi amk eftirfarandi upplýsingar.
Ekki sett-cookie, en kex.
Þannig að þetta er lína, HTTP haus svo að tala, þar sem vafrinn minn er tegund
um án þess að vita mína það hugboð hönd mín til skoðunar Facebook.
>> Svo þessar smákökur má notað þá fyrir hvað?
Að muna hver þú ert, eða muna hvernig margir sinnum þú hefur verið þar, eða
virkilega eitthvað.
>> Svo er hér counter.php.
Og láta mig að súmma inn á letri.
Og í hvert sinn sem ég endurhlaða þessa síðu, taka það er að muna hversu oft
Ég hef verið þarna.
Jæja, það er ekki allt sem áhrifamikill.
Skulum bara loka þeim flipa, og nú skulum við fara aftur til
http://localhost/counter.php.
>> Ó, það er áhugavert.
Það mundi samt, jafnvel þótt ég lokaði flipann.
Og hreinskilnislega, ef ég loka vafranum ef til framkvæmda á réttan hátt, ég
gæti enn man að þessi notandi er sem hann eða hún var í fyrsta sinn, og
aðeins þegar ég fer inn í valmyndinni Króm ', sem hérna er hér, og fara að
Sögu, og smelltu Hreinsa vefskoðunargögn, eins og sumir af þú mega hafa í
fortíð, aðeins þá verður fótspor reyndar eyðingar vefnum
þróun.
>> Svo ef við förum -
skulum nærmynd gedit hér.
Og ef við förum nú í þessa skrá.
Láta mig fara inn í okkar vhosts / localhost / almennings, og láta mig gera
counter.php.
Takið eftir að þetta er nokkuð einfalt forrit.
Það er frekar einfalt website.
>> Svo efst á skránni er bara athugasemdir.
En hér er ný lína sem þú getur hafa séð þegar í p-sett sjö,
session_start ().
Þetta er lína af PHP kóða sem meginatriðum segir vefur framreiðslumaður, gera
viss um að stimpla hendur og gera viss um að athuga hönd frímerki.
Það er allt sem línan er, og það er öll þessi ferli fyrir okkur.
Þá eftir ég hef bara tvær greinar hér.
Ef gagn lykillinn inni af þessu sérstakt alþjóðlegt breytu sem heitir
$ _SESSION Er stillt - með öðrum orðum, ef það er einhver gildi þar -
skulum fá það og geyma það í sveitarstjórn breytu sem heitir $ gegn.
Annað, við skulum úthluta $ counter sjálfgefið gildi 0..
>> Nú er hér einn þáttur í PHP sem er bæði blessun og bölvun.
PHP er svolítið sloppy.
Svo þar sem í C, hvað myndi Umfang counter hafa verið
annaðhvort hér eða hér?
>> Það hefði verið bundinn þeim hrokkið axlabönd.
Giska á hvað?
Í PHP, er það jafnvel utan þeirra hrokkið axlabönd, hér, og hér,
og hér, og hér, og jafnvel niður fyrir.
Svo ég segi að þetta sé blessun í þeim skilningi að þú þarft ekki að hugsa eins og
harður eins og við gerðum vikum.
En það er einnig hluti af formælingum í að Sama hvar þú notar breytu í
PHP, amk í forriti eins og þetta, það er á heimsvísu aðgengilegt
betri eða verri.
Svo þú verður að hafa í huga nú að breytur má ekki óskilgreindur.
Þú gætir hafa skilgreint þá annars staðar.
>> En hvað er ég að fara að gera á endanum?
Ég ætla að geyma inni að alþjóðlegum breytilegir eins og af en
gegn slá niðurstöðu gera gegn auk 1.
Svo er þetta bara reiknað sem gerir
incrementation þess borðið.
Og sú staðreynd að ég er að geyma það gildi aftur hérna þýðir að
meginatriðum uppfæra gagnagrunninn til muna að notandinn 123456789 hefur verið
hér tvisvar sinnum.
Og þegar ég gera það aftur næst þegar ég endurhlaða síðunni, það er að fara að athuga
hönd stimpilinn minn og segja, ó, notandi 123456789 hefur nú
verið hér þrisvar sinnum.
>> Og hvað með það PHP og svipuð tungumál eru að gera fyrir okkur er að þeir eru vangaveltur
út hvernig og hvar og hve lengi til að geyma gildi í þessu sérstaka
superglobal.
Og þetta superglobal næst þegar ég heimsækja síðu er tegund af dularfullur
fylltar, fyllt með gildum sem voru þar í síðasta skipti sem þú heimsótt,
hvort það var annað síðan, viku síðan, eða árið 2013 og við erum nú að tala
um 2015.
PHP og vefur framreiðslumaður að gæta af öllum sem fyrir þig.
>> Áhorfendur: [inaudible].
>> DAVID Malan: Breytur í PHP eru raun alltaf alþjóðlegt nema þú
lýsa þeim inni í virka, og þá eru þeir staðbundið við
fallið aðeins.
En vegna þess að ég hef ekki skrifað eitthvað aðgerðir, eru þeir nú í raun
heimsvísu um alla skrá mína hér.
>> Áhorfendur: Er there a vegur að gera þá staðbundin?
>> DAVID Malan: Er einhver leið til að gera þá staðbundin?
Aðeins með umbúðir þá í aðgerðir.
Sem í nýjustu útgáfu PHP, getur þú gert þetta með
nafnlaus virka.
En meira um það í samhengi JavaScript.
En Stutta svarið er nei.
Lengri svarið er já.
Nice.
Good Quiz spurning.
Allt í lagi.
>> Svo loksins, síðan sjálf er í raun frekar einfalt.
Takið eftir að þegar ég loka PHP háttur, muna að allt þetta efni niður
hér er bara að fara að fá spýta út hrár til the flettitæki.
Sem er fínt, því ég vil að senda notandi sumir HTML, en ég vil
við breytilega uppfæra þessi HTML.
Og ein leið sem ég get gert þetta er að raða mjög fljótt falla aftur í PHP
háttur, nota opinn Bracket spurningarmerki jafn merki, og þá framleiðsla gildið
á borðið.
>> Eða ef þetta lítur svolítið dulinn, þetta jafn skilti er í raun bara
nokkur dæmi um setningarleg sykur fyrir þetta printf ($ gegn).
En hreinskilnislega, það er bara smá ljót og smá pirrandi að slá.
Svo PHP mjög vel upp þennan eiginleika þar sem þú getur bara segja það meira
succinctly á sama hátt.
>> Svo hvað er að gerast undir hetta?
Skulum fljótt að líta á netið flipann hér fyrir counter.php.
Og láta mig fara á undan og fyrsta skulum hreinsa fótspor.
Skýr skulum vefskoðunargögn síðan upphaf tíma.
Nú skulum fara aftur hérna.
Nú skulum endurhlaða síðunni.
Og ég er aftur á núlli.
Vegna hönd stimpill minn hefur verið þvegið, Ég fæ nú nýtt kex.
>> Reyndar ef ég horfi á the net flipann og líta á haus svar, taka
að tækið er að senda mér kex er nafn hans nokkuð
geðþótta, en svona sæmilega, PHPSESSID.
Og það er að senda mér þetta virkilega stór handahófi númer.
Það er ekki alveg a tala.
Það er ekki alveg sextánskur.
Það er einhvers konar tölu band, en væntanlega er það af handahófi.
Og það er hönd frímerki svo að tala sem ég er að vísa til.
>> Á sama tíma ef ég smellt endurhlaða og þá líta á þetta annarri línu fyrir seinni minn
beiðni, taka nú að beiðni mína haus eru PHPSESSID jafngildir þetta,
ekki sett kex, en bara kex.
Og það er kynning vafranum míns af stimpil hönd mína.
>> Svo nú sem beitu, og við munum tala meira um þetta í viku eða svo, en
á hvaða hátt er þetta að gera þér viðkvæm, Facebook reikning þinn
viðkvæm og aðrar slíkar reikninga varnarlaus?
>> Áhorfendur: Ef einhver hefur kex þinn.
>> DAVID Malan: Já, ef einhver hefur kex þinn.
Ég meina sannarlega, mikið eins og sumir af þú gæti hafa reynt að eins félaginu eða
tívolí, ef þú ert að reyna eitthvað svona að afrita stimpil, að vísu
aftur á móti annars manns, og þá kynnir hann eða hún það sem
eigin spýtur, ef það raunverulega hjartarskinn útlit eins, 123456789, þá vefur
framreiðslumaður er greinilega bara að fara að treysta því að þessi notandi er þér.
>> Og þetta er örugglega grundvallaratriði ógn hvenær þú notar fótspor
því ef einhver spoofs bara svo til tala kex þína, tölur út hvað það
er, annaðhvort með því sannarlega að afrita það með því að horfa á tölvuna
og vera eins, OK.
Kex Davíðs er JJ3JIK og svo framvegis, og þeir ert sviði nógur til vita
hvernig á að raða í höndunum senda sem kex úr vafranum eða frá
program þeir skrifa, gætu þeir algerlega skráir þig inn á vefsíðu sem þú.
Það er ekki það erfitt að þykjast vera einhver annar nema við endurskoðun p-setja
tveir, sem kynnt hvað?
>> Áhorfendur: dulmál.
>> DAVID Malan: Smá bita dulmál.
Einföld dulmál, amk í Standard Edition, en dulritunarstjórneiningunni
engu að síður.
minna.
Svo kemur í ljós ef þú dulkóða öll þessi haus með eitthvað sem þú
gæti nú vita meira familiarly sem SSL, Secure Socket Layer, eða https:// vefslóðir,
þá allt þetta sem við höfum verið glancing á eru í raun dulkóðuð,
sem þýðir að það er eins og þú getur ekki lesið hönd stimpil.
Aðeins facebook.com getur, eða google.com, eða í þessu tilfelli, the tæki geta
lesa höndina stimpil.
>> Tragically þó, og aftur, þetta er allt of rétt við NSA efni
upp á síðkastið, jafnvel SSL er breakable.
Og það er í raun ekki þessi harður til jafnvel sprunga þessi dulkóðun.
Ekki svo mikið með sprunga the brengla, en með því að svikull
vafra í Afkóðun gögnin snemma.
En aftur, munum við stríða þér með það fyrir löngu.
Fyrir nú, bara vera hræddur.
Það er tragically konar satt.
>> Allt í lagi.
Svo, hvar er þetta nú yfirgefa okkur?
Jæja, við skulum gera þetta.
Við skulum fara á undan og taka a fljótur beitu áður en við að taka pásu.
Og ég held að við munum sitja lengi aðeins lengur í dag, en við erum að fara að kafa í
eitthvað glæný og kynþokkafullur, sem mun brýni lyst þína fyrir jafnvel fleiri.
Svo að beitu.
>> Svo SQL, við byrjuðum að tala um alltaf svo snöggt síðasta skipti.
Þú munt í raun fá þinn snertið ekki óhrein með eitthvað af því í p-setja sjö.
Og í skilmálum leikmaður er, hvað gerir SQL -
S-Q-L -
gert fyrir þig?
Hvað er það?
Já.
>> Áhorfendur: skulum þér aðgang að gögnum.
>> DAVID Malan: Já.
Það skulum þú aðgang gögn í gagnagrunni.
Structured Query Language.
Og þetta er fyrst og fremst á forritunarmál.
Það eru aðgerðir af því að við munum ekki einu sinni að nota í bekknum.
En þú getur í raun skilgreina aðgerðir.
Þeir eru kallaðir geymd aðferðir í SQL.
En við munum halda það nokkuð einfalt og bara nota það fyrir nokkrum helstu aðgerðir
eins og að velja gögn, setja gögn, uppfæra gögn og eyða gögnum.
>> Og þú getur raunverulega hugsa af gagnagrunni, eins og SQL gagnagrunn, sem bara
vera Microsoft Excel.
Vegna þess að SQL er átt við a relational gagnasafn, þar
Tengsl þýðir bara töflur.
Línum og dálkum.
Svo eitthvað sem þú getur sett í töflureikni svona eða Google Docs,
þú gætir sett inn í SQL gagnagrunn með því að lýsa töflu.
>> Nú, hvernig gera þú fá aðgang raun að upplýsingar?
Jæja, með skipunum eða fyrirspurnir líkar þetta.
SELECT, INSERT, UPDATE og DELETE.
Og að mestu leyti eru þeir sem fjórir aðeins efni sem þú þarft til að
gera eitthvað alveg öflug í vanda sett sjö.
>> Nú aftur í dag, myndir þú raunverulega samskipti við gagnagrunn í
svart og hvítt endastöðvar á blikkandi hvetja svona.
Og gagnasafn sem við erum að keyra á tæki heitir MySQL, sem er
frjáls og opinn uppspretta gagnasafn vél.
Ef þú Google og lesa Wikipedia grein, munt þú vita að nafnið er
smá umskipti fyrir suma útgáfur af Linux.
Maria gagnagrunnur er í raun punga svo að tala um MySQL.
>> Löng saga stutt, Oracle keypti MySQL.
Véfrétt er stór fyrirtæki.
Fólk hefur verið áhyggjur af því að það væri ekki lengur vera alveg eins og opinn uppspretta,
svo er þetta bara afrit af MySQL sem er enn frjáls, enn opinn uppspretta, og
sett í Fedora Linux sjálfgefið.
>> En þetta er góður af a sársauki í háls til að kynnast á
gagnasafn með þessum hætti.
Þannig að við eru í CS50 tæki frjáls opinn uppspretta tól gestur
phpMyAdmin.
Bara tilviljun að það er skrifað í PHP.
Það er enginn grundvallarmunur þörf fyrir PHP hér.
En þetta er bara a vefur-undirstaða tól sem Við niður fyrir frjáls, sett upp í
tækið, sem gerir okkur kleift að hafa grafísku notendaviðmóti sem
að kanna p-setja sjö gagnagrunni með sem að búa til nýja gagnagrunna,
segja fyrir eigin endanlega verkefnið ef þú vilt eins og, og að lokum að búa til
dynamic vefsíður eins CS50 Fjármál sem leyfa þér að fyrirspurn gögn og
uppfæra gögn virk.
>> Þú ert ekki að fara að hafa til að nota bara einfalt textaskrá eða CSV.
Þú getur í raun nota sviði gagnagrunn program þannig að þú getur keyrt meira
háþróuð fyrirspurnir en bara að lesa gegnum allt línulega.
>> Svo til dæmis, þetta er það sem við gefum þú út af the kassi fyrir p-setja sjö.
This er borð með greinilega að minnsta kosti þrír dálkar, einn sem er
notandanafn, einn sem er kjötkássa, og hinn af, sem er ID.
>> En áhugaverður hlutur, og bara til að stríða út einn hugsun hér, notandanafn
er væntanlega þegar einstök, ekki satt?
Ég meina flest allir website, ef þú hafa notendanafn, þar
getur ekki verið tvær Caesars.
Það getur ekki verið tvær malans.
Það getur ekki verið tvær jharvards.
Einstaka þess.
Annars, gera þeir vita ekki hver jharvard það er í raun.
Svo það gæti verið hvatning fyrir líka having þriðja dálkurinn til vinstri
það heitir ID, sem lítur út eins og tala sem er álíka einstakt?
Mér finnst smá óþarfi til mig við fyrstu sýn.
Af hverju gæti það verið sannfærandi að hafa ekki aðeins einstök notendanöfn,
en einnig einstakt númer?
>> Áhorfendur: Þeir gætu hafa Sama lykilorð.
>> DAVID Malan: Fólk gæti hafa Sama lykilorð, viss.
Það gæti alveg gerst.
En ef þeir hafa þetta einstakt notandanafn, ég myndi halda því fram að það skiptir ekki
mál, vegna þess að ef þeir slá í þeirra username, ég þarf aðeins að athuga þeirra
lykilorð, kjötkássa þeirra stað.
Hvers vegna í ósköpunum?
>> Áhorfendur: Festa leita.
>> DAVID Malan: Festa leita.
Hvers vegna?
>> Áhorfendur: ID er bara einn.
>> DAVID Malan: ID er bara einn staf, eða til að vera nákvæmari, það er númer,
svo það er sennilega 32 bitar eða eitthvað svoleiðis.
En username, virðist Jason Upp Hirschhorn er það er tegund af
hlægilegur langur, og það er að fara að taka mér mikið meiri tíma til band
bera saman H-I-R-S-C-H-H-O-R-N, og ef til vill A / 0 eða eitthvað af því að til
að líta upp Jason, í stað þess bara segja gefa mér notandi númer tvö.
Það er 32 bita.
Það er einn INT sem þú ert að bera saman.
Og reyndar, það er einmitt hvers vegna gagnagrunnar hafa tilhneigingu til að tengja einstaka auðkenni til að
raðir í þeim.
>> Nú hvað aðrar tegundir gagna eru auk INT og virðist
strengir svona?
Jæja, til að vera meira viðeigandi, SQL gagnagrunna, eins og
MySQL, hafa bleikju sviðum.
Og char smá villandi er ekki einn char.
A char sviði í MySQL gagnagrunninum er einn eða fleiri stafir, en það er
föst tala af stöfum.
>> Svo til dæmis, ef ég fer yfir til phpMyAdmin sem þú kannt að hafa þegar, eða
brátt mun vandamál setja sjö, og ég fer að gagnagrunninum mínum, og bara til gamans,
skulum búa til nýja töflu sem heitir prófa með aðeins tveimur dálkum.
Ég smelltu fara.
Og þetta mun verða nokkuð kunnugleg, sérstaklega þar sem þú tinker
um á eigin spýtur.
Hér gæti ég Auðkenni til að búa a nýr borð int.
En hér er ég kannski slá notandanafnið til endurskapa að fyrr borð.
Og eftir ég hafa a heild búnt tegundir til að velja úr.
>> Og þetta líka er ástæðan phpMyAdmin er bara gott.
Það er góður af sjálf-kennslu í því að þú getur bara svona benda og smella, og
líta á listanum valmyndir, og álykta af það hvaða völd SQL gefur þér.
>> Og reyndar, ef ég valið char, ég þá verður að tilgreina lengd, eða hvernig
mörg gildi, hversu mörg tákn.
Svo mjög algeng gildi eru hlutir eins og 255, en það er svolítið langt.
Almennt er átta um notandanafn.
En það er svolítið lítill þessa dagana.
Þannig að þetta er hönnun ákvörðun.
Er það 8 stafir max, 32, 255, 1000?
Það er í raun komið að þér.
En char reitur er föst tala.
Svo velja of fáir og þú ert góður af ruglaður ef þú vilt lengri notandanafn.
Velja of margir og hvað er hæðir?
>> Áhorfendur: [inaudible].
>> DAVID Malan: Það er eyðslusamur.
Rétt eins og í C, ef þú ert með stærri klumpur af minni en þú þarft, þú ert
bara að sóa tíma og eyðileggjandi pláss.
Svo sem val, þar til VARCHAR, sem leysir þetta vandamál með því að
meðhöndla lengd ekki sem fasta lengd, en eins og hámarkslengd, og nota
breytilegum fjölda af stafir, sem síðan hefur tilhneigingu til að nota aðeins eins mörg stafir eins og þú
raunverulega þörf.
Það hljómar fullkominn.
>> Hvers vegna eigum við ekki að losna við Bleikju gögn gerð þá?
Hvað gæti verið ókostur við nota VARCHARs, sem hljómar
eins og það er ágætur vinna?
Já?
>> Áhorfendur: [inaudible].
>> DAVID Malan: OK, gott.
Þannig að ef öll gögn er það sama lengd, hvað er áhyggjuefni?
>> Áhorfendur: Þar sem þú ert að sóa gögn með því að segja þeim öllum.
>> DAVID Malan: Svo ef öll gögn er sömu lengd, þó, myndi ég halda því fram
að tilgreina hámarkslengd á varchar er ekkert öðruvísi
tilgreina fasta lengd á char ef þú veist að tala fyrirfram.
En það er örugglega, og ég mun svoleiðis þykkni frá því svari að veruleika
að það er enn max, sem gæti verið pirrandi, sérstaklega ef þú
fundur nafn einstaklings sem er óvenju lengi sem þú hefur ekki
ráð.
Og það er líka aðeins minna duglegur að í raun að leita á VARCHARs sem
öfugt við leita stafir, einkum fyrir langa töflur sem hafa hellingur og
hellingur af gögnum.
Svo hér líka, áherslusviða er aftur engin augljós kostur.
>> Svo bara til að gefa þér tilfinningu um annað gögn tegundir sem gæti haft áhuga á
hvort sem er til p-setja sjö eða í framtíðin, það er INT.
Það er BIGINT, sem er eins lengi lengi.
Það hefur tilhneigingu til að vera 64 bita.
Það er aukastafa, sem þú munt sjá í vandamálið sett, sem er mun
hreinni svar við þeim vandamálum sem við fundur með fljóta og fljótandi
benda imprecision.
Og þá er það DATETIME.
Það er bókstaflega a gögn tegund sem hefur að líta út eins og ár, mánuð, dag,
og klukkutíma, mínútu, og sekúndu.
>> En SQL gagnagrunna hafa einnig hlutir sem við munum kalla stuðla.
Og vísitala er eitthvað sem þú tilgreina hvenær kreatín the borð til
gera leit og aðrar aðgerðir skilvirkari.
Sérstaklega, það er eitthvað sem kallast Aðal vísitölu sem þú gætir
lýsa á eftirfarandi hátt.
>> Við gerðum þetta fyrir þig með því notandi borð við gefum þér.
En taka ef ég væri með höndunum skemmtun notenda töflu hér að gefa
það nafn notenda.
Ég er þegar ID.
Ég tilgreint INT.
Ég tilgreint notendanafn með hámark 32 stafir.
En ef við höldum hreyfast í þessu nokkuð breiður glugga, eftir því að það er
fullt af öðrum hlutum sem ég get tilgreinir.
>> Einn, ég get tilgreina eiginleika eins, þú veist hvað þetta
INT ætti að vera óundirritaður.
Ég vil ekki neikvæðar tölur, þannig að við skulum gera það án undirritunar.
Null er ekki viðeigandi hér vegna Ég vil öllum notendum að
hafa einstakt númer.
Ég vil ekki það að vera núll.
>> En þetta er áhugavert.
Ég get tilgreina að ID er annaðhvort aðal lykill af þessum gagnagrunni, eða það er
einstakt, eða það er verðtryggð, eða fullum texta.
Svo fyrir tilgangi í dag, löng saga stutt, PRIMARY þýðir að það skuli
vera bæði hugmyndalega og tæknilega svæðið sem við notum til að einstaklega
bera kennsl á notendur.
>> Svo þegar við horfum upp notendur, þetta er tegund af loforð um að líta þær upp að mestu af
sem einstakt auðkenni.
Og gagnasafn mun tryggja að ef þú hafa a notandi númer 3, þú getur ekki
líkamlega setja annan notanda með sama númer 3.
Gagnagrunnurinn mun bara neita til að vista breytingarnar.
Sem er gott, því þú getur vernda sjálfur frá þér. sjálf
>> Val, fyrir notandanafn.
Svo seinni röðinni, muna, er notendanafnið sviði.
Svo seinni röðin hér er notendanafnið, eins og við gerðum á lengst til vinstri þar.
>> Svo hvað gæti ég vil að tilgreina?
Ég er ekki leyft samkvæmt SQL, að tilgreina tvo aðal lykla.
hægt að tilgreina sameiginlega takka þar sem þú líta á báðum sviðum, en þeir geta ekki
sig vera aðal lykla.
Svo er það út af spurningunni.
Svo hver gæti ég vil velja?
>> Jæja, UNIQUE er svipað í anda upp á aðal lykill þar sem þú tilgreinir þetta
sviði skal vera einstakt, en það er ekki að fara að vera einn
Ég nota allan tímann.
Og við erum ekki að fara að nota þessa einu allur tími til hvers aftur?
Það er hægara hugsanlega ef það er langur notandanafn.
Það er bara tímasóun.
>> INDEX, á meðan, tilgreinir að það er ekki að fara að vera einstakt, en ég vil
þig að vinna galdur undir hlutanum hetta til að gera það hraðar fyrir mig að
leita á þessu sviði.
Þannig að þetta er sennilega ekki viðeigandi hér.
Fyrir username, myndi ég halda því fram að UNIQUE er gott svar.
En geri ráð fyrir að við gert notendum meira áhugavert en bara notendanöfn,
kjötkássa, og kennitölur.
Hvað ef við gaf fólki fullt nafn?
Hvað ef við gaf þeim heimilisföng og önnur gögn um þá?
>> Jæja, ef þú tilgreinir að dálkur í Gagnagrunnurinn er verðtryggð, sem þýðir að
MySQL, eða Oracle, eða hvað gagnagrunn þú ert að nota, ætti að vinna galdur hennar
og nota einhvers konar ímynda gögn uppbyggingu eins og tré, eða trie, eða A
kjötkássa borð, eða eitthvað til að tryggja að þegar þú að leita að gögnum með
velja á þessi ákveðnu sviði -
eins sýna mér alla sem býr á Oxford Street.
A fyrirspurn svona.
Ef þú hefur tilgreint fyrirfram að þú vilt nota vísitölu á því sviði, sem
leit verður miklu, miklu hraðar.
>> Ef þú tilgreinir ekki vísitölu, besta þú getur gert er línuleg leit ef
það er ekki flokkað.
En ef þú tilgreinir vísitölu, the sviði fólk sem gerði gagnagrunninn -
fólk eins og þú sem nú vita tré og reynir og kjötkássa matskeið -
sjálfkrafa byggja slíka gögn uppbygging í vinnsluminni til að tryggja að
þeim sem leitar er mun hraðvirkari.
>> Fulltext meðan er svipað í anda, en gerir þér kleift að gera algildisstaf
leit, eins og sýna mér alla sem býr á götum sem byrja á
bréf O einhverri ástæðu.
Þú getur gert algildisstaf leit svona.
Eða, meira sannfærandi hluti eins sýningu mig allir sem hafa orðið -
sýna mér alla hét byrjar með sérstakri staf.
Hægt er að leita að leitarorðum á þennan hátt.
Allt í lagi.
>> Svo, hönnun tækifæri það hugsanlega.
Það eru aðrir sem ég ætla veifa höndum mínum á.
Það kemur í ljós að þú getur haft mismunandi geymsla vél.
Og þetta er meira Bogagöng en við þurfum vissulega fyrir Heimadæmi sjö.
Sjálfgefið, eruð þið að nota eitthvað sem kallast InnoDB.
Þú munt sjá minnst á þetta einhvers staðar í tengi phpMyAdmin er líklegast.
En veit að það eru önnur hönnun ákvarðanir sem eru um hugsanlega
vextir koma lokaverkefni ef þú gerir eitthvað vefur-undirstaða.
>> En við skulum gera þetta.
Við skulum fara á undan og setja þetta á skjár sem beitu fyrir sögu
felur þig, herbergisfélaga, og glas af mjólk.
Skulum taka tvö mínútu eða svo brjótast hér.
Og ef þú getur kyrr, við skulum koma aftur, líta aðeins meira í SQL, og
þá hluti af JavaScript og p-setja átta í huga.
>> Allt í lagi.
Svo skulum við fá þig til að hugsa um að horn mál sem getur mjög auðveldlega komið upp
í tengslum við að nota gagnagrunn, eða hreinskilnislega, jafnvel með raunverulega hluti heimsins
eins og hraðbankar að fá peninga.
Svo hér er ísskápur.
Segjum að þú hafir fengið einn of í dorm eða húsið þitt.
Og þú hefur fengið einn herbergisfélagi og báðar þú vilt virkilega mjólk til dæmis.
>> Svo þú kemur heim úr bekknum í einn dag.
Hann eða hún er ekki enn aftur.
Þú opnar ísskápinn.
Þú vilt virkilega stórt glas af mjólk.
Það er engin mjólk.
Og hvað gerir þú?
Þú lokar ísskápinn.
Þú grípa lyklana.
Þú ferð út að torginu.
Og þú færð í samræmi við CVS hjá þeim sjálf stöðva atriði, sem alltaf
tekið lengri tíma en raun hafa Cashiers.
Einhvern veginn.
>> Svo, á meðan, punktur punktur punktur, þinn herbergisfélagi kemur heim og hann eða hún
álíka hefur hankering fyrir mjólk.
Svo hann eða hún opnar ísskápinn, lítur inni, og ó, fjandinn.
Engin mjólk.
Svo hann eða hún höfuð út, gerist til að fara að hinn CVS, sem var aðeins
húsaröð burt af einhverjum ástæðum, og hann eða hún fær í línu til að kaupa mjólk.
>> Á meðan, kemur þú heim, hann eða hún kemur heim, og hvað gera
þú þarft að lokum?
Tvisvar sinnum eins mikið mjólk.
En þú í raun ekki eins og mjólk það mikið.
Svo nú þú ert svo mikla mjólk að nú einn af þeim er bara að fara að fara súr
endanum.
Þannig að þetta er mjög slæmt vandamál.
Ekki satt?
>> Svo hvað hefur gerst?
Svo í grundvallaratriðum, þetta er góður af fáránlega dæmi.
En undir hetta, hvað við höfum haft gerast hér er bæði þig köflóttur
ástand suma stykki af minni, kæli.
Bæði þig köflóttur ástand af einhverju breyta.
Þú bæði dró niðurstöðu sem þið lékuð þá á.
En því miður, en herbergisfélagi þinn var í búð, ástand sem
breytu breytt, hann eða hún kom til baka og nú vill breyta stöðu, en
það er þegar verið breytt á honum eða henni.
Og auðvitað, hann eða hún myndi ekki hafa farið út í búð ef þeir vissu
sem þú varst nú þegar á leiðinni.
>> Svo í hinum raunverulega heimi, hvernig gastu forðast þetta vandamál, hrokafullur þú hafa
ísskápur, þú hafa a herbergisfélaga, og þú vilt í raun mjólk?
>> Áhorfendur: Samskipti.
>> DAVID Malan: Samskipti.
OK.
En hvernig getur þú tjáð?
>> Áhorfendur: Skildu eftir miða.
>> DAVID Malan: Skildu eftir miða, ekki satt?
Fara alltaf í huga, að aðdáendur af sýningunni.
Allt í lagi, svo alltaf eftir minnismiða, eða setja sannarlega eins og hengilás eða eitthvað
á kæli sem heldur þinn herbergisfélagi frá eftirlitsmaður stöðu
sem breytu.
>> Nú, hvers vegna gæti þetta verið germane til Heimadæmi sjö eða að hraðbankar.
Jæja, ímynda sér heiminn í hraðbanka þar þú might vera fær til að fara upp á hraðbanka
vél hér, og annar ATM hér.
Og þetta gerist nokkuð oft.
Og geri ráð fyrir að þú átti tvo hraðbanka kort, sem er hægt að fá.
Og þú skráir þig inn í báðum vélum í raun samtímis, vonandi
á meðan enginn er að leita.
Og þá þú slærð inn PIN u.þ.b. á sama tíma.
Og þá þú gera a jafnvægi fyrirspurn að sjá hversu mikið fé þú hefur.
Og við skulum segja að þú hefur 100 $ eftir í reikningi þínum.
Svo í raun samtímis, þú segja einn, núll, núll, slá.
Og þú færð vonandi aftur peninga.
>> En hversu mikið fé þú might fá til baka?
Nú tölvur í lok dagsins, sérstaklega ef þeir eru að tala við
netþjónum, ekki endilega að gera hlutina í þeirri röð sem er gert ráð fyrir.
>> Svo gera ráð fyrir því sem gerist, vegna þess að hvað net hraði málum þar
eru, eða CPU mál eru, eða eitthvað svoleiðis, ætla að
Fyrsta ATM tékka jafnvægið og sér, ó, þessi manneskja hefur 100 $.
En þá fær annars hugar því kannski afrit er að gerast og svo er það
hægja niður.
Eða kannski á meðan að haka, netið tengingu fékk svolítið hægar vegna
þetta gerist bara.
Þeir eru líkamlegt tæki.
Svo á meðan, annað ATM er spyrja sömu spurningu.
Hversu mikið fé er Davíð með? 100 $ er svarið.
En vegna þess að fyrstu ATM hefur ekki enn sendi skilaboðin draga $ 100, bæði
Hraðbankar hafa skoðað gröfina bankans, sjá að það er $ 100 þar, og nú
báðir vél hugsanlega eru fara að spýta út svarið.
>> Nú, þetta er frábært fyrir þig í einhverjum skilningi ef það sem bankinn gerir að lokum
er að breyta upphæð til mínus 100 með setja breytu jöfn þinn
banki reikningur jafnt og 0, öfugt að gera mínus 100..
Nú í versta tilfelli fyrir bankann -
eða í besta bankanum, á meðan, þeir gefa þér $ 200, og
bankareikning þinn sýnir nú neikvæður $ 100, sem er í raun ekki
gagnast þér yfirleitt.
En punkturinn er að þetta mót Skilyrði fyrir tvo herbergisfélaga fá
mjólk, eða fyrir tveimur hraðbankar að reyna að fá peninga og breyta stöðu gröfina
á sama tíma eru til staðar allir þegar þú ert með gagnagrunni.
>> Nú í Heimadæmi sjö, þetta mál myndast í þeim skilningi að ef þú kaupir
Hlutdeild Facebook lager, og þá fyrir dæmi þú kaupa annan hlut
Facebook birgðir, þú þarft að gera ákvörðun sem forritari.
Í því skyni að ákveða hvernig á að uppfæra gagnasafn, líkur ert þú ert að fara að
hafa eina röð fyrir þeim stofni, og þetta er ein leið til að framkvæma það.
Og þú ert að fara að hafa einn hlut FB, sem er auðkenni fyrir verðbréf þeirra
fyrir þetta notandanafn, eða þennan notanda ID, Auðkenni.
>> En sama sagan getur gerst hér.
Ef þú gera a velja í SQL, eins og þú munt sjá í Heimadæmi sjö þegar þú sérð,
ó, David hefur einn hlut af Facebook lager.
Láta mig breyta nú þetta að vera tveir hlutir, vegna þess að hann vill kaupa
Seinni hlut.
En geri ráð fyrir Davíð í raun átti tvo vafragluggum opna, eða gera ráð fyrir að
það er sameiginlegt reikningur með tveimur mökum, og þau bæði eru að reyna að framkvæma
sama aðgerð, þar líka, hugsanlegt að ákvörðun um að vera
gerðar byggðar á fyrri ástand í heiminum -
reikningurinn hefur einn hlut -
og bæði fólk, eða bæði netþjóna, nú reyna að segja hækka það til tveggja hluta.
En í þessu tilfelli, þú might hafa innheimt mig peninga fyrir bæði hlutabréf, en
hækkar bara að eitt sinn.
>> Svo í stuttu máli, grundvallaratriði vandamál hér, eins og með brandari um að fara á
athugið, eða setja hengilás á það, er ef tvær manneskjur, eða tveir þræðir -
hugsa til baka að klóra -
getur athugað stöðu einhverju breyta og þá reyna að breyta þá breytu,
en þessir tveir hlutir gerist ekki á sama tíma en getur orðið rofin
af öðrum hlutum að gerast, geta gögn komast í mjög undarlegt ástand.
Og þú getur notið góðs eða þú getur þjást í skilningi peninga dæmi.
>> Svo í Heimadæmi sjö, gefa við þig þetta ein lína af kóða, sem lengi
saga stutt, leysa þetta vandamál í MySQL.
Þetta mjög lengi kennsla sem ekki jafnvel passa á eina línan á
skjár hér tryggir að þinn gangur er það er kallað lotukerfinu.
Það gerist allt í einu, eða það gerist ekki á öllum.
Þetta mjög lengi setningu geta ekki fá hlé hluta.
>> Og hvað það gerir er bókstaflega hvað það segir.
Settu inn einhvern töflunni eftirfarandi þremur sviðum þá sem sérstaka gildi,
en á afrit lykill, ekki gera að setja inn.
Gera uppfærslu.
Svo er þetta eins og að gera a velja og Setja svo að segja á sama tíma.
Og hvað er lykillinn sem er líklega var vísað til hér?
>> Það kemur í ljós, og þú munt sjá þetta í Heimadæmi sérstakur sjö, vegna
við höfum lýst það að vera ótvíræða á þessari tilteknu töflu þannig að
þú getur ekki haft margar raðir fyrir sama notandi með
Sama eyri birgðir tákn -
í þessu dæmi hér, DVN.V er kjánalegt eyri birgðir að við
vísa til í sérstakur.
Vegna þess að við höfum lýst yfir að það að vera einstakt, hvað þetta þýðir er að ef þú
reyna að setja inn afrit röð, þú ert staðinn að fara að uppfæra hana án
einhver annar að hafa tækifæri til að breyta the ástand af the veröld heldur.
Svo í stuttu máli, þetta tryggir hlutirnir eru lotukerfinu.
>> Almennt þó, gagnagrunna eins og MySQL -
og þú þarft ekki þennan möguleika fyrir p-setja sjö, en hafðu það í huga að
framtíðina -
styðja það sem kallast viðskipti, þar sem þú getur sagt
START Viðskiptakostnaður bókstaflega.
Þú getur þá framkvæma tveir SQL staðhæfing.
Og SQL staðhæfing, eins og þú munt sjá í p-setja sjö, lítur svolítið
eitthvað eins og this.
Uppfæra töflunni nefnist reikning.
Setja Dálkurinn jöfn hvað Dálkurinn nú
er mínus 1000 þar sem númerið númer reiknings, eins þess að kenni,
jafnt og 2, og síðan uppfæra reikningur punktur punktur punktur.
>> Svo í skilmálum leikmaður er, hvað gera þessir tveir fyrirspurnir virðast vera að gera í
raunverulega heimi tilfinningu bankastarfsemi?
>> Áhorfendur: Flytja til sparnaðar.
>> DAVID Malan: Einmitt.
Flytja fé frá einum til annara.
Og þetta er annað dæmi þar sem þú raunverulega vilja þessir tveir hlutir að gerast
eða ekki gerast.
Þú vilt ekki eitthvað til að fá í miðju þeirra og hugsanlega skipta upp
stærðfræði, eða sóða hversu mikið fé sem þú hefur, eða hversu mikið
peningar sem bankinn hefur.
Svo er það virkilega gott um viðskipti í MySQL er þessi, og
gagnagrunna almennt, er að þeir og snjallt fólk sem hefur innleitt
Þessir eiginleikar reikna út hvernig á að gera viss um að báðir þessir hlutir gerast
eða alls ekki.
>> Og ef þú ert virkilega að aspirín að gera A website þessi er notuð af fólki á
Campus, fólk í hinum raunverulega heimi, að gera eitthvað í ræsingu skilningi,
Þetta eru tegundir af hönnun ákvarðanir sem
verða alltaf svo mikilvægt.
Annars, byrja þú að missa gögn, missa notendur, eða í versta tilfelli sem
við höfum séð hér, hugsanlega tapa peningum.
Svo aftur, meira um það í Heimadæmi sjö, sem og ef til vill fyrir suma af
þú í lokaverkefnum.
>> Svo skulum breyta þessi mynd sem við höfðum í smá stund síðan bara í einn vegur.
Svo láta mig sjá í raun ef ég get -
Nei, það er farið.
Það er það.
>> Svo þetta er þar við fórum síðast.
Og það kemur í ljós að við erum að fara að henda eitt í viðbót til að blanda hér -
tungumál sem heitir JavaScript.
Svo JavaScript passar í raun inn í þetta stykki -
og ég vissi ekki alveg fara nóg pláss, þannig að þetta er nú ekki að skala.
OK, þetta er virkilega sorglegt.
OK, svo er það JavaScript.
Allt í lagi.
Ég er í raun að gera það disservice.
Allt í lagi.
>> Svo er JavaScript annað forritun tungumál, og síðast okkar, ef það hjálpar
fullvissa um að það er ekki mikið meira af brunahana hér.
Svo er einnig JavaScript túlka tungumál, sem þýðir að þú ert ekki
þýða það inn núllum og sjálfur.
Þú keyrir bara það.
En hvað er í grundvallaratriðum öðruvísi með JavaScript yfirleitt er að þú
ekki keyra það á vefþjóninum þínum.
Það skiptir ekki fá að keyra í tæki í sjálfu sér.
Frekar, það verður sótt af notanda gegnum HTTP inn í vafrann sinn -
Króm, Safari, Internet Explorer, Firefox, hvað -
og það er vafrinn sem keyrir þetta einkum forritunarmál.
>> Svo til að vera skýr, PHP svona langt hefur verið ýmist framkvæmd á the stjórn lína í
svart og hvítt glugga okkar, á netþjóni eins og tæki, tölvu
eins og tæki, eða það hefur verið keyrð af vefþjóni
gangi á tölvunni.
En þemað hér er að PHP svona langt hefur verið framkvæmd framreiðslumaður-hlið, svo
notandinn og vafra notandans aldrei sér línu af PHP kóða.
>> Í staðreynd, ef þú opnar alltaf vafranum til vefsvæði þitt eða annars og þú
raunverulega sjá PHP kóðann í glugganum þínum, einhver hefur ruglaður upp.
Því það er ekki ætlað að vera send til vafra beint.
Það er ætlast til að framkvæma og sneru í eitthvað eins og HTML.
>> En JavaScript er í raun hið gagnstæða.
Það er ætlað að vera að keyra venjulega inni af vafranum notanda.
Og hvers konar vefsíður nota JavaScript þá þessa dagana?
>> Eins bókstaflega hvert vinsæll website.
Sérhver viðbót sem þið sennilega nota daglega nota JavaScript til að
Einfaldasta og jafnvel kynjamisrétti lögun.
>> Svo eitthvað eins og Facebook Spjallaðu ef þú notar það.
Hvernig virkar þessi raunverulega vinna?
Jæja svona langt, öll efni sem við höfum gert með HTML og PHP gert ráð fyrir að
þú draga upp slóðina, og þú ýta á Enter, og þú sérð einhver HTML efni.
Og þú smellir á tengilinn, sem breytir URL, breytingar á síðunni, og endurhleður
sumir nýr efni.
Smelltu aðra vefslóð eða senda inn mynd, þú fá whisked á aðra síðu og
þú sjá nokkrar nýjar efni.
>> En að nota eitthvað eins og Facebook Chat, eða Gchat eða Google Maps, sjaldan
er alla síðuna hressa þannig að þú sérð hvítur skjár augnablik og
þá nýtt efni.
Frekar, eru vefsíður í dag virk getting uppfærður aftur og
aftur og aftur allur tegund á bak við tjöldin.
Og það kemur í ljós að þegar þú ferð að eitthvað eins og Facebook, eða Gchat,
eða Gmail, og síðan uppfærslur sjálfkrafa án þess að endurhlaða
heild skjár, hvað hefur gerst er að Vafrinn þinn hefur gert svoleiðis leynilega
fleiri HTTP beiðnir -
ekki fyrir heilum vefsíðum, en bara fyrir litla klumpur af gögnum, eins
spjallskilaboð sem vinur þinn bara sendi þér, eða stöðuuppfærslu sem
einhver sendi bara þú, eða kvak að einhver send bara.
Það er bara að gera smá beiðnir um gögn, og nota JavaScript, þetta
forritunarmál, að breyta því sem vefsíðan lítur út eins án
miðlara hjálpa, án þess að miðlara búa að HTML.
>> Svo í stuttu máli, getur JavaScript að nota þá að ekki aðeins ná nýjum gögnum frá
miðlara án þess að endurhlaða heild síðu eða senda inn mynd.
Það er einnig hægt að nota til að breyta svokölluð DOM -
skjal mótmæla líkan -
sem er bara fínt leið fyrir segja tré HTML
sem við sáum síðast.
>> Svo að fullvissa, JavaScript er setningafræðilega svo svipað og C og vel.
Það er ekki helsta hlutverk.
Þú byrjar bara að skrifa kóðann og það mun fá fram, eða
túlka fleiri almennilega.
Aðstæður mun líta svona út.
Ekkert annað C eða PHP fyrir þessi mál.
Boolean tjáning eða-ed saman mun líta svona út.
Anded saman líta svona út.
>> Rofar mun líta svona út.
Fyrir lykkjur mun líta svona út.
Þó lykkjur mun líta svona út.
Gera á meðan lykkjur mun líta svona út.
>> Þetta er nýtt.
Svo hefur JavaScript ekki a framhandleggur reisa í sjálfu sér, en þetta smíða
fyrir i breytu í array, og ég í þessu Málið verður vísitalan.
Svo það er lítið annað að framhandleggur, þótt nýjar útgáfur af
JavaScript eru að koma út allan tímann, svo lögun jafnvel þessi tungumál
eru að þróast.
>> Og Sem innskot, javascript þessa dagana Einnig er hægt að nota á miðlara rétt eins
PHP notar ramma sem heitir Node.js.
Einn af TFS CS50 er, Kevin, hefur leitt í Málstofa um Node.js sem er í boði á
cs50.net/seminars.
Svo ef þú ert forvitinn, veit að þú getur notað þetta á miðlara megin og
vel, en það er nokkuð nýleg stefna, en öflugur einn á því.
>> Þetta er svolítið öðruvísi.
Þetta er fylki í JavaScript.
Og hvað slær þig eins mismunandi móti C eða PHP?
Það eru nokkur fljótleg sögur við getum sagt hér.
Hvað vantar móti PHP?
>> Áhorfendur: [inaudible].
>> DAVID Malan: Já?
Því miður, segja aftur?
>> Áhorfendur: Ekki lýsa the tegund af breytu.
>> DAVID Malan: Við erum ekki að lýsa the tegund af breytu.
Svo í raun alveg eins og PHP, við erum ekki tilgreina þær tegundir af breytu.
Frekar erum við meira generically segja Var að breyta.
Við höfum ekki óþægindi PHP er af dollaramerki, sem en leiðinlegur að
gerð, gerir meira ljóst að eitthvað er breytilegt.
En hér erum við svoleiðis aftur C er nálgun við bara að hringja í
breytu með nafn sem við viljum að gefa það, eins og tölur.
Og líka eins og PHP, höfum við hornklofum fyrir að
gildi innan þess array.
>> Svo breytur í JavaScript einnig gæti litið svona út.
Tilkynning hér þetta er band sem heitir s, en álíka höfum við tilgreint ekki
að það er strengur.
Hér er þó eiginleiki sem gerir ekki eru á nákvæmlega sama hátt í PHP,
en dálítið álíka.
Þetta er hlut í JavaScript.
Og hlutir eru konar svissneska hernum Hníf af gögn uppbygging í að þú
getur notað þá fyrir allir tala af hlutur.
>> Hér til dæmis, við erum að lýsa yfir breytu sem heitir tilvitnun.
The tegund af þeirri breytu er hlutur.
Þú getur hugsað þetta sem C struct sem hefur lykla og gildi.
Tákn er lykillinn.
FB er gildi, virðist lager tákn.
Komma.
Verð er annar lykill, og gildi þess er greinilega fljótandi lið, eða
tala meira almennt í JavaScript, af $ 49,26.
>> Svo PHP hjartarskinn ekki -
við höfum ekki séð í PHP mótmæla alveg eins og þetta, en við gerðum sjá flaumi,
sem var hvað?
>> Áhorfendur: [inaudible].
>> DAVID Malan: tengin fylki.
Svo þar sem PHP hefur tengin fylki sem setningafræði er alltaf örlítið svo
öðruvísi -
sáum við hornklofa.
Sáum við skrýtin örvar tákn.
JavaScript verður hluti, en þetta er aðallega merkingartækni mismunur og
mismunandi samheiti fyrir nú.
Hins vegar, eins og innskot, PHP hefur einnig hlutir á þann hátt sem Java og öðrum
tungumál hafa hluti í hlutbundin forritun.
En við munum nota þetta aðeins fyrir gerðir gagna fyrir nú.
Hlutir og tengin fylki.
>> Þetta eitt gæti gert það svolítið skýrari.
Hér er ástæðan hlut er gagnlegt.
Þegar þú vilt lýsa nemanda, eins Zamyla, getum við í raun
þjappa svo að segja inni á því mótmæla því að nota hrokkið sviga rétt eins
áður a heild búnt af lyklum og gildi í hér.
Við höfum kenni, hús, og heiti fyrir Zamyla, fylgt eftir með semíkommu sem
venjulega á endanum.
>> Hérna líka, þetta er örlítið mismunandi, en einnig mjög öflugt
þessa dagana.
Hér er fylki, og ég veit að vegna það er ferningur krappi upp
efst og ferningur krappi neðst.
Og þetta er fylki af hvaða gögn tegund virðist í JavaScript?
Þetta er fylki af það lítur eins þrír hlutir.
Og ég veit að það er að mótmæla aðeins vegna hrokkið axlabönd.
Og eftir því að það er opið hrokkið borsveif, smá dót, nálægt hrokkið Brace, kommu,
þá sumir meira, kommu, og þá meira.
Svo er að þrjú rök aðskilin tvö kommum.
>> Svo er þetta fylki af þremur hlutum.
Og hver af þeim hlutum virðist vera nemandi eða starfsmaður sumra
raða, hver með kenni, hús, og nafn.
En ég hef kallað þetta eitthvað heitir JSON -
JavaScript Object Ritháttur.
Og þetta er gögn snið sem raunverulega er svo mjög vinsæll og í
tísku þessa dagana að ef þú skrifar forrit sem notar Facebook
API, Twitter API, í raun næstum allir API þarna úti þessa dagana,
þar á meðal sumir af eigin CS50, the gögn sem þú færð til baka er ekki í
gamla skólann CSV sniði.
>> Vegna Muna að CSV er frábær einfalt.
Það er bara dálka aðskilin með kommum.
JSON gögn gefur þér fleiri lýsigögn.
Það tengir lykil með hverri gildi svo þeir þurfa ekki að bara gera ráð fyrir að
á 0 dálkur er eitt gildi dálki einn er annar dálki tvö er annað.
Allt í JSON mótmæla hér er tegund af sjálf-lýsa, vegna þess að hvert
eitt af nöfnum í þessari skrá er bókstaflega nafn fyrir framan það sem
Streng innan gæsalappa.
>> Þannig að við skulum taka a líta á a par af dæmi hér.
Láta mig fara inn í tækið.
Og láta mig fara í vhost okkar skrá í almenningi.
Og láta mig fara inn í JavaScript skrá.
Og við skulum fara á undan og opna DOM-0.html, þar DOM þýðir bara
Document Object Model.
Það er tré efni sem Ég nefndi áðan.
>> Og láta mig leggja eftirfarandi.
Hér er vefsíða sem líkami er laglegur einfaldur.
Svo niður hér neðst, eftir ég hafa mynd.
Við höfum séð þá áður.
Það hefur tvær inntak, einn sem hefur ID á nafni, einn sem hefur gerð
leggja fram, og fyrsta tegund manns er texti.
Þannig að þetta í raun hljómar frekar einfalt.
>> Skulum fara hér.
Við skulum fara aftur á þessa síðu hér.
Förum inn localhost, og fara inn í JavaScript skrá okkar, og fara að
DOM-0, og hér höfum við þetta eyðublað.
Svo er það víst allt þetta síða hleðst.
Það hefur reitinn með A Senda hnappinn.
En ég ætla ekki að nota PHP hér.
Ég ætla að gera allt viðskiptavinur hlið svo að segja í JavaScript sem hér segir.
>> Takið eftir að ég hef örugglega gefið nafnið sviði sem þessi inntak einstakt
kennimerki, sem mun í raun spara mér tíma í smá stund.
Og eftir ég hef kynnt annað merki í höfuðið á vefsíðu mína, sem
tag.
>> Svo er það í þessum skilningi sem JavaScript er viðskiptavinur-hlið forritunarmál.
Í þessu tilviki, rétt eins og CSS, hef ég sett það beint inni HTML mínum.
En eftir ég hef lýst fall sem lítur svolítið eins og PHP
setningafræðilega, en þetta er í raun JavaScript, því aftur, það er
client-megin í vafranum.
Og taka giska hvað þetta er að fara til gera, jafnvel þótt sumir af the setningafræði
hér er nýr.
>> Áhorfendur: Segja halló til hvern sem er.
>> DAVID Malan: Það er að fara að segja halló að hver sá sem heimsækir þessa síðu.
Svo hvernig?
>> Svo taka eftir, það kemur í ljós í JavaScript það er alert () virka.
Þetta er mjög svona sorglegt fall sem raun bara tilhneigingu til að ónáða notendur.
Það er ekki það sem þú ættir virkilega að nota yfirleitt, en það er a fljótur og óhreinn
leið konar prentun eitthvað myndrænt notenda
tengi, eins og vafra.
Tilkynning hér að ég hef fengið band í einn vitna.
Það kemur í ljós að ólíkt C, JavaScript getur í raun hefur þú notar einn
vitna, og satt það er bara góður á stylistic samningnum þeirra
JavaScript forritari að nota einn quotes.
PHP, þeir hafa reyndar örlítið mismunandi merkingu.
En nú, bara vita að það er eina ástæðan.
Samningurinn í JavaScript er oft hægt að Notaðu einn quotes, en við gætum notað
gæsalappa í báðum stöðum eins og heilbrigður.
>> Svo er þetta áhugavert.
Muna síðasta skipti sem við höfðum að mynd á skjánum sem dró upp í tré
þar sem þú hefðir HTML hnút, og höfuð hnút og líkaminn hnút,
og þá sumir texta.
En það var eitt sérstakt hnút minnsta mjög toppur sem ég kallaði skjalið.
Jæja, það kemur í ljós í JavaScript, hvaða skipti sem þú skrifað forrit í JavaScript
í vafra, hefur þú aðgang að sérstakt alþjóðlegt breytu.
Svipuð í anda að superglobals PHP er, þetta er kallað í
allt lágstafir skjal.
>> Það er eins og strúktúrinn, en þetta struct einnig hefur störf innan þess.
Svo C struct hefur bara gögn yfirleitt.
En JavaScript hlut sem þetta tæknilega er einnig hefur störf,
annars þekkt sem aðferðir, inni af því.
Og þú getur hringt í virka inni þessi hlutur alveg bókstaflega að gera sitt
nafn, punktur, og þá nafn virka, eða aftur aðferð.
Það er bara samheiti, virkilega.
>> Og hvað þýðir þessi aðgerð að gera?
Þú getur konar giska frá nafni sínu.
Fá eininguna með því auðkenni.
Þannig að þetta er að fara að leita á vefsíðu, leita að tré, leita
hvað hnút, AKA frumefni, hefur Unique ID tilvísun unquote nafn.
Og þá hvað á ég að gera?
Ég ætla að fá verðmæti inni að hnútur í trénu, og ég ætla
að einhvern veginn segja halló við því nafni.
>> Svo taka giska, jafnvel þó að við höfum ekki séð þetta ennþá, gera hvað sem auk
tákn merkja hér og hér sennilega?
>> Áhorfendur: concatenate.
>> DAVID Malan: concatenate.
Einmitt, og þetta eru bara konar ákvarðanir hönnun
fólk gerði árum.
Í PHP, concatenate þú hluti með punktum.
Í C, hoppa þú í gegnum nokkrar hindranir og kalla virka eins strcopy () eða
strcat () eða öðrum slíkum aðgerðum.
En í JavaScript, þú nota plús-merkjum.
Þannig að þetta er bara concatenating þrír strengir -
halló, nafn, og þá upphrópunarmerki.
>> Svo þegar og hvers vegna er þessi aðgerð kallaði þó?
Jæja, taka giska á HTML neðst.
Hvers vegna er heilsa () heitir, eða hvenær?
>> Apparently, sem best ég get sagt, á leggja fram, þegar þessi mynd er lögð,
Ég ætla að gera hvað sem er inni af þessum tilvitnunum.
Og sérstaklega, ég ætla að hringja heilsa () og þá return false.
>> Jæja, við skulum sjá hvað nettó áhrif hér er fyrst.
Svo láta mig fara á undan og slá í, segjum, Loren, Submit.
Hello Loren.
Við skulum sjá hvort þetta kannski bara heppinn framkvæmd.
Nope.
Svo það er að slá út hvað nefna að ég setti í raun það.
>> En taka eftir hvað er ekki að breytast.
Slóðin er enn DOM-0.html.
Það er engin register.php.
Það er engin annar skrá.
Það er engin aðgerð eiginleiki.
Svo hvað er þetta aftur ósatt væntanlega gera?
Hvers vegna er ég að kalla heilsa () og þá aftur ósatt sennilega?
Hvað gerist venjulega þegar þú smellir Leggja á formi sem jafnvel við höfum
séð í síðustu viku?
>> Áhorfendur: [inaudible].
>> DAVID Malan: Það fer einhvers staðar, ekki satt?
Það fer að einhverju áfangastað vefslóð.
En ég vil ekki að gerast hér.
Ég vil vefsíðu mína til að vera alveg dynamic eins og Gmail, þar þegar þú ert
þar, vera þú þar.
The URL breytist ekki á þann hátt að bendir allt síðu er að endurhlaða.
Frekar vil ég bara að breyta einhverju eins prenta út eitthvað
hér á skjánum.
>> Jæja látið mig þrífa þetta upp smá.
Leyfðu mér að opna ekki DOM-0, en láta mig opna Dom-2.
Bara svo þú hafir séð nokkur setningafræði hér.
>> Það kemur í ljós að það sem við bara gerði er að nota hrátt JavaScript.
Svo er þetta sannarlega tungumál JavaScript.
Sumir af þú might vita af bókasafn heitir jQuery.
>> Svo er jQuery ekki það sama hlutur og JavaScript.
Það er bara bókasafn að virkilega klár strákur skrifaði og útbreiðslu svo
að nánast allir í heiminum nú notar jQuery þegar JavaScript.
Og við fyrstu sýn, heiðarlega, það lítur svolítið meira dulinn.
En þú munt finna, sérstaklega ef þú ferð þar lokaverkefni þitt með vefnum
þróun, munt þú finna að þessi hreinsar það upp og sparar þér alveg
nokkrar línur af kóða.
>> Þannig að við skulum bara litið á hvernig þessi mynd er að vinna.
Tilkynning hvað gerði ég fjarlægja virðist frá HTML mínum?
Það er engin á leggja dýraþjálfari svo að segja.
Það er enginn eiginleiki.
Þar sem þú veist, hvað Ég vissi ekki alveg eins?
Mér fannst eins og við vorum að falla í gamla venja þar.
Rétt eins og það var byrjað að líða sloppy að intermingle bæði CSS og
HTML, því þú ert góður að kasta mismunandi tungumál allan
stað, álíka var þetta byrjað að líða eins og slæmur vegur til fara niður þar
Ég er að setja JavaScript kóða inni af mínum HTML frekar en þátta það út.
>> Svo er að lærdómi hér.
Í Dom-2.html, ég þátta það út.
Og ég er að gera hlutina örlítið öðruvísi.
Fyrir nú, ég er að fara að veifa höndum mínum á hvað þetta þýðir í raun
undir hetta.
En bara fyrir nú ráð fyrir að þessi fyrsta lína af kóða í þessu bókasafni
kallast jQuery þýðir bara þegar skjalið er tilbúið skaltu gera eftirfarandi.
>> Vegna þess að vefur blaðsíða geta tekið nokkurn tíma að hlaða.
Þú gætir verið á hægum internetinu tengingu, og það gæti verið að snúast
og spuna, og að lokum það er hlaðinn.
Þessi lína af kóða segir bara að bíða þangað allt síða er tilbúinn, skjalið
er tilbúinn, áður en framkvæmd þessa kóða.
>> Og nú fyrirvara, þetta er sennilega the gagnlegur fyrst
taka í burtu frá jQuery.
Þessi lína hér er mjög svipuð í anda við þessa miklu lengri línu hér.
En í hrár JavaScript kóða, þar til skjal alþjóðlegt hlut sem
hefur fall sem kallast getElementById (), fólkið sem skrifaði
jQuery einfölduð að bara segja króna merki, og þá innan
sviga setja tvær tilvitnanir, og þá setja kjötkássa tákn á eftir
einstakt auðkenni sem þú vilt að grípa.
Svo er þetta jafngildir document.getElementById.
>> Á sama tíma,. Senda inn þýðir bara á skil á hvaða formi sem þú ert
vísa til vinstri, fara undan og framkvæma þetta.
En þetta er nú forvitni líka.
Hvað er undarlegt um hvað Ég hef bent hér?
Ekki aðeins er það eins konar setningafræðilega ný, það er líka eitthvað sem vantar.
>> Áhorfendur: Það er bara kallað virka?
Það er ekki kallað vakandi?
>> DAVID Malan: Já.
Jæja, svo vakandi () er niður hér, að vera sanngjarn.
En það er ekki minnst á að nafn, eins og þú veist, foo eða
eitthvað upp hér.
Og reyndar, þetta er einn af þeim eiginleikum af JavaScript sem er alveg
öflugur, en einnig alveg nýr.
Og PHP hefur reyndar þetta eins og heilbrigður.
>> Leyfðu mér að fara á undan og gera eitthvað raunverulegur fljótur.
Leyfðu mér að fara á undan og setja þetta út hér.
Leyfðu mér að gera þetta.
Virka.
Við skulum kalla þetta dýraþjálfari ().
A dýraþjálfari virka svo að segja.
Eitthvað sem annast einhverja aðgerð.
Leyfðu mér að hreinsa upp inndrátt mína.
Og setja þetta hér.
Og setja það hér.
Yep.
OK.
>> Svo nú hef ég fall sem kallast stjórnandinn () að ég í raun ekki vita
hvað það gerir enn.
Það hefur bara enn þessi efni.
Úpps.
Tók of mikið.
Drífum í þessu.
Allt í lagi.
Sorry.
Allt í lagi.
Leyfðu mér að gera þetta.
OK.
Það lítur ágætur og beinn senda núna.
Leyfðu mér að gera þetta.
Gera þetta.
Og Í lagi.
Svo nú skulum við setja þetta hérna.
Ekkert meira forritun á flugu.
OK.
>> Svo nú skulum við fara aftur til þar sem sagan hófst.
Áður sagði ég að þessi lína hér þýðir að þegar skjalið er tilbúið, fara
undan og gera þetta.
Hvað vil ég að gera?
Jæja sérstaklega, ég vil fara undan og gera eftirfarandi.
Keyra þessa línu af kóða, og þá það sem ég vil að þú gerir er að hringja þetta
virka þegar mynd er send inn.
>> Nú er þetta það sem er áhugavert.
Þetta er ekki sjálft fall.
Eftir ég er ekki að setja sviga hér á venjulegan hátt.
Ég er bókstaflega farið fall sem kallast sýnandi () til annars virka
kallað leggja () sem rök sem þó það er eins og breytu.
Og þetta er einn af the lögun af JavaScript er HLUTVERK sjálfir
eru virkilega bara hlutir.
Í raun, þeir eru í raun bara breytur af einhverju tagi.
Og ef nafnið á virka er stjórnandinn (), það er engin ástæða sem ég get ekki
gefa það í sem rök hér.
Og þetta þýðir þegar formið með kenni kynningu er
lögð, kalla þessa aðgerð.
>> En nú ef ég losa þetta allt, hvers vegna þá gerði ég kannski gert
þetta í smá stund síðan?
Jæja, þetta er nafnlaus aðgerð.
Því hreinskilnislega, áttaði ég hvers vegna er ég ómak til að sóa tíma að lýsa yfir
fall sem kallast dýraþjálfari () aðeins til að hringja það í einum og aðeins einum stað?
Ef ég þarf ekki nafn, og ég geri ekki þarf að kalla það fleiri en einum stað,
skulum framkvæma bara virka rétt þar sem ég þarf það.
Og svo JavaScript og PHP stuðning hvað eru kallaðir nafnlaus aðgerðir sem
leyfa mér að gera einmitt það hér.
>> En við erum bara að klóra yfirborðið.
Skulum stríða með réttlátur a par endanlegar dæmi hér.
>> Ef ég fer inn í quote.php.
Takið eftir að þetta er í raun PHP virka, PHP forrit, sem ég skrifaði
sem gerir ráð fyrir HTTP breytu sem heitir tákn, og ég get fara í
gildi eins og FB.
Og ef við lítum í raun á upptökum kóða, þetta er fyrirspurn a frjáls website
heitir Yahoo Finance, rétt eins og p-sett sjö, og það er aftur að mér
eitthvað í greinilega snið þekktur er JSON -
JavaScript Object Ritháttur.
Það er bara hlutur.
Takið eftir hrokkið axlabönd, tilvitnanir, ristli, og kommum.
>> Nú á meðan, þetta er laglegur kaldur.
Vegna þess að ég get sennilega notað forritun tungumál til að búa til vefslóðir
að líta svona virk, ekki satt?
Ég get breytt þessu í Google og fá til baka Google
gengi hlutabréfa $ 1,017.55.
Svo við skulum sjá hvort við getum ekki notað þetta núna.
>> Leyfðu mér að fara til Ajax 0 hér, sem lítur út eins og eftirfarandi.
Það er bara a website þessi hefur mynd með takka.
Leyfðu mér að hér fara á undan og tegund í yhoo fyrir lager tákn Yahoo, smelltu fá
Quote, og nú eftir að ég hef fengið vakandi með 32,86.
>> Láta mig fara í raun til áhugamaður útgáfa af þessari síðu, útgáfa tveimur og
tegund í segjum Microsoft, MSFT.
Fá Quote.
Og nú eftir, ekki alert.
Takið eftir þar sem stendur verð að ákvarða?
Það er einfaldasta dæmi sem vísbending á hvaða Gchat og Facebook
Spjalli og Gmail, og aðrar slíkar vefsíður eru að gera með því að í raun og veru
breyta vefsíðu.
>> Taka þetta.
Leyfðu mér að endurhlaða síðunni.
Leyfðu mér að opna Eftirlitsmaður Króm '.
Láta mig fara að þeim þáttum flipann hérna.
Nú taka ef ég súmma inn hingað og opna þetta upp, taka eftir að þetta er minn
HTML DOM - Document Object Model minn.
Þetta er HTML mín.
En nú eftir, jafnvel þó að það er að fara að vera svolítið erfitt að sjá það í báðum
stöðum í einu, ef ég tegund í FB upp hér, horfa á botn
á skjánum eingöngu.
>> Það er í raun að breyta HTML minn á flugu.
Og það er að gera þetta einfaldlega með því að gera eitthvað eins og this.
Ef ég opna AJAX 2, tilkynning um framkvæmd eitthvað eins kynþokkafullur eins og
að jafnvel þó að það er ansi ljót, en eins og háþróaður eins og þessi
Virkni, hefur það einhver HTML neðst.
En eftir ég nota til að merkja.
Við höfum ekki notað þetta áður, en þetta er eins og, en það þýðir ekki að þvinga
allt á nýja línu.
Það gerir bara rétthyrnd svæði á sömu línu í meginatriðum.
>> Takið eftir að ég gaf það kenni af verð.
Og það kemur í ljós með því að nota sama JavaScript bókasafn, ég er með virka
kallað QUOTE () sem heitir þegar mynd er lögð.
Og hvað ég er að gera er þetta.
Ég er að lýsa yfir breytu í JavaScript heitir url, sparnaður gildi
quote.php? tákn =.
Með öðrum orðum, ég sjálfur er farin að undirbúa HTTP beiðni, og þá
Ég er concatenating á að með plús hvað þátturinn með auðkennið
af tákn er, þar sem atriði er að reitur rétt niður hér.
Svo bara eins og við höfðum eyðublöð í fortíðinni.
>> Og þá kemur í ljós í jQuery, ef þú kalla. Val (), sem kallar á Val
virka, er gildi virka, sem fær hvað notandinn hefur slegið inn
Og síðan alla net umferð það gerist er þetta.
$. GetJSON.
>> Og eins og til hliðar, dollara merki er bara shorthand tákn.
Það er í raun jQuery.getJSON.
Fá mig til JSON frá þessari vefslóð, og þegar beiðnin kemur aftur, kalla þetta
virka og fara í eins og rifrildi hvað kom til baka frá þjóninum.
>> Svo í öðrum orðum, ef ég fer aftur til vafra, og ég fer aftur til quote.php,
hvað vafrinn minn er að gera er að fá þetta klumpur af gögnum.
Og þegar ég fer á þessa vefsíðu hér, taka ef við förum í staðinn á netið
flipann og hreinsa það, og þá tegund í eitthvað eins GOOG fyrir Google og Fá
Vitna, taka síðan breyttist ekki.
En HTTP beiðni var gert, og hvað kom aftur hingað ef við skoðum
svar er a heild búnt af JSON að við nálgast að lokum með
þetta einfalda lína hér.
>> Gögn er það var fengið frá þjóninum.
Verð er að nafn hins lykill mér þykir vænt um.
Svo gefur data.price mér það.
>> Nú á meðan, og þetta er síðasta dæmi.
Þú getur gert enn meira með síðuna.
Einn reyndar, vel tveir.
Við getum koma til baka tag, ef þú manst þetta.
Það er JavaScript.
Við getum gert það.
Mjög spennandi.
Við munum fara að sem cliffhanger.
>> En meira excitingly, getur þú gera hlutina eins og þetta.
Ef ég fer til Geolocation-1, snýr það út að Króm veit að við erum á
breiddargráða lengdargráðu 42.37. -71,10.
Svo er það enn þar að ráða þínum.
En meira um það í næstu viku.
Sjáumst Mánudagur.