>> [CHWARAE CERDDORIAETH]
HANNAH: Hi, bawb.
Diolch i chi guys cymaint am ddod allan yn y tywydd ffiaidd ar gyfer cwis un
sesiwn adolygu.
Wrth i chi guys gwyddoch, cwis un yw dydd Mercher hwn.
Felly, rydym yn mynd i fynd trwy griw o bynciau.
DAVIN: Hey, gallaf ddweud rhywbeth go gyflym?
HANNAH: Yeah, Davin yn mynd dweud rhywbeth go gyflym.
DAVIN: Mae'n ddrwg gennyf.
Dim ond go gyflym, os oes gennych gwestiynau am y cwis, gallwch fynd ar-lein.
Ewch i 2014 un cwis, am y cwis.
Mae wedi cael logisteg am ble i fynd, pryd i fynd.
Os ydych yn cofrestru ar yr un pryd, rydym yn mynd i gael cwis colur am 5:30.
Neu os ydych yn ei anfon yn fater i mi, gennych rywfaint o broblem arall.
Ond 05:30 yw'r colur amser ar ddydd Mercher.
Ond os oes gennych gwestiynau, cwestiynau cyffredinol,
Mae ar-lein yr holl logisteg.
Felly gwiriwch yno yn gyntaf.
>> HANNAH: Awesome.
Felly dyma y rhestr fawr o bynciau ein bod yn mynd i fynd drwy'r heddiw.
Rydw i'n mynd i gwmpasu pob un o'r C pethau, sef bod golofn gyntaf.
Felly, mae'r pethau C yr ydym gwmpesir ar ôl cwis sero.
Gan ddechrau gyda rhestr cysylltiedig, sy'n cynnwys awgrymiadau.
>> Mae pob hawl, felly rydym yn gweld hyn yn y sesiwn adolygiad diwethaf,
felly dw i'n mynd i fynd drwy mae hyn yn ychydig yn gyflymach.
Dim ond codwch eich llaw os ydych am i mi arafu neu fynd i'r afael â rhywbeth ymhellach.
Ond rydym yn defnyddio rhestrau cysylltiedig oherwydd Dechreuodd yr ydym yn C gyda arrays.
Ac araeau yn wych, ond mae'r broblem yw bod ganddynt faint sefydlog.
Rhestrau gysylltiedig yn ein galluogi i greu maint strwythurau data ddeinamig.
>> Ac rydym wedi ein gweithrediadau sylfaenol, mewnosod, dileu, a chwilio.
A gallwn wneud mewnosoder yn achos gwaethaf amser cyson
os ydym yn unig yn ei roi ar y dechrau.
Dileu a chwilio, gwaethaf achos mawr oh o amser n.
Felly unwaith eto, dim ond i troi trwy luniau hyn,
Rwy'n gwybod gwelsom y rhain tro diwethaf, ond rydym yn awyddus i gadw golwg ar ein rhestr cysylltiedig
drwy gadw golwg ar y pennaeth ein rhestr cysylltiedig.
Oherwydd gwyddom fod pob un o'n nodau
yn jyst yn mynd i dynnu sylw at y nod nesaf yn ein rhestr cysylltiedig.
>> Felly dyna sut yr ydym yn cadw golwg.
Hyd yn oed er nad yw'r rhain yn darnau parhaus o gof,
gallwn ddod o hyd iddynt gan unig yn dilyn y gwahanol saethau.
Dyma yw ein strwythur am restr nod cysylltiedig.
Rydym yn gweld hyn tro diwethaf.
Rydym wedi ein nod struct.
Ac mae wedi ddau eiddo.
Rhif un, y gwir gwerth yr ydym am ei storio.
Yn yr achos hwn, ei fod yn gyfanrif.
Gallai fod yn llinyn, gallai fod yn torgoch, beth bynnag y dymunwch.
Ac yna, mae'n rhaid i ni gadw golwg ar y nod nesaf yn ein rhestr cysylltiedig.
Felly mae hynny'n mynd i fod yn pwyntydd at y nod nesaf.
Os oeddech yn unig yn ei wneud chwilio, fel y dywedais o'r blaen,
byddai'n rhaid i chi ddilyn eich saethau i lawr.
Mewnosod, a fyddech yn cadw golwg o gyflwr lle mae'r gweddill eich rhestr yn.
A ydych am i ailgyfeirio i'r pen i dynnu sylw at ein elfen newydd, sy'n
yn yr achos hwn yn un, ac yna bydd un yn pwyntio
i weddill y rhestr cysylltiedig.
Felly eto, yr wyf yn gwybod hyn yn ychydig dipyn o ailadrodd gan cwis sero.
Felly, mae'n rhaid i ni fod yn ofalus iawn am y drefn y byddwn yn
gwneud pointings hyn felly nid ydym yn ei wneud colli golwg ar gefn y rhestr.
OK, unrhyw gwestiynau gyda dim ond yn unigol rhestrau cysylltiedig?
Awesome, OK, oer.
>> Felly nawr, rydym yn mynd i fynd ar rywbeth dim ond ychydig yn fwy cymhleth,
rhestrau cysylltiedig ddwbl.
Felly, yn ogystal â chadw golwg ar y nôd nesaf,
rydym hefyd yn awyddus i gadw golwg y nôd blaenorol.
Ac mae hyn yn caniatáu i ni, os ydym ar ryw adeg yn ein rhestr cysylltiedig,
nid yn unig yn mynd ymlaen, ond hefyd yn ailadrodd yn ôl.
Oherwydd fel y gwelsom yn rhestr cysylltiedig yn unigol,
pe baem yn ar ryw nod, ac yn sydyn, fe benderfynon ni,
mewn gwirionedd, yr wyf eisiau mynd i yr hawl nôd ger fy mron,
byddai'n rhaid i chi fynd yr holl y ffordd yn ôl i'r pen
ac yn ailadrodd thrwy nes i chi dod o hyd y nôd roeddech yn chwilio amdano.
>> Felly, mae hyn yn gwneud pethau ychydig yn haws wrth i ni yn
ceisio ailadrodd drwy ein rhestr cysylltiedig.
Ond mae angen i ni gadw golwg ar un mwy pwyntydd, felly un yn fwy seren nôd.
Mae pob hawl, felly dyma daw y rhan hwyl.
Rydym yn mynd i ymarfer gweithredu tynnu ar gyfer rhestrau cysylltiedig ddwbl.
Felly, mae hyn yn rhywbeth sy'n gêm yn hollol deg i'r cwis.
Roedd yn dangos i fyny ar cwisiau gorffennol.
Felly, yn bendant byddwch yn barod i cod ychydig yn C.
Peidiwch ag anghofio bod gyda'r holl hwn PHP hwyl a JavaScript,
rydym yn dal rhaid i ni gofio i wneud C. Felly loywi hynny
os ydych yn teimlo'n rhydlyd.
>> Mae pob hawl, gadewch i ni weld os allwn wneud hyn.
OK, oer.
Felly, rydym yn mynd i roi cynnig i olygu i'r dde i mewn yma,
a gobeithio mae hyn yn mynd yn ôl y bwriad.
Mae pob hawl, a yw unrhyw un yn awyddus i roi i mi awgrym ynghylch sut y dylid yr wyf yn dechrau?
Yr unig dybiaeth rwy'n gwneud yw fy mod eisoes
wedi strwythur diffiniedig, mae'r un Dangosais ar y dudalen olaf,
ar y sleid olaf.
A dwi'n storio ben fy cysylltiedig rhestr mewn rhyw pwyntydd elwir yn rhestr.
A oes unrhyw un yn dymuno mynd i mi ddechrau?
>> GYNULLEIDFA: Allwch chi greu newydd nod i alw drwy'r rhestr?
>> HANNAH: Awesome, felly rydym yn mynd i greu
mae nod newydd i gropian drwy'r rhestr.
Rwy'n hoffi hynny.
'N annhymerus' jyst alw'n pwyntydd os mae hynny'n iawn.
A lle dylai ddechrau yn wreiddiol?
>> GYNULLEIDFA: Mae'n debyg yn pennaeth y rhestr.
HANNAH: Beautiful.
Rydym am ddechrau yn y pen, a oedd Dywedais yn mynd i gael eu storio mewn rhestr.
Awesome.
Hyd yn hyn, felly da.
Ac yn awr, ein nod yw ailadrodd drwy'r rhestr
nes i ni ddod o hyd i'r nod gyda Gwerth n yr ydym am ddileu.
OK?
>> Felly nawr yw'r rhan lle rydym am ailadrodd drwy.
A all unrhyw un awgrymu ffordd i ailadrodd drwy'r?
>> GYNULLEIDFA: A ddolen.
>> HANNAH: Mae dolen.
Dwi wrth fy modd.
Yn benodol, gallwn geisio dolen gyfnod.
OK, ac rydym yn gwybod ein bod wedi cyrraedd ddiwedd ein rhestr pan yr hyn?
GYNULLEIDFA: Pan fydd pwyntydd yn null.
HANNAH: Pan fydd pwyntydd yn null.
Beautiful, rwyf wrth fy modd.
OK, oer.
Felly ddrwg gennym os yw fy brês rwymo yn fath o syrthio oddi ar y sgrin.
Rydym yn dod ag ef yn ôl.
OK, oer.
Beth sydd nesaf?
>> Felly, rydym yn gwybod ein bod am ddileu y nôd sydd werth n.
Felly gadewch i ni ddod o hyd i'r achos lle rydym mewn gwirionedd yn dod o hyd ein nod.
Felly, sut y byddwn yn gwirio bod?
Byddwn i'n jyst ddweud os pwyntydd, ac yna os byddaf yn awyddus i gael y gwerth allan o pwyntydd,
Fi jyst ddim yn arrow n, hafal n, mae'r paramedr
ein bod yn rhoi i swyddogaeth hon, mae'r nod yr ydym eisiau dileu mewn gwirionedd.
Unrhyw gwestiynau hyd yma?
Mae pob hawl.
Iawn, felly nawr gadewch i ni dynnu llun cyflym ar y bwrdd er mwyn ddychmygu hyn.
>> Felly, gadewch i ni ddweud mae ein nod hyfryd.
Ac mae ganddo werth, 'n annhymerus' jyst yn dweud bedwar.
Ac mae'n cyfeirio at y nesaf nod yn ein rhestr cysylltiedig.
A does dim byd ger ei fron.
Felly, rydym wedi ein blaenorol pwyntio at ddim byd.
Yn yr achos hwn, rydym yn pwyntio tuag yn ôl.
OK, dim ond sefydlu fy Rhestr gysylltiedig drosodd yma.
Ac mae gennym restr sy'n pwyntio i'r strwythur hwn i ddechrau.
'N annhymerus' yn tynnu un yn fwy am mwyn cyflawnrwydd.
OK.
'N annhymerus' yn pwyntio ymlaen â hyn.
A byddaf yn tynnu sylw bod un yn ôl.
Wps, sori.
Yeah, got hyn yn ôl.
Yn ei wneud eto.
OK, dyna ni.
Mae pob hawl, got it.
OK, dyma ein llun.
>> Iawn, felly rydym am ystyried ddau achos.
Yr achos cyntaf yw os bydd y nod yr ydym am ddileu
yw ar ddechrau'r iawn o'n rhestr.
Ac yna, yr ail achos yr ydym am i'w ystyried yw os yw'n unrhyw le arall.
Yr wyf yn deall bod hyn yn hollol gan dynnu anniben gyda fy holl gan ddileu'r,
ond gobeithio byddwn yn ceisio yn gwneud hyn yn glir gyda rhai cod.
>> Iawn, felly gadewch i ni ymdrin â'r achos lle rydym yn dod o hyd ein nod,
a 'i' ar yr union cychwyn ar ein rhestr cysylltiedig.
Gall unrhyw un roi i mi yn awgrym yma o ran yr hyn
Ddylwn i ei wneud mewn gwirionedd dynnu ein nod?
Mae'n ychydig yn anodd.
OK?
>> GYNULLEIDFA: Mae'n rhaid i chi gymryd y nod a fyddai cyn iddo
ac yn ei gwneud yn cyfeirio at y un a fyddai ar ei ôl,
ac yn cymryd y nod hwnnw fyddai ar ei ôl ac yn gwneud
mae'n cyfeirio at y nôd ger ei fron.
HANNAH: Yn union.
Iawn, felly mae hyn yn wir where-- mae gennym ddau achos.
Mae gennym yr achos lle mae'r nod yr ydym yn chwilio am
yn flaen y rhestr.
OK, ac yna yn wir bod chi a ddisgrifiwyd fel arall, dde?
Mae'n rhywle arall yn y rhestr.
Felly dywedasoch, mae angen i ni edrych ar y nod blaenorol,
a gwneud y nôd blaenorol cyfeirio at y nod nesaf.
Felly, gadewch i ni ddweud ein bod ceisio cymryd allan bump
yn fy arlunio anniben iawn dros yma.
Rydym eisiau gwneud yn siŵr bod pedwar awr yn cyfeirio at chwech.
Four pwyntiau nesaf i chwech.
A chwech o bwyntiau blaenorol i bedwar.
Dyna ein nod yma, dde?
Mae hyn yn hyn yr wyf yn meddwl eich newydd ei ddweud dros yno.
>> Iawn, felly gadewch i ni gael y darn cyntaf.
Gadewch i ni wneud y cael y pwyntydd blaenorol blaenorol.
Felly dylai pedwar yn nesaf yn tynnu sylw at yr hyn?
Yn union, yn yr achos hwn, chwech.
Felly, dylem ddweud pwyntydd, nesaf.
OK?
Mae pob hawl.
Felly gadewch i ni gael gwared ar y llun hyll hwn a cheisio i dynnu un ychydig yn brafiach.
Rydym wedi ein rhestr pen yma.
A bod yn cyfeirio at y nod cyntaf mewn ein rhestr cysylltiedig, a oedd yn dweud ein bod yn bedair.
Dyma ein hail nod, pump.
Ac mae ein trydydd nod, chwech.
Dim ond yn ceisio tynnu union un fath llun, dim ond ychydig yn fwy lân.
Iawn, felly pedwar yn nesaf pwyntiau yn wreiddiol i bump.
Five pwyntiau nesaf i chwech.
Chwe o bwyntiau blaenorol i bump.
A phump o bwyntiau blaenorol i bedwar.
Cymaint brafiach!
OK, oer.
>> Felly nawr, hyn a wnaethom yn unig yma, y ​​llinell hon o god,
sy'n dweud pwyntydd blaenorol nesaf, felly beth mae hynny'n ei olygu?
Mae hynny'n golygu os ydym yn edrych ar pump, ewch i'r nod blaenorol,
ac mae'n ddylai nesaf nawr pwynt i bump yn nesaf.
Felly y bôn, yr hyn y mae hynny'n ei wneud yw hynny wedi dileu saeth hon
ac yn ei gwneud yn sgipio dde dros bump.
A yw hynny'n glir?
Rwy'n gwybod y gall hynny fod ychydig yn fras.
Rwy'n gweld rhai nods pen.
Mae hynny'n dda.
OK, oer.
Yn awr, beth yw'r cam nesaf?
>> Rwyf wedi ailosod y nesaf.
Yn awr, a oedd yn saeth arall mae angen i mi newid?
Mae hyn yn un iawn yma.
Chwe yn gynt.
Nid ydym am chwech yn flaenorol i dynnu sylw at bump anymore.
Rydym am iddo bwyntio at bedwar.
A yw hynny'n gwneud synnwyr llun?
Felly nawr, gallwn mewn gwirionedd yn cymryd pum allan.
Felly gadewch i ni gael y darn.
Beth y dylwn i ei wneud cyn i mi ailosod chwech o blaenorol i bedwar?
Unrhyw syniadau yno?
>> GYNULLEIDFA: Am ddim y nôd rhwng nhw drwy osod iddo null?
HANNAH: Cool.
Yn bendant, mae ein nod terfynol yw mynd i fod i ryddhau y nôd.
Felly, gallwn wneud hynny yn iawn yma.
Pwyntydd am ddim.
Yn hollol.
Ond hyd yn oed cyn hynny, gadewch i ni just-- ein hawl nod
yma yw gosod pwyntydd nesaf blaenorol cyfartal i bwyntydd blaenorol.
Rwy'n gwybod hyn yn cael ei gynnwys i fyny.
OK, gadewch i ni take-- oer.
Gall pawb weld y llinell waelod?
Neu a yw'n super bach?
>> Felly, cyn i ni gweithredu llinell hon yma, rydym am
i wneud yn siŵr bod pwyntydd Nid nesaf yw null.
Oherwydd os pwyntydd nesaf yw null, pa fath o wall
Byddaf yn ei gael pan rwy'n ceisio cyfeirio pwyntydd nwl?
GYNULLEIDFA: Seg fai.
HANNAH: A fai SEG, hardd.
Iawn, felly os nad yw hynny'n null, yna gallwn ailosod.
Ac mae gennym chwe phwynt eto i bedwar.
Cwestiynau hyd nes y pwynt hwn?
Ie?
>> GYNULLEIDFA: Yn eich tro cyntaf os datganiad, wnaethoch chi
yn ei olygu i gael y saeth nesaf, neu [Anghlywadwy]?
HANNAH: Yr wyf yn golygu saeth pwyntydd n.
Felly y bôn, yr hyn yr wyf i'n ceisio ei wneud yn dweud, y nôd o bryd fy mod
ailadrodd drosodd, y nod ar hyn o bryd sy'n Rwy'n edrych ar, rwy'n storio mewn pwyntydd.
Ac yr wyf am wybod pwyntydd yn gwerth, sydd yn yr achos hwn yn n.
Ac yr wyf am ei weld, yw y nôd rwy'n edrych
ar gyfer yr nôd Im 'yn anelu at ddileu?
Felly dyna pam gennym yma pwyntydd n.
>> GYNULLEIDFA: Felly y saeth yn mynd i n, byddwch yn gosod gwerth
ac yn ei storio mewn nod a elwir n?
>> HANNAH: Felly mae fel os wyf yn mynd drwy'r rhestr cysylltiedig
ac yn pwyntio at bump.
Os wyf am gael y gwerth hwnnw, os Rwyf am gael y nifer hwnnw, 5,
Rhaid i mi wneud pwyntydd saeth n.
Cool?
Yeah.
>> GYNULLEIDFA: A yw n enw'r newidyn?
HANNAH: Ydw.
Felly, os ydym yn troi yn ôl un llithren, n yw'r enw
o werth y tu mewn i'r nod yn ein rhestr cysylltiedig.
Ac yr wyf yn gwybod y gall gael ychydig ychydig yn ddryslyd oherwydd ein bod hefyd yn
yn galw y peth ein bod am ddileu'r n.
Felly dyna lle hwnnw Daw un llinell o.
Yeah?
>> GYNULLEIDFA: Beth sydd gennych chi [Anghlywadwy] sut maent yn gweithio?
Mae pwyntydd [Anghlywadwy]?
>> HANNAH: Cadarn.
A ydych yn siarad about-- pa llinell?
GYNULLEIDFA: Y llinell olaf [Anghlywadwy].
>> HANNAH: Cadarn, OK.
Felly, gadewch i ni edrych ar y darlun yn Er mwyn ceisio egluro hyn.
Mae'n ddrwg gen i, ar gyfer y camera, y cwestiwn oedd
gallwn esbonio pwyntydd arrow pwyntydd nesaf blaenorol.
Iawn, felly gadewch i ni ddweud ein bod am bump ac mae ein nod yw dileu bump.
Felly pwyntydd nesaf, pa un o'r rhain tri nodau y mae hynny'n ei roi i ni?
Mae hynny'n dod â ni at y chweched nod, dde?
>> Iawn, felly nawr rydym yn gofyn ar gyfer blaenorol y chwe yn.
OK?
Ac rydym yn ailosod hon i fod yn hafal i bedwar,
a oedd yn digwydd bod pump yn flaenorol.
Rwy'n gwybod, mae'n super galed i gadw golwg ar.
Fi 'n sylweddol yn argymell eich bod yn tynnu lluniau os ydych yn cael cwestiwn fel hyn.
Ie?
>> GYNULLEIDFA: A yw'r rheswm y Nid oes gennym [Anghlywadwy]?
>> HANNAH: Yn union.
Felly, y cwestiwn oedd, pam mae rydym oes angen i wirio yma?
Pam nad oes angen i ni wirio bod Nid pwyntydd blaenorol yn hafal i null?
Ac mae'n oherwydd ein bod i wedi eisoes gwahanu allan
yr achos os bydd y pwyntydd yn ar y cychwyn cyntaf.
Cwestiwn da iawn.
Unrhyw beth arall ar hyn?
OK, oer.
Felly, gadewch i ni orffen i fyny.
Rydym yn bron yno.
>> Felly beth os yw ar ben?
Beth os hytrach na ceisio dileu bump,
rydym mewn gwirionedd yn awyddus i ddileu pedwar?
Beth fyddai rhaid i mi ei wneud?
Wel, yr wyf am i ailosod fy mhen i beth?
Gweiddi allan?
GYNULLEIDFA: Yr un ar ei ôl.
HANNAH: Beautiful.
Iawn, felly rydym eisiau rhestru i fod yn pwyntio i beth bynnag y mae ein pwyntydd nod nesaf yw.
Da.
A dim ond er cyflawnrwydd yn fwyn, byddem
am wirio hynny ar yr amod ein rhestr Nid yw null, ar yr amod nad yw ein rhestr yn
yn wag, yna rydym yn awyddus i osod ein gyfartal blaenorol i null.
Cwestiwn hyd yn hyn?
Un cam i ffwrdd from--?
>> GYNULLEIDFA: A fyddai'n pe Nid rhestr yn hafal i null?
>> HANNAH: Ie, rydych yn hollol gywir.
Rydw i mor flin.
Nid yw rhestr yn hafal i null.
Awesome.
Mae ceisio dod â hyn i gyd ar y sgrin.
Mae wedi fath o syrthio oddi.
Mae'n ddrwg gennym, guys.
Ac yn olaf, ond nid y lleiaf, i gyd mae'n rhaid i ni ei wneud yw dychwelyd.
OK.
Dyna oedd llawer llawn dop yn gyflym iawn.
Cymerwch eiliad i edrych dros hwn.
Dywedwch wrthyf os oes gennych unrhyw gwestiynau.
Yeah?
>> GYNULLEIDFA: Os rhestr wrth pen, then-- aros, Nevermind.
>> HANNAH: OK, yn dda.
Felly, mae hyn yw os y rhestr wrth ben, rydym yn tynnu i beth bynnag yr ydym yn mewnosod.
Yeah?
>> GYNULLEIDFA: Allwch chi egluro y cyntaf os bydd datganiad eto?
Os bydd y pwyntydd i n yn hafal i n?
HANNAH: Cadarn.
Felly ein nod o swyddogaeth cyfan yn i ddileu'r nod sydd werth n.
Felly, os ydym yn dod o hyd, fel yr ydym ni'n ailadrodd drwy ein rhestr,
y nôd gyda gwerth n, dyna yr un yr ydym am ddileu.
Felly pob un o'r dileu yn digwydd tu mewn hwnnw fawr pe datganiad.
A yw hynny'n gwneud synnwyr?
Cool.
Yeah?
>> GYNULLEIDFA: Efallai nad ydych yn gallu jyst yn gweld iddo, ond peidiwch â chi hefyd angen llinell
i sgrolio drwy'r rhestr?
HANNAH: Awesome.
Gadewch i ni godi hyn ychydig bach, ac byddwn yn taflu hawl honno yn y gwaelod.
Efallai byddai'r bwrdd i wedi bod yn syniad ychydig yn well.
Felly, sut y byddwn yn symud pwyntydd ymlaen?
>> GYNULLEIDFA: Pointer yn cyfateb pwyntydd yn ogystal ag un.
>> HANNAH: Beautiful.
Felly dyna ein galluogi i parhau ailadrodd drwy.
OK.
GYNULLEIDFA: Oni fyddai yna arall?
HANNAH: Un mwy o amser?
GYNULLEIDFA: Ni fyddai mae arall ar ôl yr hen fawr os
Datganiad [Anghlywadwy]?
HANNAH: Pa ran?
Mae'n ddrwg gen i.
>> GYNULLEIDFA: Y groesi, Ni ddylid cael arall?
HANNAH: Yr ydych yn hollol Gallai gael arall.
Oherwydd bod gen i hawl dychwelyd yno, nid oes angen arall rydych.
Ond ie, cwestiwn da.
OK, ie?
GYNULLEIDFA: A allwn ni feddwl am pwyntydd sy'n cael ei symud drwy'r rhestr
â chymryd ar werth pob nod yn y rhestr?
Neu a ddylem feddwl am y peth fel math o allanol at y rhestr?
>> HANNAH: Naill ai un yn iawn, yr wyf yn meddwl.
Y ffordd yr wyf yn dychmygu ei bod yn Mi ddweud, OK, yr wyf pwyntydd.
Ac mae hyn yn fi.
Mae hyn yn fy llaw.
Rydw i'n mynd i dynnu sylw at y gwahanol pethau yr wyf am ei ailadrodd drwy.
Yn gyntaf, yr wyf i'n mynd i bwynt i ben y rhestr.
A bod yn dweud wrthyf fy mod mynd i bwyntio at bedwar.
Ac felly mi, sef allanol i'r rhestr, Gallaf gyfeirio at bob un o'r elfennau hyn.
Felly, yr wyf yn meddwl am fy hun fel pwyntydd.
GYNULLEIDFA: Felly pan fyddwch yn dileu un o'r elfennau hynny,
chi ddileu eich hun, fel petai.
HANNAH: Yn union.
Felly, byddwch yn dileu y peth rydych yn pwyntio at.
Felly, yn yr enghraifft sy'n gwelsom lle rydym ni'n
ceisio dileu bump, pan dwi'n pwyntio at bump,
Rwyf eisiau dileu'r beth Im 'yn pwyntio at.
Yn union i'r dde.
Ie?
GYNULLEIDFA: A ydym wedi cymryd gofal o'r achos lle nad yw n yn y rhestr?
HANNAH: Os nad yw n yn y rhestr?
Y cyfan sydd yn mynd i ddigwydd yw eich bod yn mynd i ailadrodd trwy ac ailadrodd
drwy, ac yna, rydych yn mynd i fynd i'r pwyntydd nwl cael,
ac yna rydych chi'n mynd i gael ei wneud.
>> GYNULLEIDFA: Felly mae gennym i ddychwelyd unrhyw beth?
HANNAH: Gallai ni.
Mae'r ffordd, os y'i diffinnir hyn swyddogaeth, Fi jyst yn dweud ei fod yn dychwelyd
ddi-rym beth bynnag.
Ond gallai fod gennych rywbeth fel ddychwelyd yn gyfanrif,
ac wedi iddo ddychwelyd negyddol 1 os bydd yn methu.
Rhywbeth fel 'na.
Cwestiynau with-- ie?
GYNULLEIDFA: [Anghlywadwy]?
HANNAH: Mae'n ddrwg gennyf?
GYNULLEIDFA: [Anghlywadwy]?
HANNAH: Cadarn.
Felly dyna'r actual-- unwaith y byddwn i wedi gwneud yr holl waith hwn o symud
yr holl saethau hyn o gwmpas, mae ein gyfan nod oedd cael gwared ar y nôd
ein bod yn chwilio am.
Felly, yn yr achos hwn, gan ryddhau pwyntydd, os ydw i'n pwyntio at bump,
mae fel dileu y nod canol.
Dyna yw'r rhad ac am ddim ran pwyntydd.
Mae hynny'n gwneud synnwyr?
>> GYNULLEIDFA: Felly yn meddwl hyd yn oed wnaethoch chi beidio [Anghlywadwy]?
>> HANNAH: Felly, rydym yn cymryd yn ganiataol ar y dechrau roedd gennym rai rhestr a oedd already--
eu bod wedi rhoi hyn at ei gilydd.
Felly, er mwyn adeiladu'r hyn rhestr, maent yn must've [Anghlywadwy].
Cool.
Unrhyw beth arall gyda hyn?
Ie?
>> GYNULLEIDFA: Beth os yw'r rhestr nid yw'n gyfartal y llinell null?
[Anghlywadwy]?
HANNAH: Hawl yma?
GYNULLEIDFA: Yeah.
HANNAH: OK, pob rydw i'n ei wneud yn Im 'jyst yn gwneud yn siŵr
bod cyn i mi geisio rhestr dereference, cyn i mi ceisio cael mynediad i'r blaenorol,
Rwyf am wneud yn siŵr nad yw'n null felly nid wyf yn cael nam SEG.
Cool.
>> OK, yr wyf yn gwybod hyn yn eithaf llawer i fynd drwodd.
Felly, bydd sleid hwn ar gael i chi.
Felly, gallwch fynd drwyddo yn fwy manwl.
Ie?
>> GYNULLEIDFA: Pam fod y rhestr [Anghlywadwy]?
HANNAH: Cadarn.
Felly rhestr gwirionedd yn cyfeirio at elfen hon i'r dde yma,
yr elfen gyntaf yn y rhestr.
Felly ni ellir ei gael blaenorol.
Ie?
>> GYNULLEIDFA: A yw'r pwynt pwyntydd i'r un cyfeiriad mewn cof?
A yw'n cyfeirio at yr un fath gyfeiriad yn y cof fel y nôd
ei fod yn cyfeirio at?
>> HANNAH: Ydy, mae pwyntiau i'r nod hwn mewn cof.
>> GYNULLEIDFA: Iawn, felly pan fyddwch yn [Anghlywadwy]?
>> HANNAH: Mewn ffordd, ie.
OK.
Mae pob hawl, gadewch i ni symud ynghyd â hyn.
Ac os oes gennych fwy o gwestiynau, ffon o gwmpas ar y diwedd,
a gallwn fynd drwyddo eto.
OK, oer.
Yn awr, rydym yn cael i symud ymlaen i hash tablau, geisiau,
a choed, yr ydych got super gyfarwydd â hwy yn sillafu pump, a osodwyd-t.
>> Felly tabl hash yn unig yw amrywiaeth gyda rhestrau cysylltiedig yn unigol
neu restrau dod oddi ar ohono yn gysylltiedig ddwywaith.
Felly, mae gennym ryw fath o amrywiaeth cysylltiadol.
A sut rydym yn gwybod pa un o'r rhain araeau bwcedi i fynd i mewn,
rydym yn defnyddio swyddogaeth hash.
Felly, yn yr achos hwn, gall unrhyw un dyfalu beth y swyddogaeth hash
Byddai yn unig yn seiliedig ar rai y mewnbwn a'r allbwn?
>> GYNULLEIDFA: Rhif Llythyr o'r wyddor.
HANNAH: Yn union.
'I jyst yn eu rhoi yn nhrefn yr wyddor.
Mae popeth sy'n dechrau gyda A yn cael ei roi yn y bwced cyntaf.
Mae popeth gyda B yn cael ei roi yn y ail bwced, yn y blaen, ac yn y blaen.
Awesome, OK.
A swyddogaeth hash yw unrhyw swyddogaeth sy'n cymryd mewn gair
a bydd yn dweud wrthych beth bwced mae'n perthyn yn.
Felly, mae cofnod yn ein amrywiaeth mae'n perthyn i mewn.
>> Felly, bob tro rwy'n rhoi fy hash swyddogaeth gair,
dylai ddweud wrthyf yr un fath rhoi bob tro.
Felly, os byddwn yn defnyddio'r swyddogaeth hash oddi wrth y sleid blaenorol
lle rydym yn trefnu gan y llythyren gyntaf y wyddor,
bob tro rwy'n rhoi fy swyddogaeth hash "afal,"
dylai bob amser yn rhoi i mi yn ôl 0.
Felly, os oes gennyf afal i roi yn fy tabl hash,
os byddaf yn rhoi "afal" i fy swyddogaeth hash, dylai ddweud, ewch roi mewn bwced 0.
Os ydw i'n chwilio am afal yn fy tabl hash
ac yr wyf yn dweud, lle gallai afal byw, byddwch yn gofyn i'ch swyddogaeth hash.
Ac mae'n dweud, ewch i bwced 0.
Mae pob hawl?
Cwestiynau â swyddogaethau hash?
Awesome.
>> Dyma ychydig yn fwy esboniad manwl
o'r hyn y gallai swyddogaeth hash edrych.
Mae pob hawl.
Yn awr, y broblem gyda hash swyddogaethau mewn byd delfrydol,
byddem ond yn cael un beth ym mhob bwced.
Ond mewn gwirionedd, mae nid yn unig yn un gair
sy'n dechrau gyda A. Does dim dim ond un gair sy'n dechrau gyda B. Felly
yn yr achos hwn, os ydym yn sydyn gael "aeron,"
ac rydym am ei roi i mewn i'n tabl hash,
ac rydym yn gweld, oh, na, banana yn yno eisoes, yr hyn yr ydym yn gonna ei wneud?
>> Wel, mae gennym ddau ddewis.
Y dewis cyntaf yw linol treiddgar, a oedd yn
jyst yn golygu mynd o hyd y bwced wag nesaf.
Ewch ddod o hyd i'r cofnod amrywiaeth gwag nesaf.
A dim ond rhoi "aeron" yno.
Felly, yr wyf yn gwybod ei fod yn fod i fynd gyda banana mewn bwced un.
Ond dim ond roi yn bwced tri, gan fod bwced tri yn wag.
Opsiwn arall yw yn ôl pob tebyg yr hyn yr ydych yn gweithredu
yn eich p-set, lle rydych yn Roedd gan gadwyno ar wahân.
Felly pob un o'ch bwcedi, pob un o'ch elfennau array,
nid yn unig yn dal un geiriau, ond mewn gwirionedd dal pwyntydd i restr o eiriau.
Felly, os oedd gennych fanana yn eich tabl hash
ac rydych eisiau sydyn i ychwanegu aeron, dim problem.
Dim ond ychwanegu aeron ar hyd y diwedd, neu i y dechrau, eich rhestr cysylltiedig.
OK, awesome.
Cwestiynau â hash tablau cyn i ni fynd ymlaen?
>> Mae pob hawl.
Coed a geisiau.
Iawn, felly roedd hyn yn opsiwn arall ar gyfer gweithredu geiriadur.
Gallech fod wedi gwneud cais.
Felly mae'n fath arbennig o goeden sy'n ymddwyn fel tabl hash aml-lefel.
Felly, byddwch yn gweld y llun lle mae gennych amrywiaeth sy'n
yn cyfeirio at griw o araeau y pwynt hwnnw i griw o araeau
y pwynt hwnnw i griw o araeau.
A byddwn yn gweld yn union beth hwnnw Byddai edrych ar sleid yn y dyfodol.
Ac yn fwy cyffredinol, coeden yn unig yw unrhyw strwythur data
y mae'r data'n trefnu mewn rhyw hierarchaeth.
Felly, lle y gwelsom mae gennym rhyw fath o ddealltwriaeth
o lefel uchaf, lefel nesaf, lefel nesaf, lefel nesaf.
Felly mae hyn yn ôl pob tebyg y rhan fwyaf o glir gyda rhai enghreifftiau penodol.
Felly dyma ein coeden.
Gallwch weld ei fod yn Mae lefelau penodol
ein bod yn dechrau gyda'r nod gwraidd, un.
A gallwn fynd i lawr drwy ein coeden.
>> Mae coeden ddeuaidd yn math arbennig o goeden.
A'r unig fanyleb am goeden ddeuaidd
yw bod pob nod yn cael ar y mwyaf ddwy dail.
Felly, nid ydych yn mynd i weld unrhyw o'r nodau hyn yn cael tri neu bedwar
neu ryw nifer arall o ddail.
Ac yna hyd yn oed mwy penodol yn goeden ddeuaidd chwilio
lle mae pob nod ar ochr chwith y nod yn mynd i gael gwerth llai.
A phob gwerth i'r i'r dde yn mynd i fod yn fwy.
Felly, os ydych yn gweld 44 wrth ein gwreiddiau, ar y chwith, 11, 22, a 33
i gyd yn llai na ein gwreiddiau.
Ac ar y dde i gyd rhifau bigger-- 66, 55, a 77.
Ac mae hyn yn wir eiddo ar bob lefel y goeden.
>> Felly, pan fyddwn yn mynd i lawr i 22, 11, a 33, yn dal 11
yn llai na 22 a 33 yn fwy na 22.
Ac mae hyn yn ei gwneud yn haws i chwilio oherwydd os ydym yn chwilio am rif,
rydym yn gwybod yn union pa gangen i ddilyn i lawr.
Felly, dylai hyn rydych yn atgoffa ychydig bach o chwilio deuaidd.
Yeah?
>> GYNULLEIDFA: Felly pan fyddwch yn disgrifio deuaidd,
dywedasoch mae wedi yn y rhan fwyaf dwy ddeilen?
HANNAH: Mm-EM.
GYNULLEIDFA: A allai cael llai?
HANNAH: Yeah.
Felly, gadewch i ni ddweud, er enghraifft, eich bod Nid oedd gan hyd yn oed nifer o bethau
ac ni allai chi lenwi eich holl dail, mae'n iawn os oes un ganddo un.
OK?
Awesome.
Unrhyw gwestiynau eraill ar goed?
OK.
>> Yn ôl at ein geisiau gan fy mod yn siarad am ychydig yn gynharach,
sut yr ydym yn gael y rhain araeau aml-lefel.
Felly, yn yr achos hwn, rydym yn dechrau ar y brig.
A gallwn ddilyn unrhyw air a roddir i lawr.
Felly, gadewch i ni ddweud ein bod eisiau i chwilio am Turing.
Rydym yn dechrau am T, dilynwch i lawr i amrywiaeth sy'n cynnwys U,
a'i ddilyn i lawr nes i ni cyrraedd delta bach hwn sy'n
yn dweud wrthym, ie, byddwch yn dod o hyd i air.
Glir ar geisiau?
Unrhyw beth i fynd dros yno?
Ie?
GYNULLEIDFA: A yw'r symbol o delta rhaid i feddiannu'r lle o fewn y cais?
HANNAH: Yeah, felly nid yw'n gwneud o reidrwydd yn hyd yn oed angen i fod yn delta.
Ond mae angen peth ffordd i ddweud wrth ein computer-- ddrwg gennym,
fel ein bod yn gwybod nad yw TUR yn air.
Oherwydd gadewch i ni ddweud nad oedd gennym cysyniad hwn o delta, cysyniad hwn
o longyfarchiadau, byddwch yn dod o hyd i air, byddai'n mynd drwy'r ac yn ailadrodd T-U-R,
ac yna dweud, anhygoel, yr wyf yn ei chael hi'n!
Rhaid iddo fod yn air.
Ond mae'n wirioneddol peidio.
Rydym am Turing cyfan i fod yn air.
Felly mae'n rhaid i ni gael rhywbeth yn y pen sy'n dweud, llongyfarchiadau,
eich bod wedi dod o hyd i air dilys.
GYNULLEIDFA: Felly, os oedd gennych yn hoffi 26 o lythyrau yn yr wyddor,
Byddai gennych mewn gwirionedd 27 o allweddi yn eich cais?
>> HANNAH: Awesome, yeah.
Felly mewn gwirionedd, credaf fod fydd ar y sleid nesaf.
Ta-da!
Lle os oes gennych nod yn eich cais, rydych yn
mynd i gael 27 o blant yn hytrach na 26.
Unrhyw gwestiynau â hynny?
Yeah?
GYNULLEIDFA: Pam geisiau yn cymryd i fyny fel llawer o le [Anghlywadwy] wrth i chi fynd?
Pam ei fod ystyrir ei fod [yn anhyglyw]?
HANNAH: Cadarn.
Gadewch i ni fynd yn ôl.
Y cwestiwn yw, pam yn geisiau gymaint mwy
na rhywbeth fel tabl hash.
Felly, ar gyfer pob un o'r lefelau hyn, hyd yn oed os nad ydynt yn tynnu yma,
rhaid i chi gael yr holl 26 o gymeriadau.
A'r rheswm nad ydych yn gallu dweud, oh, ond tebyg am Turing, yr wyf yn
Nid oes angen i gael unrhyw rai o'r rheini un pethau ar lefel y U. Wel,
os yn sydyn ydych eisiau ychwanegu rhywbeth a oedd fel T-H,
byddai angen i chi gael y gallu ychwanegu fod gair.
Felly, ar gyfer pob un llythyr, ydych yn mynd i gael
i gael criw o araeau dod oddi ar ohono.
Fel y gallwch weld sut y byddwn mae'n ei gael fawr iawn, yn gyflym iawn.
Unrhyw gwestiynau eraill?
Mae pob hawl.
Yeah?
>> GYNULLEIDFA: Pryd mae geisiau gyflymach na tablau hash?
>> HANNAH: Pryd mae geisiau gyflymach na tablau hash?
Felly, os ydych wedi cael 'n sylweddol swyddogaeth hash drwg.
Felly, gadewch i ni ddweud fy mod yn hoffi, dyma'ch swyddogaeth hash.
Ni waeth pa air byddwch yn rhoi i mi, Rwyf bob amser
mynd i'w roi yn derbyn amrywiaeth 0.
Ac felly rydym yn y pen draw gyda dim ond rhoi popeth mewn un rhestr cysylltiedig hir mawr.
Ac felly byddai amser am-edrych yn cymryd ar y gwaethaf n os yw'n ar ddiwedd ein rhestr.
Gyda'r cais, rydym yn unig rhaid i ni ailadrodd trwy y llythrennau yn y gair.
Felly hyd yn oed os ydym yn ychwanegu bagad mwy o eiriau i'n cais,
ni fyddai'n mynd â ni mwyach i ddod o hyd i air penodol.
>> Mae pob mae'n rhaid i ni ei wneud yw, er enghraifft, yn yr achos hwn,
gadewch i ni ddweud ein bod yn chwilio am chwyddo, byddem yn rhaid i ailadrodd drosodd
Z-O-O-M, pedwar llythyr.
Felly dyna dim ond y hyd y gair chwyddo.
Does dim ots faint o mwy o eiriau yr ydym yn ei roi yn y cais hwn.
Gallwn bob amser yn ei gael yn y rhai pedwar cam.
Awesome.
Ie?
>> GYNULLEIDFA: Felly [Anghlywadwy] yn arae, dde?
>> HANNAH: Mm-EM.
GYNULLEIDFA: Os ydych yn chwilio am [Anghlywadwy],
byddai'n rhaid i chi fynd drwy eich arae i ddod o hyd [Anghlywadwy]?
HANNAH: Cadarn.
GYNULLEIDFA: Nid yw'n yn cymryd mwy o amser?
HANNAH: Os ydw i'n mynd i yn dweud bod fy amrywiaeth bob amser
mynd i fod yn A, B, C, D, E, F, G, blah blah blah,
felly os wyf bob amser yn gwybod ei fod yn yn yr un union drefn,
os byddaf bob amser yn gwybod ei fod yn yn nhrefn yr wyddor,
Gallaf ddweud O yn rhif felly ac felly yn yr wyddor.
Dim ond neidio i'r lle hwnnw.
Gan fod cofiwch, gyda araeau, gallwn gael gafael
unrhyw elfen o'r amrywiaeth mewn gyson amser os ydym yn gwybod ble rydym yn edrych.
Yeah?
>> GYNULLEIDFA: Ar y blaenorol sleid [Anghlywadwy] 27,
ond 26 ar gyfer yr un cyntaf.
>> HANNAH: Mae'n ddrwg gennyf?
>> GYNULLEIDFA: Nid yw'r cyntaf un 0, felly ni fyddai'n 26?
>> HANNAH: Cadarn, felly pan fyddwn yn dweud 27, dyna mynd i roi i ni mynegeion 0 drwy 26.
Ond os ydych yn cyfrif mewn gwirionedd y rhai allan, mae'n mynd i fod yn 27.
Cwestiwn da.
Unrhyw beth arall?
Yeah?
>> GYNULLEIDFA: Felly mae geisiau arafach na'r tablau hash?
>> HANNAH: Ceisiau yn mynd i fod, yn theori, tablau hash gyflymach na
ond yn cymryd mwy o gof.
Yeah?
GYNULLEIDFA: [Anghlywadwy]?
>> HANNAH: Mae'n ddrwg gen i, ni chlywais i chi.
GYNULLEIDFA: [Anghlywadwy].
0 i 25 oed yn rhoi i chi 26.
>> HANNAH: 0 i 25 oed byddai rhoi 26 i chi, dde.
>> GYNULLEIDFA: Ac yna [Anghlywadwy].
HANNAH: Iawn.
Felly mae nifer yr ydym yn pennu'r yw mae nifer o bethau yn ein casgliad.
Felly, os oes gennym 27 o, 'i' mynd i roi i ni 0
drwy 26, a fydd yn rhoi Ystafell ni am, yn yr achos hwn,
Dydw i ddim yn cynnwys collnod.
Felly, rydym yn cael 0 drwy 25 yw 26 llythyr cyntaf y wyddor,
neu bob 26 o llythrennau'r wyddor.
Ac yna y diwethaf beth, yn derbyn 26, yn
mynd i fod y siec marc, neu'r delta.
Unrhyw beth arall?
Awesome.
Colli fy lle.
OK, oer.
>> Felly, rydym eisoes crybwyll hyn.
Ond mae'r fasnach fawr i ffwrdd rhwng geisiau a thablau hash
yw bod geisiau darparu, yn theori, yn edrych yn gyson i fyny
weithiau ond yn defnyddio llawer gyfan o gof.
Mae pob hawl, erbyn hyn mae gennym ychydig yn strwythurau llai cymhleth,
a byddwn yn ei wneud gyda C, a byddwn yn symud i'r dde ar hyd.
>> Felly staciau, gwelsom hyn mewn darlith lle rydych yn
cael rhywbeth fel pentwr o hambyrddau lle
y peth diwethaf i chi ei roi ar y pentwr yn mynd
i fod y peth cyntaf y byddwch yn cymryd i ffwrdd.
Felly dyna beth sydd wir yn diffinio pentwr yw bod y peth diwethaf i chi ei roi ar
yn mynd i fod y cyntaf beth yr ydych yn cymryd i ffwrdd.
A'r derminoleg a ddefnyddiwn os ydym yn mynd i roi rhywbeth,
os ydym yn mynd i ychwanegu rhywbeth at ein stac, rydym yn galw bod gwthio.
Ac os byddwn yn cymryd rhywbeth i ffwrdd, rydym yn galw ei popping.
Ac os ydym yn mynd i gweithredu pentwr, rydym yn
Mae angen i fod yn sicr i gadw golwg ar y maint a'r gallu.
Felly, cyfanswm nifer o elfennau o fewn ein gallu dal a nifer presennol o elfennau
ein bod yn cynnal.
>> Ac yn yr un modd iawn, mae gennym ciwiau.
A'r unig wahaniaeth yn hytrach na gyda staciau,
dywedasom y peth olaf yr ydym yn ei roi ar yw'r peth cyntaf i ni gymryd i ffwrdd.
Felly, gyda ciwiau, mae'r peth cyntaf yr ydym yn eu rhoi ar
yn mynd i fod y peth cyntaf rydym yn cymryd allan.
Felly, mae hyn yn debyg os ydych yn mewn gwirionedd yn leinin i fyny mewn siop
ac rydych yn cael cymorth, yna bydd y person cyntaf yn unol
ddylai fod y person cyntaf i gael eu helpu.
Felly byddai hynny'n ciw.
>> Felly mae angen i gadw golwg ar y maint, gallu, a phen ers i ni yn
mynd i gymryd pawb oddi ar y tu blaen y rhestr yn hytrach na'r cefn.
Cwestiynau ar hynny?
Unrhyw gwestiynau C sy'n eich poeni?
Strwythurau data, unrhyw un y pethau hwyl?
Mae pob hawl, oer.
Felly byddaf yn ei drosglwyddo i Alison i neidio i mewn i rai mwy o raglennu.
>> ALISON: O, gawn ni weld.
Byddwn yn gweld pa mor dda yr wyf yn ei wneud yma.
OK, dw i'n mynd i geisio hedfan trwy'r pethau hyn, guys.
Aeth Hannah iawn mewn dyfnder ar ei holl bethau.
Rydw i'n mynd i geisio rhoi chi trosolwg cyflym chwyth
fel y gallwn fynd i'r Davin gyda'r holl yr hwyl JavaScript a sicrwydd y pethau
hynny efallai eich bod mewn gwirionedd eisiau clywed mwy am.
>> OK, fel y dywedodd Hannah, os oes gennych unrhyw gwestiynau,
Rydw i'n mynd yn rhy gyflym, os gwelwch yn dda, gadewch i mi wybod.
Byddaf yn ateb cwestiynau yn ôl yr angen.
Felly, i ddechrau, rydym yn mynd i ddechrau gyda debyg, un o'r pethau cyntaf
a ddysgoch gyda gwe rhaglennu, caniatâd.
Dylai Felly chmod, rydych guys wedi bod meistri ar hyn gyda'r holl we
rhaglennu eich bod i wedi bod yn ei wneud yn ddiweddar.
Mae'n bôn dim ond gorchymyn sy'n newid y caniatadau
neu'r caniatâd mynediad o'n hamcanion system ffeiliau.
Wrth gwrs, i mewn gwirionedd gweld hyn, os ydych yn
cael unrhyw drafferth gyda'r rhain yn ystod eich setiau problem,
efallai eich bod wedi defnyddio ls -L, sydd yn hir, i gael y math o olygfa fel hyn,
lle rydych mewn gwirionedd yn gweld yr holl y caniatâd i ffeil.
>> Ac yn wir, rydym yn jyst yn mynd i fynd drwy 'n bert yn gyflym yn unig' n bert
llawer hyn y mae pob un o'r rhain yn ei olygu.
Felly, rydym wedi d iawn yma, a oedd yn jyst yn sefyll am y cyfeiriadur.
Yn amlwg dde yma, gwelwn rwx, a oedd yn yn ddarllenadwy, ysgrifenadwy, a gweithredadwy.
Gallai'r rhain hefyd yn cael eu cynrychioli fel darnau, y byddwn yn mynd i mewn ar y dudalen nesaf.
Felly mae gan bob triawd a welsom fan hyn, felly mae'n tri trioedd.
Rydym wedi rwx, r dim x ac r dim x am y ffeil gyntaf.
Mae'n strwythur cyffredinol hwn.
>> Felly, mae gennym rai cyfeiriadur.
Mae gennym rai grŵp defnyddwyr gyda caniatadau hyn.
Mae rhai grwpiau sydd â caniatadau hyn, a byd sydd â chaniatâd.
Gallwch feddwl am hyn fel triawd.
Gallwch feddwl am hyn fel tri darnau.
Fel y gallant ddal gwerthoedd yn unrhyw le o 0 i fyny
i 7, a dyna pam weithiau'n cawsom chi ei wneud chmod
600 yn lle chmod rw beth bynnag.
Byddwn yn mynd i mewn enghraifft yno.
Ond yn y bôn, gallwch feddwl o'r rhain naill ai fel unig rwx,
neu gallwch feddwl amdanynt fel rhai Rhif lle mae hyn yn un cyntaf yma
cynrychioli nifer rhwng 0 a 7, yr ail un
cynrychioli nifer rhwng 0 a 7, a'r trydydd un
cynrychioli nifer rhwng 0 a 7, OK?
>> r werth o 4 w Mae gan werth 2, ac x
Mae gwerth o 1, a dyna pam mae hyn Byddai caniatâd yma cael ei chmod 700.
Gan fod yn yr achos yma, mae'n dweud ein bod wedi y darn cyntaf mae flipped ar.
Felly mae gennym 4 ar gyfer darllen.
Mae'r ail bit yn cael ei flipped ar gyfer w, sydd 2, felly erbyn hyn rydym wedi 6.
A'r trydydd darn yn cael ei flipped ar ar gyfer x, sydd 1, felly rydym yn cael saith.
Ac wrth gwrs, ein grŵp ac mae ein byd yn cael eu pob 0.
Felly, mae hyn hefyd yn sy'n cyfateb i 700 o chmod.
A Byddwn yn bendant yn ceisio deall y mapio rhwng y rhai.
Dwi ddim yn siŵr os oes ganddo dod i fyny ar gwis o'r blaen,
ond byddai'n gwestiwn y gallai wyf yn gofyn.
>> Dim ond ychydig bach yn mynd hyd yn oed ymhellach i chmod yma, yma
yw'r cyffredinol iawn strwythur galwad chmod.
Felly, wrth gwrs, yr ydym wedi chmod yma.
Cyfeiriadau, beth mae hyn yn cyfeirio at hwn yn sy'n cael eu ni'n rhoi caniatadau hyn i
neu sy'n ni'n cymryd y rhain caniatâd i ffwrdd oddi wrth.
Felly, mae gennym yma yn y caniatâd, fel yr ydym wedi ei roi i chi chmod yn fantais x,
fel y byddwn yn gweld yn fuan.
a dim ond yn golygu rhoi'r rhain penodol caniatâd i bawb.
Rhowch nhw i gyd.
Felly gallech yn dda iawn gennych u ynghyd x neu g yn ogystal x neu o plws x neu luosog
o hynny.
Felly, y rhan gyntaf bob amser mynd i fod yn gyfeiriadau.
Pwy ydyn ni'n rhoi caniatâd hyn i, neu sy'n ni'n mynd â hwy i ffwrdd o?
>> Yr ail un yw'r gweithredwr.
Felly, rydych guys wedi ymdrin yn bennaf â plws.
Mae hyn yn rhoi caniatâd i pwy bynnag yr ydych yn rhoi iddynt,
tra minws, yn rhesymegol, yn eu gwared.
Felly dim byd rhy ofnadwy yno.
Ac yna moddau hyn yr ydym yn siarad am gyda darllen, ysgrifennu, neu'n gweithredu.
Felly yn fantais x yn golygu rhoi gweithredadwy caniatâd i bawb.
Ac yna, wrth gwrs, y mae ffeil neu cyfeiriadur penodol.
OK?
Mae pawb da gyda chmod?
Ddim yn rhy ddrwg?
>> Iawn, felly HTML, unrhyw un rydych yn hen ddigon i-- oedran MySpace?
Anfonais hyn at fy adran, ac yn llythrennol hanner y bobl
edrych ar mi fel fy mod yn wallgof.
Ac yr wyf yn hoffi, guys, nid ydym yn hen.
Dewch ar.
Felly HyperText Markup Language, 'i' yn onest yn unig yn ffordd i chi
i arddangos rhai pethau ar y we.
Felly mae'n iaith markup.
Dyw hi ddim yn iaith sgriptio.
Does dim rhesymeg ynddo.
Mae'n syml, newid y ffordd rhywbeth yn cael ei arddangos.
Iawn, felly dyna un pwysig gwahaniaeth i'w gwneud.
Mae wedi ystyried yn iaith marcio, Nid yw iaith sgriptio.
>> Felly dyma ni wedi ein tagiau HTML.
Ar y sleid hon yn ôl pob tebyg y rhan fwyaf o'r rhai y dylech chi fod yn gyfarwydd â
a bod yn wirioneddol gyfforddus ag ef.
Felly yn amlwg, mae gennym ein tag HTML, a oedd yn
yn dynodi bod popeth yn Bydd rhwng y ddau fod yn HTML.
Mae gennym rai gyswllt, a oedd yn Mae'n amlwg y bydd yn rhoi i chi
dolen i dudalen gwe allanol.
Mae rhai teitl, o fewn ein pen yma.
Ac rydym wedi ein corff gyda h1, sy'n pennawd,
felly bydd yn ei gwneud yn braf a beiddgar ac yn fwy.
Ac yna, mae gennym rai p, sy'n paragraff.
Dylai Mae'n debyg eich bod yn gwybod a bod yn gyfarwydd â phethau
fel sut rydych fewnosod delwedd, yn cael eu A oes unrhyw ddosbarthiadau pennawd eraill?
Byddwn yn bendant yn gyfforddus gyda div.
Felly, mae'r rhain yn cael y rhan fwyaf o'r tagiau y dylech fod yn gyfarwydd â.
Ond wrth gwrs, fel gyda phopeth yn CS 50, nid yw'r rhestr yn un gynhwysfawr.
Felly, gwnewch yn siŵr eich loywi hynny.
>> CSS, felly CSS, os bydd unrhyw un ydych yn gwylio fy seminar o bythefnos yn ôl,
mewn gwirionedd dim ond ffordd i arddull eich tudalen ar y we?
Iawn, felly mae gennym rai iaith marcio.
HTML, sydd yn gofalu am dim ond y testun a lle y gallai fod ar y dudalen.
Ond CSS yn wirioneddol yr hyn yn ei gwneud yn 'n bert.
Gallech gael y rhain yn eich HTML ffeiliau, ond gan y byddwn yn siarad am yn ddiweddarach,
Rwy'n eithaf siwr y gallai fod y sleid nesaf, mae'n
yn arfer cyffredin, ac mewn gwirionedd arferion yr ydym yn wir yn annog,
i chi eu cadw yn gwahanu pan fyddwn siarad am MVC a bod patrwm cyfan.
Dyna wir yn beth mae hyn yn bwydo i mewn.
>> Felly CSS yn unig yw ffordd i gwneud i bethau edrych yn bert.
Y pethau yma, fel corff a #title a .info,
gelwir y rhain yn dewiswyr a pha maent yn ei wneud yw eu bod yn dewis pethau penodol
o fewn eich ffeil HTML a gwneud cais beth bynnag arddull,
pa bynnag fath o bethau yr ydych am, at yr elfen penodol eich gwe
dudalen.
Felly dyma, mae gennym lliw cefndir a lliw
a theulu ffont sy'n cael ei cymhwyso i beth bynnag sydd yn y corff.
Felly, os ydym yn edrych yn ôl yma, mae'n Ni fyddai gymwys i'r teitl.
Byddai ond yn berthnasol i'r hyn sydd yn y detholwyr corff yma, OK?
>> Gyda teitl yma, mae hyn yn mynd i fod yr un peth,
lliw y testun sef glas yn mynd yn unig
i effeithio ar yr hyn yn dod o fewn y detholwyr teitl.
Yn ogystal â gwybodaeth yma, Bydd y testun yn binc,
beth bynnag ei ​​info, sydd yn iawn yma.
Felly, yr unig beth sy'n Byddai fod yn binc ar y dudalen hon
yw dyddiad, Dydd Llun 17 Tachwedd, 2014.
Iawn, felly CSS yn unig yw ffordd i gael mwy o reolaeth over-- ie?
>> GYNULLEIDFA: Pam oes gennych i ddefnyddio'r hash gyda theitl?
>> HANNAH: sleid nesaf, addo!
Byddwn yn cyrraedd yno.
Felly dyma pam mae'n rhaid i ni ddefnyddio hash.
Felly dewiswyr yn cymryd ar dri phrif ffurflenni yr ydym yn siarad â chi guys yn ei gylch.
Fyou Rwyf eisiau dysgu mwy, mae digon i maes 'na.
Mae dogfennaeth CSS mawr.
Mae 'na enw tag, sydd wedi ei wneud gyda dim ond eich tagiau arferol mewn HTML.
Felly h1, p, div, H2, mathau hynny o beth.
A gallwn jyst enwi'r rhai hynny fel y mae.
Felly, fel y gwelwn yma gyda corff, mae'n tag arferol.
Felly, gallwn jyst corff yn rhoi pryd rydym yn siarad yn ein ffeiliau CSS.
>> Gyda'r teitl, y rheswm cyfan yr ydym yn cael hash mae hyn yn mae gennym beth sy'n
ystyried yn adnabod.
Felly, dylai ID bob amser fod yn unigryw o fewn eich tudalen HTML
felly pan fyddwch yn gyfeirio ato, yr ydych
yn gwybod eich bod yn cyfeirio yn unig i un peth penodol.
Felly, yn yr achos hwn yma, gyda'n h1 yma, CS 50 sesiwn adolygu,
mae gennym id teitl.
Felly, er mwyn jyst cyfeirio at hynny darn o o'n HTML, rydym yn gwneud teitl hash.
Dim ond drwy confensiwn, IDs eu dynodi gyda hash o'u blaen.
Yn yr un modd, yr ydym yn gweld wybodaeth yma yn ddosbarth.
Ac felly y dosbarth gyda CSS yn ddynodwyd fel dosbarth dot
neu dot beth bynnag y dosbarth yn.
Felly, yn yr achos hwn yma, mae'n wybodaeth.
>> Felly, yr wyf yn mynd yn ôl.
Byddai'r ddau o'r rhain yn pinc ar gyfer ein CSS yma
oherwydd eu bod yn ddau ddosbarth o wybodaeth.
Ac yn ein ffeil CSS, rydym wedi dynodi bod unrhyw beth gyda dosbarth o wybodaeth
bydd yn binc.
A yw hynny'n gwneud synnwyr?
Ie?
>> GYNULLEIDFA: Pe baech yn gwneud popeth yn y corff gwyn,
ac yna rydych ceisio gwneud rhywbeth y tu mewn iddo glas,
fyddai'n achosi problemau?
>> HANNAH: Felly CSS yw taflenni arddull rhaeadrol.
Felly, beth bynnag sydd tuag at y Bydd gwaelod yn cael blaenoriaeth.
Felly, os ydych yn gwneud rhywbeth gyda chorff, ac yr ydych yn gwneud popeth yn wyn,
ac yna yn ddiweddarach ar chi newid y teitl neu os ydych yn newid y testun o fewn corff,
mae'n overwrites hynny.
Felly unrhyw beth tuag at y Bydd gwaelod yn cael blaenoriaeth.
Ie?
>> GYNULLEIDFA: A IDs yn unigryw, ond gall dosbarthiadau fod yn fwy?
HANNAH: Iawn.
Felly dylai IDs fod yn unigryw, a gall dosbarthiadau cyfeirio at gymaint o bethau ag yr hoffech.
Unrhyw gwestiynau eraill?
Ydw.
>> GYNULLEIDFA: [Anghlywadwy].
Rydw i'n meddwl tybed a sy'n gwneud gwahaniaeth.
HANNAH: Mae'n ddrwg gen i, beth oedd y cwestiwn?
GYNULLEIDFA: Mae fach "F" a chyfalaf "F."
HANNAH: Felly y gwahaniaeth rhwng bach "f" a chyfalaf "F"
Ni ddylai wneud gwahaniaeth.
Felly, "f" yn 15 o naill ffordd neu'r llall.
Cool, unrhyw beth arall?
Mae pawb yn dda, CSS?
Ie?
>> GYNULLEIDFA: Mae'n ddrwg gennyf.
Gallwch gael dosbarth ac yn adnabod?
>> HANNAH: Ydy, gallwch.
Gall pethau gael y ddau ddosbarth a adnabod.
Ac yr wyf yn argymell profi y rhain ar eich pen eich hun.
CSS byddwch yn dysgu orau yn unig drwy wneud rhywbeth, tudalen ar y we syml iawn,
llunio rhywfaint CSS, a dim ond weld sut y maent yn rhyngweithio.
A byddwch yn ennill da iawn, synnwyr greddfol ar gyfer sut y mae'n gweithio.
>> OK, mae pawb da gyda CSS?
Rydych yn gyd yn mynd i wneud Gwefannau hardd gyda CSS nawr.
OK, arferion gorau, dim ond pethau i'w cadw mewn cof, pethau
that-- dyma pam rydym doc i chi am dylunydd a whatnot.
Felly cau eich pob tag HTML.
Felly os oes gennych corff agored, dylid cael corff agos.
Os oes gennych paragraff agored, dylid cael paragraff agos.
Edrychwch i weld eich tudalen yn dilysu.
Dylech guys fod yn gyfarwydd iawn gyda hyn o saith set-p
gyda CS 50 o chyllid gyda'r dilysydd W3.
Ac fel y dywedais o'r blaen, un o'n patrymau mawr
yn gwahanu eich steil gyda CSS gan eich markup, sef HTML.
Ac yna, wrth gwrs, yr ydym wedi mae hyn XKCD mawr i lawr yma.
Yay, rhyddhad comig!
>> OK, TCP / IP.
Rhwng y rhain a HTTP, yn y bôn maent yn ddau protocolau.
Felly gallech jyst yn meddwl ohonynt fel set o reolau
sy'n rheoli sut mae pethau'n symud ar draws y rhyngrwyd.
Felly rheoli trosglwyddo protocol, neu protocol rhyngrwyd,
yn unig yw ffordd i wneud yn siŵr data sy'n cael lle mae'n mynd
a'n bod yn gwybod os rydym yn byth yn colli data.
Felly, os ydych yn meddwl guys yn ôl i ddarlith cwpl o wythnosau yn ôl gyda David
lle'r oedd gennym bedwar amlenni, maent yn eu rhifo fel un o bedwar i gyd,
dau o bedwar, tri o bedwar, pedwar o pedwar, mae hyn yn unig yw set o reolau.
Dywedasom, OK, pryd bynnag rydym yn anfon mwy nag un pecyn,
rydym yn mynd i rhifo 'i ag pa rif y mae
a faint o gyfanswm y dylai'r defnyddiwr ei gael.
>> Ac mae hyn yn unig yw dweud pwy bynnag yn derbyn y data a ydynt
wedi gotten popeth, neu os rhywbeth mynd ar goll ar hyd y ffordd.
Ac mae angen iddynt ofyn amdano eto.
Mae hyn yn wir yn unig yw set o reolau.
Dyna sut y gallwch chi feddwl am y peth, OK?
A hefyd, mae'n nodi y porthladd, a oedd yn chi guys can-- i'n gwybod yn ystod y ddarlith,
roedd ganddynt restr cyfan o borthladdoedd.
Ond nid oes gennym nhw yma ar hyn o bryd.
>> Protocol trosglwyddo Felly hyperdestun yw, unwaith eto, mae'n protocol arall.
Felly mae'n set arall o reolau sy'n rheoli, yn yr achos hwn,
sut hyperdestun yn cael ei drosglwyddo.
Felly, 'i jyst yn caniatáu i porwyr i siarad â gweinyddwyr gwe.
Ac wrth i ni ddweud yma, 'i' fel ysgwyd llaw ddynol.
Dim ond ffordd i lywodraethu sut y gweinydd we yn
mynd i ryngweithio gyda eich porwr.
Ac rydym wedi dim ond ychydig o enghreifftiau.
Mae gennym rai ceisiadau yma lle mae GET yw'r dull.
Mae gennym HTTP 1.1, sef Fersiwn protocol i ni.
Ac yna, y llu, sef yr hyn rydym yn mewn gwirionedd yn ceisio cael mynediad.
Ac yna, fel y gwelwch yma, rydym yn cael rhywfaint o ymateb gyda hyn 200
OK fel ein cod ymateb HTTP.
Mae gennym restr fawr Rydw i'n mynd i dynnu i fyny mewn un eiliad
y dylech guys fod yn gyfarwydd â.
Ac mae gennym y math o gynnwys testun / HTML, a dim ond yn dweud pa fath o ddata
ydym yn ei gael gan y gweinydd, OK?
Mae hyn yn llu ac mae hyn yn math o gynnwys yn rhan o'r penawdau HTTP.
Gallwch gael cyn lleied neu gyn lleied ag angenrheidiol ar gyfer cyd-destun yr hyn
rydych yn delio â hwy.
Weithiau byddwch yn cael llawer o Gwybodaeth yn dod oddi wrth eich gweinydd.
Efallai eu bod yn gofyn llawer gwybodaeth gan y defnyddiwr.
Mae'n amrywio yn dibynnu ar y cyd-destun.
Os ydych yn edrych ar CS 50 Astudiaeth, mae llawer mwy ar hynny.
Ond mae gennym lawer i'w gael drwy, felly dwi'n mynd
i fynd i'r dde ymlaen os mae hynny'n iawn gyda chi guys?
Cool.
Dal ymlaen.
Yn bendant wedi bod rhestr gyfan o- huh!
Nid wyf yn gwybod pam mae hyn yn yr holl ffordd dros yma.
Roeddwn i'n meddwl i mi symud yn llythrennol tra oeddwn sitting--
>> DAVIN: Ydych chi eisiau ei ddysgu?
Neu ydych chi am i mi ei ddysgu?
>> GYNULLEIDFA: Roeddwn i'n meddwl y gallem dim ond dangos iddynt i ddechrau.
Yr wyf yn golygu, gallwch fynd i mewn i ymhellach, ond yr wyf yn
meddwl ei gwneud mwy o synnwyr ers i mi yn unig oedd yn siarad am statws HTTP.
Felly dyma y rhestr gyfan.
Amcana beth sy'n mynd i ddigwydd yn Davin yn mynd i fynd i mewn iddynt yn nes ymlaen.
Ond mae 'na restr cyfan, mae rhagolwg o'r blas i ddod.
OK, rydym yn mynd i blow-- hyn yn mynd i fod yn gwrs carlam PHP fel dim arall.
>> Felly PHP, Preprocessor hyperdestun, mae'n backronym ailadroddus,
sy'n golygu y cafodd ei enwi rhywbeth arall.
Ac yna roeddent yn hoffi, mae hyn yn nid yw'n wir yn gwneud synnwyr.
Felly, maent yn unig a enwir iddo-- ac yr oedd yn acronym,
fel eu bod yn jyst yn ei gwneud yn PHP Preprocessor hyperdestun, a oedd yn
jyst yn gwneud unrhyw synnwyr.
Stori hwyl.
Mae'n iaith raglennu.
Felly, gymaint ag yr wyf yn pwysleisio bod Nid HTML yn iaith raglennu,
mae'n iaith marcio, PHP yn iaith raglennu.
Sut ydych chi'n gwybod hyn yn oherwydd bod rhesymeg.
Mae conditionals.
Mae gennym newidynnau, ond yr ydym ni yn cael yr un o'r pethau hynny yn HTML.
>> Mae pob hawl, yna mae gennym ychydig hwn bit yma y mae fel blas o PHP.
Felly pethau sylfaenol, enwau amrywiol yn dechrau gyda arwydd doler.
Mae llawer o bobl yn ei hoffi.
Atgoffa o ohonom arian.
Mae hyn i gyd wych.
Yr ydym i gyd am PHP.
Felly, nid ydym yn pennu Math newidyn yn anymore.
Mae'n cael ei benderfynu ar adeg rhedeg.
Bydd y cyfieithydd yn debyg, oh, byddwn yn jyst yn rhedeg drwy,
ac yn ôl y cyd-destun, gawn ni weld pa fathau o fathau
Mae angen i newidynnau hyn gael.
Does dim brif swyddogaeth.
Bydd Pethau jyst yn rhedeg.
Rydych guys gyda'ch mewnforio yn eich set-p olaf, byddwch yn sylwi hyn.
Nid oedd mewn gwirionedd yn brif swyddogaeth.
Yr ydych newydd ei ysgrifennu yr hyn y yr ydych eisiau ei weld yn digwydd.
Ac mae'n jyst fath o ddigwydd.
Felly dyna PHP i chi.
>> Araeau yn debyg iawn.
Mae gennym braced hwn.
Yma, mae gennym rai newidyn Gelwir tr, ac mae'n gyfartal
i-- rydym wedi ein arferol nodiant braced.
Ac mae gennym rhywfaint o werth allweddol.
A'r gwahaniaeth mawr rhwng araeau C a PHP
yw y gallwn gael associate-- hwn gallwn gysylltu gwerthoedd i allweddi.
Felly, yn hytrach na dim ond cael amrywiaeth sy'n cael ei mynegeio
gan y nifer neu os yw'r swydd o'r elfen honno yn y casgliad,
gallwn mewn gwirionedd yn ei gysylltu gydag allwedd.
Ble gallwn ddweud, OK, yr wyf am beth bynnag gwerth yn gysylltiedig â ffrwythau.
Ac efallai rydym wedi mynd ffrwythau i banana.
Felly, byddwn yn dychwelyd banana i ni.
>> Ond yn y bôn, y mwyaf beth pwerus am hyn
yw os ydych yn guys yn cofio'r demo o ddarlith lle rydym yn y bôn
sillafu rewrote yn PHP, ac mae'n am-edrych was-- yn wirioneddol yn union fel,
mae allwedd hon yn bodoli?
Mae hynny'n wir yn fath o rym iddo.
Nid oes angen i chi ailadrodd drwy eich casgliad.
Nid oes angen i chi ei wybod pa le 'i' yn.
Gallai fod ar y diwedd neu y dechrau.
Cyn belled ag y byddwch yn gwybod yr allwedd mae hynny'n gysylltiedig â'r gwerth,
Gall PHP yn unig poeri bod gwerth i'r dde yn ôl allan ar chi, OK?
>> Ac yna, rydym hefyd yn unig wedi dim ond oherwydd ein bod
Gall gael parau gwerth allweddol nid yw'n golygu rhaid i chi.
Gallwch hefyd jyst yn creu amrywiaeth arferol fel yma,
ar y gwaelod, lle y mae'n dim ond un, dau, tri, pedwar.
Mae'r rhai yw ein gwerthoedd.
Ac yn wir, eu allweddi yw'r mynegeion.
Felly byddai'r allweddol ar gyfer un fod yn sero.
Byddai'r allweddol ar gyfer dau fod yn un.
Yn y blaen ac yn y blaen, oni bai byddwch yn aseinio allwedd benodol,
gallech dybio bod y gwerth yn unig yw eu mynegai.
A yw hynny'n gwneud synnwyr i bawb?
Dim cwestiynau?
Awesome.
>> OK, foreach yn ffordd o ailadrodd drwy eich araeau.
Felly mae gennym rywbeth yma, dim ond y strwythur cyffredinol.
Felly foreach, enw'r ein array, fel beth bynnag
ydych am ei alw bob elfen yn eich array,
a gallwn wneud rhywbeth gyda yr elfen honno neu gyda y gwerth hwnnw.
Felly, mae gennym enghraifft yma.
Mae gennym cysylltiadol arae â'r dau gofnod
gyda bar yn gysylltiedig â foo ac qux yn gysylltiedig â Baz.
Felly allweddi yn foo a Baz.
Gwerthoedd yw bar a qux.
Felly foreach, rydym wedi ein amrywiaeth yma, gan fod y pâr gwerth allweddol.
Mae hyn yn ein galluogi i fynediad yn yr allwedd a gwerth.
Efallai eich bod dim ond eisiau i'r gwerth, ac os felly
gallech jyst ddim yn hoffi arr fel $ werth, ac yna rydych
yn unig gael mynediad at y gwerth wrth i chi ailadrodd drwy'r.
Ond efallai, ar gyfer rhai rheswm, ydych am i'r allweddol,
a dyna pam y dewisais enghraifft hon yn lle hynny.
Er mwyn i chi drin mewn gwirionedd allweddol a gwerth yn yr achos hwn.
OK?
Cwestiwn?
>> GYNULLEIDFA: Os ydych yn dymuno dim ond trin y allweddol, byddai
rhaid i chi wneud foreach--
>> ALISON: Iawn.
Felly, os ydych eisiau trin dim ond y allweddol,
Byddai angen hyn i chi cystrawen oherwydd os ydych yn unig
cael tr fel rhywbeth, fel un peth, 'i'
mynd i gymryd yn ganiataol eich bod am gwerth, nid yw'r allwedd.
Felly, os ydych chi erioed gen union fel tr fel, efallai mae hyn yn debyg $ elfen,
mae'n mynd i gymryd yn ganiataol eich bod yn gofyn am ddim ond gwerth ar bob pwynt.
Os ydych chi eisiau benodol at gwneud rhywbeth gyda'r allweddol,
hyd yn oed os nad ydych yn mynd i gwneud unrhyw beth â'r gwerth,
ydych angen strwythur hwn sydd gennym yma
ble rydych yn gofyn yn benodol ar gyfer y allweddol a'r gwerth.
Cwestiwn mawr.
Unrhyw beth arall?
Cool.
>> Mae pob hawl, PHP a HTML.
O, rydym yn ôl i saith eto set-t.
Felly, dylai hyn edrych ychydig yn gyfarwydd.
Felly mae hyn yn rhyw fath HTML syml sydd â rhyw enw mewnbwn helo.
Ac rydym yn gweld ein bod wedi ein dull o GET.
Ac os ydym yn cofio o'n p-set, pan fydd y ffurflen hon ei chyflwyno,
bydd yn anfon amrywiaeth o'r enw $ _GET sydd wedi pob un o'r mewnbynnau hyn neu newidyn o
y ffurflen a ddylai fod yn trin yn ein PHP.
Felly, yn yr achos hwn, y defnyddiwr Byddai rhoi yn eu henw.
Maent yn ei gyflwyno.
Ac rydym yn gweld ein bod yn cael rhywfaint o amrywiaeth yma.
Rydym wedi ein amrywiaeth GET.
Ac rydym yn cael mynediad yr enw.
>> Felly sy'n dweud, OK, yn rhoi i mi y gwerth sy'n cael ei sy'n gysylltiedig â enw,
enwi sef yr allwedd yma.
A bod mapiau yn uniongyrchol i'r hyn dywedasom ein henw mewnbwn yn.
Felly, mae hyn yn rhoi allwedd i chi beth yn mynd i fod yn eich amrywiaeth yma.
A yw hynny'n gwneud synnwyr i bawb?
Ie?
>> GYNULLEIDFA: A oes gan yr enw yn cyfeirio GET at y llinell borffor yn [Anghlywadwy]?
>> ALISON: Mae'n cyfeirio at hyn yma.
Felly, y maes hwn yn iawn yma, mae'n cyfeirio at yr enw hwn yma.
Felly gallai hyn fod wedi cael ei enwi fel rhif ffôn, neu beth bynnag.
Mae hyn yn enw yn dweud mewn gwirionedd, yr hyn y a ydych yn galw y maes hwn?
Sut ydych chi'n mynd i cyfeirio at y maes hwn?
Ac mae enw hwn mewn gwirionedd yn ei hoffi, rydym yn y gelwir enw yn dweud y maes hwn.
Dyna sut yr ydym yn mynd i gael gafael arno.
>> GYNULLEIDFA: Felly a yw'n ei hoffi, Enw mewnbwn yn hafal i Bob, ac--
>> ALISON: Iawn, yna rydych Byddai cael Bob lawr yno.
Yn union.
Mae pawb yn oer?
Mae pob hawl, felly GET yn erbyn POST, mae'r rhain yn y ddwy brif ffordd
ein bod yn pasio data mewn cais HTTP.
Dylech guys wedi gweld y ddau o'r rhain, gobeithio.
Felly, gyda GET, mae'r wybodaeth ei basio drwy'r URL.
Felly, os ydych chi erioed yn ei wneud Google chwiliadau, YouTube, wnewch chi helpu
yn ôl pob tebyg yn sylwi ar rai marc cwestiwn.
Ac yna, y geiriau i gyd eich bod dim ond eu rhoi i mewn 'na.
Ac SWYDD pasio data yn y corff neges HTTP.
Felly yn wahanol i GET, rydych fath o ystyried bod y data yn cael ei guddio oddi wrth y defnyddiwr.
Ond yr hyn sy'n wir yn bwysig deall
yw bod hyn yn dal i fod yn yr un mor ansicr â GET.
Mae'r gyfatebiaeth Rwy'n hoffi defnyddio yw os mae gennych eich rhif cyfrif banc
ac rydych yn ei ysgrifennu ar y tu allan amlen, mae hynny'n eithaf anniogel.
Pe baech yn ysgrifennu ar ddarn o papur a'i roi y tu mewn i'r amlen,
mae'n dal i fod mewn gwirionedd yn anniogel oherwydd bod i gyd yn rhaid i chi ei wneud yw agor bod hyd
ac edrych ar y cynnwys gwirioneddol y neges i weld hynny.
Felly, mae hyn yn "cudd", a phobl fel i meddwl ei fod yn ddiogel, ond mae'n wirioneddol peidio.
Ac rwy'n siŵr y bydd Davin fynd i mewn y bydd mwy, efallai.
Ond ei fod yn bwysig gwahaniaeth i wneud
ac yn rhywbeth gwirioneddol dda i'w deall.
>> OK, SQL, Iaith Ymholiad Strwythuredig.
Mae pob un o'r pethau sy'n rydym wedi gweld mor ddiweddar!
Felly, mae'n bôn yn unig gynllunio, yn amlwg, ar gyfer rheoli data.
Yr oedd gennych guys lawer o brofiad gyda hyn yn eich tablau gyda MyAdmin PHP.
Ac mae pedwar ymholiadau cyffredin ein bod am i chi guys wybod.
Felly mae diweddariad, mewnosoder, dethol, ac yn dileu.
Felly, gwnewch yn siŵr eich bod yn gwybod y rhai yn dda iawn.
Rydym yn mynd i fynd drwyddynt yn gyflym iawn.
>> Felly diweddaru, mewn gwirionedd, gan fod yr hyn y efallai y byddwch yn meddwl y mae'n ei wneud,
'i jyst yn diweddaru data yn eich cronfa ddata.
Felly, mae gennym rai enghraifft yma.
Mae hyn yn y cyffredinol Strwythur o ymholiad diweddaru.
Felly, rydym yn diweddaru'r tabl ein bod yn sôn amdano.
Ac rydym am osod rhai gwerthoedd, rhai colofnau
cyfartal i werthoedd penodol.
Felly, mae hyn yn unig yn diweddaru'r tabl, sy'n newid gwerthoedd ym mhob rhes yn yr achos hwn.
Felly, yn yr un yma i lawr fan hyn, mae gwir enghraifft, mae gennym insert-- n chwith.
Bod sleid uwch heb i mi sylweddoli.
>> Felly tabl diweddariadau hwn yn gosod col1 cyfartal i val1 lle mae tŷ hafal "lledrwr."
Beth mae hyn yn un ei wneud yw dim ond yn newid, dim ond
yn diweddaru gwerthoedd hyn mewn mannau penodol.
Felly, yn yr un cyntaf, mae'n newid y rhain gwerthoedd ar gyfer popeth yn eich tabl,
OK?
Mae'n mynd i newid hyn colofn ar gyfer pob un mynediad,
ar gyfer pob un rhes.
Ond lle mae hyn, gallech meddwl am y peth fel rhagbrofol.
Felly, mae'n dim ond yn mynd i newid mewn mannau penodol iawn.
Felly mewn saith, pan fyddwch yn gosod-p efallai Diweddarwyd y swm o arian parod
bod eich defnyddiwr wedi, mae'n debyg roedd gan rhai lle mae ID hafal sesiwn adnabod, dde?
>> Oherwydd nad oeddech am yn newid y swm o arian parod
ar gyfer pob person sydd yn defnyddio eich gwefan.
Roeddech am ei newid am un berson penodol, y person hwnnw yn cael
pwy bynnag oedd yn ei ddefnyddio ar y pryd.
Iawn?
Iawn, felly mewnosod, mewnosoder gwerthoedd penodol mewn tablau.
Mae hyn yn debyg pan fyddwch yn creu defnyddiwr newydd sbon.
Mae'r strwythur cyffredinol yma yn cael ei mewnosod i mewn i beth bynnag y tabl
rydym yn sôn am.
Gwerthoedd, sef y gwerthoedd sy'n rydym mewn gwirionedd yn awyddus i fewnosod.
Iawn, felly wrth i ni weld yma, rydym yn wedi mewnosod i mewn i dabl.
Mae hyn yn golofnau penodol gyda eu gwerthoedd cyfateb.
Felly, mae hyn yn dweud, mewnosodwch rhes newydd sy'n cynnwys
Gwerthoedd val1 a val2 dan colofnau penodol hyn.
>> Felly, efallai mai dim ond am ei llenwi allan hanner y pethau yn y rhes hon.
Dyna beth y rhan hon yma yn gadael i chi ei wneud.
Mae'n gadael i chi mewn gwirionedd penderfynu pa ran.
Ie?
>> GYNULLEIDFA: Allwch chi yn unig [Anghlywadwy] celloedd yn y rhes [Anghlywadwy]?
>> ALISON: Os mai dim ond llenwi rhannau penodol o'ch rhes,
gweddill y celloedd hynny yn unig wag.
Cyn belled ag y byddwch yn eu caniatáu i fod yn wag, nid yw'n broblem.
Os ydych yn ceisio i gael gafael arnynt, 'i' mynd i ddychwelyd rhyw elfen gwag.
Ond mae'n bwysig gwybod hynny mewn tablau penodol,
maent wedi cael eu caniatáu i fod yn null.
Efallai eich bod wedi rhedeg i mewn i problem yn ystod eich p-set
oherwydd doedden ni ddim yn gadael i unrhyw o'ch gwerthoedd null fod.
Ond gallwch benodi Gwerth dewisol yn eich tabl.
>> OK, dewis, felly mae hyn yn dim ond ffordd o gael
data penodol o dabl yn rhyw dynodwr 'ch angen.
Felly dewiswch seren o dabl lle col hafal rhywbeth yn unig yn golygu,
roi'r holl ddata cysylltiedig i mi lle mae hyn golofn penodol yn wir.
Felly, mae'r seren yn yr achos hwn bydd dychwelyd y rhes cyfan i chi, iawn?
>> Ac yna, yn yr achos hwn, dewiswch seren o tabl jyst yn rhoi y tabl cyfan i chi.
Ac yna, dileu yn amlwg, 'i jyst yn dileu y rhes o'r tabl.
Felly dileu o dabl, beth bynnag tabl rydym yn
cyfeirnodi, lle mae rhai penodol dynodwr neu ryw gyflwr yn wir.
Ie?
>> GYNULLEIDFA: Cwestiwn.
Pam yr ydych yn defnyddio dwbl dyfyniadau, ac a ydych
gwneud dyfynodau dwbl neu sengl dyfyniadau, a yw'n gwneud gwahaniaeth?
>> ALISON: dyfyniadau Dwbl neu dyfynodau sengl nid yw'n gwneud gwahaniaeth yn SQL.
Roeddwn i'n meddwl i mi weld cwestiwn arall.
Ie?
>> GYNULLEIDFA: Nid yw'n effeithio ar yr hyn y yn cael dianc o'r ymholiad?
>> ALISON: Rob?
>> ROB: Beth ydych chi'n ei olygu wrth dianc o'r ymholiad?
>> GYNULLEIDFA: Os oes gan rywun sengl ymholiad yn y ffurflen o-
>> ROB: Os bydd rhywun yn cael rhoi dyfyniad sengl mewn,
Yna, ar yr amod eich bod yn glanweithio eich mewnbwn, yna does dim ots.
Ond os ydych yn defnyddio un quote ac rydych yn anghywir
dianc eich mewnbynnau, yna ie, arnynt eu hangen
i roi dyfyniad sengl er mwyn torri eich cod. os ydych yn defnyddio dyfynodau dwbl,
mae angen iddynt roi dwbl dyfynnu i dorri eich cod.
Ond cyn belled ag y byddwch yn dianc pethau yn gywir, does dim ots.
Dim ond mae'n mynd i gael eu cyfieithu at y symbol cywir beth bynnag.
>> GYNULLEIDFA: Beth mae dianc yn ei olygu?
ALISON: Wel, fel glanweithio a dianc.
Mae'r arholiad sydd gennym, mae'r XKCD mawr comig eu bod yn tynnu i fyny lle mae gennych,
oh--
ROB: Mae'n y sleid olaf.
ALISON: Mae'n y sleid olaf, mewn gwirionedd?
O fy duw.
Dyna ni, perffaith.
Iawn, felly y bôn, gallwch chwistrellu rhywbeth i mewn i hyn SQL query
lle mae'n torri eich cod, neu fel y dangosodd David
yn y dosbarth, os oes gennym rai sengl dyfyniad 1 hafal i 1 ac os yn ein cod,
rydym yn unig yn uniongyrchol adysgrifia hynny i mewn, a mae gennym dod i ben dyfynbris sengl,
yr hyn sy'n digwydd yw ein bod yn cael rhyw mynegiant hwnnw
gwerthuso i gwir a fydd yn gadael i rywun fynd i mewn ein cronfa ddata
ac yn cael data sydd gennym ddim eisiau iddyn nhw gael.
Felly glanweithio mewnbynnau dim ond yn golygu gwneud yn siŵr
ein bod yn dianc rhag y rhain cymeriadau ac yn eu dynodi
fel chars ac nid yw pethau y dylid eu caniatáu
i'w cymryd yn llythrennol fel ein datganiad SQL.
>> Felly, y peth mawr sy'n dweud ein y dylech guys fod yn defnyddio
Roedd chars arbennig HTML, sy'n rhywbeth
efallai y byddwch am gymryd golwg ar.
OK, dileu.
Mathau data, bydd hyn i gyd fod ar-lein.
Ers i ni wedi 15 munud ar ôl, rwy'n jyst yn mynd i fynd i'r dde drwy hyn.
PHP a SQL, yn y bôn mae hyn yn dim ond cawsom swyddogaeth ymholiad sy'n
wedi helpu amddiffyn yn erbyn ymosodiadau maleisus hyn.
Felly, pryd bynnag y byddwch yn defnyddio ymholiad, rydym yn gwneud yn siwr
bod pethau'n cael eu glanweithio a whatnot.
>> Dim ond patrwm dylunio MVC yw, felly model, gweld, rheolwr.
Dim ond yn ffordd i gadw pethau 'n glws a gwahanu yn yr un ffordd
ein bod yn tueddu i ffactor Cod allan i'r swyddogaethau.
Mae hyn yn unig fframwaith dylunio gwe yn sy'n eich galluogi i wneud yr un peth.
Rydw i'n mynd i hepgor hyn.
>> Mae hyn yn rhywbeth yr wyf yn fyddai super gyfforddus gyda.
Mae'n tabl bach gwych yno.
Mae'n rhoi i chi y swyddogaeth enghraifft o'r model.
Im 'jyst yn mynd trwy hyn am fy mod wir eisiau Davin i fod yn gallu siarad.
Os oes gennych unrhyw gwestiynau, croeso.
'N annhymerus' fod yma ar ôl.
Dim ond yn dod yn siarad â mi.
Gyda hynny, mae gennym statws HTTP.
Ac Davin yn mynd i chwythu drwy hyn mewn 15 munud.
Mae hyn yn mynd i fod yn wych.
>> DAVIN: OK.
Uh, eich meic?
Yeah.
Mae'n ddrwg gennym.
ALISON: Ffordd i fod yn barod.
DAVIN: Na, rwy'n barod.
Rwy'n barod.
Gadewch i ni wneud hyn.
Mae'n barod.
OK.
Mae'n ddrwg gennym.
Yr wyf yn sarnu coffi ar fy hun.
Nid wyf yn gwybod os ydw i'n fwy cynhyrfu fy mod yn edrych yn wirion,
neu nad oes gennyf coffi anymore.
Beth bynnag, dim ond gyhoeddiad cyflym am y daflen i chi guys gennych.
Felly, nid yw daflen hon i chi guys yn cael ei y swyddog beth sydd ar y cwis.
Mae hyn yn y swyddogol beth sydd ar y cwis.
Hefyd, ar y wefan, byddwn yn dweud chi, OK, bydd hyn ar y cwis.
Felly, yn y daflen twyllo bach sydd gennych, nid yn swyddogol.
Ac mae gamgymeriadau arno.
Felly well peidio â dim ond blindly ddefnyddio.
Felly ie, dyna hynny.
Felly gadewch i ni fynd i mewn i hyn yn gyflym go iawn.
>> Felly statws HTTP.
Felly beth sy'n digwydd pan fydd y gwefan, mae popeth yn iawn.
OK popeth yn.
Daw popeth yn ôl at chi y ffordd yr ydych am iddo.
Byddwch yn cael OK 200.
301, lle y gwelsom bod 301 o'r blaen?
Arhoswch, beth sydd i fyny?
Mae'n ddrwg gennym.
Gwelsom darlith tun ff yn ystod diogelwch.
Felly yn ystod diogelwch, felly os Dafydd teipio mewn http ac yna ceisio mynd i'r cs50.net,
rydych chi'n mynd i weld 301 symudodd.
Pam?
Oherwydd ei fod yn mynd i ailgyfeirio chi yn awtomatig at ein HTTPS.
>> Felly 301 symudodd, dim ond ei fod yn bôn yn ailgyfeirio.
A gallwch feddwl am y peth fel hyn.
Unrhyw un o'r statws sy'n dechrau gyda 2, y rhai yn debyg, OK, OK popeth yn.
Unrhyw un o'r statws sy'n dechrau gyda 3, y rhai yn ailgyfeirio.
Statws sy'n dechrau gyda 4, mae hynny'n ei olygu mae rhyw fath o wall cleient.
Statws sy'n dechrau gyda 5, dyna rhyw fath o wall gweinydd.
Felly rydych fath o dorri i fyny mae'r statws fel 'na.
Felly 304 Nid yw nid yn haddasu, felly yn eich server.c p-setiau, felly gadewch i ni ddweud eich
cat.html llwytho.
Daw popeth yn ôl, byddwch yn cael 200s, OK, gwych.
>> Lets 'ddeud eich bod adnewyddu ei.
Wel, y tu mewn hwnnw cat.html, mae gennych JPEG.
Wel, nid yw JPEG yw mynd i gael eu hail-lwytho.
Nid ydych yn mynd i bostio un arall GET cais at 'r gweinyddwr,
ac yna yn cael yr holl wybodaeth sydd yn ôl.
Mae'n mynd i jyst be-- y ddelwedd yn mynd i gael ei cached ar eich peiriant.
Ac felly y bydd ddelwedd yn 304.
Felly, nid yw'n cael ei haddasu.
Os byddwch wedyn yn cau allan, yn glir cwcis, ac yna adnewyddu
a cheisio i lwytho y dudalen eto, rydych chi'n mynd i weld 200s.
Nad ydych yn mynd i weld bod 304.
>> 400, cais drwg, go iawn gyflym, fel os ydych yn
yn mynd i anfon JSON gwrthrych at 'r gweinyddwr
a bod eich gwrthrych JSON yn anghywir, byddwch yn gweld rhywbeth fel 'na.
403, gwahardd.
Pryd y byddech yn gweld gwaharddedig?
Mwy na thebyg na thebyg?
GYNULLEIDFA: chmod.
DAVIN: chmod, yeah.
Felly, nid ydych wedi gosod caniatadau yn gywir.
404, nid yw dod o hyd.
Mae'n dim ond nid yno.
Felly, os ydych deipio i mewn 'r URL anghywir.
500, gwall gweinydd mewnol, y gweinydd Nid yw yn ôl pob tebyg yn ffurfweddu'n gywir.
Rhywbeth nad ydynt ar eich pen, ond rhywbeth ar ochr y gweinydd.
A 503?
Mae llawer o bobl yn gweld 503s yn yr olaf p-set.
Pryd y byddai hynny'n digwydd?
Clywais sibrwd.
>> GYNULLEIDFA: Pryd Google yn penderfynu eich bod yn robot.
DAVIN: Yeah, pan Google yn penderfynu ydych yn robot, byddwch yn cael 503s.
Felly dyna 'an gorlwytho.
Os ydych wedi gofyn o'r gweinydd gormod, 'i' fel arfer dros dro.
Ac yn y rhan fwyaf ohonoch wedi sylwi arno.
Felly, rydych yn gweld 503.
Efallai eich bod wedi cymryd ychydig egwyl, yna bydd y 503s mynd i ffwrdd,
ac roedd popeth yn iawn.
>> Gabe: Real gyflym, pryd ydych chi'n guys cael 500 yn ôl pob tebyg broblem diwethaf hwn yn gosod?
Ie?
>> GYNULLEIDFA: Fel arfer, os yw'r gweinyddwr Mae ffeil anghywir
neu [Anghlywadwy] eu peiriant [Anghlywadwy].
>> Gabe: Felly gallai fod yn ffurfweddiad mater yn eich PHP ar eich gweinydd.
Ond gallai fod yn rhywbeth fel hanner colon bod eich anghofio.
Os ydych yn teipio PHP, rhywfaint o gystrawen anghywir
Gallai cael rhywbeth fel 'na chi.
OK?
>> DAVIN: Cool.
Ydych chi am i mi wneud yr union hyd nes AJAX?
>> Gabe: [Anghlywadwy].
DAVIN: OK.
Felly beth yw'r DOM?
Beth mae DOM sefyll am?
>> GYNULLEIDFA: model gwrthrych y ddogfen.
DAVIN: Nice.
A pham rydyn ni'n ei hoffi?
Awesome.
Iawn, felly mae'n dim ond yn ein galluogi i fynediad y HTML, mynediad i'n tudalen yn gyflym iawn.
Pam?
Oherwydd ein bod ni'n trin ein tudalen, gan drin ein tagiau HTML,
trin popeth fel os ydynt yn gwrthwynebu.
Os ydym yn eu trin fel eu bod yn gwrthrychau, yna beth allwn ni ei wneud?
Wel, gallwn alw swyddogaethau yn eu cylch.
Ac mae hyn yn bwysig pam?
Wel, oherwydd ein bod yn mynd i ddefnyddio JavaScript i ddiweddaru ein HTML,
diweddaru'r gwrthrychau hyn.
Felly, os byddwn yn eu trin fel gwrthrychau, gallwn wedyn yn galw swyddogaethau arnynt.
Rydw i'n mynd i fynd i mewn i hyn ychydig yn mwy pan fyddaf yn mynd i mewn i JavaScript,
ond eich bod wedi gweld yr holl hoffi document.getElementByID.
Felly ddogfen yw eich elfen, yn cael elfen gan adnabod,
felly rydych yn mynd i edrych ar gyfer rhai ID mewn tag HTML.
Ac yna, gallwch chi ei wneud rhywbeth arall i hynny.
Er enghraifft, fel document.body, yna gallwch atodi plentyn.
Felly, rydych chi'n mynd i ddod o hyd i'r ddogfen.
Mae gennych y ddogfen.
Rydych yn mynd i ddod o hyd i'r corff.
Rydych yn dod o hyd i'r corff.
Ac yna, rydych chi'n mynd i ffoniwch rhywfaint o swyddogaeth arno.
Felly atodi plentyn, a gallwch atodi rhywfaint o HTML ar y pen y tu mewn i'ch corff.
Felly y bôn, rydych yn unig drin fel gwrthrych.
Rydych yn trin HTML tagiau fel gwrthrych.
Ac mae'n ei gwneud yn hawdd iawn ac yn gyflym i fynd drwyddynt.
Ond mae hefyd yn caniatáu i chi i alw swyddogaethau arnynt
er mwyn i chi drin a newid yr elfennau.
>> Gabe: O ystyried hyn, pam mae JavaScript o'r fath iaith braf i ryngweithio â HTML?
Groes yn, pan oedd pobl yn dewis yr iaith ar gyfer y porwr,
i ochr y cleient, JavaScript yn neis iawn,
'i' 'n sylweddol yn dda yn trin gwrthrychau.
Ac mae'r amcanion yn cael eu math o hoffi y gwrthrychau sy'n ymddangos yn y HTML,
felly mae'n hawdd iawn i JavaScript i wneud y math hwnnw o drin.
DAVIN: Nice.
Felly dyma unig enghraifft.
Felly, yr wyf yn meddwl ar y cwis y llynedd, neu efallai ddwy flynedd yn ôl, rydym yn
gofyn i chi greu coeden.
Felly, mae hyn yn union yr hyn y byddech yn ei wneud.
Felly, byddwch yn dechrau allan gyda ddogfen.
Ac yna rydych yn y bôn dim ond yn edrych ar y tagiau.
Felly, os ydych yn edrych, rydym yn yn dechrau gyda tag HTML.
Ac yna, byddwch yn cael cliwiau am sut i gwneud hyn yn seiliedig ar y mewnoliad.
Felly pennaeth fath o ganghennau i ffwrdd.
Y tu mewn pen, rydym wedi tag arall ar gyfer teitl.
Felly, yna, mae gennym tag teitl.
Ac y tu mewn hynny, mae gennym rai llinyn.
Ac felly rydym yn cynrychioli llinyn mewn cylch.
A'r holl dagiau mewn sgwariau.
>> Ac os ydych yn edrych, os ydym feddwl am hyn fel coeden,
a gadewch i ni yn dweud bod HTML yn rhiant, yna pen a'r corff
yn mynd i fod brodyr a chwiorydd.
Maent yn ddau yn mynd i fod blant y rhiant hwnnw.
Felly, oherwydd eu bod yn y ddau frodyr a chwiorydd, eu bod yn
mynd i fod yn fath o ymyl ein gilydd yn ein model coeden.
Ac yna, rydych yn y bôn yn gwneud yr un peth yn union.
Felly nid anodd, ond rydym wedi gofyn cwestiynau fel hyn o'r blaen ar y cwis.
Gabe: A oes gan unrhyw un gwestiynau hyd yn hyn?
A yw'n dda?
DAVIN: Cool.
JavaScript, OK, y pethau da.
Felly JavaScript, beth yw JavaScript?
Wel, JavaScript yw-- 'i' gymhleth, ond mae'r rhain
rai o'r uchafbwyntiau y dylech gadw mewn cof.
Yn gyntaf, mae'n deipio llac.
Beth yw ystyr hynny?
Felly PHP was-- ie, beth sydd i fyny?
>> GYNULLEIDFA: Nid oes rhaid i chi benodol cyflwr pa fath o amrywiol ydyw.
DAVIN: Perffaith.
Felly dywedodd nid oes rhaid i chi datgan yn glir y math o amrywiol.
Dyna'n union gywir.
Felly, yn C, os oedd gennyf int i yn hafal i 50, Yna, yn PHP, 'i' jyst fel hyn, $ i,
yn hafal i 50.
Yna ym JavaScript, beth fyddai'r alwad fod?
Var, dde?
Byddai'n hoffi i var hafal 50.
Ond nid oes rhaid i chi fod fel, OK, mae hwn yn int.
OK, mae hyn yn llinyn.
Nid oes angen i wneud hynny.
Mae'n iaith dehongli.
Felly beth mae hynny'n ei olygu?
>> GYNULLEIDFA: Heb ei llunio.
>> DAVIN: Nid yw Beth mae llunio ei olygu?
Yeah?
>> GYNULLEIDFA: Nid oes rhaid i chi i ailstrwythuro'r cod
i'w gael yn barod ar gyfer y cyfrifiadur i redeg.
Mae wedi newydd gymryd ar adeg gweithredu a y cyfrifiadur [Anghlywadwy].
DAVIN: Yeah, felly mae'n mynd i pasio drwy gyfieithydd.
Ond eich bod yn union gywir.
Felly, nad ydych erioed yn mynd i lunio iddo, dde?
Pan fyddwch yn gwneud eich PHP a chod JavaScript,
chi byth a elwir yn crynhoi.
Dydych chi byth yn enw rhywbeth fel gwneud neu unrhyw beth fel 'na.
Mae hynny oherwydd ei fod yn dehongli.
Felly, bob tro y mae'n mynd drwy borwr, mae'n mynd drwy gyfieithydd.
Ac mae hynny'n mynd i ddehongli dim ond mewn amser real yn syth i chi.
Felly beth yw rhai cadarnhaol a negyddol i gael iaith dehongli
a chael iaith luniwyd?
Felly compiling-- ie, beth sydd i fyny?
>> GYNULLEIDFA: Dehongledig yn arafach.
DAVIN: Ym mha ystyr?
>> GYNULLEIDFA: Ar ôl i chi llunio, nid oes rhaid i chi
i wneud unrhyw gamau ychwanegol i weithredu iddo, tra bod hyn [Anghlywadwy].
>> DAVIN: Iawn, berffaith.
Felly, hyn a ddywedasoch yn bôn hwnnw lunio,
pan fyddwch yn llunio, mae gennych llawer o gostau ymlaen llaw, dde?
Rydych yn mynd i lunio iddo.
Ond ar ôl i chi gasglu iddo, mae'r compiler yn mynd i wneud y gorau iddo.
Mae'n mynd i fod yn gyflym.
Mae'n mynd i yn y bôn fod mor gyflym ag y gall fod.
Gyda dehongli, fyddwch byth gael y gost ymlaen llaw.
Yn hytrach, mae'n mynd i fod ychydig yn arafach bob tro y byddwch yn ei dehongli.
Ac rydych yn mynd i gael i dehongli bob tro.
Felly, yn hytrach na gorfod hon un cost amser, yn awr eich bod yn
mynd i gael i ddehongli bob tro y dudalen renders.
>> Felly dehonglwyr yn dda oherwydd Nid oes rhaid i chi i lunio ei,
ond maen nhw'n drwg yn bod pob amser y llwythi dudalen, 'i'
mynd i gael i dehongli JavaScript hwn.
Ac mae'n mynd i redeg ychydig yn arafach na phe baech yn llunio ei.
Yn eich galluogi i communicate-- oh, aros.
Fe'i defnyddir i drin y cynnwys a golwg.
Rydym yn unig yn siarad am hynny.
Mae'n defnyddio'r DOM.
AJAX, byddwn yn mynd i mewn AJAX mewn ychydig bach.
Ac yna, mae'n ochr y cleient.
Felly PHP yn ochr y gweinydd.
JavaScript yn ochr y cleient.
Beth yn gadarnhaol i hynny?
Mae'n dweud ei fod.
Mae'n gyflymach, dde?
Oherwydd nid oes rhaid i chi i-- ei fod yn gyflymach.
Nid oes rhaid i chi gyfathrebu gyda rhywfaint o ddyfais arall.
Os ydych yn unig ar eich cleient, fyddwch byth yn
mynd i gael i fynd a weld beth sydd ar y gweinydd
ac yna adrodd yn ôl neu rywbeth fel 'na.
Felly ochr y cleient yn tueddu i fod ychydig yn gyflymach.
>> Gabe: Yeah, ond mae hyn nid yw'n golygu PHP yn
gyflymach na JavaScript neu unrhyw beth o'r blaen.
Maent yn rhedeg fath o yn yr un cyflymder oherwydd eu bod yn y ddau
ieithoedd dehongli.
Y peth sy'n araf dyma yw'r cais.
Felly, rydych chi'n mynd mewn gwirionedd yr holl ffordd draw i Frasil
i gael rhywfaint o wybodaeth sy'n byw yno.
Ond PHP a JavaScript, maent yn math o rhedeg yn yr un cyflymder.
Dyw hi ddim yn bod un yn gyflymach na'r llall.
Mae hyn, hefyd, cwestiwn tric yma.
Felly JavaScript byth yn mynd yn cod peiriant, yn wir neu'n anwir?
>> GYNULLEIDFA: Anghywir.
Gabe: Anghywir.
Mae'n rhaid iddo fod yn beiriant Cod oherwydd Cod peiriant yn
yr unig beth y peiriant yn deall.
Er nad yw'n llunio, mae'n dal yn dod cod peiriant
oherwydd bod y cyfieithydd yn unig rhaglen sy'n mynd fesul llinell
ac yn trawsnewid y llinell i mewn rhywbeth y cyfrifiadur yn deall.
OK?
Cool.
>> DAVIN: Dyma yn unig yw sylfaenol iawn helo Rhaglen JavaScript byd.
Felly, nid wyf yn gwybod Os-- ydych chi wedi gweld hyn.
Ond 'ch jyst yn cael HTML yma.
Ac yn hytrach na rhoi mewn gwirionedd yr Javascript yn y tagiau sgript,
felly byddech fel arfer yn ei roi mewn ben.
Mae gennych tagiau sgript.
Rydych yn galw heibio yno.
Yr unig beth rydym wedi ei wneud yma yw ein bod wedi cysylltu in-- felly rydym wedi cysylltu mewn ffeil JavaScript
fel hyn.
Ac rydych wedi gwneud hyn i gyd, dde?
Felly pan fyddwch yn defnyddio jQuery a underscore.js yn yr olaf p-set,
Nid oes rhaid i chi tunnell o cod fyny yn eich tagiau sgript, i fyny yn eich pen.
Gallech wneud hynny, ond yn lle hynny ydych ond yn ei gysylltu i mewn.
Ac rydych yn ei gysylltu mewn yn union fel chi ei wneud gyda CSS.
Felly, 'i jyst yn ei gwneud yn haws i'w ddarllen fel eich cod Nid yw yn hoffi 1,000 llinellau hir
gyda tunnell o swyddogaethau sy'n Efallai na fyddwch yn eu defnyddio.
>> Yn lle hynny, 'ch jyst yn cysylltu i mewn.
Mae'n compartmentalizes hynny.
Mae fel ysgrifennu rhai ffeiliau pennawd, ac Yna, gan gynnwys y ffeil pennawd yn C.
Meddyliwch amdano yn union fel hyn.
Felly beth mae hyn yn ei wneud?
Wel, mae hyn yn mynd i redeg.
Mae'n mynd i roi gwybod.
Felly, rydych yn mynd i gael ychydig pop i fyny a elwir yn y byd helo.
Cwestiwn cyflym, gwirio bwyll yn unig, felly byddwch yn gweld yma yn y corff,
dweud corff, HTML yma.
Beth sy'n dod gyntaf?
Ydw i'n gweld corff, HTML yma, neu ydw i'n gweld y rhybudd yn gyntaf?
>> GYNULLEIDFA: Rhybudd.
>> DAVIN: Iawn.
Mae'n dweud effro.
Pam?
>> GYNULLEIDFA: Oherwydd eich bod mynd o'r top i'r gwaelod.
>> DAVIN: Ydw.
Perffaith.
Felly mae'n dweud, byddwch yn mynd o'r top i'r gwaelod, sydd yn hollol gywir.
Rydych yn mynd i fynd o'r top i'r gwaelod.
Ac yn JavaScript, jQuery, mae gennych swyddogaeth sy'n onload tebyg, neu yn barod,
ac sy'n dweud, OK, arhoswch nes i gyd HTML hyn wedi llwytho.
Ac yna, ffoniwch y JavaScript.
Oherwydd nad oes gennym hynny yma, mae'r peth cyntaf sy'n mynd i ddigwydd
yn mae'n mynd i fynd o'r top i'r gwaelod.
Mae'n mynd i daro hynny JS alw, mae'n mynd i rybuddio.
Ar ôl hynny i chi glicio OK, bod yn effro yn mynd i ffwrdd.
Yna, mae'n mynd i ddangos chi y corff HTML yma.
Nice.
>> Iawn, felly dim ond go gyflym, ysgrifennu yn JavaScript yn super gyflym.
Er mwyn datgan a, enw var amrywiol.
Felly, yn C, mae gennych i int, mae gennych i ddatgan pa fath o fath ydyw.
PHP, $.
JavaScript, var.
Buom yn siarad am hyn.
Mae pob hawl, gadewch i ni fynd.
>> Dolenni, un peth.
Un peth.
Datganiadau Swyddogaeth, felly yn union fel chi wedi ei weld yn C.
Yr unig beth gwahanol mor pryd byddwch yn cael i ieithoedd rhaglennu eraill,
fel pan fyddwch yn cymryd 51 semester nesaf ac rydych yn ei wneud gyda OCAML,
gallwch ddelio â swyddogaethau dienw.
Felly dyna'n union yr hyn sydd gennych yma.
Felly rydych eisiau ei roi yn y swm, rhyw fath o werth swm.
Ond efallai y byddwch ond yn cael gwneud hynny yr un pryd.
Felly, nad ydych am ei alw swyddogaeth swm, rhowch gynnig datganiad swyddogaeth.
Yn lle hynny, 'ch jyst yn ei ddefnyddio fel swyddogaeth dienw.
Ac ydych chi wedi gweld hyn yn llawer.
Byddwch yn gweld enghraifft o hyn mewn cwpl sleidiau.
Yeah, gawn ni weld.
Gabe: Cwestiwn da.
Pryd efallai y byddwch am ddefnyddio swyddogaeth dienw yma?
Yn y bôn, pan fyddwch eisiau rhywbeth, fel digwyddiad, i ddigwydd.
Felly, pan fydd y llygoden yn clicio, er enghraifft,
ydych chi eisiau rhywfaint o swyddogaeth i gael ei alw.
Felly, byddwch yn mynd heibio i'r digwyddiad triniwr, byddwch yn mynd heibio i'r digwyddiad,
math o, y swyddogaeth sydd ydych am ei alw.
A beth ydych yn pasio yn debyg, ar y diwedd
y dydd, dim ond pwyntydd i y cyfarwyddyd, i'r swyddogaeth.
Felly, nid yw'n debyg eich bod yn pasio y cod cyfan, yn union fel
pwyntydd i'r swyddogaeth.
Ac yna, pan fydd rhywun yn clicio y llygoden, yna swyddogaeth honno yn cael ei alw.
>> DAVIN: Araeau, er mwyn i chi gael datganiad arae.
Yna, amrywiaeth i roi pethau mewn.
Real gyflym, beth fydd hyn yn argraffu?
Beth fydd y drydedd elfen fod?
>> GYNULLEIDFA: "JS".
>> DAVIN: Iawn, byddai'n "JS."
Arhoswch, ewch yn ôl.
Beth yw hyd?
>> GYNULLEIDFA: Tri.
DAVIN: Tri, dde?
Yn union beth yw eich barn.
OK, yn awr yn mynd.
Araeau, gallwch ychwanegu pethau iddynt.
Fel y gallwch fynd y tu hwnt eu ffiniau cychwynnol.
Dim ond rhywbeth i gadw mewn cof.
PHP, JavaScript, maen nhw'n ychydig ychydig yn fwy maddeugar o ran pethau
fel 'na.
Gwrthrychau, yn debyg iawn structs yn C, yn fawr iawn
fel araeau cysylltiadol yn PHP.
Yr ydych i gyd wedi cael profiad gyda hyn.
Felly JSON, pan fyddwch yn pasio JSON yn ôl ac ymlaen mewn wyth set-p,
dyna eich gwrthrych.
>> Felly ie, enghraifft, enghraifft gyflym go iawn.
Dyma gwrthrych.
Mae'r ffordd yr ydych yn cyfeirio at hyn gwrthrych, felly dim ond go gyflym,
gadewch i ni ddweud roeddwn i eisiau dod o hyd i allan, OK, beth yw'r cwrs?
Ac felly yr enw gwrthrych yma yw CS50.
Ac yna os cefais cysylltiadol array, sut y byddwn yn gwneud hynny?
Byddaf yn defnyddio allwedd, dde?
Felly mae gen i enw'r y rhesi.
Mae gen i braced, dyfyniadau, allweddol, dyfyniadau pen, pen braced,
a fydd yn cyfeirio hwnnw elfen y tu mewn fy amrywiaeth cysylltiadol.
Sut ydw i'n cyfeirir cwrs y tu mewn fy gwrthwynebu?
Unrhyw un yn gwybod?
>> GYNULLEIDFA: [Anghlywadwy].
>> DAVIN: Beth sydd i fyny?
GYNULLEIDFA: CS50.course.
DAVIN: Iawn, ie.
Felly CS50.course.
Felly, y ffordd yr ydych yn cyfeirio pethau y tu mewn i gwrthrych JSON yw gyda dot.
>> GYNULLEIDFA: Gallwch hefyd ddefnyddio cystrawen arae.
>> DAVIN: OK, dirwy.
>> Gabe: Gallwch hefyd ddefnyddio CS50 braced, llinyn, fel dyfynodau.
GYNULLEIDFA: Rwy'n credu ei fod union yr un fath PHP.
Gabe: Mae'n yr un peth.
DAVIN: Gain!
Ond byddwch yn gweld hyn yn lleoedd eraill.
Yeah, felly cadwch i fynd.
Mae hyn yn hyn yr wyf newydd ei ddweud.
Felly, i mewn i enghraifft JavaScript jQuery.
Felly, mae hyn yn fy DOM, dde?
Real gyflym, felly mae gen i pen, helo byd, corff.
Mae gen i botwm.
Mae'n dweud "gwthio i mi," felly rwyf am wthio.
Ac yr wyf yn awyddus i wneud rhywbeth pan gaiff ei glicio.
Iawn, nesaf.
>> Iawn, felly mae hwn yn fy JavaScript.
Felly jQuery yn unig yw haws ffordd i ysgrifennu JavaScript.
Felly, mae hyn, a'r hyn yr wyf i'n mynd i ddangos rydych nesaf, yn mynd i fod jQuery,
yn union yr un.
Felly, byddant yn gwneud yr un pethau.
Dim ond jQuery yn tueddu i fod ychydig yn haws.
Mae pobl yn tueddu i hoffi mwy.
Mae ganddo lawer o functionality.
Felly, mae pobl yn tueddu i ddefnyddio jQuery.
Chi i gyd eu defnyddio jQuery yn yr olaf p-set.
Felly, beth fydd hyn yn ei wneud?
Beth fydd JavaScript-- hwn fel mae hyn yn unig yw plaen JavaScript.
Beth fydd hyn yn ei wneud?
Beth fydd yn ei wneud?
>> Felly yn gyntaf, byddwch yn gweld onload ffenestr.
Iawn?
Felly nid oeddem yn gweld hynny o'r blaen.
Felly, mae hyn yn mynd i aros nes bod y llwythi ffenestr gyfan.
Felly, mae'n mynd i aros nes y llwyth HTML, yr holl ddelweddau
cyn y mae'n ei wneud unrhyw beth.
Felly, gadewch i ni ddweud ein DOM wedi llwytho.
Mae popeth yno.
Yna, yr hyn sy'n mynd i ddigwydd?
Yeah?
>> GYNULLEIDFA: Button yn ymddangos.
>> DAVIN: Y botwm yno yn barod.
Yeah, felly y botwm yno eisoes.
Ond mae hyn yn mynd i ddweud, OK, os wyf cliciwch y botwm,
felly y botwm eisoes yno, fel 'na tag HTML.
Arhoswch, ewch yn ôl go gyflym.
Mae hyn yn tag cywir i'r dde yma yw mynd i fod yn botwm barod.
Mae eisoes botwm.
Ond yna, mae'r JavaScript tag, dde yma,
y mae'n ei ddweud, OK, yr wyf am i gael elfen gan adnabod,
felly botwm chwilio jyst yn dweud, OK, yr wyf am i fapio newidyn hwn i'r botwm.
Felly dyna newidyn yn unig yw ffordd haws i gael gafael ar y botwm.
Ac yr wyf yn ei ddweud, OK, os wyf cliciwch y botwm, felly os wyf cliciwch yr elfen honno,
ac yr elfen hon yn cyfeirio at y botwm, os wyf cliciwch arno,
Yna, yr wyf am i alw swyddogaeth.
Dyma un o'r rhai dienw swyddogaethau yr oeddem yn sôn amdano.
>> Ffoniwch rhywfaint o swyddogaeth.
Y tu mewn y swyddogaeth honno, yn y bôn rhywbeth yr ydym wedi gweld llawer, yn effro.
Rydych yn cliciwch y botwm chwilio.
Mae'n mynd i yn y bôn yn cael botwm.
I chi glicio arno.
Byddwch yn cael hysbysiad hwnnw.
X allan.
Dyna ni.
Yeah?
>> GYNULLEIDFA: Felly, os ydych yn rhoi y sgript [Anghlywadwy], tag sgript yn eich HTML?
>> DAVIN: Gallwch roi y sgript syth tag yn y pen
oherwydd bod gennych onload hwn.
Mae hefyd yn eich bod yn cael clic.
Felly, mae'n mynd i aros nes chi glicio am rywbeth.
Ond onload yn unig i fod yn ddiogel, er mwyn gwneud siwr llwythi popeth i mewn i'ch HTML
ymlaen llaw.
Yeah?
Byddwch am ddweud rhywbeth?
>> Gabe: [Anghlywadwy].
DAVIN: Yeah.
>> GYNULLEIDFA: Osgoi Felly onload diffinio'r botwm chwilio amrywiol
at jyst ddweud document.getElementByID Chwilio botwm dot [Anghlywadwy].
>> DAVIN: Yn bendant, ond yna eich llinyn yn mynd yn enfawr.
Yn union, felly mae hyn yn unig i gwneud yn haws i chi, ie.
Ie?
>> GYNULLEIDFA: Ble wnaethom creu window.onload?
Neu document.ready?
>> DAVIN: Oes, mae.
Oes, mae, yr wyf yn gwirio.
>> Gabe: Ddim ar eu cyfer i ofalu amdanynt.
>> DAVIN: Iawn, felly dwi'n mynd i ddweud wrthych beth bynnag.
Felly y bôn, dim ond yn gyffredinol, felly window.onload aros nes bydd eich DOM, i gyd
eich HTML, llwythi.
Mae'n aros nes bydd eich llwyth delweddau.
Mae'n aros nes bod llwythi popeth.
document.ready, 'i jyst aros nes bod eich llwythi DOM.
Unwaith y bydd y HTML yn gyd yno, unwaith eich DOM yno, yn dechrau rhedeg.
Dyna'r unig wahaniaeth.
>> Gabe: bwyll Cyflym wirio yma.
Felly, gall hyn gael ei weld math o fel llinell o god, dde?
Oherwydd ei fod window.onload yn gyfartal bagad o bethau.
Pan JavaScript yn darllen hyn, yn wir neu ffug, y swyddogaeth yn cael ei ddienyddio.
Anghywir.
OK?
Beth sy'n digwydd yma, eich bod newydd fynd heibio swyddogaeth hon fel swyddogaethau anhysbys
i window.onload.
Ac yna pan mae'n mynd i mewn gwirionedd yn cael eu gweithredu?
Pan fydd y llwythi ffenestr.
Dyna ddigwyddiad.
Felly dyna jus t beth rydym yn siarad am gynharach, dde?
Felly, pan fydd y digwyddiad yn digwydd, y swyddogaeth yn digwydd.
Yr un peth â'r onclick.
>> DAVIN: Iawn, felly cymerodd rhywun ymaith y document.ready.
Ond bydd hyn yn union same--
GYNULLEIDFA: Mae'r arwydd doler, hynny yw document.ready.
Dyna a shortcut.
>> DAVIN: O, dyna?
Iawn, felly mae hyn yn golygu document.ready, llwybr byr.
Ond mae hyn yr un fath â window.onload ac eithrio ar gyfer y gwahaniaeth bach
Dywedais wrthych am.
Ac mae hyn yn jQuery.
Felly, mae hyn yn union yr un thing-- mae hyn yn JavaScript.
Mae hyn yn just-- rhai pobl yn feddwl am y peth fel pwysau mwy o olau, fersiwn 'n llyfn
sydd â llawer o functionality y mae'n debyg y byddwch yn eu defnyddio.
Felly, mae hyn yn gwneud yr un peth yn union.
>> Felly bethau i fath o dynnu sylw.
Felly, yn yr enghraifft arall, rydym Roedd gan document.getElementByID,
felly roedd hyn yn hir llinyn sy'n mynd i gael
yr elfen drwy ba bynnag ID ganddo.
Dyna disodli gan alwad hon yn iawn yma.
Felly, byddwch yn gweld yr arwydd doler, Yna byddwch yn gweld dyfyniad, hashtag.
Hashtag yn dewisydd bob amser.
Y mae'n ei ddweud, OK, mae hyn wedi ei wneud gyda ID.
Beth yw'r dewisydd ar gyfer dosbarth?
>> GYNULLEIDFA: Dot.
>> DAVIN: Dot, ar y dde.
Os ydych ond yn mynd i dewiswch tag, beth ydyw?
Dim ond y tag, yn union.
A allech chi ddefnyddio hynny yma, yn ogystal.
>> Gabe: A thrwy tag, rydym yn golygu yn hoffi div, er enghraifft, neu bennaeth.
>> DAVIN: Neu corff neu p neu unrhyw beth fel 'na, yeah.
Felly dyma, OK, yn hytrach na dweud document.getElementByID,
mae hyn yn unig yw yr un peth yn union.
Dim ond yn jQuery, mae'n fyrrach.
Felly mae'n symlach.
Felly, yna, dim mwy onclick, cliciwch.
swyddogaeth jQuery, ffoniwch swyddogaeth hon.
Rhybudd yn union un fath.
Felly mae'n ychydig llai, neu ychydig bach
byrrach, ychydig o bobl yn meddwl bit-- 'i' ychydig yn haws i ysgrifennu allan,
ychydig bach yn haws i'w deall.
Ond mae hyn yn jQuery.
Mae llawer o bobl yn cael ychydig bit ddryslyd ac yn poeni
ac maent yn meddwl, OK, jQuery yn wahanol nag JavaScript.
Mae'n rhaid i mi gofio hyn ddau beth gwahanol.
Nid yw'n.
Yr wyf yn golygu, mae'n wahanol gystrawennau.
Ond jQuery yw JavaScript.
'I' jyst yn ymddangos yn gwell fersiwn hwnnw
allai fod yn haws deall bod pobl yn defnyddio.
Gabe: Yeah, i fod yn onest, hynny arwydd doler
eich bod yn gweld yn jQuery, dyna dim ond y enwi swyddogaeth sy'n jQuery diffinio.
Nid oes ganddo unrhyw beth arbennig.
Ydy Dim ond enw'r swyddogaeth, yn union fel y gallech ddiffinio arwydd doler.
>> DAVIN: Yeah, felly yn siarad am hyn.
Rhai pethau defnyddiol.
Yr oeddwn yn edrych yn ôl ar yr hen cwisiau.
Yn y cwisiau cwpl diwethaf, maent i wedi gorfod defnyddio pethau fel hyn.
Felly document.ready, felly sicrhau bod popeth yn
llwytho cyn i chi ddechrau gwneud pethau.
Dewiswch ID, neu ddewis dosbarth, mae'n Byddai'n well jyst
fod dyfynbris dot rhywfaint dosbarth, dyfyniad diwedd.
Cyflwyno, felly os ydych chi'n cyflwyno ffurflen a galwad
swyddogaeth hon ar ôl y ffurflen yn cyflwyno.
Gwerth, felly gadewch i ni ddweud Cefais ffurflen cyflwyno, fel enw defnyddiwr, e-bost,
beth bynnag.
Roedd gen i blwch testun.
Felly dw i'n teipio i mewn i'r blwch testun.
Wel, os ydych chi am gael y gwerth allan o'r blwch testun, byddwch yn defnyddio dot Val.
Ac yna, i lawr fan hyn, dot HTML yr un fath
yn debyg ddogfen dot getElementByID dot innerHTML.
Felly mae hynny'n mynd i ddychwelyd chi yw'r HTML o'r adnabod.
Yma, 'ch jyst defnyddio rhai ID neu beth bynnag dot HTML.
Bydd hynny'n cael y HTML gan yr elfen honno.
Os ydych eisiau, yna newid hynny HTML, gallwch basio rhywbeth.
Felly, byddech yn hoffi dot HTML, ac yna tu mewn, dyfyniadau, HTML newydd neu rywbeth.
>> Gabe: Iawn, felly AJAX.
Fi 'n sylweddol hoffi ddeall AJAX yn dda iawn.
Felly, rwyf am i chi guys deall AJAX yn dda iawn.
Oherwydd os gwnewch hynny, rydych yn mynd 'n bert lawer
deall popeth a wedi ei wneud gyda HTTP, PHP,
JavaScript oherwydd ei fod i gyd yn dod at ei gilydd mewn AJAX.
Nid AJAX yn iaith.
AJAX yn dechneg.
Ac mae'n defnyddio llawer o offer gwahanol.
AJAX yn sefyll am XML JavaScript asynchronous.
Felly, y dull, yr iaith, mae'r data.
>> Felly brif iaith a ddefnyddiwn yn AJAX i sbarduno popeth
ac i ymdrin â phopeth yn nes ymlaen yw JavaScript.
Dyna pam y mae'n ymwneud ag ef yn agos iawn at JavaScript.
Ac yna asynchronous yn am nad ydym yn gwneud hynny
i gyd ar unwaith pan rydym yn lwytho'r dudalen.
Dyma'r peth a allwn gwneud pethau fath o yn gyfochrog.
Y prif syniad y tu ôl AJAX yw eich bod eisiau
iddo gael rhywfaint o wybodaeth benodol.
Er enghraifft, pan fyddwch yn teipio newydd enw defnyddiwr pan fyddwch yn cofrestru enw defnyddiwr,
fy enw defnyddiwr yn abc123.
Ac yna, ar ddiwedd y ffurflen, rhaid i chi glicio Cyflwyno.
Ac mae'n rhaid iddo fynd at 'r gweinyddwr, ac yna gwirio os yn y gronfa ddata,
abc123 sydd yno eisoes.
Ac os ei fod yno eisoes, y mae'n ei ddweud, enw defnyddiwr eisoes yn y gronfa ddata.
Ac maent, rhaid i chi lenwi y ffurflen gyfan eto.
Ac yr oedd mewn gwirionedd, yn wael iawn.
>> Ac yna pobl yn dweud, OK, pam na allwn ni ond
yn gwneud cais HTTP bach i ddim ond wirio i weld a yw defnyddiwr hwn yn y gronfa ddata
cyn y defnyddiwr yn gorfod cyflwyno'r ffurflen cyfan?
Felly, er enghraifft, pan fydd y defnyddiwr gorffen teipio abc123,
gadewch i jyst yn mynd at y gweinydd ychydig bit a dim ond yn cael gwir neu gau
o'r gweinydd i weld a oes dyna enw defnyddiwr dilys ai peidio.
Iawn, felly dyna un o'r prif defnyddio o AJAX dyddiau hyn yn dal.
>> DAVIN: Felly real gyflym, yn galwad Ajax yn jQuery,
gallech yn arwyddo bod chi am iddo fod cydamserol.
Ni ddylech wneud hyn.
Ond gallwch wneud hynny.
Ac os wnaethoch chi hynny, beth fyddai'n digwydd?
Wel, er enghraifft, pan fyddwch yn cael newyddion neu beth bynnag,
eich porwr yn jyst yn mynd i aros hyd nes y cyfan galwad yn gyflawn
yn hytrach na gadael i chi wneud eraill pethau'n iawn ar ôl i chi glicio arno.
>> Gabe: Dyw hi ddim yn pasio anymore.
O fy duw.
Mae'n ddrwg gennym!
Yup.
"Yn y gorffennol, mae'r cleient sydd ei angen i gais
holl gynnwys gwefan. "
Dyna beth a ddywedais.
Mae'n caniatáu i ni anfon GET neu POST ychwanegol
ceisiadau heb orfod i ail-lwytho ein porwr.
Felly, ar ddiwedd y dydd, rydym yn mewn gwirionedd yn gwneud ceisiadau HTTP
yma gan ddefnyddio'ch JavaScript.
Oherwydd o'r blaen, dim ond defnyddio JavaScript i newid y HTML a ddaeth yn barod.
Ac yn awr, gallwn ddefnyddio i ryngwynebu gyda'r gweinyddwyr gwe yn ogystal.
Y ffordd hyn yn digwydd yw gennym y cleient.
Davin yn gleient.
Ac efe wedi holl JavaScript rhedeg oherwydd HTML yn fud.
JavaScript yn smart.
Felly Davin Davin wedi ei smart rhan ac yn ei ran fud.
Mae'n mynd i ddefnyddio ei ran smart nawr.
Mae'n mynd i ddefnyddio JavaScript i gais, er enghraifft,
boed abc123 mewn y gronfa ddata neu beidio.
>> Felly Davin, os gwelwch yn dda, 'ch jyst anfon cais HTTP mi.
Diolch yn fawr.
Felly efe jyst anfon cais HTTP.
Byddwch yn gweld hynny?
A dyna yn union yr un ffordd bod unrhyw gais HTTP ei anfon.
Mae'r porwr, Google Chrome neu rywbeth, yn
mynd i weld bod Davin yn ceisio anfon cais HTTP,
mynd i helpu ei Mawrhydi ychydig.
Ac mae hynny'n mynd i fynd yr holl ffordd at 'r gweinyddwr.
Yn awr, mae'r gweinydd yn mynd i gael PHP yma, neu unrhyw iaith arall.
Yn union fel mewn cais HTTP arferol.
Mae'n 'n bert lawer cais HTTP arferol.
>> Ac yna, y gweinydd yn mynd i ddweud, OK,
Davin am i mi i weld a abc123 hyn yn y gronfa ddata.
Ewch sgwrs i'r model.
Mae'r model yn dweud nad yw'n. abc123 yw enw defnyddiwr da.
Ac yna, mae'r gweinydd gwe yn mynd i yn defnyddio PHP i rendro rhyw fath o ffeil.
Gallai fod yn llythrennol yn unig ffeil sy'n cynnwys "ie" mewn iddo, neu "na,
neu rywbeth fel 'na.
Gallai fod yn unrhyw ffeil.
>> Gallai fod yn debyg Rydw i'n mynd i anfon llun o hwyaden Davin
os yw'n yn y gronfa ddata a anfon llun o bochdew
os nad yw'n yn y gronfa ddata.
Byddai hynny'n fath o fud, ond bydd yn gweithio.
Iawn, felly yr wyf yn anfon hwyaden i Davin.
Davin got a hwyaden.
Ac yn awr, pwy sy'n mynd i drin y hwyaden?
Rhan smart Davin unwaith eto, felly JavaScript, dde?
Anfon JavaScript yr cais, a JavaScript
yn mynd i dderbyn y cais a'i ddehongli mewn rhyw ffurf.
>> Ac yn yr ystyr hwn, mae'n mynd i dweud, OK, os hwyaden yna rwy'n dda.
Os bochdew, yna dwi'n mynd i ddweud, na, enw defnyddiwr eisoes
yn bodoli yn y gronfa ddata.
Ond fel arfer, nad ydych yn mynd i anfon hwyaden.
Rydych yn mynd i anfon rhywbeth ychydig yn fwy craff.
A beth rydym yn ei ddefnyddio yw XML.
Ac yn fwy diweddar, rydym yn defnyddio JSON.
JSON yn unig yw JavaScript Nodiant gwrthrych, a oedd yn
yn y bôn byddwch yn cael gyfan gwrthrych JavaScript.
A ydych yn ei roi mewn ffeil, yn union fel y gwrthrych CS50 a welodd chi guys.
Rydych yn ei roi mewn ffeil, a chi ei anfon drosodd i Davin.
>> Felly, yn yr achos hwn, yr wyf byddai gwneud gwrthrych JavaScript
a dim ond dweud, defnyddiwr yn bodoli, ie.
Neu ddefnyddiwr yn bodoli, dim.
A'i hanfon yn ôl ato.
A pham JSON?
Oherwydd bod y person pwy sy'n derbyn hyn yn
mynd i ddefnyddio JavaScript i drin yr ymateb.
Ac JavaScript yn gweithio cystal oherwydd fe'i gelwir JavaScript Nodiant Gwrthrych.
Iawn?
Felly gall ffoniwch swyddogaeth a chael y gwrthrych 'n glws o'r ymateb.
Ac yna, mae'n mynd i wybod a bod y defnyddiwr yn y gronfa ddata neu beidio.
>> Felly, byddwch yn gweld, y cyfan ohono yn dod gyda'i gilydd yn y gweinydd gwe,
ac yna mae un HTTP i gais ac un ymateb HTTP a phopeth.
Felly, gwnewch yn siŵr eich bod guys deall hyn AJAX ffoniwch
oherwydd ei fod yn eich helpu i ddeall gyd o'r cysyniadau rydym yn sôn am.
>> Felly dyma enghraifft o AJAX gyda jQuery.
Ac yma, rydym yn ei wneud gyda JSON get.
Felly, nid ydym yn ceisio cael delwedd o gath yma, neu hwyaden.
Rydym yn ceisio cael ffeil JSON.
Ac yna rydym yn aros tan mae'n ei wneud, dot wneud.
Mae hynny'n golygu fy mod yn aros am yr ymateb.
Gallai fod yn cymryd ychydig o amser.
Yna, byddwch yn gweld ychydig o llwytho.
Os ydych am wneud hynny yn eich gwefan.
Felly dot wneud, ac yna beth yn digwydd pan mae'n ei wneud?
Byddwch yn mynd heibio mewn dienw swyddogaeth, yn union fel y gwelsom o'r blaen.
Oherwydd ei wneud yn ddigwyddiad, dim ond fel glicio llygoden neu beth bynnag,
ar gyfer jQuery.
Felly, byddwch yn pasio yn y swyddogaeth hon â data, testun, statws, a jqXHR.
Ac yn y bôn, dyna dim ond rhai newidynnau
y gallwch eu defnyddio yn nes ymlaen i gael statws y cais HTTP,
y data ei fod yn mynd i anfon yn ôl i chi.
Felly, yna gallwch yn nes ymlaen dehongli ac yn gwneud rhywbeth ystyrlon ag ef.
Ac os bydd yn methu, pryd y gallai fethu?
Wel, pan fydd y cais HTTP yn rhoi A ydych yn 500 neu rywbeth fel 'na.
Yna, mae'n mynd i ddweud wrthych y statws, pa fath o fethiant a oedd,
a phob math o bethau.
Mae'n rhaid i chi wneud yn siŵr i drin y ddau achos,
fel arall mae'r rhaglen yn mynd yn wallgof.
>> DAVIN: Felly ie, mae hyn yn union yr hyn a welsoch ar eich ddiwethaf p-set.
Y gwir AJAX alwad yn y JSON get.
Dyna'r alwad.
Ac yna, dot wneud yn debyg mae'n gwirio os yw'n llwyddiannus.
Os yw'n llwyddiannus, yr ydych am i wneud rhywbeth gyda'r data.
Rydych yn cael yn ôl o hynny Data cais JSON.
Dyna beth yr ydych yn mynd yn ôl.
Felly, os ydych yn cofio o'ch p-set, llawer ohonoch yn hoffi braced data ff
neu beth bynnag, dot cyswllt neu deitl.
Beth bynnag sy'n dod yn ôl o'r JSON, beth bynnag
y caeau yn y gwrthrych JSON, dyna beth ydych yn ei gael yn ôl.
Mae data ar yr hyn yr ydych yn ei gael yn ôl.
Statws Testun, dim ond rhywbeth y yn gadael i chi wybod beth a ddigwyddodd.
Ac yna, mae'r jqXHR, dyna'n union y cais HTTP XML jQuery.
Dyna union fel gwrthrych.
Ac yna yn methu, yn union fel y dywedodd Gabe.
Gabe: Yn ein henghraifft bach o abc123 dim ond i wirio os dyna sydd yn y gronfa ddata
neu beidio, byddai'r data'n cael rhywbeth i chi Byddai ei wneud, os enw defnyddiwr data dot yn bodoli,
sef yr hyn yw eich PHP a gynhyrchir ar gyfer chi, os Enw`r dot defnyddiwr yn bodoli, yna
Rydw i'n mynd i rybuddio, defnyddiwr enw sydd eisoes yn bodoli.
Else, Im 'jyst yn mynd i adael i'r defnyddiwr symud ymlaen lenwi'r ffurflen.
OK, diogelwch, oer.
>> DAVIN: Eisiau i mi?
>> Gabe: Rwy'n hoffi hwn.
Felly rhywbeth sy'n edrych yn gyfarwydd.
Rydym yn gwneud bron.
Felly, mae hyn yn unig yw yr enghraifft Gwelodd chi guys yn y dosbarth.
Rydych yn defnyddio argv1 yma.
Mae hynny'n debyg i ymresymiad llinell orchymyn.
Ac rydym yn MEM copïo hwnnw i mewn i byffer o faint 12.
Beth yw'r broblem yma?
Clustogi gorlifo!
Gan fod gennym byffer o faint 12.
argv1 allai fod â faint o ddau biliwn.
Nid ydym yn gwneud unrhyw gwirio ffin.
Felly efallai y byddwn yn copïo llawer o gof.
A byddwn yn enwedig drwg am hyn.
Beth allwn ni ei wneud dyna iawn, yn golygu iawn yn yr achos hwn?
Ie?
GYNULLEIDFA: Rhan o'r ddau biliwn o beth yn cynnwys cod cyflawnadwy sy'n dychwelyd
[Anghlywadwy].
Gabe: Yn union.
Felly dyna'r math o beth y mae pobl yn eu defnyddio
i jailbreak iPhone, er enghraifft.
Felly y math yna o beth.
Oherwydd gallwch jyst yn gwneud y ddyfais gweithredu unrhyw god yr ydych yn hoffi.
Mae'r atgyweiria, felly mae'r ateb yn hawdd.
Dim ond edrychwch am y terfynau.
Rydych yn edrych am null oherwydd rydym bob amser yn edrych am null
pan fyddwn yn delio â llinynnau.
Ac yna, byddwch yn cymryd y hyd llinyn o'r blaen.
Ac os y llinyn hyd yn llinyn dilys
hyd, sydd o fewn 0 a 12, yna rydym yn dda.
>> DAVIN: Os nad ydych yn gwirio am null, go gyflym, beth fydd yn digwydd?
Bydd yn SEG fai.
Pam y bydd SEG ei fai?
Oherwydd ydych yn ffonio strlen ar null.
Gabe: Yeah.
Gwir neu gau, gan ddefnyddio un cyfrinair yn syniad da.
>> GYNULLEIDFA: Anghywir.
>> Gabe: Anghywir.
Defnyddiwch llawer cyfrineiriau, a rhai mawr, hir.
Eiconau clo clap yn sicrhau diogelwch.
>> GYNULLEIDFA: Anghywir.
>> Gabe: Anghywir.
Nid yw'n golygu unrhyw beth.
Dim ond eicon.
SSL yn amddiffyn yn erbyn dyn yn yr ymosodiad canol.
GYNULLEIDFA: Anghywir.
Gabe: Anghywir.
Iawn, felly pawb yn ffug.
Nice.
[Anghlywadwy]
Eisiau siarad am hyn?
Eich tro.
DAVIN: Mathau o ymosodiadau, dyn yn y canol.
Beth yw dyn yn yr ymosodiad canol?
GYNULLEIDFA: [Anghlywadwy].
DAVIN: Os ydych yn anfon HTTP cais, gallent wneud hyn, dde?
Ond os ydych yn anfon HTTPS, maent yn Mae'n debyg na fydd yn gallu gwneud hyn.
Mae llawer o bwyntiau ar hyd eich cysylltiad.
Mae gennych llwybryddion.
Mae gennych gweinyddwyr DNS.
Os yw rhywun yn gallu corfforol gweld yr hyn rydych yn ei anfon,
felly bydd rhywun yn gallu mewn gwirionedd yn cael rhyngoch chi,
y cleient, a 'r gweinyddwr, ac mae'n gallu gweld yr hyn rydych yn ei anfon,
mae hyn yn ddyn yn yr ymosodiad canol.
Felly, er mwyn gweld yr hyn yr ydych yn ceisio cael gan y gweinydd, neu yn gallu see-- waeth,
efallai y byddwch yn gallu gweld cwcis neu rywbeth fel 'na.
>> Felly, er enghraifft, os Nid ydych yn defnyddio SSL, efe a
Efallai yn gallu gweld eich cwcis ID sesiwn.
Ac mae gelwir hyn yn sesiwn herwgipio oherwydd ei fod yn gweld eich cwcis adnabod,
ac yna mae'n gallu mynd i'r un a gwefan a esgus bod yn chi.
Gan fod yn union fel yn PHP, cofiwch pan fyddwn yn logio i mewn, beth ydym yn ei wneud?
Rydym yn gosod ID sesiwn cyfartal i adnabod.
Felly sy'n nodi i chi.
Dyna pam y gallwch weld eich portffolio a phortffolio Nid yw pawb arall.
>> Wel, os ydw i'n gallu cael y cwci, yna gallaf fewngofnodi ar y dudalen honno.
Ac yna, gallaf weld eich stwff a dechrau prynu a gwerthu pethau.
Felly dyna sesiwn herwgipio.
Ond ni ddylech fod yn gallu i-- er mwyn i chi Gall ddefnyddio'r dyn yn yr ymosodiad canol
hyd yn oed os ydynt yn defnyddio SSL.
Ond ni ddylech fod yn gallu.
Os ydynt yn defnyddio SSL, na allwch sesiwn herwgipio.
Pam?
Oherwydd ei fod yn gyd wedi'i amgryptio, iawn? os caiff ei amgryptio,
ac rwy'n dal i fod yn ddyn yn y canol, yr wyf yn dal i gael eich data.
Mae hynny'n iawn.
Ond mae'n amgryptio.
Felly, ni all Fi 'n sylweddol yn ei ddefnyddio.
Felly dyna dau.
>> Real gyflym, traws safle cais ffugio.
Dyna dim ond os oes cysylltiad a bod y ddolen yn gwneud rhywbeth
nad ydych yn meddwl y dylai wneud.
Felly, er enghraifft, os yw'r cysylltiad yn mynd i brynu stociau neu werthu stociau,
ac nad oeddech yn gwybod hynny.
Rydych yn clicio ar y ddolen, Anfonwyd cais, a brynwyd
neu eu gwerthu rhywbeth y na wnaethoch ei olygu i'w wneud.
Dyna hynny.
>> Sgriptio traws safle, felly dyma, eich bod yn pasio mewn trwy amrywiol q,
yn hytrach na pasio mewn rhyw fath o werth, efallai q yn debyg i enw.
Felly, yn hytrach na pasio q gyfartal Davin neu rywbeth fel 'na,
os nad ydych yn defnyddio HTML chars arbennig, os ydych
peidiwch â dianc hyn i wneud yn siŵr ei fod yn OK, yna gallwn i basio yn lle hynny,
gadewch i ni ddweud yn fan hyn i ddim yn dweud print neu rywbeth fel 'na,
Yna gallwn i basio i mewn yma galwad sgript.
>> Felly, yna, yn hytrach na dim ond cael newidiol,
Byddwn wedyn yn gweithredu sgript yma alwad.
Felly, y tu mewn y sgript yn galw, yr hyn y mae'n ei wneud?
Dogfen dot lleoliad, mae hynny'n mynd i newid lleoliad y ddogfen.
Felly, yr wyf i'n mynd i ailgyfeirio i rywle arall.
Mae'n cael ei alw dyn drwg mewn yr enghraifft hon, yn dda iawn.
Methu meddwl am y gair.
Ac yna, beth sydd hyd yn oed waeth yw fy mod i'n mynd
yna gosod cookie, sef rhai newidyn gen i yn y wefan hon.
Rydw i'n mynd i osod gyfartal i'r ddogfen dot cwci.
Felly, dw i'n mynd i ddwyn eich cwci.
Ac yr wyf i'n mynd i ailgyfeirio rhywfaint o wybodaeth i wefan
na ddylech fod yn cael mynediad.
Ac mae hyn i gyd yn digwydd oherwydd eich bod yn Nid yw dianc yr hyn yr ydych wedi ei weld.
Yeah?
>> GYNULLEIDFA: Felly dim ond i gwneud hynny'n glir, 'i'
vulnerable.com bod yn agored i hyn.
Fel y gall cyswllt ymddangos ar unrhyw dudalen a roddir.
Rhywun yn clicio arno, yn mynd i'r vulnerable.com.
Mae gennych cwci i vulnerable.com.
Lets 'ddeud Facebook yn agored i niwed, felly facebook.com.
Mae gennych eich cwci Facebook.
Beth mae hyn yn ei wneud, rydych yn mynd i facebook.com,
unwaith mae'n ailgyfeirio chi badguy.com,
ond gan gynnwys eich gwybodaeth cwci.
Felly mae'n ailgyfeirio cyflym, ond bod eich cwci Facebook
yn cael ei gynnwys gyda'r ailgyfeirio, a dyna sut y maent [Anghlywadwy].
Gabe: Yeah, mae rhai pethau cymedrig iawn
y gall pobl wneud os oes hon.
Er enghraifft, os caniateir Facebook pawb i newid eich enw defnyddiwr,
ac nid oeddent yn gwneud unrhyw gwiriadau callineb, er mwyn i chi
Gallai mewnosod yn beth JavaScript bod newid eich delwedd i bochdew.
A bod yn mewnosod yr un fath JavaScript i bawb sydd yn gweld eich tudalen.
Felly pawb sy'n gweld eich tudalen yr un peth yn yr enw defnyddiwr.
Ac am ei fod yn firws, mae'n lledaenu'n gynt a chynt.
DAVIN: Byddwn yn hepgor yr olaf un, ac yna rydym yn ei wneud.
Felly, mae hyn yn unig yw enghraifft arall.
Felly mae hyn yn dydyn nhw ddim dianc eu bwrdd SQL.
Felly rydych yn gallu ollwng.
Felly, yr ydych am i ddianc pethau.
Dyna oedd yr enghraifft flaenorol gyda'r sgriptio traws safle.
Mae'n ddrwg gennym rydym yn rhedeg ychydig yn hwyr.
Yfory, sori!
Yfory, mae gennym oriau swyddfa.
Felly oriau swyddfa yn Cabbot 8:00-11:00.
Mae'r oriau swyddfa yn llym ar gyfer cwestiynau cwis.