>> DAVID Malan: Pob hawl.
Mae hyn yn CS50, ac mae hyn yn diwedd yr wythnos naw.
Mae wedi bod yn corwynt dros y dyddiau diwethaf.
Ac problem yn gosod saith, os ydych yn pen-glin ddwfn i mewn iddo, yn sylweddoli bod dipyn o
bit newydd sy'n i mewn 'na.
Ond gadewch i ni weld os na allwn darnau popeth ynghyd yma yn fyr
cyn hynny gwyro i ffwrdd i mewn eto cyfeiriad a gweld arall
lle arall y gallwn fynd.
>> Hyd yn hyd yn hyn, rydym wedi siarad am HTML.
Rydym wedi siarad am CSS.
Rydym wedi siarad am PHP.
Rydych chi wedi dechrau i gael profiad o SQL.
Heddiw, byddwn yn siarad ychydig am JavaScript.
Ond sut mae pob un o'r rhain gwahanol ieithoedd yn ffitio i'w gilydd?
>> Felly, buom yn siarad yr wythnos diwethaf am yr syniad o gael gweinydd.
Felly, gadewch i ni dim ond tynnu petryal hwn fel gweinydd gwe yma.
A gweinydd gwe yn gwasanaethu sicr ffeiliau.
Ac mae rhai o'r ffeiliau hynny Gall fod yn ffeiliau HTML.
Felly, un o'r pethau y mae weinydd y we Gall boeri allan a allai fod yn ffeil y
byddwn yn unig yn tynnu fel hyn sy'n cynnwys rhai HTML.
Felly, yn nhermau lleygwr, beth Nid HTML yn gadael i chi ei wneud?
>> GYNULLEIDFA: Page edrych 'n glws.
>> DAVID Malan: OK, gwnewch dudalen edrych yn neis, er fy mod yn credu fy mod i wedi profi
fel arall.
Felly HTML yn gadael i chi osod allan tudalennau strwythurol, ac mae'n eich galluogi i
fath o esthetaidd farcio dudalen, farcio cynnwys statig, fel eich bod yn
yna gall weld gyda porwr gwe.
>> Ond dyna yw'r allwedd.
Mae'n cynnwys statig.
Rydych yn ysgrifennu, rydych yn arbed iddo, ac yna yr ydych llong.
A 'r gweinyddwr gwe wedyn yn gwasanaethu i fyny at eich ymwelwyr.
>> Ond rydym stylize pethau gan ddefnyddio gwahanol iaith yn gyfan gwbl.
Rydym yn dechrau defnyddio'r nodwedd arddull ar rai tagiau.
Ac mae'r priodoledd arddull gadewch i ni osod pethau fel maint a lliw ffont.
Ac mae'n debyg eich bod wedi dechrau i ddarganfod, neu chi cyn bo hir ewyllysio i derfynol
prosiectau o bosibl, ond eraill eiddo y gallwch eu defnyddio yn y CSS.
Ac felly yn nhermau lleygwr, beth wir felly y CSS yn ei wneud?
Dim ond enghreifftiau o hynny yw'r rheini.
Beth mae'n ei gadael i chi wneud hynny HTML Nid yw'n ymddangos i o'r hyn
rydym wedi gweld hyd yn hyn?
>> GYNULLEIDFA: Diffinio arddulliau eich pen eich hun.
>> DAVID Malan: Diffinio arddulliau eich pen eich hun.
Felly, diffinio pethau fel dosbarthiadau wrth i chi allai fod wedi dod ar eu traws, neu unigryw
nodi nodau mewn dogfen felly y gallwch eu stylize.
Ond yn fwy penodol, byddwn i'n dweud bod CSS 'n sylweddol yn gadael i chi gymryd pethau y
filltir olaf ac yn caniatáu i chi nodi llawer yn fwy manwl gywir estheteg,
tra HTML ar gyfer y rhan fwyaf yn gadael strwythuro eich tudalennau.
>> A hyd yn oed er bod rhai diffygion, fel rydym yn gweld y tag ar gyfer
tag pennawd, a siarad yn fras gwneud pethau mawr a beiddgar.
Dyna diffiniad eithaf generig y tag - mawr a beiddgar.
Pa maint y ffont yw hynny?
Pa liw yw hynny?
Pa mor feiddgar yw hynny?
A CSS yn gadael i chi yn fwy fân alaw pethau fel 'na.
Yn ogystal â gosodiad, gan fod rhai ohonoch wedi gweld.
>> Ac yn ddidwyll, CSS yn ychydig yn iaith anniben.
Mae'n bwerus iawn yn y gallwch wneud llythrennol unrhyw wefan yr ydych wedi
gweld ar y we heddiw ag ef, ond mae'n fath o boen yn y gwddf.
Ac mae rhai ohonoch wedi Ciciodd eich pen yn erbyn y waliau sydd eisoes yn unig i wneud
rhywbeth twp fel canolfan ddewislen ar problem yn gosod saith os ydych wedi gotten i
y pwynt hwnnw yn barod.
>> Ond yn sylweddoli, y pethau hynny mynd yn haws dros gyfnod o amser.
Byddwch yn dechrau i hysbysiad batrymau.
Ac eto, bydd Google yn eich ffrind ar gyfer y gwahanol ffyrdd y gallwch
datrys y mathau hyn o broblemau.
>> Ac yr wyf yn meiddio dweud gyda CSS, HTML a mwy yn gyffredinol, gallwch ddatrys problemau mewn
llawer mwy o ffyrdd, pob un a allai iawn yn dda fod yn gywir, nag y gallech
yn rhywbeth fel C, hyd yn oed bellach PHP, neu JavaScript.
Mae dim ond nifer o wahanol ffyrdd i osod pethau allan.
>> Ond mae hyn yn dechrau cael anniben, rydym meddai.
Unig fath o commingling eich HTML a eich CSS â'r priodoledd arddull yn
ychydig yn flêr.
Ac felly rydym yn dweud yn lle, rhyw fath o siarad yn haniaethol, y dylech
o leiaf yn dechrau i ffactor eich CSS yn ôl pob tebyg.
Nid yw eich steil priodoleddau, ond o leiaf defnyddiwch y tag arddull tu mewn yr hyn
rhan o dudalen we?
>> GYNULLEIDFA: Head.
>> DAVID Malan: Yn y pen.
Hyd yn hyn, dim ond cael y teitl i fyny yno, ond gallwch hefyd ychwanegu arddull
tagio, a gallwch roi eich CSS fras siarad tuag at frig y dudalen.
Ond yna rydym yn cymryd pethau un cam ymhellach ac yr ydym yn ffactor sy'n gwybod mwy
i mewn i ffeil ar wahân.
>> Ac felly y ddwy ffeil hyn yn rhywsut nawr cysylltiedig.
Ac yn wir yr oedd y tag a wnaeth hynny.
A beth oedd yn un o'r trosfwaol cymhellion ar gyfer ffactoreiddio ein CSS
oed yn fwy?
>> GYNULLEIDFA: reusability.
>> DAVID Malan: reusability.
Iawn?
Efallai eich bod wedi gweld yn saith eisoes yn gosod-p bod llawer o'r tudalennau, y
prynu dudalen, mae'r dudalen gwerthu, y tudalen portffolio, mae'n debyg
strwythuro braidd yn yr un modd.
Mae logo cyllid CS50 ar y brig oni bai eich bod wedi penderfynu newid.
Mae 'na troedyn yn y waelod y tudalennau.
A CSS yn caniatáu i chi wedyn ffactor allan i mewn i ffeil ar wahân felly os
ydych chi am newid rhywbeth yn fyd-eang ar draws eich safle cyfan, gallwch mewn gwirionedd
dim ond ei newid mewn un lle.
>> Ond mae pris a dalwch o bosibl drwy gael ddileu ffactorau y
CSS o fy ffeil HTML i mewn i wahān ffeilio cyfeirio gyda'r
tag, a welodd yr ydym ni ar ddydd Llun.
Beth allai fod yn anfantais o hyn?
Gan feddwl yn ôl wythnos yn ôl i'r adeg pan rydym yn siarad am HTTP a TCP / IP a sut
y rhyngrwyd yn gweithio.
Rhywbeth dros yma?
>> GYNULLEIDFA: Mae'n cymryd mwy o amser.
>> DAVID Malan: Mae'n cymryd mwy o amser.
Pam?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Yeah.
Felly mae'n dadlau cymryd ychydig mwy o amser.
Oherwydd bod un, mae'r CSS yn amlwg nid yn yr un ffeil.
Felly, yn awr rhaid i chi wneud nad un, ond dau gais.
A phob un o'r ceisiadau hynny fel y gwelsom yn Chrome yn yr Arolygydd fel y'i gelwir,
ac yr ydym yn edrych ar y tab rhwydwaith, pob o ffeiliau hynny yn gofyn am un HTTP
cais, a welodd yr ydym yn cymryd rhai swm o amser.
Nawr, efallai nid yw'n llawer.
Efallai ei fod yn dim ond 20 milieiliadau.
Efallai ei fod yn 200 milieiliadau.
>> Ond meddyliwch am dudalen fel Facebook, neu CNN, neu Google, sy'n llawer
fwy na'r enghreifftiau rydym wedi edrych ar hyd yn hyn.
Efallai y tudalennau hynny wedi dwsinau o ffeiliau, Gallai pob un ohonynt yn gofyn am
llwytho i lawr o ffeil.
Fel y gall pethau a allai fod yn dechrau i arafu.
>> Ac yn enwedig y dyddiau hyn pan rydym i gyd yn ffonau symudol yn ein pocedi a
cysylltiadau rhyngrwyd yn arafach, yn gorfod aros ychydig yn fwy o milieiliadau, mae ychydig
mwy o milieiliadau ar gyfer ychwanegol Gall ffeiliau mewn gwirionedd fod yn araf.
Latency yw'r gair sy'n disgrifio'r fath o aros i chi bod gennych eich bod yn
profi wrth aros am rhywfaint o darn o wybodaeth.
>> Ond mae â'i ben.
Felly, nid yw'n pob math o -
y mae mewn gwirionedd dipyn o si-so yma.
Anfantais yn awr, ond gall pa borwyr wneud os ydynt yn smart er mwyn osgoi
gorfod gofyn i'r un styles.css ffeilio eto gall fod i wneud beth?
>> Cache ei.
Felly caching -
C-A-C-H-E -
gyffredinol yn golygu yma dim ond i achub y ffeilio eich cais y tro cyntaf, a
Yna edrychwch ar eich cache ar ei gyfer.
Gwiriwch eich bod yn fath o gynhwysydd storio, ac os oes gennych
copi o styles.css, hyd yn oed os yw rhai eraill yn tudalen yn y p-set, neu unrhyw wefan,
gofyn am hynny eto, dim ond i roi defnyddiwr yr un copi cached.
Peidiwch â thrafferthu gofyn amdano.
>> Anfantais yno, fodd bynnag, gan fod rhai ohonoch wedi baglu drosodd yn y p-set.
Os byddwch yn gwneud newid ar y gweinydd a byddwch yn mynd yn ôl at y porwr ac rydych
ail-lwytho, weithiau y porwr yn chi ffafr ac nid yw'n trafferthu
ail-lwytho i lawr eich ffeil styles.css oherwydd, yn dod ar, beth yw'r groes
bod arddulliau hyn sy'n defnyddio Facebook yn mynd i newid awr i awr neu
o ddydd i ddydd?
Mae'n eithaf isel.
Efallai y byddant yn newid dros amser, ond nid gan y funud neu fesul awr.
>> Felly tric, dim ond FYI wrth wneud ar y we datblygu, yn aml yn dal i lawr y
sifft allweddol ar gyfer achos hwn ac yna cliciwch ail-lwytho yn eich porwr, a bydd hynny
fel arfer yn dweud wrth y ail-lwytho porwr popeth, hyd yn oed os ydych eisoes wedi
yn y cache.
Felly eto, upsides ac anfanteision, ond mae pob un ohonynt
yn y pen draw dylunio penderfyniadau.
>> Felly nawr, ni wnaethom yn unig terfyn ar y stori yma.
Os wyf yn awr yn mynd yn ôl ac yn ôl ac yn ôl a yn ôl, rydym yn dechrau cyflwyno nid yn unig
HTML, ond PHP.
Felly, yn nhermau lleygwr, beth yn PHP gadewch i ni ei wneud?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Beth sy'n bod?
>> GYNULLEIDFA: Cyflwyno rhesymeg i mewn i'r cod.
>> DAVID Malan: Yeah, cyflwyno rhesymeg yn eich cod.
Felly mae'n iaith raglennu gwir gyda dolenni, a newidynnau, a
swyddogaethau, ac amodau, ac mae pob un y pethau yr ydym wedi bod yn defnyddio ffordd yn ôl
pan ers dechrau.
A PHP, yr ydym wedi gweld, gellir ei ddefnyddio naill ai yn y llinell orchymyn - mae'n
Nid oes rhaid i chi gael unrhyw beth i'w wneud â'r we, er bod hynny'n
mewn gwirionedd ei darddiad a'r hyn y mae'n tueddu i fod yn dda am ac yn ffafriol i -
ond gallwch ddefnyddio PHP gan natur yn unig y ffaith bod ganddo print ()
swyddogaeth, a printf () swyddogaeth, neu adlais () swyddogaeth.
Mae tusw o ffyrdd yr ydych Gall argraffu testun gyda PHP.
>> Felly, gallwch ddefnyddio'r rhaglenni hyn iaith i'r allbwn yn union
yr hyn yr ydym yn sôn amdanynt cyn.
Gallwch gynhyrchu yn ddeinamig eich HTML.
Efallai nad y cyfan ohono.
Efallai eich bod pethau cod caled, fel y pennawd, i mewn na'r troedyn, a logo,
a bod eich taflenni arddull, a hynny i gyd.
Ond ar gyfer rhywbeth fel sefydlu p saith, lle rydych chi'n trin stociau a
gan ddangos portffolio y defnyddiwr, sy'n mynd i newid yn ddeinamig, gallech
yn sicr yn defnyddio PHP a'r rhesymeg y mae'n ei roi chi fel iaith raglennu i
allbwn ddeinamig is-setiau y dudalen.
>> Felly, pan fyddwch yn siarad am wefannau deinamig, neu raglenni ar y we, dyna
hyn yr ydych yn wir yn siarad am.
Gan ddefnyddio iaith fel PHP, neu bethau a elwir yn Python, Ruby neu, neu Java, neu
eto ieithoedd eraill, i holi cronfa ddata yn aml, neu weinydd arall, a
Yna boeri allan HTML ddeinamig.
>> Nawr bod y canlyniad terfynol, wrth fynd heibio, yn bod y HTML y rhan fwyaf o wefannau,
gan gynnwys eich saith set-p, yn ôl pob tebyg mynd i fod yn llanast mawr os
ydych yn edrych ar y ffynhonnell cod mewn porwr.
Nid yw hyn yn beth mawr.
Ar y pwynt hwn, pan yr ydym yn gofalu am arddull, yr ydym yn gofalu am y
pethau eich bod yn ysgrifennu.
Ni fyddwn yn gofalu am y pethau bod yr hyn eich allbynnau cod.
Felly peidiwch â phoeni am bant yma os yw'n PHP sy'n
mewn gwirionedd yn outputting stwff.
Wedi'r cyfan, ni fydd y porwr gofal, ac ni fydd dynol yn edrych
yn y ffynhonnell beth bynnag.
Rydym ni, y staff, er enghraifft, byddai yn edrych ar eich PHP.
>> Felly, gadewch i mi roi enghraifft cyflym yn awr pam arall y gallai hyn fod yn ddefnyddiol.
Felly, dweud y gwir, ni allaf gofio'r ddiwethaf amser Roeddwn i'n arfer C i ddatrys problem yn y
y byd go iawn.
Yr oedd yn ôl pob tebyg yn yr ysgol i raddedigion pan Roedd angen i mi ddefnyddio iaith sy'n
yn weddol lefel isel a roddodd i mi y cyfle i wneud rhywbeth yn uchel iawn
perfformio i arbed mewn gwirionedd cymaint o CPU cylchoedd ag y gallwn, i raddau helaeth
oherwydd fy mod yn defnyddio setiau data mawr, a phob cylch CPU cyfrif.
A dweud y gwir, hyd yn oed mewn pethau fel ffonau y dyddiau hyn a dyfeisiau eraill
lle nad ydych yn llwyr cael cymaint o cof ac nid ydych yn llwyr fod â
llawer o CPU, defnyddio ieithoedd yn gyflymach yn dal i apelio.
>> Ond yn y byd go iawn, pan fyddwch yn unig am daflu rhywfaint o rhaglen at ei gilydd i
dadansoddi rhywfaint o ddata, neu os ydych wedi casglu criw cyfan o gofrestriadau ar gyfer
rhywfaint o grŵp myfyrwyr ac rydych am iawn awtomeiddio gyflym anfon e-bost
o un i un i bob un o'r rhai a cofrestredig, rydych yn mynd i estyn am
iaith ar lefel uwch na C fel petai.
Rhywbeth fel PHP neu Python, neu Ruby, neu hanner dwsin o bobl eraill sy'n bodoli
y dyddiau hyn.
Ond mae'r tri yn ôl pob tebyg yr hawl mwyaf ffasiynol yn awr.
>> A beth mae hyn yn golygu yw y gallwch chi agor sefydlu golygydd testun fel gedit neu
y rhan fwyaf o unrhyw beth arall ac yna dim ond dechrau Cod ysgrifennu heb orfod poeni
am lunio, heb orfod wir yn poeni am reoli cof,
cadw mewn cof fodd bynnag, fod ychydig Bydd annibendod yn y pen draw yn dod yn ôl
i frathu chi os bydd y set ddata yn cael mwy o faint neu os yw'r broblem yn cael fawr.
Ond beth mae hyn yn ei olygu i ni yw y canlynol.
>> Gadewch i mi fynd yn ei flaen ac yn rhedeg sillafu o broblem a chwech.
Felly, mae hyn yn fy rhoi ar waith-seiliedig trie fy mod yn defnyddio ar y mawr
bwrdd lle nad oeddwn perfformio mor dda.
Byddwn yn dod yn ôl ymhen wythnos a ailedrych ar y rhai oedd yn y pen draw ar ben y
bwrdd mawr yn ein darlith diwethaf.
Ond am y tro, gadewch i mi fynd yn ei flaen a dim ond rhedeg fy ateb yn y testun, ac fe wnawn
y Brenin Iago Beibl, ac yma rydym yn mynd.
>> Felly, y rhai yn yr holl sôn, geiriau wedi'u camsillafu allan o
y Brenin Iago Beibl.
Ac mae fy rhoi ar waith yn cymryd hanner eiliad i gyd.
Felly, nid yn rhy ddrwg ar y cyfrifiadur penodol.
Ond meddyliwch am faint o codio Roedd rhaid i mi ysgrifennu.
Meddyliwch faint o cod bu'n rhaid i chi ysgrifennu.
Meddyliwch faint o oriau rydych chi'n ei wario yn y D-neuadd neu eich dorm neu lle bynnag
mewn gwirionedd yn codio i fyny ateb hwnnw.
>> Wel, os wyf mewn gwirionedd yn cael lefel uwch iaith fel PHP, cymryd sylw o'r
beth y gallaf ei wneud yma.
Yn gyntaf, mae'n debyg bod hyn yn lle hynny eich cod dosbarthu.
Mae hon yn ffeil o'r enw sillafu.
Mae ar gael fel rhan o heddiw cod dosbarthu.
Ac yr wyf i'n mynd i chwifio fy llaw yn y rhan fwyaf o'r manylion, ond mae hyn mewn gwirionedd
yn enghraifft ddiddorol o sut y efallai y byddwch porthladd iaith
fel C drosodd i PHP.
Wyf yn llythrennol agor dwy ffenestr testun, un gyda fy fersiwn C o speller.c,
ac yr wyf newydd ddechrau cyfieithu yn fy ben i PHP a deipio gan ddefnyddio
y swyddogaethau cyfatebol agosaf.
>> Felly, mae rhai o'r pethau hyn yn wahanol.
Gwelsom tro diwethaf na PHP yn defnyddio cynnwys yn yr un ffordd.
Mae'n defnyddio ei gwneud yn ofynnol fel arfer, er bod gynnwys yn bodoli.
Diffinio ychydig yn wahanol i # Ddiffinio'n C, ond mae hynny'n
sut yr ydym yn gwneud yn gyson.
$ Argc mae'n troi allan yn bodoli yn PHP, felly rydym wedi gweld hynny o'r blaen.
Newidynnau yn unig yw'r rhain, a phob un sy'n dechrau gydag arwyddion ddoler.
Dwyn i gof dyma griw o bwyntiau fel y bo'r angen.
>> Felly stori fer hir, rydych yn croeso i troi drwy'r hyn os chwilfrydig, mae hyn yn
bron i trosi llinell-am-linell y Fersiwn C o speller.c i mewn PHP.
A allech chi wneud hyn eto ar gyfer hanner dwsin o ieithoedd eraill.
>> Ond yr hyn sy'n ddiddorol yw hyn.
Neu beth sy'n dweud y gwir digalon yw hyn.
Gadewch i mi fynd yn ei flaen a theipiwch am dictionary.php, ac yn honni fy mod yn
mynd i fynd yn ei flaen ac ail-weithredu problem gosod chwech yma.
>> Felly, gadewch i ni yn cynnig cyntaf yn y ffeil, fydd yn cael ei rhoi ar waith yn
PHP, felly gadewch i mi agor fy tagiau fel 'na.
Gadewch i mi roi fy hun yn fyd-eang amrywiol, $ maint yn cael sero.
Ac yr wyf i'n mynd i roi fy hun tabl hash.
Byddaf yn defnyddio tabl hash ar gyfer y peth hyn.
Sut ydw i'n datgan tabl hash yn PHP?
Wneud.
OK.
>> Braced braced agos mor agored cynrychioli beth yn PHP, fel yr ydym wedi gweld?
Amrywiaeth, ond mae amrywiaeth a allai fod yn amrywiaeth cysylltiadol.
Arae cysylltiadol yn strwythur data sy'n
allweddi gysylltiedig â gwerthoedd.
>> Nawr yn y symlaf mynegeio'n rhifol amrywiaeth, allweddi hynny'n beth?
Zero, un, dau, tri, dde?
Hen ysgol pethau yn ôl oddi wrth C. Ond gall hefyd fod yn llinynnau fel foo, a bar,
neu Maxwell, neu unrhyw llinyn o'r fath.
Felly, yr wyf yn gallu trosoledd y mewn dim ond hyn o bryd.
>> Gadewch i mi fynd yn ei flaen ac yn datgan swyddogaeth fel -
gadewch i ni wneud llwyth () yn gyntaf.
Felly llwyth swyddogaeth ().
A PHP yn ychydig yn wahanol yn y yn llythrennol deipio swyddogaeth, ond
peidiwch â theipio math dychwelyd.
Rydw i'n mynd i fynd yn ei flaen a dweud bod y Dylai swyddogaeth llwyth () cymryd mewn
ddadl $ geiriadur, dim ond fel fersiwn C gwnaeth.
Rydw i'n gwneud hynny ar y cof.
>> Ac yr wyf yn cynnig fy mod mynd i wneud hyn.
Rwy'n dim ond yn mynd i wneud foreach.
Rydw i'n mynd i alw swyddogaeth o'r enw ffeil (), gan fynd yn enw'r y
ffeil, sef y newidyn $ Geiriadur â $ gair.
Ac yna y tu mewn fy ar gyfer ddolen yma, rwy'n mynd i fynd yn ei flaen ac yn ei storio yn fy
$ Tabl bod $ gair yn cael wir.
Wneud.
O, aros.
Wneud.
OK.
>> Dyna'r llwyth () swyddogaeth ddweud mewn PHP.
Yn awr, pam y mae hynny'n gweithio?
A dwi'n fath o twyllo yma.
>> Felly, un, foreach a welsom amser yn fyr diwethaf.
'I jyst yn golygu y gallwch ailadrodd dros amrywiaeth heb trafferthu gyda fi
ac n ac yn ogystal a mwy, a hynny i gyd.
Geiriadur, wrth gwrs, enw'r ffeil, rhywbeth fel mawr neu fach, y ddau
geiriaduron ni ddefnyddiwyd y tro diwethaf.
Ffeil yn swyddogaeth sy'n agor i fyny y testun ffeiliau, yn darllen yn linell wrth linell, a
dwylo chi yn ôl amrywiaeth enfawr, pob un o'r elfennau y mae eu yn
lein o'r ffeil.
Felly dyna cyfuniad o fopen, a fread, ac er bod dolen, a mmap,
a hynny i gyd.
Yn olaf, fel gair yn unig yn golygu bod yn y amrywiol Rydw i'n mynd i gael mynediad at
ar bob fersiwn yn y cylch hwn.
>> Felly, yn fyr, mae hyn yn un leinin yma'n golygu agor y ffeil y mae ei enw yn
geiriadur, y newidyn, ailadrodd dros fesul llinell, a phob tro y byddwch yn cael
llinell, storio mewn gair amrywiol o'r enw, ac yna gwneud rhywbeth gyda gair.
Beth ydw i am ei wneud?
Yr wyf am roi gair i mewn i fy tabl hash.
>> Wel, gallaf roi rhywbeth yn fy hash tabl yn union fel yn C
ddefnyddio cromfachau sgwâr.
Dyma'r enw ar gyfer fy tabl hash.
Rydw i'n mynd i mynegai i mewn i'r hash tabl yn y lleoliad hwn.
Felly nid braced sero, nid braced un.
Quote Braced rhywbeth unquote, beth bynnag y gair hwnnw.
Ac yn union fel y gallai fod gennych yn eich trie gwaith bwrdd hash, 'ch jyst storio
effeithiol yn Boole, ymhlyg neu benodol.
Wneud.
Dw i'n storio gwir werth.
>> Erbyn hyn mae un neu ddau o bethau Im 'yn torri corneli ar yma.
Yn dechnegol, mae mynd i fod yn llinell newydd yn blino, / n, ar ddiwedd y
pob un o'r geiriau hyn.
Felly, mae'n debyg y dylwn alw swyddogaeth PHP a elwir yn chop (), a fydd yn
yn llythrennol torri bod i ffwrdd.
Ac yr wyf angen mewn gwirionedd wneud un peth arall.
Mae'n debyg y dylwn cynyddiad maint ar bob ailadrodd, felly rwy'n cadw golwg
yn fyd-eang o'r hyn ydyw.
Ac yn ddidwyll, ac mae hyn yn un o'r agweddau stupider o PHP, os ydych yn
gan ddefnyddio newidyn byd-eang, mae angen i chi i ddweud yn benodol eich bod.
Felly, yr wyf i'n mynd i deipio mewn gwirionedd yn fyd-eang $ Maint, $ bwrdd byd-eang, ac yn awr
fy swyddogaeth yn gyflawn.
>> Felly, ddim cweit mor syml ag o'r blaen, ond yn ôl pob tebyg yn cymryd llai o amser nag y C
fersiwn hwn, efallai?
OK.
>> Felly nawr gadewch i ni wneud y siec () swyddogaeth.
Gadewch i ni weld os yw hyn o leiaf yn cymryd y o oriau ar ben ei bod wedi cymryd ni yn C. Felly
gadewch i mi fynd yn ei flaen, ac yn datgan gwirio fel swyddogaeth.
Cymryd mewn gair dadl, sydd yn mynd i ddod o sillafu.
Ac yr wyf i'n jyst yn mynd i wirio a yw'r yn dilyn ISSET amrywiol, bwrdd
braced strtolower geiriau -
gadewch i ni gydbwyso fy holl cromfachau -
wedyn yn dychwelyd yn wir.
Arall -
a oedd mewn gwirionedd yn anodd rhan o'r rhaglen hon.
Else, yn dychwelyd ffug.
Wneud.
Dyna siec ().
>> Nawr, pam mae hyn yn gweithio?
Wel, un yr wyf yn pasio mewn gair, sydd yn llinyn.
Dau, rwy'n gwirio tu mewn i'r hash bwrdd, sydd wedi galw $ bwrdd.
Rydw i'n ei orfodi i lythrennau bach drwy ffonio swyddogaeth eithaf tebyg tolower () yn
C, ond mae hyn yn y gair cyfan, Nid yw cymeriad sengl.
Ac os wedi ei osod, mewn geiriau eraill, mae mae gwerth osod, mewn geiriau eraill,
os yw'n wir, yna ie, mae hwn yn air.
Gan fy mod yn ei roi yno gyda llwyth ().
Ac os nad yw, i ddim yn mynd i ddychwelyd ffug.
>> Nawr bod y lleill yn hawdd.
Maint y swyddogaeth (), sut ydw i'n gwneud hyn?
Yr wyf yn y bôn yn dychwelyd $ faint.
Ond yr wyf angen dechnegol gwneud hyn beth blino.
Ac mewn gwirionedd i fyny clywed, roeddwn yn torri un gornel yn ormod.
Fi 'n sylweddol angen i ni wneud $ bwrdd byd-eang.
>> Ond y cael ei ddweud, dadlwytho).
Dadlwytho () yn anhygoel.
Dadlwytho swyddogaeth ().
Sut ydw i'n eisiau i weithredu dadlwytho ()?
Wneud.
OK.
>> Felly dadlwytho (), rheoli cof yn cymryd gofal llwyr am i chi yn
rhywbeth fel PHP a llawer ieithoedd lefel uwch.
Felly, mae hyn yn anhygoel.
Fel pam y uffern wnaethom ni wario y gorffennol wyth wythnos yn ogystal ar ysgrifennu C
yn ôl pob golwg araf iawn, mewn gwirionedd amser cymryd llawer o broblemau gyda degau o oriau
o yn gweithio o dan ein gwregysau?
>> Wel, am un peth, gallai hyn weithio iawn ar gyfer y rhaglenni bach.
Yn sicr sped i fyny fy amser datblygu.
Ond gadewch i ni weld beth fydd yn digwydd yn y byd go iawn.
>> Gadewch i mi fynd i mewn i cyfeiriadur hwn mewn terfynell ffenestr.
Mae sillafu.
Ac yn sylwi wrth fynd heibio, ac efallai eich bod wedi dod ar draws hyn yn broblem a osodwyd
chwech neu broblem a osodwyd saith.
Nid oes yn llym yn rhaid i chi ben ffeiliau PHP gyda. php.
Os byddwch yn rhoi llinell fel 'na un gyntaf yn y brig, mae hynny'n llinell arbennig
o gystrawen sydd yn eu hanfod yn golygu dod o hyd i y rhaglen o'r enw PHP a'i ddefnyddio i
dehongli y ffeil.
Felly, does neb yn gwybod yn iawn bod Rydw i'n cynnal rhaglen PHP.
Gallaf redeg 'i jyst fel pe bai yn rhywbeth a luniwyd ym C.
>> Ond dyma y peth.
A dweud y gwir, gadewch i ni wneud hyn eto.
Dropbox/pset6 /.
Mae sillafu.
OK, 0.44 eiliad.
Mae'n got gyflymach y tro hwn.
>> Nawr, gadewch i ni fynd i mewn i'r fersiwn PHP.
Cyffwrdd 'n glws.
Ond dim ond yn meddwl faint o amser Yr wyf yn arbed ar oriau swyddfa.
OK.
>> Felly 3.59 eiliad, sydd mewn gwirionedd nid yw'n swnio'n gywir chwaith.
Ond mae hynny oherwydd stori hir yn fyr, pan fyddwch yn argraffu allan lawer iawn
o bethau i'r sgrin, bod ei hun yn arafu pethau i lawr.
Yr hyn y mae mewn gwirionedd yn cymryd y CPU yn y offer yn 3.59 eiliad, yn
wahanol i C, a gymerodd 0.44 eiliad yn fwyaf diweddar.
Dyna wir gorchymyn o maint gwahanol.
>> Felly, lle y pris yn dod o?
Pam ei fod mor llawer arafach?
Pam mae PHP perfformio mor wael?
Danielle?
>> GYNULLEIDFA: Nid ydych oedd mewn gwirionedd ddefnyddio tabl hash.
>> DAVID Malan: Doeddwn i ddim wir yn ddefnyddio tabl hash.
Felly, yr wyf yn fath o ddim.
Felly mae'n arae cysylltiadol.
Mae'r rhan fwyaf tebygol os bydd y bobl yn PHP yn wir yn smart, maent yn eu defnyddio o dan y
cwfl tabl hash go iawn ar waith yn rhywbeth fel C neu C + +.
Ond.
Yeah.
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Yeah.
Felly mae gan bob un o'r swyddogaethau ysgrifennais yn awr - mewn gwirionedd, gallwch ddweud bod unwaith eto yn
ychydig yn uwch?
>> GYNULLEIDFA: Mae pob un o'r swyddogaethau a chi wedi cynnwys Mae llawer mwy llawn
gapasiti na -
>> DAVID Malan: Felly dyna wir iawn.
Mae llawer mwy o uwchben ein bod ni'n ddim wir yn gweld trwy ganolbwyntio yn unig ar
dictionary.php, yr wyf newydd ei ysgrifennu.
Ar y llaw arall, mae 'na gyfieithydd cyfan mynd yn y cefndir.
Yn wir, pan yr wyf yn rhedeg y rhaglen hon, mae'n Nid oedd yn rhedeg sero a rhai a luniwyd
gynllunio ar gyfer fy CPU Intel.
Yn hytrach, yr oedd yn rhedeg fesul llinell Cod PHP sy'n edrych yn union
fel rydym yn ei deipio.
Ac felly pryd bynnag y byddwch yn defnyddio iaith dehongli, rydych
mewn gwirionedd yn talu pris hwn.
Mae'n mynd i gymryd peth amser i ddarllen eich ffeil top i'r gwaelod, o'r chwith i'r
dde, ac yna gweithredu pob lein eto ac eto.
>> Nawr mewn gwirionedd, yn enwedig ar y we, gallwch chi mewn gwirionedd yn hwyluso'r broses hon
drwy caching canlyniadau'r Cod PHP yn cael ei dehongli.
Ac mae hynny'n gwneud synnwyr ar y we, gan fod os nad oes gennych un defnyddiwr yn ei gael
mi yma, ond 1,000 neu 10,000 o ddefnyddwyr, yna efallai y tro cyntaf y ffeil yn
mynediad ei fod yn araf, ond ar ôl hynny mae'n llawer cyflymach.
>> Ond mae hyn hefyd, unwaith eto, yn oddi ar masnach.
Ac ar gyfer rhywbeth fel data ymchwil gosod, neu rywbeth mawr fel hyd yn oed
hyn, bydd eich defnyddwyr yn y pen draw yn dechrau teimlo bod arafu.
>> Felly, yn fyr, dehongli ieithoedd yn fawr iawn yn ffasiynol, yn boblogaidd iawn, ac
dweud y gwir, mae'n debyg yr ieithoedd yr ydych Dylai cyrraedd ar gyfer wrth ddatrys problemau
dilyn CS50.
Ond yn sylweddoli faint yr ydych yn wirioneddol cymryd yn ganiataol o dan y cwfl
'n sylweddol y rhai yn y gorffennol nifer o wythnosau yn y hash tablau, a choed, a cheisiau,
sy'n cael eu defnyddio yn y pen draw i mewn gwirionedd gweithredu pethau fel braced agored,
braced sgwâr, y gallwn yn awr ddiolchgar cymryd yn ganiataol.
>> Felly, gadewch i ni edrych yn awr yn y cyd-destun ar y we.
Ac yr wyf yn crybwyll y tro diwethaf y mae criw o superglobals yn PHP fod
Nid yw yn wir yn berthnasol ar y llinell orchymyn.
Eu bod yn fwy perthnasol yn y cyd-destun o ddefnyddio PHP mewn cyd-destun we.
Felly, yn rhedeg PHP ar weinydd y we er mwyn i gynhyrchu pethau fel HTML.
>> Ac rydym yn bwrw golwg ar $ _GET a $ _POST, a dyna lle yn awtomatig defnyddwyr
mewnbwn yn dod i ben i fyny yn syml os byddwch yn cyflwyno ffurfio at ffeil yn dod i ben mewn. php ar y we
gweinydd fel yr offer.
Ond gadewch i ni edrych yn fras ar $ _COOKIE A ​​$ _SESSION.
>> Yn nhermau lleygwr, beth yw cwci fel eich bod yn deall yn y cyd-destun
ddefnyddio'r we?
>> GYNULLEIDFA: Ffeil ar y cyfrifiadur.
>> DAVID Malan: Yeah.
Mae'n ffeil ar gyfrifiadur y defnyddiwr blannwyd gan ba bynnag gwefan
ydych yn digwydd i ymweld.
Felly, pan fyddwch yn mynd i Facebook, pan fyddwch yn mynd i bankofamerica.com, pan fyddwch yn mynd
i google.com, pan fyddwch yn mynd i bron unrhyw gwefan yn y byd y dyddiau hyn,
gan gynnwys cs50.net, mae cwci yn cael ei phlannu ar eich cyfrifiadur, sy'n
naill ai gwerth storio yn RAM yn eich cyfrifiadur er cof eich porwr, neu
weithiau yn wir ffeil storio ar eich disg galed.
>> A beth sy'n nodweddiadol ei storio yn y ffeil Nid yw eich enw defnyddiwr, nad yw eich
cyfrinair, fel arfer nid rhywbeth sensitif oni bai nad yw'r wefan mor
dda gyda'u diogelwch, ond yn hytrach mae'n dynodwr unigryw mawr ymhlith
pethau eraill.
Mae'n LandLine rhif ar hap mawr plannu ar eich gyfrifiadur ond gallwch feddwl amdano fel
fath o stamp llaw rhithwir fel o clwb neu ryw parc adloniant sy'n
yn caniatáu i'r staff, y perchnogion y gwasanaeth, i gofio pwy ydych chi.
Felly, os bydd nifer mawr ar hap yn debyg 12345678, er bod hynny'n amlwg yn
heb fod yn rhy ar hap, meddyliwch am fod y stamp llaw pan fyddwch yn ymweld
facebook.com am y tro cyntaf, maent yn stamp y rhif ar eich llaw.
Ac yna oherwydd eich bod yn siarad HTTP, rydych yn bod yn porwr, ac oherwydd Facebook
yn amlwg yn siarad yr un fath ag ar y we gweinyddwr, mae'r HTTP protocol yn dweud bod
unrhyw adeg rydych wedyn yn ymweld â facebook.com, boed yn ail
yn ddiweddarach, awr yn ddiweddarach, hyd yn oed y diwrnod nesaf, cyn belled â nad ydych wedi yn benodol
logio allan, sydd yn effeithiol yn debyg i olchi eich dwylo.
HTTP yn dweud y dylech gyflwyno eich stamp llaw bob tro y byddwch yn
dychwelyd at y wefan.
>> Beth Facebook felly y yw eu edrych ar y stamp llaw a
maent yn ei ddweud, oh, 123456789.
Nid wyf yn gwybod ar yr olwg gyntaf bod hyn yn yw David Malan yng Nghaergrawnt,
Massachusetts, ond gallant wirio eu cronfa ddata a dweud, oh, y person
ar ei gyfrifiadur rydym yn plannu 123456789 yw David Malan o Gaergrawnt,
Massachusetts.
Gadewch i ni ddangos bod defnyddiwr yna ei broffil dudalen neu ei Newyddion Feed.
>> Ond mae problem yma os yw hyn yn yw sut y we yn wir yn gweithio.
Gadewch i ni edrych ar enghraifft gyflym.
Gadewch i ni mewn gwirionedd yn mynd i ddweud facebook.com.
Ond cyn i ni allai fynd yno, gadewch i mi fynd yn ei flaen ac yn agor i fyny Chrome yn
Arolygydd i lawr yma.
Gadewch i mi edrych ar y tab rhwydwaith.
Ac yn awr gadewch i ni fynd yn ei flaen a theipio yn https://facebook.com.
Ac yr wyf i'n gwneud hynny fel nad ydym yn gweld holl ail-gyfeiriadau a gwastraff y rhai
amser yn edrych trwy y rheiny.
Gadewch i mi daro chofnoda.
>> Mae pob hawl.
Rydym yn gweld criw cyfan o geisiadau.
Fe ddaw Facebook.
Mae criw cyfan o ffeiliau.
Ac yma, fesul fy sôn am latency tro diwethaf, dyna
llawer o geisiadau HTTP.
Ond mae'r un cyntaf yn ôl pob tebyg y mwyaf diddorol.
>> Felly, gadewch i ni sgroliwch i lawr yma, ac 'N annhymerus' chwyddo i mewn mewn eiliad.
Mae hyn yn mynd i fod yn fath o llanast, ond gadewch i ni weld.
Facebook yn anfon ni criw cyfan o bethau.
>> Ond Whoa, yn ddiddorol.
Maent yn plannu nid un, ond mae pedwar stampiau llaw ar fy llaw yma.
Set-cwci, Set-cwci, gosod-cookie, gosod-cwci.
Ac mae ychydig o nodweddion yma.
Mae pob un ohonynt sôn am rai fath o ddod i ben.
Ac mae'n edrych fel Facebook yn gobeithio i gofio i mi tan 2015.
Felly dyna yn ôl pob tebyg erbyn pa bryd y Mae'n rhaid i mi allgofnodi neu eu bod annhymerus 'yn unig
gymryd yn ganiataol fy mod Nid yw dod yn ôl.
Felly dyna mewn gwirionedd gweddus faint o amser.
>> Ac mae rhai eraill yn bethau sy'n mynd ymlaen yma.
Mae'n ymddangos bod y cwci yn rymus ddileu gan ddweud ei fod yn dod i ben yn 1970
cyn cwcis yn bodoli.
Felly mae'r porwr yn unig yn mynd i gymryd yn ganiataol OK, dyna fel
golchi'r dwylo stamp.
>> Ond yn awr pan fydd fy porwr yn gwneud cais dilynol -
gadewch i mi fynd yn ei flaen ac yn gwneud hyn eto ac ail-lwytho.
Nawr gadewch i mi sgrolio yn ôl i'r top cais ac yn mynd i lawr
yma, yn gofyn am penawdau.
Sylwi ar hyn.
Felly, yn awr yr wyf i'n dan nad penawdau ymateb, ond sylwi mae'n dweud cais penawdau.
Ac yn sylwi bod fy porwr fel rhan o ei gais ar ôl taro ail-lwytho wedi
anfon y canlynol o leiaf gwybodaeth.
Heb ei osod-cwci, ond cwci.
Felly mae hwn yn y llinell, y pennawd HTTP felly i siarad, lle mae fy porwr yn fath
o heb fy wybod ei gyflwyno fy llaw ar gyfer yr arolygiad Facebook.
>> Felly gall cwcis hyn fod yn a ddefnyddir wedyn ar gyfer yr hyn?
I gofio pwy ydych chi, neu gofio sut sawl gwaith ydych wedi bod yno, neu
unrhyw beth mewn gwirionedd.
>> Felly dyma counter.php.
A gadewch i mi chwyddo i mewn ar y ffont.
A phob tro y byddaf yn ail-lwytho'r dudalen hon, rhybudd mae'n cofio faint o weithiau
Rydw i wedi bod yno.
Wel, nid yw hynny'n bob un sy'n drawiadol.
Gadewch i 'jyst yn cau tab hynny, ac yn awr gadewch i ni fynd yn ôl at
http://localhost/counter.php.
>> O, mae hynny'n ddiddorol.
Mae'n dal i cofio, hyd yn oed er fy mod yn cau'r tab.
Ac yn ddidwyll, os wyf yn cau'r porwr, os cânt eu gweithredu yn y ffordd iawn, yr wyf yn
Gallai dal i gofio bod defnyddiwr hwn yn sy'n ef neu hi oedd y tro cyntaf, a
dim ond unwaith y byddaf yn mynd i'r ddewislen Chrome, sy'n dros yma yma, ac ewch i
Hanes, a chliciwch Clear Pori Data, gan y gall rhai ohonoch ei gael yn y
yn y gorffennol, dim ond wedyn y bydd eich cwcis mewn gwirionedd yn cael eu dileu yn ystod y we
datblygiad.
>> Felly, os ydym yn mynd -
gadewch i ni gau i fyny gedit yma.
Ac os ydym yn mynd yn awr at y ffeil hon.
Gadewch i mi fynd i mewn i'n vhosts / localhost / y cyhoedd, a gadewch i mi wneud
counter.php.
Hysbysiad bod hwn yn 'n bert rhaglen syml.
Mae'n wefan eithaf syml.
>> Felly ben y ffeil yn unig sylwadau.
Ond dyma llinell newydd y gallwch wedi gweld eisoes mewn gosod-p saith,
session_start ().
Mae hon yn llinell o god PHP sy'n yn y bôn yn dweud wrth y gweinydd gwe, gwneud
yn siwr i gael gwared dwylo a gwneud yn siwr i wirio stampiau llaw.
Dyna'r cyfan llinell sy'n gwneud, ac mae'n gwneud yr holl broses honno i ni.
Yna, yn sylwi fy mod i wedi jyst got dwy gangen yma.
Os yw'r allwedd cownter tu mewn hon newidyn byd-eang arbennig a elwir yn
$ _SESSION Ei osod - mewn geiriau eraill, os oes rhywfaint o werth yno -
gadewch i ni ei gael ac yn ei storio mewn leol amrywiol o'r enw $ cownter.
Else, gadewch i ni neilltuo $ cownter gwerth diofyn o 0.
>> Nawr dyma un agwedd ar PHP sy'n yn fendith ac yn felltith.
PHP yn ychydig yn flêr.
Felly, tra yn C, yr hyn y byddai'r cwmpas y cownter wedi bod yn
naill ai yma neu yma?
>> Byddai wedi bod yn cyfyngu i braces cyrliog hynny.
Dyfalu beth?
Yn PHP, mae'n bodoli hyd yn oed y tu allan i'r rhai braces cyrliog, yma, ac yma,
ac yma, ac yma, a hyd yn oed i lawr isod.
Felly, yr wyf yn dweud hyn yn fendith yn yr ystyr nad oes rhaid i chi feddwl fel
galed fel y gwnaethom wythnosau yn ôl.
Ond mae hefyd yn dipyn o felltith yn y ni waeth ble rydych yn defnyddio amrywiol o ran
PHP, o leiaf mewn rhaglen fel hyn, mae'n fyd-eang hygyrch i
gwell neu er gwaeth.
Felly, rhaid i chi gadw mewn cof nawr bod efallai na fydd eich newidynnau heb eu diffinio.
Efallai eich bod wedi diffinio nhw i rywle arall.
>> Ond beth ydw i'n mynd i'w wneud yn y pen draw?
Rydw i'n mynd i storio y tu mewn y byd-eang amrywiol fel gwerth y
cownter yr allwedd canlyniad gwneud cownter ac 1.
Felly, mae hyn yn unig yw rhifyddeg sy'n gwneud y
incrementation y cownter.
Ac mae'r ffaith fy mod yn storio fod gwerth yn ôl i mewn yma yw ei olygu i
hanfod diweddaru'r gronfa ddata i cofiwch fod 123456789 defnyddiwr wedi bod yn
yma ddwy waith.
A phan wyf yn ei wneud eto y tro nesaf y byddaf yn ail-lwytho y dudalen, mae'n mynd i wirio
fy stamp llaw a dweud, oh, 123456789 defnyddiwr yn awr
bod yma dair gwaith.
>> Ac felly beth PHP a thebyg ieithoedd yn ei wneud i ni yw eu bod yn figuring
sut a ble ac am ba hyd i storio gwerthoedd yn y arbennig
superglobal.
Ac mae hyn yn superglobal y tro nesaf y byddaf yn ewch i'r dudalen hon yn fath o magically
cyn-boblog, yn llawn gwerthoedd sy'n oedd y tro diwethaf i chi ymweld â hi,
a oedd hynny'n eiliad yn ôl, yr wythnos yn ôl, neu yn 2013, ac rydym yn siarad yn awr
tua 2015.
PHP a 'r gweinyddwr gwe cymryd gofal hynny i gyd i chi.
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Newidynnau yn PHP yn yn y bôn bob amser yn fyd-eang oni bai eich
eu datgan tu mewn i swyddogaeth, ac yna maent yn lleol i
y swyddogaeth yn unig.
Ond oherwydd nid wyf wedi ysgrifennu unrhyw swyddogaethau, maent yn awr yn effeithiol
byd-eang drwy gydol fy holl ffeiliau yma.
>> GYNULLEIDFA: A oes ffordd i'w gwneud yn lleol?
>> DAVID Malan: A oes unrhyw ffordd i'w gwneud yn lleol?
Dim ond drwy eu lapio mewn i swyddogaethau.
Pa yn y fersiwn ddiweddaraf o PHP, gallwch wneud hyn gyda
swyddogaeth dienw.
Ond yn fwy ar hynny yn y nghyd-destun JavaScript.
Ond yr ateb byr yw na.
Ateb hwy yn gadarnhaol.
Nice.
Cwestiwn cwis Da.
Mae pob hawl.
>> Felly, yn olaf, y dudalen ei hun yn mewn gwirionedd yn eithaf syml.
Sylwch fod ar ôl i mi adael modd PHP, dwyn i gof bod yr holl bethau yma i lawr
isod yn unig yn mynd i gael tafod allan crai i'r porwr.
Sy'n iawn, oherwydd yr wyf yn awyddus i anfon y defnyddiwr rhai HTML, ond dwi ddim eisiau
i ddiweddaru bod HTML ddeinamig.
Ac un ffordd y gallaf wneud hyn yw i ddatrys o yn gyflym iawn ollwng yn ôl i PHP
modd, defnyddiwch marc cwestiwn braced agored arwydd cyfartal, ac yna allbwn gwerth
y cownter.
>> Neu os mae hyn yn edrych ychydig yn cryptig, mae hyn yn arwydd cyfartal mewn gwirionedd dim ond rhai
siwgr cystrawennol ar gyfer hyn printf ($ cownter).
Ond dweud y gwir, dyna dim ond ychydig yn hyll ac ychydig yn blino i deipio.
Felly PHP iawn 'n glws yn cynnig nodwedd hon lle gallwch ddweud yn fwy
gryno yn yr un modd.
>> Felly beth sy'n mynd ymlaen o dan y cwfl?
Gadewch i ni yn gyflym edrych ar y rhwydwaith tab yma am counter.php.
A gadewch i mi fynd yn ei flaen ac yn gyntaf gadewch i ni yn glir eich cwcis.
Data pori clir gadewch i ni ers y dechrau o amser.
Nawr, gadewch i ni fynd yn ôl dros yma.
Nawr, gadewch i ni ail-lwytho'r dudalen.
A dwi'n ôl ar sero.
Gan fod fy stamp llaw wedi cael ei olchi, Yr wyf yn awr yn cael cwci newydd.
>> Yn wir, os wyf yn edrych ar y tab rhwydwaith a edrych ar y penawdau ymateb, sylwch
bod y peiriant yn cael ei anfon i mi cwci ei enw braidd yn
fympwyol, ond yn fath o rhesymol, PHPSESSID.
Ac mae'n anfon fy hyn yn wir rhif ar hap mawr.
Dyw hi ddim yn eithaf rhif.
Dyw hi ddim yn eithaf hecsadegol.
Mae'n rhyw fath o linyn alffaniwmerig, ond mae'n debyg ei fod yn hap.
A dyna yw'r stamp llaw er mwyn siarad a Im 'yn cyfeirio at.
>> Yn y cyfamser, os byddaf yn cliciwch ail-lwytho ac yna edrych ar yr ail linell ar gyfer fy ail
cais, yn sylwi nawr bod fy nghais penawdau yn cynnwys PHPSESSID hafal i hyn,
Nid yw gosod-cwci, ond dim ond cwci.
Ac mae hynny'n gyflwyniad fy porwr o fy stamp llaw.
>> Felly, yn awr fel teaser, a byddwn yn siarad mwy am hyn mewn wythnos neu ddwy, ond
ym mha ffordd y mae hyn yn gwneud i chi , eich cyfrif Facebook agored i niwed
agored i niwed, ac eraill o'r fath cyfrifon agored i niwed?
>> GYNULLEIDFA: Os oes gan rywun eich cwci.
>> DAVID Malan: Yeah, os bydd rhywun yn Mae gan eich cwci.
Yr wyf yn golygu wirioneddol, yn debyg iawn i rai ohonoch efallai wedi rhoi cynnig ar fel clwb neu
parc difyrion, os ydych yn ceisio rywbeth fel hyn i gopïo'r stamp, er
yn ôl i law rhywun arall, ac yna ef neu hi yn ei gyflwyno fel
eu pen eu hunain, os yw'n mewn gwirionedd yn edrych union yr un fath, 123456789, yna y we
gweinydd yn ymddangos yn unig yn mynd i ymddiried bod defnyddiwr, rydych yn.
>> Ac mae hyn yn wir yn hanfodol bygythiad unrhyw tro y byddwch yn defnyddio cwcis
oherwydd pe bai rhywun yn unig Negeseuon ebost twyllodrus felly siarad â'ch cwci, mae'r ffigurau hyn y mae'n ei
yw, naill ai drwy wirioneddol gopïo ei drwy edrych ar eich cyfrifiadur
a bod fel, OK.
Cwci David yw JJ3JIK ac yn y blaen, ac yna eu bod yn ddigon craff i wybod
sut i ddatrys y llaw anfon yr cwci o borwr neu o
rhaglen y maent yn ysgrifennu, gallent yn llwyr logio i mewn i wefan â chi.
Nid yw'n sy'n anodd i esgus bod yn rhywun arall oni bai ein bod ailymweld p-set
dau, a gyflwynodd beth?
>> GYNULLEIDFA: cryptograffeg.
>> DAVID Malan: Ychydig ychydig o cryptograffeg.
Cryptograffeg syml, o leiaf yn y safon argraffiad, ond crypto
serch hynny.
lai.
Felly, mae'n troi allan os byddwch yn amgryptio pob un penawdau hyn gan ddefnyddio rhywbeth yr ydych
Efallai yn gwybod mwy cyfarwydd fel SSL, haen soced ddiogel, neu URLs https://,
Yna yr holl bethau hyn, rydym wedi bod yn glancing yn mewn gwirionedd amgryptio,
sy'n golygu ei fod fel chi Ni ellir darllen y stamp llaw.
Dim ond gall facebook.com, neu google.com, neu yn yr achos hwn, gall yr offer
darllen y stamp llaw.
>> Yn drasig, fodd bynnag, ac unwaith eto, mae hyn yn yn rhy priodol gyda'r stwff NSA
yn ddiweddar, hyd yn oed SSL yn breakable.
Ac mae'n mewn gwirionedd nad caled hyd yn oed agenna amgryptio.
Nid yn gymaint trwy gracio y amgryptio, ond drwy twyllo'r y
porwr i decrypting y data cyn pryd.
Ond unwaith eto, byddwn yn tynnu eich â hynny cyn bo hir.
Am y tro, dim ond bod ofn.
Mae'n drasig math o wir.
>> Mae pob hawl.
Felly, lle mae hyn yn awr yn gadael i ni?
Wel, gadewch i ni wneud hyn.
Gadewch i ni fynd yn ei flaen ac yn cymryd cyflym ymlid cyn inni gymryd egwyl.
Ac yr wyf yn meddwl y byddwn yn oedi'n ychydig yn hirach heddiw, ond yr ydym yn mynd i blymio i mewn i
, a oedd yn rhywbeth newydd sbon ac yn rhywiol yn hogi eich awydd am hyd yn oed mwy.
Felly dyna'r ymlid.
>> Felly SQL, rydym yn dechrau siarad am erioed felly yn fyr y tro diwethaf.
Byddwch yn wir yn cael eich dwylo budr gyda rhywfaint ohono yn gosod-t saith.
Ac o ran lleygwr, beth sydd SQL -
S-Q-L -
ei wneud i chi?
Beth yw hwn?
Yeah.
>> GYNULLEIDFA: Gadewch i chi data mynediad.
>> DAVID Malan: Yeah.
Mae'n gadewch i chi data mynediad mewn cronfa ddata.
Strwythuredig Ymholiad Iaith.
Ac mae hyn yn ei hanfod yn iaith raglennu.
Mae nodweddion ohoni sydd ni fyddwn yn hyd yn oed ddefnyddio yn y dosbarth.
Ond gallwch yn effeithiol diffinio swyddogaethau.
Maent yn galw eu storio gweithdrefnau SQL.
Ond byddwn yn ei gadw eithaf syml a dim ond ddefnyddio ar gyfer rhai gweithrediadau sylfaenol
fel dewis data, mewnosod data, diweddaru data, a dileu data.
>> A allwch chi wir yn meddwl cronfa ddata, fel cronfa ddata SQL, fel dim ond
yn Microsoft Excel.
Oherwydd bod SQL yn cyfeirio at perthynol cronfa ddata, lle
perthynas yn unig yn golygu tablau.
Rhesi a cholofnau.
Felly, unrhyw beth y gallwch ei roi mewn taenlen fel hyn neu Google Docs,
gallech roi i mewn i gronfa ddata SQL drwy ddatgan tabl.
>> Nawr, sut yr ydych mewn gwirionedd yn cael mynediad wybodaeth honno?
Wel, gyda gorchmynion neu ymholiadau fel hyn.
SELECT, RHOWCH, DIWEDDARIAD, ac DILEU.
Ac ar gyfer y rhan fwyaf, y rhai yw'r pedwar yn unig gynhwysion bydd angen i chi
gwneud rhywbeth eithaf rymus yn broblem a osodwyd saith.
>> Nawr yn ôl yn y dydd, byddai chi mewn gwirionedd rhyngweithio gyda chronfa ddata mewn
ffenestr terfynell du a gwyn yn yn brydlon amrantu fel hyn.
A'r gronfa ddata rydym yn rhedeg ar y Gelwir teclyn yn MySQL, sy'n
injan gronfa ddata ffynhonnell am ddim ac yn agored.
Os ydych yn Google a darllen y Wicipedia erthygl hon, byddwch yn gwybod bod yr enw yn
ychydig o newid ar gyfer rhai fersiynau o Linux.
Cronfa ddata maria mewn gwirionedd fforc fel petai o MySQL.
>> Byr stori hir, prynu Oracle MySQL.
Oracle yn gwmni mawr.
Mae pobl wedi bod yn poeni y byddai'n parhau i fod yn ffynhonnell mor agored mwyach,
felly mae hyn yn unig yw copi o MySQL sy'n dal i fod yn rhad ac am ddim, ffynhonnell agored o hyd, a
gosod yn Fedora Linux yn ddiofyn.
>> Ond mae hyn yn fath o boen yn y gwddf i gael gyfarwydd â
gronfa ddata y ffordd hon.
Felly, rydym yn cynnwys yn y peiriant CS50 offeryn ffynhonnell agored am ddim o'r enw
phpMyAdmin.
Dim ond cyd-ddigwyddiad bod mae'n ysgrifennu yn PHP.
Does dim sylfaenol angen ar gyfer PHP yma.
Ond mae hyn yn unig yw offeryn ar y we sy'n rydym yn llwytho i lawr rhad ac am ddim, gosod yn
yr offer, sy'n ein galluogi i gael rhyngwyneb defnyddiwr graffigol ag ef
i edrych ar y set-p saith cronfa ddata gyda i greu cronfeydd data newydd,
dweud ar gyfer eich prosiect terfynol hun os ydych wedi fel, yn y pen draw yn creu
gwefannau deinamig fel CS50 Cyllid sy'n eich galluogi i holi data a
ddiweddaru data ddynamig.
>> Nad ydych yn mynd i gael i ddefnyddio dim ond ffeil testun syml neu CSV.
Alli 'n weithredol defnyddio cronfa ddata smart rhaglen er mwyn i chi gyflawni mwy
ymholiadau soffistigedig na dim ond darllen drwy bopeth llinol.
>> Felly, er enghraifft, mae hyn yn hyn yr ydym yn rhoi chi allan o'r blwch ar gyfer set-t saith.
Mae hwn yn tabl gyda mae'n debyg o leiaf dair colofn, ac un ohonynt yw
enw defnyddiwr, ac un ohonynt yw hash, a'r llall o'r rhain yw adnabod.
>> Ond y peth diddorol, a dim ond i tynnu sylw at un meddwl yma, enw defnyddiwr
yn ôl pob tebyg eisoes yn unigryw, dde?
Yr wyf yn golygu, y rhan fwyaf o unrhyw wefan, os oes gennych enw defnyddiwr, mae
Ni all fod yn ddau Caesars.
Ni ellir cael dau malans.
Ni ellir cael dau jharvards.
Mae ei unigryw.
Fel arall, nid ydynt yn gwybod pa jharvard ydyw mewn gwirionedd.
Felly, yr hyn a allai fod yn gymhelliant i hefyd cael drydedd golofn ar y chwith
yno a elwir yn ID, sy'n edrych fel nifer sy'n un modd unigryw?
Mae'n teimlo ychydig yn ddi-waith i mi ar yr olwg gyntaf.
Pam y gallai fod yn gymhellol i gael nid yn unig enwau defnyddwyr unigryw,
ond hefyd rhifau unigryw?
>> GYNULLEIDFA: Gallent gael yr un cyfrinair.
>> DAVID Malan: Efallai y bydd pobl yn cael yr un cyfrinair, yn sicr.
Gallai hynny ddigwydd gwbl.
Ond os oes ganddynt enw defnyddiwr unigryw hwn, yr wyf yn fyddai'n dadlau nad yw hynny'n wir
mater, oherwydd os ydynt teipio eu enw defnyddiwr, dim ond angen i mi wirio eu
cyfrinair, eu hash o hynny.
Pam arall?
>> GYNULLEIDFA: Hymprydiwr chwilio.
>> DAVID Malan: chwilio gyflymach.
Pam?
>> GYNULLEIDFA: ID yn unig un.
>> DAVID Malan: ID Dim ond un cymeriad, neu i fod yn fwy manwl gywir, mae'n LandLine rhif,
felly mae'n debyg 32 darnau neu rywbeth fel 'na.
Er bod y enw defnyddiwr, mae'n debyg Jason I fyny Hirschhorn yno yn fath o
chwerthinllyd hir, ac mae'n mynd i mynd â fi lawer mwy o amser i linyn
cymharu H-I-R-S-C-H-H-O-R-N, ac efallai a / 0 neu rywbeth fel 'na, er mwyn
i chwilio am Jason, yn hytrach na dim ond gan ddweud rhowch rif defnyddiwr dau mi.
Dyna 32 o ddarnau.
Mae'n INT unigol sy'n rhaid i chi gymharu.
Ac yn wir, dyna pam mae cronfeydd data yn union yn tueddu i neilltuo IDs unigryw i
rhesi ynddynt.
>> Nawr pa fathau data eraill sydd heblaw INT ac i bob golwg
llinynnau fel hyn?
Wel, i fod yn fwy priodol, Cronfeydd data SQL, fel
MySQL, rhaid caeau CHAR.
Ac torgoch ychydig yn gamarweiniol Nid yw CHAR sengl.
Mae cae CHAR mewn cronfa ddata MySQL yn un neu fwy o gymeriadau, ond mae'n
nifer penodol o gymeriadau.
>> Felly, er enghraifft, os byddaf yn mynd drosodd i phpMyAdmin oherwydd efallai y byddwch yn barod, neu
yn fuan bydd problem yn gosod saith, ac yr wyf yn mynd i fy gronfa ddata, a dim ond am hwyl,
gadewch i greu tabl newydd o'r enw profi gyda dim ond dwy golofn.
'N annhymerus' yna cliciwch Go.
A bydd hyn yn dod yn eithaf cyfarwydd, yn enwedig wrth i chi tincer
o gwmpas ar eich pen eich hun.
Yma, efallai y byddwn yn teipio adnabod i greu tabl newydd o'r math INT.
Ond yma efallai y byddwn deipio enw defnyddiwr i ail-greu y tabl hwnnw yn gynharach.
Ac yn sylwi gen i criw cyfan o fathau i ddewis o'u plith.
>> Ac mae hyn hefyd dyna pam phpMyAdmin yn fath o 'n glws.
Mae'n fath o hunan-addysgu yn eich bod gall dim ond math o bwynt, a chliciwch, a
edrych ar bwydlenni dropdown, a chasglu o bod yr hyn bwerau SQL yn rhoi i chi.
>> Ac yn wir, os byddaf yn dewis CHAR, byddaf wedyn yn rhaid i nodi hyd, na sut
llawer o werthoedd, faint o chars.
Gwerthoedd mor gyffredin iawn yw pethau fel 255, ond mae hynny'n ychydig yn hir.
Fel arfer yn wyth am enw defnyddiwr.
Ond mae hynny'n ychydig bach y dyddiau hyn.
Felly, mae hyn yn benderfyniad dylunio.
A yw'n 8 nod max, 32, 255, 1,000?
Mae'n wir i fyny i chi.
Ond cae CHAR yn nifer penodedig.
Felly dewiswch rhy ychydig ac rydych yn fath o sgriwio os ydych am enw defnyddiwr hirach.
Dewiswch gormod o a beth sy'n anfantais?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Mae'n LandLine wastraffus.
Yn union fel yn C, os oes gennych fwy darn o gof nag sydd ei angen, rydych yn
dim ond gwastraffu amser ac yn gwastraffu gofod.
Felly, fel dewis arall, yn bodoli VARCHAR, sy'n datrys y broblem hon drwy
trin hyd nid fel hyd penodol, ond fel uchafswm hyd, a defnyddio
nifer amrywiol o chars, sydd wedyn yn yn tueddu i ddefnyddio dim ond cymaint o chars ag y byddwch yn
ei angen mewn gwirionedd.
Mae hynny'n swnio'n berffaith.
>> Pam nad ydym yn cael gwared ar y Data CHAR deipio wedyn?
Beth allai fod yn anfantais o ddefnyddio VARCHARs, sy'n swnio'n
fel ei fod yn ennill neis?
Yeah?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: OK, yn dda.
Felly, os yw pob un eich data yn yr un hyd, beth yw'r pryder?
>> GYNULLEIDFA: Oherwydd eich bod yn gwastraffu data trwy ddweud wrthynt i gyd.
>> DAVID Malan: Felly, os eich holl ddata yn yr un hyd, fodd bynnag, byddwn yn dadlau
bod bennu uchafswm hyd ar VARCHAR yn wahanol i
pennu hyd penodol ar CHAR os eich bod yn gwybod y rhif hwnnw ymlaen llaw.
Ond mae yn wir, ac 'n annhymerus' math o darn o'r ateb hwnnw y realiti
bod yna dal i fod yn max, a allai fod yn boen, yn enwedig os ydych yn
yn dod ar draws enw person sy'n anarferol o hir na wnaethoch
rhagweld.
Ac mae hefyd ychydig yn llai effeithlon i chwilio mewn gwirionedd ar VARCHARs fel
hytrach na chars chwilio, yn enwedig ar gyfer tablau hir sy'n cael llawer ac
llawer o ddata.
Felly yma hefyd, thematig eto dim dewis amlwg.
>> Felly, dim ond i roi ymdeimlad o eraill yr ydych yn mathau o ddata a allai fod o ddiddordeb
naill ai ar gyfer gosod-t saith neu mewn y dyfodol, mae INT.
Mae BIGINT, a oedd yn yn debyg hir iawn.
Mae'n tueddu i fod yn 64 ddarnau.
Mae degol, gyda degol a byddwch yn gweld yn y broblem set, sy'n llawer
ateb glanach i'r problemau yr ydym yn a gafwyd gyda arnofio ac fel y bo'r angen
bwynt anfanyldeb.
Ac yna mae DyddiadAmser.
Mae llythrennol math data sydd wedi i edrych fel y flwyddyn, mis, diwrnod,
ac awr, munud, ac yn ail.
>> Ond mae cronfeydd data SQL hefyd pethau byddwn yn galw mynegeion.
A mynegai yn rhywbeth yr ydych nodi wrth greu y tabl i
wneud y chwiliadau a gweithrediadau eraill yn fwy effeithlon.
Yn benodol, mae rhywbeth a elwir yn y mynegai CYNRADD chi a allai
datgan fel a ganlyn.
>> Gwnaethom hyn i chi gyda'r tabl defnyddwyr yr ydym yn ei roi i chi.
Ond sylwi os wyf yn ail-greu â llaw y tabl defnyddwyr yma yn rhoi
ei fod yn enw o ddefnyddwyr.
Rwyf eisoes penodedig adnabod.
Yr wyf yn benodol INT.
Yr wyf yn benodol enw defnyddiwr gyda uchafswm 32 nod.
Ond os ydym yn cadw sgrolio yn y deg ffenestr o led, rhybudd yna
criw o bethau eraill y gallaf bennu.
>> Un, gallaf nodi priodoleddau fel, eich bod yn gwybod beth, mae hyn yn
Dylai INT fod HEB EI ARWYDDO.
Nid wyf am rifau negyddol, felly gadewch i ni ei gwneud yn HEB EI ARWYDDO.
Nid Null yn berthnasol yma oherwydd Dwi ddim am i bob defnyddiwr i
gael rhif unigryw.
Dydw i ddim am iddo fod null.
>> Ond mae hyn yn ddiddorol.
Gallaf nodi bod adnabod yn naill ai'r allwedd gynradd o'r gronfa ddata hon, neu ei fod yn
unigryw, neu ei fod yn mynegeio, neu destun llawn.
Felly, ar gyfer dibenion heddiw, stori hir byr, PRIMARY yn golygu y bydd hyn yn
fod yn gysyniadol ac yn dechnegol y maes yr ydym yn eu defnyddio i unigryw
adnabod defnyddwyr.
>> Felly, pan fyddwn yn edrych i fyny i ddefnyddwyr, mae hyn yn fath o addewid i edrych i fyny yn bennaf gan
y dynodwr unigryw.
A bydd y gronfa ddata yn sicrhau, os ydych yn gael rhif defnyddiwr 3, ni allwch
gorfforol mewnosod defnyddiwr arall â'r un rhif 3.
Bydd y gronfa ddata yn unig wrthod i arbed eich newidiadau.
Sy'n beth da, oherwydd eich bod yn gallu amddiffyn eich hun rhag eich hun. hunan
>> Fel arall, enw defnyddiwr.
Felly, yr ail res, galw i gof, yn y maes enw defnyddiwr.
Felly, yr ail res yma yw enw defnyddiwr, fel y gwnaethom ar y pellaf ar y chwith yno.
>> Felly, beth arall y gallwn am y manylion?
Dydw i ddim yn caniatáu, yn ôl SQL, i nodi dau allweddi cynradd.
gallwch nodi allwedd ar y cyd lle rydych yn edrych ar y ddau faes, ond nid ydynt yn gallu
unigol fod yn allweddi cynradd.
Felly dyna allan o'r cwestiwn.
Felly, y gallai yr wyf am i ddewis?
>> Wel, UNIGRYW yn debyg o ran ysbryd i allwedd gynradd lle rydych yn nodi hyn
Bydd y maes yn unigryw, ond mae'n ddim yn mynd i fod yr un
Rwy'n defnyddio drwy'r amser.
Ac nid ydym yn mynd i ddefnyddio'r un bob yr amser ar gyfer yr hyn reswm eto?
Mae'n arafach o bosibl os mae'n enw defnyddiwr hir.
Dim ond yn wastraff amser.
>> MYNEGAI, yn y cyfamser, yn nodi ei fod yn ddim yn mynd i fod yn unigryw, ond hoffwn
i chi weithio eich hud o dan y cwfl i wneud yn gyflymach i mi
chwilio ar y maes hwn.
Felly mae hyn mae'n debyg nad yn berthnasol yma.
Am enw defnyddiwr, byddwn i'n dadlau bod UNIGRYW yn ateb da.
Ond mae'n debyg ein bod yn gwneud defnyddwyr yn fwy diddorol na dim ond enwau defnyddwyr,
hashes, a rhifau adnabod.
Beth pe baem yn rhoi pobl enwau llawn?
Beth pe baem yn rhoi cyfeiriadau iddynt a data arall amdanynt?
>> Wel, os ydych yn nodi bod colofn mewn cronfa ddata yn cael ei mynegeio, mae hynny'n golygu bod
MySQL, neu Oracle, neu beth bynnag cronfa ddata ydych yn defnyddio, weithio ei hud
ac yn defnyddio rhyw fath o ddata ffansi strwythur fel coeden, neu trie, neu
tabl hash, neu rywbeth i warantu bod pan fyddwch yn chwilio am ddata gan ddefnyddio
dewis ar y maes arbennig hwnnw -
ddangos i mi fel pawb bod yn byw ar Stryd Rhydychen.
Mae ymholiad fel 'na.
Os ydych chi wedi nodi o flaen llaw y ydych chi eisiau mynegai ar y maes hwnnw, y
Bydd chwiliadau yn llawer, llawer cyflymach.
>> Os nad ydych yn pennu mynegai, y gorau gallwch ei wneud yw chwiliad llinol os
nid yw'n cael ei datrys.
Ond os eich bod yn nodi MYNEGAI, y smart pobl sydd wedi gwneud y gronfa ddata -
pobl fel chi sy'n awr yn gwybod coed a ceisiau a thablau hash -
Bydd adeiladu ddata o'r fath yn awtomatig strwythur RAM i wneud yn siŵr bod
chwiliadau hynny yn llawer cyflymach.
>> Testun llawn yn y cyfamser yn debyg o ran ysbryd, ond yn caniatáu i chi wneud nod-chwiliwr
chwiliadau, fel dangoswch i mi bawb a yn byw ar strydoedd sy'n dechrau gyda'r
Llythyr O am ba bynnag reswm.
Gallwch wneud chwiliadau nod-chwiliwr fel 'na.
Neu, pethau fwy cymhellol fel sioe mi pawb sydd â'r gair -
ddangos i mi i bawb y mae ei enw yn dechrau gyda llythyr penodol.
Gallwch chwilio am eiriau allweddol yn y modd hwn.
Mae pob hawl.
>> Felly, mae cyfleoedd dylunio yno o bosibl.
Mae eraill sy'n 'n annhymerus' chwifio fy nwylo ar.
Mae'n troi allan y gallwch gael gwahanol beiriannau storio.
Ac mae hyn yn fwy dirgel nag sydd ei angen yn sicr ar gyfer datrys gosod saith.
Yn ddiofyn, rydych guys yn defnyddio rywbeth o'r enw InnoDB.
Byddwch yn gweld sôn am hyn yn rhywle yn rhyngwyneb phpMyAdmin mwyaf tebygol.
Ond yn gwybod bod yna dylunio eraill penderfyniadau sydd o botensial
diddordeb yn dod prosiectau terfynol os byddwch yn gwneud rhywbeth ar y we.
>> Ond gadewch i ni wneud hyn.
Gadewch i ni fynd yn ei flaen ac yn rhoi hyn ar yr sgrîn fel ymlid ar gyfer stori
eich cynnwys chi, a roommate, a gwydraid o laeth.
Gadewch i ni gymryd dau funud neu felly dorri yma.
Ac os gallwch ffon o gwmpas, gadewch i ni ddod yn ôl, yn edrych ychydig yn fwy yn SQL, a
yna ychydig o JavaScript gyda wyth mewn cof set-t.
>> Mae pob hawl.
Felly, gadewch i ni fynd i feddwl am achos cornel a all godi yn hawdd iawn
yng nghyd-destun defnyddio cronfa ddata, neu dweud y gwir, hyd yn oed gan ddefnyddio pethau byd go iawn
fel ATM i gael arian.
Felly dyma oergell.
Gadewch i ni dybio eich bod wedi cael un hefyd yn eich dorm neu eich tŷ.
A oes gennych chi un roommate, ac mae'r ddau ydych yn wir yn hoffi llaeth er enghraifft.
>> Felly, byddwch yn dod adref o ddosbarth un diwrnod.
Nad yw ef neu hi'n eto ôl.
I chi agor yr oergell.
Ydych wir eisiau gwydraid mawr o laeth.
Does dim llaeth.
Felly, beth ydych chi'n ei wneud?
Rydych yn cau'r oergell.
Chi cydio eich allweddi.
Rydych yn mynd allan i'r sgwâr.
A ydych yn mynd i mewn lein yn CGG at y rhai pethau hunan ddesg dalu, sydd bob amser yn
cymryd mwy o amser nag yn cael arianwyr.
Anyhow.
>> Felly, yna, yn y cyfamser, dot dot dot, eich roommate yn dod adref ac ef neu hi
yn yr un modd mae hankering ar gyfer rhai llaeth.
Felly, ef neu hi yn agor yr oergell, yn edrych y tu mewn, a oh, damn.
Dim llaeth.
Felly, ef neu hi yn bennaeth allan, yn digwydd i fynd i'r CVS arall, a oedd ond yn
bloc i ffwrdd am ryw reswm, a'i fod mae'n cael yn unol i brynu ychydig o laeth.
>> Yn y cyfamser, byddwch yn dod adref, ef neu mae hi'n dod adref, a beth
chi yn y pen draw gael?
Dwywaith cymaint o laeth.
Ond nad ydych yn wir yn hoffi llaeth bod llawer.
Felly, nawr eich bod yn cael cymaint o laeth sydd bellach yn un ohonynt yn unig yn mynd i fynd yn sur
yn y pen draw.
Felly, mae hyn yn broblem yn wael iawn.
Iawn?
>> Felly, beth sydd wedi digwydd?
Felly y bôn, mae hyn yn fath am enghraifft chwerthinllyd.
Ond o dan y cwfl, yr hyn yr ydym wedi cael digwydd yma yn y ddau chi wedi gwirio
gyflwr rhai darn o cof, yr oergell.
Mae'r ddau chi wedi gwirio y wladwriaeth rhai amrywiol.
Ddau ohonoch tynnodd gasgliad eich bod yna wedi gweithredu ar.
Ond yn anffodus, tra bydd eich roommate oedd yn y siop, cyflwr y
amrywiol newid, ef neu hi yn dod yn ôl ac yn awr yn awyddus i newid y wladwriaeth, ond
mae eisoes wedi cael ei newid ar iddo ef neu hi.
Ac wrth gwrs, ni fyddai ef neu hi wedi mynd i'r siop os ydynt yn gwybod
eich bod yn barod ar y ffordd.
>> Felly, yn y byd go iawn, sut allech chi osgoi'r broblem hon, gan dybio eich bod wedi
oergell, mae gennych roommate, ac rydych mewn gwirionedd yn hoffi llaeth?
>> GYNULLEIDFA: Cyfathrebu.
>> DAVID Malan: Cyfathrebu.
OK.
Ond sut y byddwch yn cyfathrebu?
>> GYNULLEIDFA: Gadewch nodyn.
>> DAVID Malan: Gadewch nodyn, dde?
Bob amser yn gadael nodyn, ar gyfer cefnogwyr y sioe.
Mae pob hawl, felly bob amser yn gadael nodyn, neu rhoi wirioneddol fel clo neu rywbeth
ar yr oergell sy'n cadw eich roommate rhag archwilio cyflwr
newidyn hwnnw.
>> Yn awr, pam y gallai hyn fod yn germane i problem set saith, neu i ATM.
Wel, dychmygu byd mewn ATM lle efallai y byddwch yn gallu mynd i fyny at ATM
peiriant yma, ac ATM arall yma.
Ac mae hyn yn digwydd yn aml iawn.
Ac mae'n debyg oedd gennych ddau cardiau ATM, sydd yn bosibl cael.
A byddwch yn logio i mewn i'r ddau peiriannau yn effeithiol ar yr un pryd, gobeithio
er nad oedd unrhyw un yn edrych.
Ac yna byddwch yn teipio eich PIN yn fras ar yr un pryd.
Ac yna ydych yn gwneud ymholiad cydbwysedd i weld faint o arian sydd gennych.
A gadewch i ni ddweud eich bod wedi $ 100 ar ôl yn eich cyfrif.
Felly, yn y bôn yr un pryd, rydych yn dweud un, sero, sero, nodwch.
A ydych yn gobeithio cael rhywfaint o arian yn ôl.
>> Ond faint o arian y gallech ei gael yn ôl?
Nawr gyfrifiaduron ar ddiwedd y dydd, yn enwedig os ydynt yn siarad
Nid yw gweinyddwyr, o reidrwydd yn gwneud pethau yn y drefn sy'n cael ei ddisgwyl.
>> Felly, mae'n debyg yr hyn sy'n digwydd, oherwydd y beth bynnag materion cyflymder rhwydwaith yno
, neu faterion CPU sydd ar gael, neu unrhyw beth fel 'na, mae'n debyg bod y
ATM gyntaf yn gwirio eich cydbwysedd a gweld, oh, y person hwn $ 100.
Ond wedyn yn cael canolbwyntio ar y ffordd oherwydd efallai copi wrth gefn yn digwydd ac felly mae'n
arafu.
Neu efallai tra'n gwirio, y rhwydwaith cysylltiad got ychydig yn arafach oherwydd
hyn yn unig yn digwydd.
Maent yn dyfeisiau corfforol.
Felly, yn y cyfamser, yr ail ATM yn gofyn yr un cwestiwn.
Faint o arian mae David wedi? 100 $ yw'r ateb.
Ond oherwydd bod y ATM cyntaf heb eto anfonwyd y neges tynnu $ 100, yn
ATM wedi arolygu cromen y banc, gweld yno yn $ 100 yno, ac yn awr
ddau peiriannau a allai fod yn mynd i boeri allan ateb.
>> Yn awr, mae hyn yn wych i chi mewn rhyw ffordd os yw'r hyn y banc yn ei wneud yn y pen draw
yn newid y swm i finws 100 erbyn gosod y newidyn cyfateb i'ch
cyfrif banc gyfartal i 0, yn hytrach na i wneud minws 100.
Nawr yn yr achos gwaethaf ar gyfer y banc -
neu yn y gorau ar gyfer y banc, yn y cyfamser, maent yn rhoi i chi $ 200, a
eich cyfrif banc yn awr yn dangos negyddol $ 100, sydd nid yn wir yn
o fudd i chi o gwbl.
Ond y pwynt yw fod y ras hon amod ar gyfer dau roommates cael
llaeth, neu ar gyfer dau ATMs ceisio cael arian parod a newid cyflwr o gladdgell
ar yr un pryd yn bodoli unrhyw tro y byddwch yn cael cronfa ddata.
>> Nawr yn broblem gosod saith, y mater hwn yn codi yn yr ystyr, os ydych yn prynu
cyfran o stoc Facebook, ac yna enghraifft, byddwch yn prynu ail gyfran o
Facebook stoc, mae angen i chi wneud penderfyniad gan fod y rhaglennydd.
Er mwyn penderfynu sut i ddiweddaru'r cronfa ddata, odds yn ydych yn mynd i
cael un rhes ar gyfer y stoc, ac mae hyn yn yn un ffordd o weithredu.
A ydych yn mynd i gael un gyfran o FB, sydd yn eu stoc Ticker symbol
am enw defnyddiwr hwn, neu y defnyddiwr hwn ID y dynodwr unigryw.
>> Ond gall yr un stori yn digwydd yma.
Os ydych yn SELECT yn SQL, fel y gwelwch mewn datrys gosod saith pan fyddwch yn gweld,
oh, David un gyfran o stoc Facebook.
Gadewch i mi yn awr yn newid hyn i fod yn ddau cyfranddaliadau, oherwydd ei fod am i brynu
ail gyfran.
Ond mae'n debyg David mewn gwirionedd roedd dau porwr ffenestri ar agor, neu'n debyg y
ei fod yn cyfrif ar y cyd gyda dau briod, ac mae'r ddau ohonynt yn cael eu ceisio i berfformio
yr un llawdriniaeth, yno, hefyd, y potensial yn bodoli am benderfyniad i fod yn
gwneud yn seiliedig ar y flwyddyn flaenorol cyflwr y byd -
y cyfrif un gyfran -
a'r ddau berson, neu'r ddau gweinyddwyr, yn awr ceisio dweud gynyddiad i ddau cyfranddaliadau.
Ond yn yr achos hwn, efallai y byddwch wedi codi arian i mi ar gyfer y ddau gyfranddaliadau, ond
gynyddrannedig dim ond bod un adeg.
>> , Y broblem sylfaenol Felly, yn fyr yma, fel yn achos y jôc am adael
nodi, neu roi clo arni, yn os oes dau o bobl, neu ddau edafedd -
meddwl yn ôl i grafu -
Gall archwilio cyflwr rhai amrywiol ac yna ceisio newid hynny amrywio,
ond nid y ddau beth yn digwydd yn y un pryd, ond yn gallu cael eu torri ar draws
gan bethau eraill yn digwydd, gall data fynd i mewn i gyflwr rhyfedd iawn.
A gallwch elwa neu gallwch ddioddef yn yr ystyr yr enghraifft arian.
>> Felly, yn broblem set saith, rydym yn rhoi i chi un llinell hon o'r cod, sy'n hir
stori fer, yn datrys hyn yn broblem yn MySQL.
Mae'r cyfarwyddyd hir iawn nad yw'n hyd yn oed yn ffitio ar un llinell ar y
sgrin yma yn sicrhau bod eich llawdriniaeth yn yr hyn a elwir atomig.
Mae'r cyfan yn digwydd ar yr un pryd, neu nid yw'n digwydd o gwbl.
Ni all yr ymadrodd hir iawn yn cael eu torri ar draws yn rhannol.
>> A beth mae'n ei wneud yn llythrennol yr hyn y mae'n ei ddweud.
Rhowch i mewn i rai tabl canlynol tri chae gwerthoedd penodol hynny,
ond ar allweddol dyblyg, peidiwch â gwneud mewnosodiad.
Gwneud y wybodaeth ddiweddaraf.
Felly, mae hyn yn debyg gwneud SELECT a INSERT felly i siarad ar yr un pryd.
A beth yw'r allwedd sy'n debyg cael eu cyfeirio at y fan hon?
>> Mae'n troi allan, a byddwch yn gweld hyn yn problem yn gosod spec saith yn, oherwydd
rydym wedi datgan bod un allwedd unigryw yn y tabl hwn penodol fel bod
ni allwch gael rhesi lluosog ar gyfer yr un defnyddiwr gyda'r
yr un symbol stoc ceiniog -
yn yr enghraifft hon yma, DVN.V yn stoc ceiniog gwirion ein bod yn
cyfeirio atynt yn y fanyleb.
Oherwydd ein bod wedi datgan ei fod yn unigryw, beth mae hyn yn ei olygu yw, os ydych yn
ceisio mewnosod rhes dyblyg, rydych yn yn hytrach na mynd i ddiweddaru heb
unrhyw un arall yn cael cyfle i newid cyflwr y byd chwaith.
Felly, yn fyr, mae hyn yn sicrhau pethau'n atomig.
>> Yn fwy cyffredinol, fodd bynnag, cronfeydd data fel MySQL -
ac nid oes angen nodwedd hon i chi am p-set saith, ond ei gadw mewn golwg ar gyfer
y dyfodol -
gefnogi'r hyn a elwir yn trafodion, lle gallwch ddweud
DECHRAU CYFLAWNI'R llythrennol.
Yna gallwch weithredu dau ddatganiad SQL.
A datganiad SQL, fel y byddwch yn gweld mewn saith gosod-p, yn edrych ychydig yn
rhywbeth fel hyn.
Diweddariad o'r enw gyfrif bwrdd.
Gosod y golofn cydbwysedd cyfartal i ba bynnag y golofn cydbwysedd ar hyn o bryd
yw minws 1,000 ble mae'r rhif, yr rhif y cyfrif, fel y ID defnyddiwr,
yn hafal i 2, ac yna diweddaru cyfrif dot dot dot.
>> Felly, mewn termau lleyg, beth yw y ddau yn ymholiadau yn ymddangos i fod yn ei wneud yn y
synnwyr byd go iawn o fancio?
>> GYNULLEIDFA: Trosglwyddo i arbedion.
>> DAVID Malan: Yn union.
Drosglwyddo arian o un cyfrif i'r llall.
Ac mae hyn yn enghraifft arall lle rydych yn wir eisiau y ddau beth ddigwydd
neu na fydd yn digwydd.
Dydych chi ddim eisiau rhywbeth i gael yn y canol ohonynt ac o bosibl llanast i fyny
y math, neu llanast i fyny faint o arian sydd gennych, neu faint
arian y mae'r banc wedi.
Felly, beth sydd wir yn neis am drafodion yn MySQL yw hynny, ac
cronfeydd data yn fwy cyffredinol, yw eu bod yn a phobl smart sydd wedi rhoi ar waith
nodweddion hyn yn chyfrif i maes sut i wneud yn siŵr bod y ddau beth hynny yn digwydd
neu ddim o gwbl.
>> Ac os ydych yn wir yn anelu at wneud gwefan sy'n cael ei ddefnyddio gan bobl ar
campws, pobl yn y byd go iawn, yn gwneud rhywbeth yn yr ystyr startup,
mae'r rhain yn y math o penderfyniadau dylunio sy'n
yn dod yn erioed mor bwysig.
Fel arall, byddwch yn dechrau colli data, colli defnyddwyr, neu yn yr achos gwaethaf fel
rydym wedi gweld yma, o bosibl colli arian.
Felly eto, yn fwy am hynny yn broblem a osodwyd saith, yn ogystal â efallai ar gyfer rhai o'r
chi mewn prosiectau terfynol.
>> Felly, gadewch i ni newid y darlun oedd gennym funud yn ôl yn unig yn un ffordd fwy.
Felly, gadewch i mi mewn gwirionedd weld os gallaf -
Na, mae hynny'n mynd.
Yno y mae.
>> Felly dyma lle rydym yn gadael y tro diwethaf.
Ac mae'n troi allan rydym yn mynd i toss un peth arall i mewn i'r gymysgedd yma -
iaith o'r enw JavaScript.
Felly, mewn gwirionedd yn cyd-fynd JavaScript yn y darn hwn -
a doeddwn i ddim yn eithaf yn gadael digon o le, felly nid yw hyn bellach wrth raddfa.
OK, mae hyn yn wir yn pathetic.
Iawn, felly dyna JavaScript.
Mae pob hawl.
Dwi wir yn gwneud ei fod yn cam.
Mae pob hawl.
>> Felly JavaScript yn rhaglennu arall iaith, ac mae ein olaf, os yw hynny'n helpu
sicrwydd nad oes llawer mwy o'r hydrantau tân yma.
Felly JavaScript hefyd yn dehongli iaith, sy'n golygu nad ydych yn
llunio i mewn i sero a rhai.
Rydych yn unig redeg.
Ond yr hyn sy'n sylfaenol wahanol gyda JavaScript fel arfer eich bod yn
peidiwch â rhedeg ar eich gweinydd gwe.
Nid yw'n cael ei redeg yn y offer per se.
Yn hytrach, mae'n cael ei lwytho i lawr gan ddefnyddiwr drwy HTTP yn eu porwr -
Chrome, Safari, Internet Explorer, Firefox, beth bynnag -
ac mae'n y porwr sy'n executes hyn iaith raglennu benodol.
>> Felly, i fod yn glir, PHP hyd yn hyn wedi bod yn eu gweithredu naill ai yn y llinell orchymyn yn
ein ffenestr du a gwyn, ar weinydd fel y peiriant, cyfrifiadur
hoffi'r offer, neu mae wedi bod yn gyflawni gan weinydd y we
rhedeg ar gyfrifiadur.
Ond mae'r thema yma yw bod PHP hyd yn hyn wedi ei weithredu ochr y gweinydd, felly
y defnyddiwr a phorwr y defnyddiwr byth yn gweld llinell o god PHP.
>> Yn wir, os ydych chi erioed yn agor porwr i eich gwefan neu arall a'ch bod
mewn gwirionedd yn gweld y cod PHP yn eich ffenestr, rhywun wedi sgriwio i fyny.
Oherwydd nad yw'n fod i fod yn hanfon at porwr yn uniongyrchol.
Mae'n i fod i gael eu gweithredu a troi i mewn i rywbeth fel HTML.
>> Ond JavaScript yn ei hanfod y gwrthwyneb.
Mae'n i fod i gael ei redeg fel arfer y tu mewn o ffenestr porwr y defnyddiwr.
A pha fathau o wefannau yn defnyddio JavaScript yna y dyddiau hyn?
>> Fel llythrennol pob gwefan poblogaidd.
Pob gwefan eich bod guys yn ôl pob tebyg defnyddio bob dydd yn defnyddio JavaScript ar gyfer y
symlaf a hyd yn oed y nodweddion sexiest.
>> Felly, rhywbeth fel Facebook Sgwrs os ydych yn defnyddio hynny.
Sut mae hynny'n gweithio mewn gwirionedd?
Dda hyd yn hyn, yr holl bethau rydym wedi wneud gyda HTML a PHP yn tybio y
chi dynnu i fyny URL, ac rydych daro Chofnoda, a byddwch yn gweld rhywfaint o gynnwys HTML.
A ydych yn cliciwch ar y ddolen, sy'n newid y URL, yn newid y dudalen, a reloads
rhywfaint o gynnwys newydd.
Cliciwch URL arall neu gyflwyno ffurflen, rydych yn cael cludo i dudalen arall a
byddwch yn gweld rhywfaint o gynnwys newydd.
>> Ond gan ddefnyddio rhywbeth fel Facebook Sgwrs, neu Gchat, neu Google Maps, yn anaml
mae'r dudalen gyfan adnewyddu fel bod byddwch yn gweld sgrîn gwyn ychydig eiliadau a
Yna, cynnwys newydd.
Yn hytrach, tudalennau gwe heddiw yn ddeinamig cael eu diweddaru unwaith eto a
eto ac eto pob math o'r tu ôl i'r llenni.
Ac mae'n troi allan pan fyddwch yn mynd i'r rhywbeth fel Facebook, neu Gchat,
neu Gmail, a'r diweddariadau dudalen yn awtomatig heb ail-lwytho y
sgrîn gyfan, yr hyn sydd wedi digwydd yw bod eich porwr wedi gwneud math o gyfrinachol
ceisiadau HTTP ychwanegol -
nid ar gyfer tudalennau gwe cyfan, ond dim ond ar gyfer darnau bach o ddata, fel y
neges chwim bod eich ffrind yn unig hanfon atoch, neu y diweddariad statws hwnnw
rhywun newydd ei anfon atoch, neu tweet bod rhywun newydd anfon.
Mae'n dim ond gwneud ceisiadau bach ar gyfer data, ac yna defnyddio JavaScript, mae hyn yn
iaith raglennu, i newid yr hyn y dudalen we yn edrych fel heb y
gweinydd yn helpu, heb y gweinydd cynhyrchu y HTML.
>> Felly, yn fyr, gall JavaScript yn cael ei ddefnyddio, yna i nôl data newydd, nid yn unig o
y gweinydd heb ail-lwytho yn ei gyfanrwydd tudalen neu gyflwyno ffurflen.
Gellir hefyd ei ddefnyddio i newid DOM fel y'i gelwir -
model gwrthrych ddogfen -
sydd ychydig y ffordd ffansi ar gyfer gan ddweud y goeden o HTML
ein bod yn gweld y tro diwethaf.
>> Felly, er mwyn tawelu meddwl, JavaScript syntactically mor debyg i C yn ogystal.
Does dim prif swyddogaeth.
Rydych yn unig yn dechrau ysgrifennu'r cod a bydd yn cael ei weithredu, neu
dehongli yn fwy priodol.
Bydd amodau yn edrych fel hyn.
Dim wahanol i C neu PHP o ran hynny.
Mynegiadau Boole neu-ed gyda'i gilydd yn edrych fel hyn.
Anded gyda'i gilydd yn edrych fel hyn.
>> Bydd switshis edrych fel hyn.
Ar gyfer dolenni edrych fel hyn.
Er y bydd dolenni edrych fel hyn.
Wneud tra bydd dolenni edrych fel hyn.
>> Mae hyn yn newydd.
Felly nid JavaScript Mae foreach adeiladu fel y cyfryw, ond mae lluniad hwn
am i amrywiol o ran amrywiaeth, a fi yn hyn o achos yn dod yn werth mynegai.
Felly mae'n ychydig yn wahanol i'r hyn a foreach, er bod fersiynau newydd o
JavaScript yn dod allan drwy'r amser, felly hyd yn oed nodweddion iaith hyn
yn esblygu.
>> Ac wrth fynd heibio, JavaScript y dyddiau hyn Gellir hefyd ei ddefnyddio ar weinydd yn union fel
PHP ddefnyddio fframwaith o'r enw Node.js.
Un o CS50 yn TFS, Kevin, wedi arwain seminar ar Node.js sydd ar gael yn
cs50.net/seminars.
Felly, os ydych yn chwilfrydig, yn gwybod eich bod yn Gellir defnyddio hwn ar yr ochr gweinydd fel
yn dda, ond mae hynny'n duedd gweddol ddiweddar, ond yn un bwerus ar hynny.
>> Mae hyn ychydig yn wahanol.
Mae hwn yn amrywiaeth yn JavaScript.
A beth taro chi fel gwahanol yn erbyn C neu PHP?
Mae ychydig o straeon cyflym gallwn ddweud yma.
Beth sydd ar goll erbyn PHP?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Ie?
Mae'n ddrwg gennym, yn dweud eto?
>> GYNULLEIDFA: Heb ddatgan y math o amrywiol.
>> DAVID Malan: Nid ydym yn datgan y math o amrywiol.
Felly, mewn gwirionedd yn eithaf fel PHP, nid ydym yn nodi'r mathau o newidyn hwn.
Yn hytrach, rydym yn fwy cyffredinol dweud var ar gyfer amrywiol.
Nid oes gennym niwsans PHP o'r arwydd doler, sydd, er ddiflas i
math, yn ei gwneud yn fwy amlwg bod rhywbeth yn newidyn.
Tra yma, rydym yn fath o yn ôl i Ymagwedd C o ddim ond ffonio
amrywiol gan yr enw yr ydym am ei roi, fel rhifau.
A hefyd fel PHP, rydym wedi cromfachau sgwâr ar gyfer y
gwerthoedd y tu mewn i'r amrywiaeth.
>> Felly newidynnau mewn JavaScript hefyd gallai edrych fel hyn.
Hysbysiad yma mae hwn yn llinyn o'r enw s, ond yn yr un modd rydym heb ei nodi
ei fod yn llinyn.
Yma er yn nodwedd nad yw'n yn bodoli yn union yr un ffordd yn PHP,
ond ychydig yn yr un modd.
Mae hwn yn gwrthrych yn JavaScript.
A gwrthrychau yn fath o Fyddin Swistir Cyllell o strwythur data yn eich bod
Gellir eu defnyddio ar gyfer unrhyw nifer o bethau.
>> Yma, er enghraifft, rydym yn datgan newidyn a elwir dyfynbris.
Y math o newidyn hwnnw yn wrthrych.
Gallwch chi feddwl am hyn fel strwythur C sydd â allweddi a gwerthoedd.
Symbol yn allweddol.
FB yn werth, mae'n debyg symbol stoc.
Adain Garpiog.
Price yn allweddol arall, ac mae ei gwerth yn mae'n debyg pwynt fel y bo'r angen, neu
nifer yn fwy cyffredinol yn JavaScript, o $ 49.26.
>> Felly nid oes gan PHP -
nid ydym wedi gweld mewn gwrthrychau PHP yn eithaf fel hyn, ond yr ydym yn gweld yn analog,
a oedd yn beth?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: araeau cysylltiadol.
Felly, tra mae gan PHP araeau cysylltiadol y mae ei gystrawen yn erioed ychydig er
wahanol -
gwelsom y cromfachau sgwâr.
Rydym yn gweld y symbolau saethau 'n annaearol.
Mae JavaScript gwrthrychau, ond mae hyn yn yn bennaf gwahaniaeth semantig a
gyfystyr gwahanol am y tro.
Fodd bynnag, wrth fynd heibio, PHP hefyd gwrthrychau mewn ffordd sy'n Java a eraill
ieithoedd gwrthrychau mewn rhaglennu gwrthrych-oriented.
Ond byddwn yn defnyddio'r rhain yn unig ar gyfer mathau data am y tro.
Gwrthrychau a araeau cysylltiadol.
>> Gallai hyn un yn ei gwneud yn ychydig yn fwy clir.
Dyma pam y mae gwrthrych yn ddefnyddiol.
Pan fyddwch eisiau i ddatgan yn fyfyriwr, fel Zamyla, gallwn mewn gwirionedd
grynhoi fel petai y tu mewn o hynny gwrthwynebu ddefnyddio cromfachau cyrliog yn union fel
cyn criw cyfan o allweddi a gwerthoedd yma.
Mae gennym adnabod, tŷ, ac enw ar gyfer Zamyla, wedi'i ddilyn gan hanner colon fel
arferol ar y diwedd.
>> Down yma hefyd, mae hyn ychydig yn wahanol, ond hefyd yn bwerus iawn
y dyddiau hyn.
Dyma amrywiaeth, a gwn fod oherwydd mae 'na braced sgwâr i fyny
top a braced sgwâr ar y gwaelod.
Ac mae hyn yn amrywiaeth o ba ddata teipio ymddangos yn JavaScript?
Mae hwn yn amrywiaeth o mae'n edrych fel dri gwrthrych.
Ac yr wyf yn gwybod ei fod yn gwrthrych yn unig oherwydd y braces cyrliog.
Ac yn sylwi mae Brace cyrliog agored, rhai pethau, Brace cyrliog yn agos, coma,
yna mae rhai yn fwy, coma, ac yna mae rhai yn fwy.
Felly dyna dri dadleuon gwahanu gan ddau atalnodau.
>> Felly mae hwn yn amrywiaeth o dri gwrthrych.
A phob un o'r amcanion hynny yn ymddangos yn myfyriwr neu aelod o staff o rai
didoli, pob un â adnabod, tŷ, ac enw.
Ond yr wyf wedi galw hyn yn rhywbeth a elwir yn JSON -
JavaScript Nodiant Gwrthrych.
Ac mae hyn yn fformat data sydd mewn gwirionedd yn mor boblogaidd iawn ac yn
ffasiynol y dyddiau hyn, os ydych yn ysgrifennu cais sy'n defnyddio Facebook
API, mae'r Twitter API, mewn gwirionedd bron unrhyw API allan yno y dyddiau hyn,
gan gynnwys rhai o'r CS50 ei hun, yr data rydych yn mynd yn ôl nid yw yn
hen fformat CSV ysgol.
>> Oherwydd dwyn i gof sy'n CSV yn super syml.
Mae yr un colofnau gwahanu gan atalnodau.
Data JSON yn rhoi mwy o metadata chi.
Mae'n cysylltu allwedd gyda phob gwerth felly nid oes rhaid iddynt i ychydig gymryd yn ganiataol y
y golofn 0 yn un gwerth, colofn un yn un arall, colofn dau yn un arall.
Popeth mewn gwrthrych JSON yma fath o hunan-ddisgrifio, oherwydd y mae pob
un o enwau yn y ffeil hon wedi llythrennol enwi o flaen fel
llinyn a ddyfynnir.
>> Felly, gadewch i ni edrych ar y ychydig o enghreifftiau yma.
Gadewch i mi fynd i mewn i'r peiriant.
A gadewch i mi fynd i mewn i'n vhost cyfeiriadur i gyhoeddus.
A gadewch i mi fynd i mewn i'r JavaScript cyfeiriadur.
A gadewch i ni fynd yn ei flaen ac yn agor i fyny dom-0.html, lle mae DOM yn unig yn golygu
model gwrthrych ddogfen.
Mae'n y stwff goeden y mae Cyfeiriais ato yn gynharach.
>> A gadewch i mi gynnig y canlynol.
Dyma dudalen ar y we y mae ei corff yn eithaf syml.
Felly, i lawr yma yn y gwaelod, sylwi gen i ffurflen.
Rydym wedi gweld rhai o'r blaen.
Mae ganddo ddau mewnbynnau, un sydd â ID enw, un ohonynt math o
cyflwyno, a'r cyntaf un o fath yn destun.
Felly, mae hyn mewn gwirionedd yn swnio'n eithaf syml.
>> Gadewch i ni fynd yma.
Gadewch i ni fynd yn ôl i'r dudalen hon yma.
Gadewch i ni fynd i mewn i localhost, ac yn mynd i mewn i ein cyfeirlyfr JavaScript, ac yn mynd i
dom-0, ac yma mae gennym ffurflen hon.
Felly dyna mae'n debyg i gyd y dudalen hon ei wneud.
Mae ganddo enw cae gyda a botwm Anfon.
Ond dydw i ddim yn mynd i ddefnyddio PHP yma.
Rydw i'n mynd i wneud popeth ochr y cleient fel petai yn JavaScript fel a ganlyn.
>> Sylwch fy mod yn wir wedi rhoi enw maes mewnbwn hwn yn unigryw
dynodwr, a fydd mewn gwirionedd yn achub fi beth amser mewn munud.
Ac yn sylwi fy mod wedi cyflwyno tag arall yn y pen fy dudalen we, mae'r
tag.
>> Felly mae'n yn yr ystyr bod JavaScript yn iaith raglennu-ochr cleientiaid.
Yn yr achos hwn, yn union fel CSS, yr wyf wedi rhoi yn syth tu mewn fy HTML.
Ond rhybudd Rwyf wedi datgan swyddogaeth sy'n edrych ychydig fel PHP
syntactically, ond mae hyn yn mewn gwirionedd JavaScript, oherwydd unwaith eto, mae'n
ar ochr cleientiaid yn y porwr.
Ac yn cymryd dyfalu beth mae hyn yn mynd i ei wneud, er bod rhai o'r gystrawen
yma yn newydd.
>> GYNULLEIDFA: Dywedwch helo i bwy bynnag.
>> DAVID Malan: Mae'n mynd i ddweud helo i bwy bynnag yn ymweld y dudalen hon.
Felly, sut?
>> Felly sylwi, mae'n troi allan yn JavaScript mae 'na rybudd () swyddogaeth.
Mae hon yn swyddogaeth fath iawn o drist bod mewn gwirionedd dim ond yn tueddu i cythruddo defnyddwyr.
Dyw hi ddim yn un a ddylai chi wir yn defnyddio fel arfer, ond mae'n gyflym ac yn fudr
ffordd o'r math o argraffu rhywbeth i ddefnyddiwr graffigol
rhyngwynebu, fel porwr.
Hysbysiad yma fy mod i wedi cael llinyn mewn dyfynodau sengl.
Mae'n ymddangos bod yn wahanol i C, JavaScript mewn gwirionedd yn rhaid i chi ddefnyddio un
dyfyniadau, a dweud y gwir dim ond math y confensiwn arddulliadol ymhlith
JavaScript rhaglenwyr i ddefnyddio dyfynodau sengl.
PHP, maent mewn gwirionedd ychydig yn ystyr gwahanol.
Ond ar hyn o bryd, dim ond yn gwybod bod dyna'r unig reswm.
Mae'r confensiwn yn JavaScript yn aml i defnyddio dyfynodau sengl, ond gallem ddefnyddio
dyfynodau dwbl yn y ddau le hefyd.
>> Felly, mae hyn yn ddiddorol.
Dwyn i gof tro diwethaf yr oedd ein bod llun ar y sgrin oedd yn tynnu coeden
lle rydych yn cael y nod HTML, ac mae'r pen nod, a'r corff nod,
ac yna rhywfaint o destun.
Ond roedd un nod arbennig yn y top iawn fy mod wedi galw y ddogfen.
Wel, mae'n troi allan yn JavaScript, unrhyw tro y byddwch yn ysgrifennu rhaglen yn JavaScript
mewn porwr, gennych fynediad i newidyn byd-eang arbennig.
Debyg o ran ysbryd i superglobals PHP yn, cael ei alw'n hwn yn
pob dogfen llythrennau bach.
>> Mae'n debyg i strwythur, ond mae strwythur hwn hefyd mae ganddo swyddogaethau tu mewn iddo.
Felly dim ond mae ganddo strwythur C data fel arfer.
Ond mae gwrthrych JavaScript gan fod hyn yn dechnegol hefyd ganddo swyddogaethau,
elwir fel arall yn ddulliau, tu mewn iddo.
A gallwch ffonio swyddogaeth tu mewn gwrthrych yn llythrennol yn gwneud ei
enw, dot, ac yna enw'r y swyddogaeth, neu eto dull.
Dim ond yn gyfystyr, mewn gwirionedd.
>> A beth mae swyddogaeth hon yn ei wneud?
Gallwch fath o ddyfalu o'i henw.
Cael elfen erbyn adnabod.
Felly, mae hyn yn mynd i chwilio'r dudalen ar y we, chwilio y goeden, yn chwilio am
beth bynnag nod, elfen AKA, mae gan ID unigryw o dyfyniad unquote enw.
Ac yna beth ydw i'n mynd i'w wneud?
Rydw i'n mynd i gael y gwerth tu mewn y nod yn y goeden, ac rwy'n mynd
i ddweud rywsut helo wrth yr enw hwnnw.
>> Felly, yn cymryd dyfalu, er nad rydym wedi gweld hyn eto, beth mae'r plws
symbolau yn golygu yma ac yma yn ôl pob tebyg?
>> GYNULLEIDFA: Concatenate.
>> DAVID Malan: Concatenate.
Iawn, ac mae'r rhain yn unig math o dylunio penderfyniadau
pobl a wnaed o flynyddoedd yn ôl.
Yn PHP, rydych concatenate pethau gyda dotiau.
Yn C, yr ydych yn neidio drwy nifer o gylchoedd a ffoniwch swyddogaethau fel strcopy () neu
strcat () neu swyddogaethau eraill o'r fath.
Ond yn JavaScript, byddwch yn defnyddio pwyntiau cadarnhaol.
Felly, mae hyn yn unig yw cydgadwyno tri llinynnau -
helo, enw, ac yna pwynt ebychnod.
>> Felly, pryd a pham y mae swyddogaeth hon a elwir er bod?
Wel, yn cymryd dyfalu oddi wrth y HTML ar y gwaelod.
Pam fod cyfarch () Enw'r neu pryd?
>> Mae'n debyg, fel y gorau gallaf ddweud, ar cyflwyno, pan fydd y ffurflen hon yn cael ei chyflwyno,
Rydw i'n mynd i wneud beth bynnag sydd tu mewn dyfyniadau hyn.
Ac yn benodol, yr wyf i'n mynd i alw cyfarch () ac yna dychwelyd ffug.
>> Wel, gadewch i ni weld beth y rhwyd effaith yma yn gyntaf.
Felly, gadewch i mi fynd yn ei flaen a theipio i mewn, dyweder, Loren, Cyflwyno.
Helo Loren.
Gadewch i ni weld os efallai hyn yn unig oedd gweithrediad lwcus.
Na.
Felly, mae'n teipio allan beth bynnag enwi Fi 'n weithredol yn rhoi yno.
>> Ond sylwi beth sydd ddim yn newid.
Mae'r URL yn dal i fod dom-0.html.
Does dim register.php.
Does dim ail ffeil.
Does dim priodoledd gweithredu.
Felly, beth mae hyn yn ffug dychwelyd wneud yn ôl pob tebyg?
Pam ydw i'n galw cyfarch () ac yna dychwelyd ffug yn ôl pob tebyg?
Beth sy'n digwydd fel arfer pan fyddwch yn clicio Cyflwyno ar ffurflen a bod hyd yn oed gennym
gweld yn ystod yr wythnos diwethaf?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVID Malan: Mae'n mynd yn rhywle, dde?
Mae'n mynd i ryw URL cyrchfan.
Ond dydw i ddim am i hynny ddigwydd yma.
Rwyf am i fy dudalen gwefan hon i fod yn gwbl deinamig fel Gmail, lle unwaith y byddwch chi'n
yno, byddwch yn aros yno.
Nid yw'r URL yn newid mewn ffordd sy'n yn nodi y dudalen gyfan yn ail-lwytho.
Yn hytrach, Fi jyst eisiau newid rhywbeth fel argraffu rhywbeth
yma ar y sgrin.
>> Wel gadewch i mi lanhau hyn i fyny ychydig.
Gadewch i mi agor na dom-0, ond gadewch i mi agor dom-2.
Yn union fel eich bod wedi gweld rhai gystrawen yma.
>> Mae'n ymddangos bod hyn yr ydym newydd oedd yn defnyddio JavaScript amrwd.
Felly, mae hyn yn wir yr iaith JavaScript.
Efallai y bydd rhai ohonoch yn gwybod am llyfrgell o'r enw jQuery.
>> Felly nid jQuery yr un fath beth â JavaScript.
Mae'n dim ond llyfrgell bod wir yn smart guy ysgrifennu a boblogeiddio o'r fath
bod bron pawb yn y byd yn awr defnyddio jQuery wrth ddefnyddio Javascript.
Ac ar yr olwg gyntaf, yn onest, mae'n yn edrych ychydig yn fwy cryptig.
Ond byddwch yn dod o hyd, yn enwedig os byddwch yn mynd yno ar gyfer eich prosiect terfynol gyda gwe
datblygu, fe welwch fod hwn glanhau pethau i fyny ac yn arbed i chi dipyn o
ychydig linellau o god.
>> Felly, gadewch i ni dim ond cipolwg ar sut y y ffurflen hon yn gweithio.
Sylwi ar yr hyn wnes i dynnu yn ôl pob golwg o fy HTML?
Does dim ar gyflwyno trin fel petai.
Does dim priodoledd.
Oherwydd eich bod yn gwybod, beth Doeddwn i ddim wir yn ei hoffi?
Roeddwn yn teimlo fel ein bod yn gostwng i hen arferion yno.
Yn union fel ei fod yn dechrau teimlo flêr i intermingle ddau CSS gyda
HTML, oherwydd eich bod yn fath o taflu gwahanol ieithoedd ar draws y
lle, yn yr un modd oedd hyn yn dechrau teimlo'n fel ffordd ddrwg i fynd i lawr lle
Im 'yn rhoi cod JavaScript tu mewn fy HTML yn hytrach na ffactoreiddio allan.
>> Felly dyna y wers yma.
Yn dom-2.html, rwy'n ffactoreiddio allan.
Ac yr wyf i'n gwneud pethau ychydig yn wahanol.
Am y tro, dw i'n mynd i chwifio fy nwylo ar beth mae hyn yn wir yn
o dan y cwfl.
Ond dim ond am nawr cymryd yn ganiataol bod yn gyntaf linell o god yn y llyfrgell hon
a elwir yn jQuery yn unig yn golygu pan fydd y ddogfen yn barod, gwnewch y canlynol.
>> Oherwydd y gall tudalennau gwe gymryd peth amser i lwytho.
Efallai eich bod ar y rhyngrwyd araf cysylltiad, a gallai fod yn nyddu
ac yn troelli, ac yn olaf mae'n llwytho.
Mae hynny'n linell o god yn unig yn dweud aros hyd nes y dudalen gyfan yn barod, mae'r ddogfen
yn barod, cyn gweithredu cod hwn.
>> Ac yn awr yn sylwi, mae hyn yn ôl pob tebyg y mwyaf defnyddiol gyntaf
cymryd i ffwrdd o jQuery.
Mae'r llinell yma yn debyg iawn o ran ysbryd i linell llawer hirach hyn yma.
Tra mewn cod JavaScript crai, mae gwrthrych byd-eang ddogfen yn bodoli sy'n
mae iddo swyddogaeth o'r enw getElementById (), y bobl a ysgrifennodd
symleiddio jQuery hynny i ddweud arwydd doler, ac yna tu mewn
cromfachau yn rhoi dau ddyfynbris, ac yna rhoi symbol hash dilyn gan y
ID unigryw yr ydych am i afael.
Felly, mae hyn yn cyfateb i document.getElementById.
>> Yn y cyfamser,. Cyflwyno yn unig yn golygu ar cyflwyno ba ffurf bynnag y ydych yn
cyfeirio atynt ar y chwith, ewch ymlaen a gweithredu hyn.
Ond mae hyn yn awr yn y chwilfrydedd hefyd.
Beth sy'n rhyfedd am yr hyn y Rwyf wedi tynnu sylw yma?
Nid yn unig y mae'n fath o syntactically newydd, mae hefyd yn rhywbeth ar goll.
>> GYNULLEIDFA: dim ond Mae'n cael ei alw swyddogaeth?
Nid Mae'n cael ei alw yn effro?
>> DAVID Malan: Yeah.
Wel, felly effro () i lawr yma, i fod yn deg.
Ond nid oes sôn am enw, fel y gwyddoch, foo neu
rhywbeth i fyny yma.
Ac yn wir, mae hyn yn un o nodweddion o JavaScript hynny'n eithaf
pwerus, ond hefyd yn eithaf newydd.
A PHP mewn gwirionedd wedi hyn hefyd.
>> Gadewch i mi fynd yn ei flaen ac yn gwneud rhywbeth real gyflym.
Gadewch i mi fynd yn ei flaen ac yn rhoi hyn allan yma.
Gadewch i mi wneud hyn.
Swyddogaeth.
Gadewch i ni yn galw trafodwr hwn ().
Swyddogaeth trin fel petai.
Rhywbeth sy'n delio â rhywfaint o weithredu.
Gadewch i mi lanhau fy bant.
A rhoi hyn yma.
A rhoi hynny yma.
Yep.
OK.
>> Felly nawr gen i swyddogaeth o'r enw trin () nad wyf yn wir yn gwybod
yr hyn y mae'n ei wneud eto.
Mae'n dal i fod y pethau yn unig.
Wps.
Cymryd gormod.
Gadewch i ni wneud hyn.
Mae pob hawl.
Mae'n ddrwg gennym.
Mae pob hawl.
Gadewch i mi wneud hyn.
OK.
Mae hynny'n edrych yn neis ac yn syth ymlaen yn awr.
Gadewch i mi wneud hyn.
Gwnewch hyn.
Ac yn iawn.
Felly nawr, gadewch i ni roi hyn dros yma.
Dim mwy o raglenni ar y hedfan.
OK.
>> Felly nawr, gadewch i ni fynd yn ôl i lle y dechreuodd y stori.
Yn flaenorol, yr wyf yn dweud bod y llinell yma golygu pan fydd y ddogfen yn barod, ewch
ymlaen a gwneud hyn.
Beth ydw i am ei wneud?
Wel yn benodol, yr wyf am i fynd ymlaen a gwneud y canlynol.
Gweithredu y llinell o god, ac yna yr hyn yr wyf am i chi ei wneud yw galw hyn yn
gweithredu pan fydd y ffurflen yn cael ei chyflwyno.
>> Nawr mae hyn yn yr hyn sy'n ddiddorol.
Nid yw hyn ynddo'i hun yn swyddogaeth.
Hysbysiad Nid wyf yn rhoi cromfachau yma yn y ffordd arferol.
Rwy'n llythrennol basio swyddogaeth o'r enw trin () i swyddogaeth arall
enw chyflwyno () fel dadl yn er ei fod yn debyg i amrywiol.
Ac mae hyn yn un o nodweddion JavaScript, yn ymdrin â swyddogaethau eu hunain
yn wir dim ond gwrthrychau.
Yn wir, maent yn wir yn unig newidynnau o ryw fath.
Ac os yw enw'r y swyddogaeth yn drafodwr (), nid oes unrhyw reswm na allaf
ei throsglwyddo i mewn fel dadl yma.
Ac mae hyn yn golygu pan fydd y ffurflen gyda ID y demo yn
gyflwynwyd, ffoniwch y swyddogaeth hon.
>> Ond yn awr, os wyf yn dadwneud yr holl o hyn, Yna, pam wnes i efallai yn gwneud
hwn funud yn ôl?
Wel, mae hyn yn swyddogaeth ddienw.
Oherwydd dweud y gwir, yr wyf yn sylweddoli pam yr ydw i'n trafferthu i wastraff amser datgan
swyddogaeth a elwir yn trin () yn unig i alw mewn un a dim ond un lle?
Os nad wyf yn angen yr enw, ac nid wyf yn angen i alw yn fwy nag un lle,
gadewch i ni dim ond gweithredu'r swyddogaeth iawn lle rwy'n ei angen.
Ac felly JavaScript a PHP cymorth hyn yn cael eu galw'n swyddogaethau dienw sy'n
caniatáu i mi i wneud yn union hynny yma.
>> Ond rydym yn dim ond crafu'r wyneb.
Gadewch i ni tynnu coes gyda dim ond cwpl enghreifftiau terfynol yma.
>> Os byddaf yn mynd i mewn i quote.php.
Sylwch fod hyn mewn gwirionedd yn PHP swyddogaeth, rhaglen PHP, a ysgrifennais
sy'n disgwyl yn baramedr HTTP a elwir yn symbol, a gallaf basio i mewn
gwerth fel FB.
Ac os ydym mewn gwirionedd yn edrych ar y ffynhonnell cod, mae hyn yn ymholi wefan rhad ac am ddim
enw Yahoo Cyllid, yn union fel p-set saith, ac mae'n dychwelyd i mi
rhywbeth yn debyg y fformat a elwir yn JSON -
Nodiant Gwrthrych JavaScript.
Dim ond gwrthrych.
Sylwch ar y braces cyrliog, y dyfyniadau, y colon, a'r atalnodau.
>> Nawr yn y cyfamser, mae hyn yn 'n bert oera.
Oherwydd y gall yr wyf yn ôl pob tebyg yn defnyddio rhaglenni iaith i gynhyrchu URLs
sy'n edrych fel hyn yn ddeinamig, iawn?
Gallaf newid hyn i Google a mynd yn ôl Google
pris stoc o $ 1,017.55.
Felly, gadewch i ni weld os na allwn ddefnyddio hyn nawr.
>> Gadewch i mi fynd i Ajax-0 yma, sy'n edrych fel y canlynol.
Mae'n dim ond gwefan sydd wedi ffurflen gyda botwm.
Gadewch i mi yma fynd yn ei flaen a theipiwch yn YHOO am y symbol stoc Yahoo, cliciwch Get
Dyfyniad, ac yn awr yn sylwi rydw i wedi gotten neges gyda 32.86.
>> Gadewch i mi mewn gwirionedd yn mynd i fersiwn ffansi y dudalen hon, fersiwn dau, a
fath yn gadewch i ni yn dweud Microsoft, MSFT.
Get Quote.
Ac yn awr sylwi, dim rhybudd.
Hysbysiad lle mae'n dweud pris i'w benderfynu?
Mae symlaf o enghreifftiau a awgrymiadau ar ba Gchat, a Facebook
Sgwrs, a Gmail, ac eraill o'r fath gwefannau yn ei wneud trwy gwirionedd
newid y dudalen we.
>> Sylwi ar hyn.
Gadewch i mi ail-lwytho y dudalen.
Gadewch i mi agor Arolygydd Chrome yn.
Gadewch i mi fynd i'r elfennau tab i lawr yma.
Nawr sylwi os byddaf yn chwyddo i mewn i lawr yma ac agor yr hyd, sylwi bod hyn yn fy
HTML DOM - fy nogfen model gwrthrych.
Mae hyn yn fy HTML.
Ond yn awr yn sylwi, hyd yn oed er ei fod yn mynd i fod ychydig yn anodd ei weld yn y ddwy
le ar unwaith, os wyf yn teipio FB i fyny yma, gwyliwch y gwaelod
y sgrin yn unig.
>> Mae'n newid mewn gwirionedd fy HTML ar y hedfan.
Ac mae'n gwneud hyn yn eithaf syml drwy wneud rhywbeth fel hyn.
Os byddaf yn agor Ajax-2, sylwch gweithredu rhywbeth mor sexy fel
, hyd yn oed er 'i' eithaf hyll, ond soffistigedig â hynny
swyddogaethol, mae rhai HTML ar y gwaelod.
Ond sylwi Roeddwn i'n arfer i tag.
Nid ydym wedi defnyddio hyn o'r blaen, ond mae hyn yn fel, ond nid yw'n gorfodi
popeth ar linell newydd.
Mae'n gwneud ardal hirsgwar ar yr un llinell yn y bôn.
>> Hysbysiad a roddais yn ID yn y pris.
Ac mae'n troi allan drwy ddefnyddio'r un Llyfrgell JavaScript, mae gennyf swyddogaeth
Gelwir dyfyniad () sy'n cael ei alw pryd bynnag y y ffurflen yn cael ei chyflwyno.
A beth rwy'n ei wneud yw hyn.
Rwy'n datgan amrywiol o ran JavaScript a elwir yn url, gan arbed gwerth
quote.php? symbol =.
Mewn geiriau eraill, yr wyf fy hun wyf yn dechrau i baratoi cais HTTP, ac yna
Rwy'n cydgadwyno ar hynny gyda mwy beth bynnag yr elfen gyda'r ID
o symbol yw, yr hysbysiad yw bod maes testun i'r dde i lawr yma.
Felly, yn union fel oedd gennym ffurflenni yn y gorffennol.
>> Ac yna mae'n troi allan yn jQuery, os ydych yn ffonio. val (), sy'n galw o val
swyddogaeth, swyddogaeth gwerth, sy'n cael beth bynnag yw'r defnyddiwr wedi teipio i mewn
Ac yna yr holl draffig rhwydwaith sy'n digwydd yw hyn.
$. GetJSON.
>> Ac wrth fynd heibio, arwydd doler yn dim ond nodiant llaw-fer.
Mae'n wirioneddol jQuery.getJSON.
Mynd i mi i JSON o'r URL, a phan y cais yn dod yn ôl, galw hyn
swyddogaeth ac yn pasio i mewn fel y ddadl beth bynnag daeth yn ôl oddi wrth y gweinydd.
>> Felly, mewn geiriau eraill, os byddaf yn mynd yn ôl at y porwr, ac yr wyf yn mynd yn ôl i quote.php,
beth yw fy porwr yn ei wneud yn mynd yn darn hwn o ddata.
A phan fyddaf yn mynd at y dudalen we yma, rhybudd os ydym yn hytrach ewch i'r rhwydwaith
tab ac yn glir, ac yna teipiwch rhywbeth fel GOOG ar gyfer Google a Get
Dyfyniad, sylwch nad oedd y dudalen yn newid.
Ond mae cais HTTP ei wneud, a beth daeth yn ôl yma os ydym yn edrych ar y
ymateb criw cyfan o JSON ein bod yn gweld diwedd gyda
y llinell hon syml yma.
>> Mae data ar yr hyn a gotten o'r gweinydd.
Price yn enw'r allweddol Rwy'n poeni am.
Felly data.price rhoi i mi hynny.
>> Nawr yn y cyfamser, ac mae hyn yn yw'r enghraifft olaf.
Gallwch wneud hyd yn oed mwy ar y dudalen.
Un mewn gwirionedd, wel dau.
Gallwn ddod yn ôl y tag, os ydych yn cofio hyn.
Dyna JavaScript.
Gallwn wneud hynny.
Gyffrous iawn.
Byddwn yn gadael hynny fel Cliffhanger.
>> Ond yn fwy cyffrous, gallwch gwneud pethau fel hyn.
Os byddaf yn mynd i geolocation-1, mae'n troi allan sy'n Chrome yn gwybod ein bod yn
hydred lledred 42.37. -71.10.
Felly, mae hyd yn oed yn fwy yno ar gael i chi.
Ond mwy am hynny yr wythnos nesaf.
Welwn ni chi ddydd Llun.