>> R.J. Aquino: Gadewch i 'jyst ddechrau arni.
Felly, mae hyn yw Cwis 1.
Dyma ychydig o wybodaeth lefel uchel.
Mae'r dudalen Amdanom gyfer y cwis ar hyn URL, bellach CS50.net, er bod y
Bydd yn dal i weithio.
Mae'n CS50.harvard.edu/quizzes/2013/1.
Mae'n y mawr About dudalen, gan ddweud wrthych ble a phryd, sef ddydd Mercher nesaf
mewn criw o ystafelloedd.
Ac erbyn dydd Mercher nesaf, yr wyf yn yn golygu dau ddiwrnod o hyn.
Mae'r holl wybodaeth hon yn yno.
Ond mae'n gronnus.
>> Felly popeth o hanner cyntaf y flwyddyn o bosibl ar y cwis,
oherwydd na allwch chi wir yn uwch pethau yn C heb os yw'r amodau a
ar gyfer dolenni ac yn y blaen.
Ond bydd pwyslais ar y deunydd gorchuddio ers Cwis 0,
gan ddechrau gyda structs a Ffeil Yr wyf i / O. Mae'n arfer yn fwy
heriol nag Cwis 0.
Mae'r sgôr cyfartalog yn nodweddiadol is.
Astudio'n galed.
>> Tra byddwch yn astudio, gofalwch eich bod yn defnyddio CS50/discuss i bostio eich cwestiynau
a darllen cwestiynau pobl eraill.
Felly, os nad oes gennych unrhyw gwestiynau, logio i mewn a darllen
cwestiynau eich ffrindiau '.
Yn ôl pob tebyg Maen nhw'n cwestiynau da.
A chymryd y cwisiau ymarfer.
Rydym wedi bod yn rhoi cwisiau ar gyfer saith neu wyth mlynedd bellach.
Maen nhw i gyd ar-lein.
Gwestiynau yn y dyfodol yn debyg hen gwestiynau.
Dyna sut rydym yn eu gwneud.
>> Nid yw'r cwis yn bodoli eto.
Nid oes yr un ohonom wedi gweld hynny.
Ond bydd yn edrych fel cwisiau blaenorol.
Ar gyfer y sesiwn adolygu, nid yw hyn yn rhestr gynhwysfawr o bynciau.
Nid ydych yn gallu mynychu'r ac yna fod yn hollol barod ar gyfer y cwis.
Fel arall, ni fyddai'n bod llawer o'r cwis.
Ac mae hyn hefyd nid o reidrwydd popeth sydd angen i chi ei wybod am unrhyw
rhoi pwnc.
Mae'n golygu i chi ddatgelu at y pethau ydym wedi eu trafod, yn eich atgoffa hyn yr ydym yn
cynnwys, a'r ffordd y yr ydym yn ei orchuddio.
Ond bydd yn rhaid i chi fynd ymhellach ac ddyfnach pan ydych yn astudio i dwbl-wirio
eich bod yn gwybod popeth am unrhyw a roddir pwnc ac eich bod chi wedi llenwi
holl corneli a oedd yn cynnwys yn y ddarlith.
>> Mae'r nodiadau cwis yn dweud wrthych i fynd i'r nodiadau ysgrifennydd, fideos darlith gwylio.
Dyna ffordd dda i wneud yn siŵr eich bod wedi cwmpasu eich holl ganolfannau.
Felly dechrau arni, pan wyf yn gwneud hyn sleidiau, yr wyf yn ceisio rhoi lle yr wyf yn dod o hyd i
gwybodaeth.
Felly, ar gyfer File I / O, er enghraifft, Wythnos 7, Ddydd Llun ddarlith, a'r postio
Adran 6 ac Problem Set i gyd gwybodaeth am File I / O. Rwyf wedi gwneud
hyn ar gyfer pob pwnc.
Felly, efallai y sleidiau teitl hynny fod yn ddefnyddiol i chi.
>> Felly dyma ni wedi Ffeil I / O. Cofiwch, yn Problem Set 5, rydym yn defnyddio fopen, mmap,
fwrite, fread, a fseek.
Ar ôl adennill 30ish JPEG a ar ôl newid maint a llanast gyda
bitmaps, dylech fod yn eithaf cyfarwydd swyddogaethau hyn
a sut maent yn gweithio.
Os nad ydych yn gyfarwydd, yn bendant yn eu hadolygu.
A gwnewch yn siŵr eich bod yn deall yr hyn y y gwahanol dadleuon yn,
pan fyddant yn defnyddio.
>> Ond y bygiau-gysylltiedig ffeil cyffredin Efallai y gofynnir i chi am -
yn dda, os ydych wedi anghofio'ch i gadarnhau a oes fopen mewn gwirionedd yn gweithio cyn i chi fynd i
addasu ffeil.
Gallai hynny fod yn ddrwg.
Os ydych wedi anghofio mmap ffeil eich bod wedi fopened, sy'n debyg i
yn gollwng cof.
Dyna 'n bert drwg.
Ac anghofio i wirio os ydych wedi cyrraedd diwedd y ffeil cyn i chi
ddechrau ysgrifennu iddo.
>> Felly, os ydych yn ei ddweud, hey, dwi yn ddiwedd y ffeil.
Rhowch 5 yn fwy o bytes mi.
Wel, nad sy'n fwy na thebyg yn mynd i gweithio allan y ffordd yr ydych yn ei ddisgwyl.
Mae hynny'n wir ar gyfer File I / O, oherwydd ein bod yn gwneud hynny llawer ohono
â'r broblem a osodwyd.
Felly, os ydych yn deall beth oedd yn digwydd yn Problem Set 5, cofiwch y bitmats
a'r JPEG, yna mae'n debyg eich bod i gyd a osodwyd ar gyfer File I / O. Os yw hynny'n dipyn
fuzzy, yn bendant yn adolygu'r broblem osod a deunydd cysylltiedig.
>> Structs oedd y pwnc a oedd ar y llinell rhwng Cwis 0 a Cwis 1.
Ddim yn hollol yn gwneud y toriad ar gyfer Cwis 0.
Felly, byddant yn bendant fod ar Cwis 1, Wythnos 7, ddydd Llun.
Beth yw strwythur?
Yma rydym yn dangos strwythur.
Mae'n debyg i fath newydd.
Mae'n debyg i gynhwysydd ar gyfer meysydd lluosog.
>> Yn yr achos hwn, rydym wedi datgan strwythur myfyrwyr sydd â dau gae -
llinyn yr ydym yn galw enw a yn int yr ydym yn galw oedran.
Felly, pan fyddaf yn pasio o gwmpas fyfyrwyr neu yr wyf yn addasu myfyrwyr, byddaf yn gallu
gael mynediad at eu henw a'u hoedran.
Gadewch i ni edrych ar rai cod ar gyfer hynny.
Yma rydym yn gweld fy mod wedi datgan myfyriwr s, yn union fel
Yr wyf yn datgan unrhyw newidyn -
int x, int y, et cetera.
>> Dyma s myfyrwyr.
Mae'n dechrau gyda dim yn ei gaeau.
Felly, gadewch i ni eu gosod.
Chi osod gaeau o strwythur gyda dot.
Felly, yr wyf wedi dweud yma fod s.name = RJ.
Ac s.age = 21.
Gallwch hefyd yn diweddaru caeau yr un ffordd y byddech yn diweddaru
gwerth newidyn.
Felly, yr wyf am newid fy enw oddi wrth RJ gyda unrhyw gyfnodau i R.J. sillafu y
ffordd gywir.
Byddai'n cael ei s.name = RJ, yr un fath wrth i ni ddweud yn wreiddiol.
Ac yna gallwch gael gafael arnynt.
>> Felly, rydym wedi eu gosod.
Rydym wedi diweddaru eu cyfer.
Gallwch hefyd gael mynediad atynt yn yr un ffordd iawn.
Felly yma, yr wyf i'n argraffu R.J. Yw 21 mlwydd oed.
Ac yr wyf i'n cael mynediad at y gwerthoedd hynny gyda s.name a s.age.
Felly, mae hynny'n cael mynediad structs gyda'r dot nodiant.
Yep, cwestiwn?
>> GYNULLEIDFA: A oes rheswm ar y sleid blaenorol nad oedd eich rhoi
myfyriwr ar y llinell uchaf, fel typedef myfyriwr strwythur ac yna
fyfyriwr yn y diwedd?
>> R.J. Aquino: Felly, y cwestiwn a oedd, ar sleid hon, rydym wedi gweld fel arfer
typedef nod strwythur ac yna feysydd y strwythur a
yna bydd y gair nod.
A sut dod yma doeddwn i ddim yn dweud, typedef myfyriwr strwythur ac yna
meysydd y strwythur ac yna i fyfyrwyr?
Y rheswm yw nad oes angen i I mynediad iddo tu mewn i'r strwythur.
Felly, mae'n iawn ei adael heb enw.
Gall Fi jyst adael fel yn strwythur dienw.
>> Y rheswm yr ydym yn ei wneud ar gyfer rhestrau cysylltiedig a pethau oherwydd tu mewn i chi angen
i gyfeirio seren nodau strwythur.
Felly, y strwythur wedi i gael enw, fel y gallwch gael mynediad iddo yn nes ymlaen.
Mae'n mân fanylion.
Ond byddwch fel arfer yn gweld typedef strwythur braces cyrliog os nid oes angen i chi
enw a typedef strwythur ryw enw ddilyn gan braces cyrliog os byddwch yn
angen yr enw.
Felly dyna gwestiwn da.
>> Ac ar y pwynt hwnnw, rydym yn tueddu i addasu structs a phasio o gwmpas structs gan
cyfeirio, nid yn ôl gwerth.
Felly, byddwn yn unig basio o gwmpas awgrymiadau i structs yn hytrach na pasio o amgylch y
structs eu hunain.
Felly, rydych yn aml iawn yn mynd i fod yn defnyddio, yn yr achos hwn, yn fyfyriwr * neu
strwythur nod * neu nod * yn lle hynny allan fyfyrwyr neu nodau.
Felly yma, yr wyf wedi dweud, OK, y PTR amrywiol yn mynd i fod y cyfeiriad s.
Mae'n mynd i fod y pwyntydd i'r myfyriwr R.J.
>> Felly, gallwn gael o meysydd hynny yr un fath wrth i ni gael unrhyw beth.
Yn gyntaf, ID gyfeirio at y pwyntydd i gael y strwythur.
Dyna * ptr ac yna dot ac yna oedran.
Felly, i gael gafael ar y maes, ac yr wyf wedi diweddaru yn awr i 22, oherwydd, gadewch i ni
dyweder, yr oedd yn fy mhen-blwydd.
Mae cystrawen shortcut ddefnyddio'r saeth yma.
Felly ptr oedran saeth yn unig yr un fath â * ptr.age.
Nawr, mae hynny'n rhywbeth bydd gennych i gof a chofio.
>> Rydych yn ei ddefnyddio lawer yn pset6, y pset sillafu.
Ond mae hyn yn mewn gwirionedd beth sy'n mynd ymlaen o dan y cwfl.
Mae'n dereferencing pwyntydd ac yna cael mynediad iddo.
Cwestiwn?
>> GYNULLEIDFA: [Anghlywadwy].
>> R.J. Aquino: Felly pam yr ydym yn defnyddio awgrymiadau fel structs yn hytrach na'r
structs eu hunain?
Y rheswm fod os ydych yn pasio a strwythur i swyddogaeth, mae'n debyg
am eu trosglwyddo o gwmpas yn unig 4 neu lai bytes sy'n cynrychioli'r pwyntydd, fel
hytrach na'r 30 neu a allai fod yn 40 bytes sydd yr strwythur.
Felly, pasio rhywbeth i swyddogaeth yn haws pan fydd y peth
yn llai yn fyr.
Cwestiwn?
>> GYNULLEIDFA: Efallai eich bod wedi sôn am hyn yn y dechrau, ond a oes
sleidiau eraill hyd ar [Anghlywadwy]?
>> R.J. Aquino: Bydd y sleidiau yn ar ôl y sesiwn adolygu.
Byddwn yn eu postio ar y wefan.
Felly, symud ymlaen a symud ymlaen ychydig gyflymach, rydyn ni'n mynd i siarad am ddata
strwythurau.
Mae yna lawer.
Rydym yn cwmpasu griw ohonynt.
Dyma beth dylech ddeall am strwythur data.
>> Dylech wir yn deall yn uchel lefel hyn y mae pob strwythur.
Allwch chi egluro yn Saesneg at eich ffrind nad yw wedi cymryd CS50 sut
rydym yn trefnu ein data a pham yr ydym wedi yn defnyddio rhywbeth fel hyn?
Dyna beth un.
Thing dau, deall gweithredu.
Felly, deall sut i ddefnyddio pethau hyn yn C. A byddwn yn mynd dros y.
>> Ac yna byddai peth tri yn cael gwybod y amseroedd rhedeg ac chyfyngiadau'r
strwythurau amrywiol rydych yn ei ddefnyddio.
Felly deall pam y byddai byddwch yn defnyddio hash tabl yn lle arae.
Deall pa mor gyflym, ar gyfartaledd, cael mynediad tabl hash yn.
Deall pa gweithrediadau yn gyflym ar rhestr gysylltiedig, ond yn araf am araeau a
i'r gwrthwyneb.
Felly, er mwyn deall hynny, bydd rhaid i chi deall Big-O nodiant yn unig i wybod
sut i siarad am y rhain math o bethau.
A byddwn yn siarad am hynny.
>> Felly peth cyntaf, rhestrau cysylltiedig.
Dyma lun lefel uchel rhestr cysylltiedig.
Rydym yn dangos hyn yn y dosbarth.
Fel arfer mae gennym 10 o bobl yn sefyll ar y llwyfan.
Ond mae gennym gyfres o nodau lle mae pob nod Mae rhywfaint o werth a pwyntydd
i'w werth nesaf.
Felly, i fynd o un nod i'r llall, byddwch yn dim ond dweud, rhowch y nod nesaf i mi.
Rydych yn cael y nod.
Rhowch y nod nesaf i mi.
Byddwch yn cael y nod.
Rhowch y nod nesaf i mi ac yn y blaen hyd nes nad oes chwith nod.
>> Felly, yn parhau i siarad am mae'n ar lefel uchel.
Mae'n hawdd iawn i fewnosod pethau i mewn i restr cysylltiedig.
Os nad ydych yn poeni am y gorchymyn, gallwch ei ollwng
i'r dde ar y dechrau.
Dyna amser yn gyson.
Ond mae'n anodd dod o hyd i werth.
Os ydych yn ceisio i ofyn, yn saith yn fy rhestr?
Rhaid i chi fynd drwy pob un gwerth.
A yw hyn yn saith?
Drosodd a throsodd.
A dyna O (n).
Felly, wrth astudio ar gyfer y cwis, cymharu hyn â arrays.
>> A yw hynny'n iawn?
Aeth y goleuadau dim.
OK.
Pryd mae rhestr gysylltiedig yn well?
Pan llu yn well?
Felly, gadewch i ni edrych ar rai cod.
Dyma nod posibl.
Mae'n strwythur.
Mae ganddo int n, a oedd yn fydd ein gwerth.
Ac mae ganddo nod strwythur * nesaf, a oedd yn yw ein pwyntydd i'r nod nesaf.
Felly dyma, gallwn weld ein bod yn digwydd i wedi rhoi int yn ein nod.
Ond pe bai hwn yn rhestr gysylltiedig o torgoch sêr neu restr cysylltiedig o fflotiau, rydym yn
gwbl allai wneud hynny hefyd.
>> Cofiwch yn pset6, mae'n debyg y byddwch wedi cael rhestr gysylltiedig o sêr char neu dim ond
araeau torgoch statig.
Gadewch i ni edrych yma yn llawdriniaeth.
Felly, rydym am i fewnosod newydd n yn ein rhestr gysylltiedig.
Rydym yn dechrau allan gyda pwyntydd pen sy'n pwyntydd i'r nod hwn sydd â'r
werth n ac nesaf pwyntydd y pwyntiau i'r nod hwn yn werth
n ac nesaf o null, oherwydd 'i' y nod diwethaf.
Felly, yn y budd o amser, byddaf yn rhoi'r holl y cod ar y sgrin.
A byddwn yn cerdded trwyddo ychydig o linellau ar y tro.
>> Felly dyma y cod.
Yr wyf yn gobeithio ei fod yn ddarllenadwy.
Y peth cyntaf yr ydym yn ei wneud yw rydym yn malloc yn nod newydd.
Felly mae'n gwneud pwyntydd i nod newydd sy'n Nid oes unrhyw beth yn hollol a osodwyd
i fyny ynddo eto.
Rydym yn gwirio i wneud yn siŵr bod nid yw'r nod newydd yn null.
Fel arall, mae'n rhaid i ni roi'r gorau iddi.
Felly, ar ôl gwirio hynny, rydym yn awr yn gosod y gwerthoedd yn y nod.
Felly, rydym yn rhoi'r n newydd yn ein maes n.
Ac rydym yn gosod y pwyntydd nesaf i dynnu sylw at y pen gwreiddiol, fel y gallwn
bellach wedi mewnosod hwn nod yn ein rhestr.
>> Yn olaf, mae gennym y pwynt pen byd-eang at ein nod newydd, felly os ydym yn cael
yn dechrau am ben, byddem yn ar hyn o nod cyntaf newydd yn hytrach na
yr hen nod cyntaf.
A phan y swyddogaeth hon yn mynd allan, mae'r nod newydd amrywiol yn bodoli mwyach,
oherwydd ei fod yn lleol i'r swyddogaeth.
Felly, mae hyn yw cyflwr y byd.
Pwyntiau ein pen byd-eang i'n newydd nod cyntaf, sy'n cyfeirio at ein
nod cyntaf gwreiddiol, pa bwyntiau i'r nod ar ôl hynny.
>> Dyna oedd gosod.
Rwy'n gobeithio y yn gymharol yn syml i'w ddilyn.
Pan fyddwch mewn amheuaeth, tynnu llun.
Felly, yr wyf yn gweld bod siarad am rhestrau cysylltiedig ac yn edrych ar
cod yn Nid yw yn ddefnyddiol iawn.
Er bod edrych ar lun o cysylltiedig rhestr yn caniatáu i mi i feddwl, oh, felly
Mae gen i nod hwn yma.
Ond os byddaf yn diweddaru'r pwyntydd, mae'n dod i ben i fyny datgysylltu.
Ac yr wyf wedi anghofio lle y nod yn mynd.
A'r cod allanfeydd.
Ac mae gennych nodau lluosog sy'n cael eu datgysylltu.
Ac nad ydych yn darfod i fyny ag y rhestr rydych ei eisiau.
>> Felly, os ydych yn tynnu y llun a gwneud hynny gam wrth gam, gobeithio, byddwch yn gweld
y drefn gywir o bethau o ran diweddaru'r awgrymiadau i wneud yn siŵr
bod y rhestr dod at ei gilydd.
Mewnosod yn gymharol syml.
Byddai un yn fwy cymhleth yn gosod i mewn i restr datrys.
Mae swyddogaeth yn fwy cymhleth yn dileu a dod o hyd, felly yn edrych trwy restr i
weld os oes rhywbeth yno.
Efallai eich bod hwn yn pset6 pan fyddwch yn mynd i mewn eich bwrdd hash a dywedasoch,
yn dda, yw'r gair afal yn fy rhestr gysylltiedig?
>> Felly, efallai y byddwch wedi gwneud hyn eisoes.
Ond yn bendant, adnewyddu eich cof ac yn ceisio dod o hyd a reimplement
reimplement dileu am restr cysylltiedig.
Nodyn ochr hwyl, mae hefyd yn ddwbl-gysylltiedig rhestrau, lle mae gennych
awgrymiadau y pwynt hwnnw yn ei flaen a yn ôl, er mwyn i chi fynd at y
nod nesaf ac i'r nod blaenorol.
Ac yr oedd cwestiwn ar y llynedd cwis o'r math hwnnw, siarad
am restrau ddwbl-gysylltiedig.
>> Nawr, dyna strwythur eich bod yn gymharol gyfarwydd â nhw, gan fod y rhan fwyaf o
ohonoch yn ôl pob tebyg yn eu defnyddio ar pset6.
Dyma un sydd ychydig yn llai cyfarwydd.
Fel nodyn ochr, credaf fod Cwis 1 yn yn bennaf anoddach nag Cwis 0, oherwydd
y pethau rydych yn ei wneud, rydych yn nid ydynt wedi gwneud cymaint.
I roi y ffordd arall, er Cwis 0, chi wedi ysgrifennu llawer o C. Ac rydym
gofyn i chi am C.
>> Ar gyfer Cwis 1, rydym yn mynd i ofyn i chi am PHP a JavaScript, yr ydych yn
Nid yw wedi ysgrifennu cymaint.
Rydym yn mynd i ofyn i chi am C-cod sy'n nad ydych wedi ysgrifennu cymaint,
y pethau C uwch.
Felly bendant, ymarfer y pethau yr ydym yn siarad am mewn darlith eich bod
Nid oedd o reidrwydd yn gwneud ar y broblem a osodwyd.
>> Wrth siarad o'r rhain, nid ydych wedi ysgrifennu stac ar broblem a osodwyd.
Ond yr oedd yn ddarlith.
Dyma darlun lefel uchel o staciau ein bod yn dangos bob blwyddyn.
Mae'n y pentwr o hambyrddau mewn y neuadd fwyta Mather.
Ar lefel uchel, pentyrrau yn olaf i mewn, strwythur data cyntaf allan.
Mae hynny'n golygu eich bod yn mynd i roi pethau i mewn -
1, 3, 7, 12, 14, negyddol 0.
Yr un peth na allwn i gael Dywedodd - negyddol 3, 0.
Chi roi'r holl bethau hyn mewn
A'r un diwethaf i chi ei roi i mewn yn y cyntaf un sy'n mynd i ddod allan.
>> Felly, mae gennych ddau weithrediad -
gwthio a pop.
Mae pob un o'r roi fy mod yn ystumio fel hyn yn gwthio.
Ac yna pan fyddaf yn cyrraedd i mewn i chrafangia rhywbeth neu gyrraedd ar ei ben i fachu
rhywbeth, mae hynny'n pop.
Felly, rydym yn mynd i roi pentyrrau.
Ac rydym yn dangos iddynt mewn darlith defnyddio araeau.
Ond gallech eu gwneud ddefnyddio rhestrau cysylltiedig.
Mae pentwr yw data cysyniadol strwythur, nid fel
un ar waith-benodol.
>> Felly, beth fyddai hynny yn edrych?
Byddai'n edrych yn fath o fel hyn.
Byddech yn cael maint cyfanrif.
A byddech yn cael amrywiaeth o werthoedd sy'n rydym yn galw hambyrddau, oherwydd dyna
beth oedd y darlun oedd ni - int hambyrddau -
ac yna rhywfaint o gapasiti mwyaf.
Felly, beth fyddai'n gwthio edrych?
Wel, os oes gennym pentwr s, ac yna i wthio rhywbeth ar s, byddem yn cael
maint y s.
A byddai hynny'n nesaf fan a'r lle agored ein amrywiaeth.
Felly, os ydym wedi tri pheth yn ein stac, yna byddai hambyrddau 3 fydd y nesaf
fan a'r lle agored, gan fod 0, 1, a 2 eisoes yn cael eu llenwi i fyny.
>> Felly, rydym yn rhoi gwerth i s.trays [s.size], y trydydd fan a'r lle.
Ac yna rydym yn cynyddiad s.size i ddweud, hey, roedd gennym tri pheth o'r blaen.
Yn awr, mae gennym bedwar.
Felly, y tro nesaf y byddwch yn gwthio, rydych yn mynd i roi rhywbeth yn 4.
Neu y tro nesaf i chi pop, rydych yn mynd i edrych ar 3 yn hytrach na 4 neu beth bynnag.
Ac yna byddwn yn dychwelyd yn wir i dyweder, hey, rydym yn llwyddo.
Mae hyn yn gweithio.
Fel rheol y fawd, os yw swyddogaeth sy'n i fod i ddychwelyd yn wir neu
ffug bob amser yn dychwelyd yn wir, efallai y byddwch wedi gwneud rhywbeth o'i le.
Felly, mae hyn yn gweithio?
>> Wel, mae'n gweithio iawn ar gyfer 1, a 2, a 3, a 4, a phump.
Ond gadewch i ni ddweud i mi gyrraedd fy ngallu.
Yna wedi rhedeg i mewn i broblem, oherwydd os faint yw yr un fath â gallu, rwy'n
bellach yn ceisio rhoi rhywbeth i mewn i amrywiaeth lle nad oes gennyf le.
Felly gwiriad byr i atgyweiria hon.
Os s.size GALLU ==, yn dychwelyd ffug.
Fel arall, ewch a gwneud yr hyn a wnaethom.
Felly beth arall y gallem ofyn am i bentyrrau?
Beth arall ddylech chi astudio?
Beth arall ddylech chi ymarfer?
>> Wel, gweithredu pop.
Rydym eisoes yn gwneud gwthio.
'N annhymerus' atgyweiria hynny.
Mae gweithredu nad ydynt yn array, lle ydych yn defnyddio rhestr gysylltiedig, efallai.
Mae gweithredu nad ydynt yn int.
Fe wnaethom ints yma.
Ond gallai fod wedi bod yn fflotiau.
Gallwn i fod wedi bod yn llinynnau.
Gallai fod wedi bod yn sêr torgoch.
Edrychwch ar cwisiau yn y gorffennol ar gyfer y mathau o cwestiynau rydym wedi gofyn am staciau.
>> Byddaf yn dweud ein bod yn cynnwys pentyrrau o gwmpas yr un fath ag yr ydym wedi eu trafod yn
mlynedd diwethaf.
Felly, dylai'r cwestiynau cwis fod yn arwydd da.
Symud ymlaen hyd yn oed yn gyflymach, ciwiau.
Maen nhw fel staciau.
Ond maen nhw'n cyntaf i mewn, cyntaf allan.
Os ydych yn Brydeinig, ciw y gair yn ôl pob tebyg yn gwneud llawer o synnwyr i chi.
Fel arall, efallai y bydd gennych clywed amdano fel llinell.
Maent yn gweithio fel y llinell yn y siop Apple.
Y person cyntaf i arddangos i fyny am 3:00 yn y bore yw'r cyntaf
person i brynu ei iPad.
>> Felly, rydym wedi ddwy weithrediadau -
enqueue a dequeue.
Enqueue rhoi rhywun yn y llinell.
Dequeue tynnu'r cyntaf person oddi ar y llinell.
Unwaith eto, gallwn weithredu hyn gydag amrywiaeth.
Felly, beth yw'r strwythur yr ydym yn dangos mewn darlith?
Yr oedd yr un yma.
Unwaith eto, rhifau.
Unwaith eto, maint ac mae hyn yn blaen beth newydd.
Pam fod yna rywbeth o'r enw blaen?
Mae'n y mynegai nesaf elfen i dequeue.
'I' jyst yn fewnol cadw golwg ar y dyn cyntaf i arddangos i fyny, er mwyn i ni
gall dynnu allan pan mae angen i ni.
>> Yn bendant yn edrych ar nodiadau darlith a cheisio i weithredu enqueue a dequeue
wrth astudio ar gyfer y cwis.
Pethau pwysig i feddwl amdano.
Lapio o gwmpas os bydd y tu blaen yn ogystal â'r maint yn dod i ben i fyny yn fwy na gallu.
Unwaith eto, os yw eich strwythur yn llawn, eich bod yn mynd i gael problem.
Hash tablau ydych chi wedi ei weld o'r blaen.
Mae'r rhan fwyaf ohonoch yn ôl pob tebyg ar waith rhain ar pset6.
Mae'n strwythur sy'n anelu i O (1) gosod amser cyson ac O (1)
Gwrthdro-edrych gysonyn amser.
>> Yn CS50, yr ydym yn gweithredu hyn fel amrywiaeth o restrau cysylltiedig.
Yr elfen allweddol tabl hash yw swyddogaeth hash.
Felly, mae'n troi eich mewnbwn, gadewch i ni ddweud, gair geiriadur, i nifer,
sydd yn mynd i fod yn ein mynegai.
A byddwn yn defnyddio'r mynegai yn ein amrywiaeth.
Felly dyma lun bach cute o study.50.net.
Rydym yn ei daflu holl eiriau i mewn i ein swyddogaeth hash.
A'r swyddogaeth hash yn dweud wrthym ble i roi geiriau hyn.
>> Mae hyn i gyd mawr yn y tir lle dim ond un gair ar gyfer pob slot.
Ond wrth i chi gofio o pset6, mae yn fwy o eiriau nag slotiau.
Felly beth sy'n digwydd pan fyddwch yn cael damwain?
Yn hytrach na storio un gwerth, gadewch i ni ddweud, bwrdd hash 3, byddwch yn
storio rhestr gysylltiedig.
Ac felly yn hytrach na gorfod cantaloupe yma, byddai gennych restr cysylltiedig,
lle y nod cyntaf yw cantaloupe.
A'r nod nesaf yw gath.
A'r trydydd nod yw gwrthdrawiad, gadewch i ni dweud, gan fod yr holl eiriau hyn yn dechrau
â C.
>> Felly mae'r rhan fwyaf ohonoch yn gwneud hyn ar gyfer pset6.
Os na wnaethoch chi tabl hash ar pset6 a ydych wedi ceisio rhywbeth fel
yn trie, yn bendant yn adolygu tablau hash.
Os ydych yn gwneud hynny ar pset6, yn bendant adolygu tablau hash.
Ac os ydych yn gwneud hynny ar pset6 ac nid oedd gweithio allan hollol iawn ac rydych
wedi cael llawer o drafferth ag ef, yn bendant adolygu tablau hash.
Felly y wers mewn gwirionedd yn bendant adolygu tablau hash.
>> Mae'r lleiafrif helaeth o chi wedi ceisio allan ceisio ar pset6.
Darlun lefel uchel.
Mae'n rhywbeth fel hyn, lle mae pob nod set o blant, lle mae pob
plentyn yn cyfateb i lythyr.
A phob nod hefyd yn dweud, hey, yr wyf gair.
Felly, yn yr achos hwn, y gair Maxwell, os byddwch yn dilyn y M i'r A i'r
X-W-E-L-L ac yna dilyn yn un mwy.
A byddwch yn cael y symbol hwn, delta, a oedd yn rydym yn arwydd i olygu hyn yn air.
Felly Maxwell yn air.
Mae'r deltâu yn drwy gydol arwyddo pa bethau yw geiriau ac sy'n
nid yw pethau.
>> Felly, yn pset6, y data a storio ochr yn ochr ag unrhyw un o'n nodau oedd "Rwy'n
gair. "A'r peth cŵl am geisiau yn maent yn dangos mewnosod a
-edrych yn O (hyd y gair).
Felly, dim ond i gael drwy Maxwell, mae'n M-A-X-W-E-L-L. Felly, saith neu wyth -
Nid wyf yn gallu cyfrif -
camau i fynd i'r diwedd a gwirio pethau allan.
Gweithredu mor hwylus yma.
Aeth Rob drwy gysylltu rhestru yn ei post-mortem.
Felly, edrych ar hynny.
Mae'n ddrwg gennym.
Mynd trwy trie yn ei post-mortem.
Felly, edrych ar hynny.
>> Ond yn y bôn mae'n rhaid i chi gan bob nod 27 awgrymiadau i'r nodau nesaf ac un
Boole ar gyfer ydw i'n gair.
Edrychwch ar post-mortem Rob ar gyfer sut y hyn mewn gwirionedd yn cael ei weithredu.
Mae ein strwythur terfynol, mae ein coed a choed chwiliad deuaidd.
Felly, yn edrych ar y rhain, roedd y rhain yn cael eu cynnwys yn fwyaf diweddar Wythnos 8, ddydd Llun.
Mae coeden yn debyg i trie, ac eithrio chi nid ydynt o reidrwydd yn cael 27 o nodau ar
bob pwynt.
Ac nid oes gennych y data hwn ym mhob cam sy'n arwydd a yw'r -
nid yw'r llwybr ots.
Tra bod trie, mae'r llwybr o'r top i'r gwaelod, Maxwell, yn bwysig i ni.
>> Ond mae gan bob nod wedi lluosog plant, efallai.
Mae gennym rai fwy o eirfa.
Wraidd y goeden ar y brig.
Ac rydym yn dweud bod y bottommost iawn nodau sydd heb unrhyw
plant yn cael eu dail.
Felly, fel trie, coeden yn strwythur o nodau.
Math cyffredin o goeden yr ydym yn mynd i siarad am yn goeden ddeuol, lle
mae gan bob nod unrhyw blant neu un plentyn neu ddau o blant.
Felly, nid yw hyn llun yma yw coeden ddeuaidd, oherwydd
Mae gan nod 3 dri o blant.
>> Ond pe baem yn anwybyddu'r rhai, mae'r gweddill yn o ei fod yn goeden ddeuol oherwydd ei fod yn
yn dangos yr eiddo y mae pob nod Mae gan sero, un, neu ddau o blant.
Felly, sut y gallem mynegi hyn yn y cod?
Gallem gael nod lle mae gan bob nod wedi cyfanrif tu mewn iddo, yn ogystal
fel pwyntydd i'r goeden ar y chwith ac arwydd o'r goeden ar y
iawn, felly mae'r ddau o blant.
Sut mae hyn yn ddefnyddiol?
Wel, os ydym yn gwneud rheolau ynghylch lle'r ydym rhoi nodau, gallwn wneud chwiliad yn gyflymach.
>> Felly mae yna gysyniad o chwiliad deuaidd coed, lle mae'r holl nodau ar y
wedi gadael Terfynau werth llai na'r nod rydym yn edrych ar.
A'r holl nodau ar y Terfynau cywir cael mwy o werth
na'r nod gwraidd.
Yn awr, sy'n edrych fel llawer o eiriau.
Rydw i'n mynd i roi y tu mewn o dwbl dyfyniadau ac yn dangos i chi llun.
Felly dyma yn enghraifft o coeden chwiliad deuaidd.
Gweler ein bod yn dechrau gyda 10.
Mae popeth ar y chwith 10 yn llai nag ef.
Ac mae popeth i'r dde yn fwy nag ef.
>> Ond yn fwy felly na hynny, mae pob nod yn y goeden yn mynegi yr eiddo hwn.
Felly, y nod 7 Mae gan 3 i'r chwith a 9 ar y dde.
Felly, pawb yn llai na 10.
Ond o edrych ar dim ond y rhai y 7 wedi 3 ar yr ochr chwith a 9 i'r dde.
Ac yn yr un modd ar y dde, 15 wedi 14 ar yr ochr chwith a 50 i'r dde.
Felly y tri nodau dros yno, 15, 14, a 50, hefyd yn goeden ddeuol dilys
neu goeden chwiliad deuaidd dilys.
Ac maen nhw i gyd yn fwy na 10.
Felly, maent yn cael eu hawl i fod ar y dde yno.
A oes cwestiwn?
>> GYNULLEIDFA: Sut ydych chi'n delio pan gennych ddau saith bob ochr?
>> R.J. Aquino: Yeah.
Sut ydych chi'n delio gyda dau werth sydd yr un fath?
Mae rhai coed chwiliad deuaidd yn dweud eich bod yn anwybyddu dyblygu, gan fod y nod yw
dim ond i ddweud, yr wyf wedi gweld pethau hyn hyd yn hyn.
Mae rhai coed chwiliad deuaidd gallech ddweud y ffigurau'n tu mewn i'r nod.
Gallai eraill yn dweud bod popeth i y chwith yn llai na neu'n hafal i.
Ac mae popeth i'r dde yn fwy na.
>> 'I jyst yn dibynnu ar yr hyn y mae'r broblem yw eich bod yn datrys.
Felly, mewn geiriadur, er enghraifft, eich bod Ni fyddai'n gofalu am dyblygu.
Byddech yn taflu nhw allan.
Ond mae rhai broblem arall efallai y byddwch yn gofalu.
>> GYNULLEIDFA: A yw'n bosibl cael 1 ar y chwith 15, sy'n
yn llai na 10?
>> R.J. Aquino: Na
Os yw'r 14 yma oedd 1, byddai hyn Nid yw fod yn goeden chwiliad deuaidd ddilys,
gan fod popeth i'r dde o 10 wedi i fod yn fwy nag ef.
A byddwn yn gweld pam.
Os bydd fy nod yn y tir o chwilio i ddod o hyd i 14, yr wyf yn dechrau yn y gwraidd.
Felly, yr wyf yn edrych.
OK.
Rydym yn mynd i ddechrau yn y gwraidd.
Edrychwch ar 10.
>> Wel, 14, ein targed, yn fwy na 10.
Felly, rhaid iddo fod ar y dde.
Mae hyn yn debyg iawn i'r ffôn cyfan beth lyfr a wnaethom, y deuaidd
chwilio yno.
Ond yn hytrach na chwilio deuaidd mewn amrywiaeth, rydym yn deuaidd
chwilio mewn goeden hon.
Felly, rydym yn dal i chwilio am 14.
Wel, 14 yn llai na 15.
Felly, os yw yn ein coeden, rhaid iddo yn y maes hwn yma.
Rhaid iddo fod i'r dde o'r 10 ac i'r chwith o 15.
>> Ac felly rydym yn gwirio nod hwn.
Ac yay, rydym wedi dod o hyd 14.
Dydw i ddim yn mynd i gerdded trwyddo.
Ond dyma y cod.
Mae'n mewn gwirionedd yn gymharol syml,
oherwydd mae hyn yn ailadroddus.
Beth allech rydym yn gofyn i chi ei wneud ar y cwis?
Gallem ofyn i chi i ysgrifennu cod hwn.
Gallem ofyn i chi edrych ar y cod hwn ac addasu y cod hwn ac yn esbonio'r hyn
mae'n ei wneud.
Yeah.
Cwestiwn?
>> GYNULLEIDFA: A sleidiau hyn yn mynd i fod ar gael gan eu bod y tro diwethaf?
>> R.J. Aquino: Ydw.
Felly, bydd y sleidiau hyn yn bendant yn cael eu postio.
>> GYNULLEIDFA: Maent yn postio mewn gwirionedd ar hyn o bryd ar y wefan.
David yn unig yn gwneud hynny.
>> R.J. Aquino: Mae'r sleidiau yn ar hyn o bryd ar y wefan.
'N annhymerus' yn ôl pob tebyg chlytia i fyny ychydig o y typos Sylwais ac yn eu datrys.
Ond mae ar hyn o bryd fersiwn ar y safle.
Eraill pethau y byddwn yn gofyn i chi ei wneud -
ysgrifennu mewnosoder.
Ysgrifennwch fersiwn ailadroddol y swyddogaeth ailadroddus rydym yn unig yn dangos i chi
neu siarad am y pethau hyn, fel yn paragraffau, mewn geiriau, mewn brawddegau.
Cymharu amseroedd rhedeg ac esbonio beth fyddech chi am ddefnyddio deuaidd
coeden chwilio am yn hytrach na hash tabl, er enghraifft.
>> Felly deall strwythurau hyn ar lefel eithaf dwfn.
Deall sut i ysgrifennu iddynt, sut i eu defnyddio, sut i siarad amdanynt.
A byddwch yn cael eu gosod i gyd.
Cwestiwn?
>> GYNULLEIDFA: Pan fyddwch yn ysgrifennu'r coeden chwiliad deuaidd, sut ydych chi'n
penderfynu pa werth i gwneud mor y gwreiddyn?
>> R.J. Aquino: Felly, y cwestiwn oedd, beth gwerth yr ydych yn ei wneud fel y gwreiddyn?
Yn dibynnu ar eich cod, rydych yn Efallai y bydd rhaid gwraidd byd-eang.
Felly efallai y byddwch wedi debygol o gael yn pset6 tabl hash byd-eang.
Neu efallai y byddwch yn pasio y gwraidd mewn fel dadl.
Felly, mae hyn swyddogaeth chwiliad yma yn cymryd ddadl nod *.
Ac felly beth bynnag nod ydych yn digwydd bod edrych arno yw yr un yr ydych yn trin
fel eich gwraidd pan fyddwch yn trosglwyddo ei i mewn
A dwi'n barod.
Dyna fy sleidiau.
Gall y person nesaf yn dod cyfnewid mewn gliniadur a meic.
>> ROB BOWDEN: Rwy'n credu fy mod wedi dehongli y cwestiwn hwnnw yn wahanol.
Ond yr wyf yn dehongli fel, os oes gennych y rhifau 1, 2, a 3, sut yr ydym yn
wybod i wneud 2 wraidd yn hytrach na 1 neu 3?
Os ydym yn gwneud 2 y gwraidd, yna mae'n 'n glws 1 a 3 i'r chwith ac i'r dde.
Ond os 1 yw'r gwraidd, yna mae'n 1 i'r top, 2 y dde, 3 ar y dde.
Felly at ball, nad ydych yn gwybod beth i'w wneud y gwraidd.
Ac ar gyfer unrhyw algorithm rydym yn disgwyl i rhoi i chi, dim ond y peth cyntaf y byddwch
Byddai mewnosoder yn y gwraidd.
Neu byddem yn rhoi goeden ddeuol eich bod yn eisoes yn bodoli sydd â gwreiddiau.
Ond algorithmau arall yn bodoli fel bod Bydd y gwraidd yn diweddaru, felly os ydych yn
yn y pen draw yn y sefyllfa lle mae'n 1, 2, 3, byddai'n diweddaru yn awtomatig i
gwneud 2 y gwraidd newydd, fel bod mae'n dal i fod yn cydbwyso 'n glws.
>> ANGELA LI: Cool.
Hey, guys.
Rwy'n Angela.
Ac yr wyf i'n mynd i orffen oddi ar ein C ac yna mynd i mewn i rai o'n gwefan
technolegau -
HTTP, HTML, a CSS.
Felly, y peth cyntaf yw byffer ymosodiadau gorlifo.
Felly, gadewch i ni edrych ar y cod hwn.
Mae'n eithaf syml.
Mae 'na foo swyddogaeth.
Ac nid yw'n dychwelyd unrhyw beth.
Ond mae'n cymryd mewn pwyntydd i linyn o'r enw bar.
>> Ac mae'n mynd i ddatgan hynny byffer, sydd yn gymeriad
amrywiaeth sydd wedi 12 o slotiau.
Ac mae'n defnyddio memcpy, sydd ychydig yn swyddogaeth fod copïau o un cyfeiriad
mewn i un arall.
Felly, mae hyn yn ceisio copïo i mewn i ein byffer o ba bynnag
bar yn pwyntio i.
Felly mae unrhyw syniad beth sydd o'i le â'r cod hwn?
>> GYNULLEIDFA: Os bar yn hirach na C, byddant yn trosysgrifo.
>> ANGELA LI: Yeah, yn union.
Nid oes gennym unrhyw sicrwydd y bar yn mynd i fod yn llai na 12.
Rydym yn unig yn gwneud rhywfaint o nifer mympwyol 12.
Ac rydym yn hoffi, gadewch i ni yn gobeithio y ein mewnbwn defnyddwyr yn llai na
12 nod o hyd.
Felly, mewn byd delfrydol, os bydd ein mewnbwn yn bob amser yn ôl y disgwyl, yna byddwn yn cael
rhywbeth fel, helo.
Mae hynny'n llai na 12 nod.
Mae'n cael ei ddarllen i mewn torgoch c.
Ac yna rydym yn ei wneud rhywbeth yn ei gylch.
Nid oes llawer o bwys.
>> Ond gallai unigolyn maleisus yn ei wneud rhywbeth mwy fel hyn, lle maent yn
rhoi i ni beth bynnag bar yn pwyntio i, mae'n mynd i dynnu sylw at y casgliad enfawr
o ychydig A.
Ac mae hyn yn ffordd fwy na 12.
Felly, mae'n mynd i fynd yr holl ffordd i lawr yma i lle mae'r enillion
cyfeiriad a ddefnyddir i fod.
Felly, gadewch i ni ddweud swyddogaeth hon cael ei alw'n foo.
Efallai foo ei alw gan rai eraill swyddogaeth, a gafodd ei alw gan brif.
Felly, pan fydd foo yn rhedeg, mae angen gwybod ble i ddychwelyd i.
>> Os foo ei alw gan rai swyddogaeth a enwir Baz, mae'n rhaid iddo wybod ei fod yn
rhaid i mi fynd yn ôl i Baz.
A dyna beth mae hyn yn gyfeiriad dychwelyd lawr fan hyn yn ei ddweud wrthym.
Ond os ydym yn ysgrifennu drosto gyda rhai eraill gyfeiriad, yn yr achos hwn, mae hyn yn
cynrychiolaeth y cyfeiriad yn y cychwyn cyntaf o byffer hwn, yna
beth sy'n wir yn mynd i ddigwydd yw bod yn hytrach na dychwelyd yn ôl i Baz,
a oedd yn galw ein swyddogaeth, dim ond mynd i fynd i flaen y cod hwn.
>> Ac os oedd hyn yn yno oherwydd bod Daeth dude haciwr maleisus a
chwistrellu hyn, yna efallai y swm hwn o beidio A mewn gwirionedd A.
Ac mae'n mewn gwirionedd dim ond Cod sy'n egwyliau eich cyfrifiadur neu rywbeth.
Felly, i fod yn amddiffynnol am y math hwn o beth, rhaid i chi gymryd yn ganiataol y
mewnbwn defnyddwyr yn benodol faint o gymeriadau.
Er enghraifft, pan fyddwch yn ei wneud sillafu, yr oeddech yn gwybod fod gan eiriau yn
ond yn mynd i fod yn 40 nod uchafswm hir.
A dyna yn dda.
>> Ond os nad yw, yna byddai'n rhaid i chi gwneud yn siwr i darllen yn unig mewn 45
cymeriadau ar y tro.
Fel arall, efallai y byddwch yn trosysgrifo eich byffer.
Unrhyw gwestiynau ar hynny.
Yeah.
>> GYNULLEIDFA: A allech chi jyst siarad ychydig mwy am y rhain?
>> ANGELA LI: Mae'n ddrwg gennyf.
Ie.
>> GYNULLEIDFA: Y meic yn unig ar gyfer fideo.
Byddaf yn ceisio a phrosiect.
Hi, guys.
Chefnogaeth?
Felly, gadewch i ni fynd dros ychydig o bethau yn y Llyfrgell CS50, yr ydych wedi bod yn defnyddio
pob semester, yn bennaf i gael mewnbwn defnyddwyr.
Fel y gwyddoch, i chi gynnwys y CS50 llyfrgell trwy dim ond gwneud CS50.h, a oedd yn
yn cynnwys yr holl prototeipiau y swyddogaethau y gallwch eu defnyddio, fel
GetString a GetInt, a GetFloat, et cetera.
Ac mae hyn yn un llinell yn y CS50 llyfrgell sy'n diffinio llinyn, a oedd yn
chi guys yn gwybod y cyfan erbyn hyn yn unig yw torgoch *.
>> Ond gadewch i ni gymryd cipolwg ar sut GetString gweithio.
Mae hwn yn fersiwn talfyredig iawn.
Gallwch dynnu i fyny y ffeiliau llyfrgell CS50 o, yr wyf yn meddwl, manuals.CS50.net.
A gallwch ddarllen drwy y swyddogaeth ei hun.
Ond mae hyn yn cwmpasu rhai o rhannau pwysig.
Felly, rydym wedi creu rhywfaint o byffer gyda rhywfaint o gapasiti.
A'r hyn yr ydym yn ei wneud yw ein cael un cymeriad ar y tro o n safonol.
Dyna lle mae'r mewnbynnau defnyddiwr destun yn y consol.
>> Ac felly rydym yn mynd i ddarllen mewn cymeriad cyn belled nad yw'n newydd
lein ac nid yw'n dod i ben o ffeil, a oedd yn yw diwedd mewnbwn safonol.
Ac ar gyfer pob cymeriad sy'n ydym yn darllen yn, os yw'r cymeriad yn dod i ben i fyny gan ychwanegu
i nifer o gymeriadau rydym wedi darllen i mewn ac sy'n fwy na ein gallu,
Yna, yr hyn yr ydym yn ei wneud yw ein unig newid maint ein byffer fel ei fod yn ddwywaith mor hir.
Felly eto, mae hyn yn amddiffyn yn erbyn byffer ymosodiadau gorlif, oherwydd eich bod yn darllen yn
cymeriad ar y tro.
Ac os ar unrhyw adeg i chi ddarllen yn rhy lawer, 'ch jyst ehangu eich byffer.
Rydych yn ei luosi gan ddau.
Ac yna mae gennych fwy o le.
>> Fel arall, 'ch jyst ychwanegu cymeriad i byffer.
Ac ar ôl i chi wedi darllen yn yr holl cymeriadau, bydd yn crebachu y byffer
yn ôl i lawr i faint arferol, ychwanegu terminator null, ac yna'n dychwelyd.
Yn awr, gadewch i ni edrych ar GetInt.
Allwch chi guys ddarllen hwn?
Gallaf chwyddo i mewn ychydig.
Nid wyf yn gwybod sut mae cyfrifiaduron yn gweithio.
Peidiwch byth â meddwl.
Ni allaf chwyddo i mewn yn iawn.
>> Mae hyn yn anodd iawn.
Mae'n ddrwg gen i.
Gadewch i ni dim ond yn edrych ar hyn.
Felly beth GetInt yn ei wneud yw ei darllen gyntaf mewn llinyn o GetString, a oedd yn
rydym wedi rhoi ar waith o'r blaen.
A'r rhan bwysig nodi yma yw os rhannu hwn y mae'n dod i ben i fyny
darllen yn debyg nad yw mewn gwirionedd yn llinyn, Yna, rydym yn unig yn dychwelyd INT_MAX i
cynrychioli methiant.
Pam yr ydym yn dychwelyd INT_MAX yn lle hynny o negyddol 1 neu 1?
Unrhyw syniadau?
>> GYNULLEIDFA: [Anghlywadwy] negyddol 1 ar un.
>> ANGELA LI: Yeah, yn union.
Felly, rydych yn ffordd fwy tebygol o jyst eisiau i fewnbynnu 1 neu negyddol 1 pan ofynnir
ar gyfer nfed a beth bynnag maxes nfed.
Mae'n enfawr.
Mae'n debyg nad ydych yn mynd i ddefnyddio.
Felly, mae hyn yn debyg i benderfyniad ddylunio i gwneud yn siŵr nad ydych yn ddamweiniol
dychwelyd gwall neu os nad ydych yn dychwelyd 1, lle gallai fod parsed
fel ateb cywir.
Felly, os nad yw llinell yn bodoli, byddwn yn dychwelyd INT-MAX.
Fel arall, rydym yn defnyddio sscanf, sydd fel scanf.
Ond mae'n darllen o linyn.
>> Ac rydym wedi hyn fformatio llinyn, sef% i% c.
Ac rydym yn ceisio cyd-fynd hynny gyda beth bynnag roddodd y defnyddiwr i ni.
Rydym am nifer o bethau cyfateb i fod yn 1, sy'n golygu ein bod yn unig
wir eisiau i gyd-fynd yn gyfanrif hamgylchynu gan efallai gwyn
gofod, efallai na.
Yn yr achos hwn, os ydych yn rhoi mewn rhywbeth fel bar, nid yw bar yn cyd-fynd o gwbl,
oherwydd bod angen cael cyfanrif ar y dechrau.
Felly, byth yn sscan troi 0.
Felly, nad ydych yn dychwelyd hynny.
>> Fel arall, os byddwch yn rhoi mewn rhywbeth fel 1, 2, 3, A, B, C, hynny gemau
y cyfanrif, ond hefyd cymeriad ar ei ôl.
Felly bydd sscanf yn dychwelyd 2, a oedd yn yw nad yw'n ddelfrydol hefyd.
Nid ydych am 1, 2, 3, A, B, C i fod yn int dilys.
Fel na hefyd yn gweithio.
Ond dweud eich rhoi mewn rhywbeth fel 50.
Bydd hynny'n cyd-fynd â'r% i, sy'n golygu bydd yn cael ei ddarllen yn n.
Ac yn awr, n cynnwys y rhif 50.
Ac yna gallwch ei ddychwelyd.
>> Fel arall, byddwch yn taro Ceisio eto.
Ac yna 'i jyst yn mynd ar ôl tro hyd nes y chi'n cael mewnbwn priodol gan y defnyddiwr.
Unrhyw gwestiynau ar hynny?
>> GYNULLEIDFA: Felly, os ydych yn argraffu gwerth y GetInt ar [Anghlywadwy]
byddai'n dim ond y cyfanrif a max?
>> ANGELA LI: Yeah.
Felly, os ydych yn defnyddio GetInt, dylech gymryd yn ganiataol nad ydych am max nfed i
yn gyfraniad dilys, oherwydd eich bod yn mynd i gymryd yn ganiataol bod hynny yn ddrwg.
>> GYNULLEIDFA: Os nad oedd gennym golosg c a rhywun roi yn 1, 2, 3, Sam, byddai ei
yn dal i weithio ar gyfer 1, 2, 3?
>> ANGELA LI: Yr wyf yn meddwl y byddai'n gweithio.
Ond nad ydych am i 123Sam yn gyfraniad dilys gan ddefnyddiwr.
Nid yw hynny'n wir yn int.
Felly, nid yw'n ymddangos yn deg gramadegu ef fel int.
OK.
Yn yr achos hwnnw, gadewch i ni symud ar y rhyngrwyd.
Felly, nid HTTP yn iaith.
HTTP yn unig yw set o safonau ar gyfer sut yr ydych yn anfon pethau o gleientiaid,
dyna i chi, i gweinyddwyr.
Dyna pobl eraill ar y we.
>> Felly HTTP yn sefyll am Hypertext Trosglwyddo Protocol.
Mae'n y galon ac enaid yr holl we.
Mae'r rhan hyperdestun yn unig yn cyfeirio at HTML.
Mae'r trosglwyddiad yn cleientiaid fel y byddwch yn anfon ceisiadau i
gweinyddwyr, sy'n rhoi ymatebion.
Ac mae'r protocol yn unig, sut mae yr ydych yn disgwyl gweinydd ymddwyn?
A sut ydych chi i fod i ymddwyn fel y gallwch symleiddio'r hyn
broses gyfathrebu?
>> Felly ceisiadau HTTP edrych yn llawer fel hyn.
GET yw'r math o gais.
Rydych guys wedi gweld ceisiadau GET a cheisiadau POST.
Bod ail beth yno, / mi, mae hynny'n dim ond y URI neu URL y lle rydych yn
eisiau mynd o fewn y llu.
Felly, y cais hwn yn gofyn am y dudalen, fel www.facebook.com / fi.
Ac mae'n cais GET.
Ac yna HTTP/1.1 hwn, mai dim ond y fersiwn o HTTP rydych yn ei ddefnyddio.
Mae bron bob amser yn 1.1.
>> Ac yna mae 'na griw o bethau eraill hefyd.
Alli 'n weithredol weld y rhain os ydych yn agor eich consol pan fyddwch yn
pori'r we.
Ymatebion edrych rhywbeth mwy fel hyn.
Mae'r rhan uchaf yw, eto, mae'r math o HTTP ydych yn ei ddefnyddio
ddilyn gan god statws.
Felly 200 OK yw popeth yn gweithio allan.
Dyma eich cynnwys.
Eich cynnwys yn mynd i ddilyn.
Ac yna bydd yn dweud wrthych pa fath cynnwys a phethau eraill hefyd.
>> Mae'r codau statws, mae ychydig rhai pwysig y dylech wybod.
200 OK yn debyg euraidd popeth yn.
Mae popeth yn gweithio.
403 Forbidden.
Mae'n debyg eich bod wedi gweld os ydych wedi anghofio i chmod rhywbeth yn iawn.
Mae'n golygu nad oes gennych y caniatadau cywir i
gael y ar y gweinydd.
Mae'n debyg, na, nad ydych yn gallu ei weld.
404 yn golygu nad yw peth yn bodoli.
Not found.
Mae'n debyg eich bod wedi gweld bod llawer.
>> 500 Gwall Gweinydd Mewnol fel arfer fel rhywbeth yn mynd o'i le ar yr ochr
y gweinydd.
Felly, pan oeddech yn gweithredu pset7, os oedd gennych gwallau PHP, gallech
mewn gwirionedd yn mynd at y dudalen a gweld criw cyfan o PHP stwff gwall.
Ond nid yw hynny'n digwydd fel arfer, oherwydd nad gwefannau ydych wir eisiau i
yn dweud wrthych pam bod eu safle yn cael ei dorri.
Maent byddwch yn ôl pob tebyg dim ond dychwelyd 500 Gwall Gweinydd Mewnol.
>> Ac yna mae 418 Rwy'n tebot.
Mae 'na stori gyfan am pam mae hynny'n beth.
Ond gallwch ddarllen am hynny ar eich amser eich hun.
Mae criw cyfan o Codau statws arall hefyd.
Ond mae'r rhain yw'r rhai y dylech ei wybod.
Felly, gadewch i ni siarad am HTML.
HTML, cofiwch, nid yw'n iaith raglennu.
Mae'n iaith markup.
Mae hynny'n golygu ei fod yn disgrifio cynnwys.
Mae'n dweud wrthych beth dogfen HTML yn edrych fel ai peidio sut mae'n edrych
ond sut mae'n cael ei strwythuro.
>> Felly, mae'n diffinio strwythur a semanteg o dudalennau gwe.
Mae'n debyg, mae hwn yn paragraff hwn.
Mae hon yn rhestr harchebu.
Mae hyn yn debyg i adran o fy dudalen.
Dyma y teitl.
Mae'n gwneud pethau fel 'na.
Nid yw'n arddull hynny o gwbl, oherwydd dyna beth ydych yn ei wneud yn CSS.
Ac mae'n edrych fel cyfres tagiau o nythu.
Felly, er mwyn defnyddio enghraifft o wir yn sylfaenol Dudalen HTML, mae gennych yr DOCTYPE
datganiad i fyny yno.
>> Mae'r datganiad DOCTYPE yn gan ddywedyd, rydym yn defnyddio HTML5.
Yna byddwch yn cael y tag HTML mawr.
Mae'n cynnwys pen a chorff.
Y tu mewn i'r pen, mae gennych y teitl.
Dyna beth sy'n mynd yn y teitl bar ar eich porwr.
Mae gennym tag gyswllt sy'n cysylltu mewn dalen arddull allanol.
Ac yna mae gennym sgript sy'n tynnu o JavaScript allanol yn ogystal.
>> Ac yna y tu mewn i'n corff yn mewn gwirionedd yr hyn sy'n cael ei ddangos ar y dudalen.
Rydym wedi cael paragraff ac yna delwedd tu mewn y paragraff hwnnw.
Mae hyn yn un yn ddarlun o cathod bach.
Sylwch fod y ddelwedd tag cau ei hun.
Felly, yn lle agor gyda delwedd ac yna gwneud / delwedd arall, rydych yn
dim ond yn cael slaes bach yma yma, sy'n dod i ben iddo.
A hefyd mae gan y ddelwedd tag allwedd hon werth priodoledd alt a elwir yn.
Dyna'r testun amgen sy'n digwydd pan fyddwch yn hofran drosto.
>> Cael rhywfaint o werth allweddol y rhan fwyaf o elfennau HTML pethau y gallwch chi ei roi, amrywiol
customization.
Yeah.
>> GYNULLEIDFA: [Anghlywadwy].
>> ANGELA LI: Wel, felly ei fod yn priodoledd y tag.
Felly, os ydych yn defnyddio jQuery, gallech wneud dewis image.getAttribute.
Ac yna gallwch chwilio am cael y priodoledd alt.
A bydd yn rhoi cathod bach i chi.
Os ydych yn cofio ffurflenni HTML, mewnbwn Bydd elfennau briodoleddau enw.
A dyna beth PHP yn eu defnyddio i anfon ceisiadau pan fydd ffurflen yn cael ei chyflwyno.
>> GYNULLEIDFA: Oeddech chi'n sôn am rywbeth am sut os ydych yn defnyddio kittens.jpg neu
rhywbeth y mae gan y goll ffeil ffolderi neu ffeiliau eraill?
>> ANGELA LI: Ydw.
Felly, mae hyn yn hyn a elwir yn berthynas llwybr, oherwydd nid wyf ddim yn rhoi
i chi y llwybr llawn.
Mae hyn yn debyg pan yn C os ydych yn gwneud fopen rhai ffeil, os ydych yn hi.txt fopen, bod
Disgwylir hi.txt i fod yn yr un cyfeiriadur, oni bai eich bod yn rhoi mwyaf y mae'n
llwybr cymhleth.
>> GYNULLEIDFA: Felly gallech nodi pa ffolder [Anghlywadwy]?
>> ANGELA LI: Yeah.
A gallwch edrych i fyny sut i wneud hynny.
Ond os oeddwn i eisiau cael kittens.jpg allan y rhiant cyfeiriadur, byddwn yn gwneud
.. / Kittens.jpg.
Yeah.
Mae'n ddrwg gennym.
Yeah.
O ddyn, yr wyf yn anghofio y cwestiwn.
Beth oedd y cwestiwn?
O, y cwestiwn oedd yw, kittens.jpg disgwylir iddynt fod yn yr un cyfeiriadur?
Ac yn yr achos hwn, y mae.
Ond gallwch hefyd roi cynnig llwybr penodol o'r fath nad oes raid iddo fod.
Da?
>> CSS.
Felly CSS, fel HTML, nid yw iaith raglennu.
CSS yn unig yw cyfres o reolau steilio.
Mae'n sefyll am Cascading Style Sheets '.
A ydych yn defnyddio ar y cyd gyda HTML i dudalennau arddull.
Felly, mae tair ffordd gallwch ei gynnwys.
Un ffordd y gallwch wneud hyn yw yn y pen cyfran o'ch HTML, gallwch dim ond
agor tag arddull ac yna ffon rheolau rhywfaint CSS i mewn 'na.
Mae'n eithaf iawn.
Yeah.
>> GYNULLEIDFA: A allech chi roi rhai tagiau arddull yn y canol, gadewch i ni
dyweder, corff ac / corff.
Ac yna byddech yn steilio yn unig yn y corff.
>> ANGELA LI: Gallech.
Bydd yn gweithio.
Ond nid dylech, oherwydd steilio yw caredig y metadata a ddylai fynd yn
pen eich dogfen.
Dylai corff mewn gwirionedd dim ond yn cynnwys beth yn union sy'n mynd i
arddangos i fyny ar eich tudalen.
>> GYNULLEIDFA: Felly byddech yn eu rhoi arddull yn eich pen i arddull y
dudalen we gyfan, dde?
>> ANGELA LI: Yeah.
Felly, rhoi steil yma, mae rheolau CSS hyn yn gymwys i'r dudalen gyfan yn seiliedig ar
eu detholwyr.
Felly, y ffordd well o wneud hyn yw yn lle hynny o gael tag arddull yn eich pen,
gennych y cyswllt hwn i arddull allanol taflen fel yr wyf yn dangos i chi yn y
enghraifft flaenorol.
Beth mae hyn yn ei wneud yw ei fod yn ceisio ac yn dod o hyd i'r ffeil style.css ac yna tynnu ei
mewn ac yn defnyddio gan fod y arddulliau ar gyfer y dudalen.
Ac yn eich style.css byddai dim ond yn edrych fel hyn.
Byddai'n unig fod yn griw o CSS.
>> Ac yn olaf, mae ffordd arall i chi Gall gynnwys CSS, yr ydych mewn gwirionedd
Ni ddylid byth ei wneud.
Mae'n steilio inline alwad.
Ac felly unrhyw elfen HTML hefyd yn gallu cymryd priodoledd arddull.
Ac yna yn y priodoledd arddull, gallwch ei roi rheolau CSS.
Felly, yn yr achos hwn, beth bynnag div rwy'n diffinio i'r dde yma, mae'n mynd i
gefndir du a lliw testun gwyn.
Ond ni ddylech wneud hyn, oherwydd yr hyn hyn yn cael ei ei fod yn rhoi eich steilio
y tu mewn i'ch HTML.
>> Ac yr wyf yn gwybod ein bod wedi bod yn siarad am HTML yw strwythur a CSS yn arddull.
Os byddwch yn gwneud hyn, mae'n cymysgu nhw at ei gilydd.
Ac nid yw'n lân iawn.
Felly peidiwch â gwneud hynny.
Gan ddefnyddio enghraifft o CSS, i fyny yno, rydym yn dewiswch y corff y HTML
ddogfennol.
Ac rydym yn hoffi, popeth yn mynd i fod yn Comic Sans.
Hefyd, dwi ddim yn argymell hynny.
Ond gallech wneud hynny.
>> Mae'r ail rheol yma, mae'n mynd i ddewis yr elfen ar y
dudalen gyda phrif adnabod.
Felly, beth bynnag HTML elfen, dywedais ID = Cyfan, dw i'n mynd i roi bod
Ymyl 20-picsel ac alinio popeth, holl destun, i'r ganolfan.
Y peth olaf dewis yn ôl dosbarth CSS.
Felly mae unrhyw elfen ar y dudalen a roddais dosbarth adran, yr wyf i'n mynd i wneud yn
lliw cefndir glas golau.
Yep.
Dyna i gyd ges.
Cwestiwn?
>> GYNULLEIDFA: Beth mae'r hashtag cyn brif wneud?
>> ANGELA LI: Y cwestiwn yw, beth sydd hashtag cyn brif do?
Yn yr achos hwn, mae'r hash yn CSS yn golygu dethol gan adnabod.
Felly, os oedd gennyf rhyw elfen HTML, fel divid = prif, yn dewis rheol CSS hon
y peth gyda phrif adnabod.
Ac yn yr un modd, y cyfnod o flaen adran hon yn dethol yn ôl dosbarth CSS neu
dewis yn ôl dosbarth HTML.
>> GYNULLEIDFA: Pam mae wedi cyn 6 mewn lliw cefndir?
>> ANGELA LI: Yeah.
Felly, y cwestiwn yw, pam mae hash cyn 6?
Mae hyn yn wahanol na'r hyn a hash.
Mae hyn yn golygu eich bod yn rhoi lliw hecsadegol.
Lliwiau Felly hecs, mae hyn yn unig yn cynrychioli lliw.
A ydych yn cofio treblu'r RGB pan gwnaethoch y pset fforensig?
Mae hyn yn debyg.
Y ddau ddigid cyntaf yn cynrychioli faint o coch sydd yn y lliw.
Mae'r ail dau yn cynrychioli faint o gwyrdd.
A'r trydydd yn cynrychioli faint o glas.
Ac mae'r hash yw hyn yn mynd i gynrychioli lliw.
>> Felly, unrhyw beth o 0, 0, 0, 0, 0, 0 hyd at F, F, F, F, F, F yn ddilys.
Mae'n rhywfaint o liw dilys y gall yn cael eu harddangos gan eich porwr.
Cwestiwn?
>> GYNULLEIDFA: Beth yw'r gwahaniaeth rhwng defnyddio gan adnabod ac yn ôl dosbarth?
>> ANGELA LI: Y cwestiwn yw beth sy'n y gwahaniaeth rhwng
defnyddio gan adnabod a dosbarth?
Gallwch ond gael un elfen mewn Dogfen HTML sydd yn ID roddir.
Felly, dim ond un peth ar fy dudalen yn cael ei ganiatáu i gael prif adnabod.
Felly rydych yn ei ddefnyddio ar gyfer hyn yw y pennawd.
Mae hyn yn y llyw.
Mae hyn yn y troedyn.
Dosbarthiadau yn wahanol, oherwydd eich bod yn gallu berthnasol dosbarthiadau fel llawer o elfennau HTML
ag y dymunwch.
>> Felly, er enghraifft, yr wyf yn gwneud yr adran dosbarth, oherwydd mae yn ôl pob tebyg yn fwy nag un
adran ar fy nhudalen.
Rydych yn unig hawl i gael cymaint o elfennau ar y dudalen gyda'r un
dosbarth ond dim ond un gyda ID penodol.
>> GYNULLEIDFA: Felly mae'r smotyn yn cynrychioli y dosbarth?
>> ANGELA LI: Yeah.
Mae smotyn yn cynrychioli dosbarth.
Cool.
Dyna i gyd gen i, guys.
Diolch yn fawr.
>> [Cymeradwyaeth]
>> ZAMYLA Chan: Hi, bawb.
Rwy'n Zamyla.
Rydw i'n mynd i gael eu cwmpasu PHP, Heddiw MVC, a SQL.
Mae llawer o'r deunydd y byddaf yn gorchudd yn mynd i fod yn 'n bert lawer
i'r dde allan o'r pset7.
Mae pob hawl.
Felly beth yw PHP?
PHP yn sefyll am PHP Hypertext Preprocessor.
Felly mae'n, ynddo'i hun, yn dychweliadol enw, sydd yn eithaf oer.
PHP yn iaith sgriptio ochr y gweinydd, ac mae'n darparu'r ol-wyneb
ac mae'r sylfeini rhesymegol ein gwefan.
>> Felly Soniodd Angela llawer am y HTML a CSS fydd yn gwneud y strwythur
ar y wefan.
Ond beth os ydych am newid hynny cynnwys ddynamig neu os yw'n amrywio
yn seiliedig ar y defnyddiwr neu amodau penodol?
Dyna lle PHP yn dod i mewn
Yn awr, fel arfer, efallai PHP gymryd ychydig llai o linellau i weithredu'r un peth
yn C. Mae hynny oherwydd PHP yn ymdrin cof rheoli ar gyfer y rhaglennydd,
yn hytrach na ni orfod malloc rhad ac am ddim, pethau fel 'na.
>> Ond ers PHP yn dehongli iaith, yn nodweddiadol, gallai gweithredu
ychydig yn fwy araf na C, a oedd yn yn iaith llunio.
Oherwydd ein bod yn symud rhaglenni ieithoedd, gadewch i ni edrych ar sut y mae'r
Bydd cystrawen yn wahanol.
Gadewch i ni fod yn ofalus iawn i beidio â drysu â hyn.
Felly, gyda chystrawen PHP, p'un a ydych yn ymgorffori eich PHP tu mewn i HTML
ffeil neu o fewn. ffeil php ei hun, rydych yn Mae angen i amgáu y cod yn yr awyr agored
PHP ac yn y tagiau PHP caeedig fel dilyn, fel ar y sgrin.
>> Newidynnau mewn PHP.
Bydd pob newidyn sengl yn dechrau gyda yr arwydd $ ddilyn gan enw'r
eich newidyn.
Yn awr, newidynnau yn PHP yn cael eu teipio llac, sy'n golygu nad oes angen i chi
i ddangos yr hyn y mae'r math data yw pan fyddwch yn datgan ei.
Fodd bynnag, nid yw hyn yn golygu eu bod yn Nid oes rhaid i unrhyw fathau o gwbl.
Felly, os wyf yn datgan newidyn a dim ond yn gosod mae'n gyfartal i 1, ac yna yr wyf yn datgan
newidyn arall, osod cyfartal i "1," ac yna un 1.0 gilydd, yn dda,
yn dibynnu ar y math o gydraddoldeb gweithredwyr wyf yn defnyddio, os wyf am gymharu
ar draws bob math, ac yna byddant yn gyfartal.
Ond os ydw i eisiau gwneud yn siŵr bod y mathau yn gyfartal, gall PHP yn dal i wneud
, hyd yn oed er nad ydym yn dangos pa fath mae'n pan fyddwn yn
yn gyntaf yn gwneud y ffeil.
>> Yn awr, yn PHP, er ein bod newid drosodd o raglennu
iaith o C, mae gennym ein trusty os yw cyflwr, yn union fel hyn.
Rydym yn dal i wedi ein ddolenni ychydig, dim ond fel hyn, lle rydych yn ei roi yn eich
cyflwr ac yna'r gorff y ddolen.
Ac yna rydym hefyd wedi ein i ddolen, sydd fel arfer yn edrych fel hyn.
Felly, os oeddwn i eisiau ailadrodd dros yr holl naw psets a chyflwyno a galw
submitPset swyddogaeth, yna gallaf wneud hynny yma, yr ydych guys i gyd wedi
wneud gan y pwynt hwn.
Llongyfarchiadau, gan y ffordd.
>> Ar gyfer y camera, mae pobl Dywedodd, diolch i chi.
Yn awr, os nad oedd arnoch eisiau i ddim ond defnyddio hyn ar gyfer dolen, yna PHP mewn gwirionedd hefyd
wedi pethau o'r enw dolenni foreach.
Felly, os oedd gen i amrywiaeth o gyfanrifau, 0 drwy 8, storio yn y psets amrywiaeth,
yna gallwn gael dolen foreach sy'n ailadrodd dros bob rhif mewn psets.
Ac yna y gallwn ei alw'n un weithredu wyth gwaith,
yn union fel wnes i cyn.
Felly, mae hyn ar gyfer pob dolen yn braf, oherwydd Nid oes rhaid i chi os nad ydych yn gwybod
union hyd y rhesi eich bod wedi, yna defnyddio hwn dolen foreach
Bydd yn gofalu am hynny ar eich rhan.
>> Felly, yr wyf yn gwneud psets fel arae.
Gadewch i ni edrych ar hynny.
Araeau yn PHP yn nodweddiadol yr un fath â y rhai yr ydym wedi eu cael yn C, lle
gallwch ddatgan arae.
Ac yma, gallaf ddatgan amrywiaeth gwag ac yna adeiladu i fyny ddeinamig drwy ddefnyddio
mynegeion fel cyfanrifau.
Felly mynegai 0, dw i'n mynd i storio cyfanrif a enwir 1.
Ar mynegai 1 o fy rhestr, dw i'n mynd i storio gwerth 2.
Ac ar y trydydd mynegai, ond y ail rif, dw i'n mynd i
storio'r rhif 12.
>> Yn awr, mae hyn yn iawn yn y weithio, mae'n gweithio'n dda.
Ond yn dweud ei fod yn bwysig i mi hyn y mae pob mynegai dal.
I mi, mynegai 0 yn golygu sut lawer o gathod sydd gen i.
Ac mae'r mynegai 1 yn golygu sut lawer o tylluanod gen i.
Ac mae'r un nesaf yn golygu faint o gŵn.
Wel, yna mae'n nodi, yn lle o orfod cofio 0 yn ymwneud â
cathod ac 1 i dylluanod, gallaf ddefnyddio araeau cysylltiadol, sy'n golygu bod
yn hytrach na o gyfanrifau fel fy mynegeion, Gall Fi 'n weithredol yn defnyddio llinynnau.
>> Felly, mae hyn yn eithaf defnyddiol.
A ydych chi wedi bôn yn unig disodli y cyfanrif gyda llinynnau.
Ac mae gennych amrywiaeth cysylltiadol.
Yeah.
>> GYNULLEIDFA: A oes rheswm pam y mae yn tanlinellu ar gyfer yr ail
rhannol, oherwydd bod fy rhestr mae gan y rhesi.
>> ZAMYLA Chan: Y cwestiwn oedd, yn yna reswm pam mae 'na
tanlinellu rhwng fy a rhestr?
Rhif
Dyna dim ond sut dwi'n enwi fy amrywiol.
>> GYNULLEIDFA: Ar y cyntaf llinell, mae'n un gair.
>> ZAMYLA Chan: Mae fy ymddiheuriadau.
'N annhymerus' atgyweiria hynny.
Yeah.
Dylent fod yn yr un enw amrywiol.
Dal Da.
OK.
Felly, gadewch i ni symud ymlaen i linyn Concatenation.
Os wyf yn awyddus i gymryd dau llinynnau, yna gallaf eu concatenate
â gweithredwr y dot.
Felly, os oes gen i Milo fel enw cyntaf a Banana fel enw olaf, yna
cydgadwyno gyda gweithredwr y dot a Yna rhoi lle yn y canol
bydd yn gwneud llinyn sy'n cynnwys Milo Banana, y gallaf wedyn adleisio'r neu,
yn hytrach, yn argraffu.
>> Wrth siarad am adlais, gadewch i ni siarad am ychydig o ddefnyddiol -
wps.
Mae'n ddrwg gen i.
Mae ychydig o swyddogaethau PHP defnyddiol.
Felly, rydym yn cael y -
anawsterau technegol.
Un eiliad.
Yr wyf yn ei anfon.
Problemau PowerPoint.
Ac rydym yn ôl gyda swyddogaethau PHP.
>> Felly yr ydym wedi gofyn am y swyddogaeth, lle os byddwch yn mynd heibio mewn ffeil, dyma yn unig
enghraifft o ffeil a Efallai fy mod yn pasio i mewn
Yna, a fydd yn cynnwys y cod PHP o'r ffeil yr wyf yn ei awgrymu.
A bydd yn gwerthuso hynny mewn
Yna, mae gennym hefyd adlais, a oedd yn yn gyfochrog â printf.
Gadael yn baralel i dorri, sy'n gadael y bloc o
cod eich bod yn ynddo
Ac yna gwiriadau gwag a yw rhoi amrywiol yn debyg null neu sero neu
beth bynnag yn gyfystyr â bod yn wag.
Yeah.
>> GYNULLEIDFA: Ar gyfer y Concatenation llinyn dot gweithredwr un, yn PHP, yw bod y
un fath ag yn JavaScript lle mae'n defnyddio y dot ar gyfer Concatenation golygu yn ogystal?
Felly, ar gyfer enw llawn, gallech gael doler llofnodi + gyntaf ac yna + yn para?
>> ZAMYLA Chan: Yeah.
Felly, y cwestiwn oedd a yn PHP ni yn gallu defnyddio'r un Concatenation llinyn
fel yn JavaScript â'r pwyntiau cadarnhaol.
A bydd Joseff fynd i mewn i hynny yn nes ymlaen.
Rwy'n credu ei fod wedi sleid ar hynny.
A dweud y gwir, mae'n wahanol.
Felly, yn JavaScript, mae angen i chi ddefnyddio plws i concatenate llinynnau.
Ac yn PHP, rhaid i chi defnyddiwch y gweithredwr dot.
Felly, maent yn wahanol.
>> OK.
Felly, yn awr ein bod wedi cynnwys yr holl PHP hon, lle mae'n ei
dod i mewn gwirionedd yn ddefnyddiol?
Wel, mae'n dod mewn 'n hylaw pan fyddwn yn gallu cyfuno gyda'n HTML.
Felly, bydd ein PHP yn rhoi pŵer i ni newid HTML gynnwys tudalen cyn i
ei llwytho.
Felly, yn seiliedig ar amodau gwahanol, Fel arfer, y defnyddiwr penodol sy'n
logio i mewn, gallwn arddangos gwybodaeth wahanol.
Linda, oedd gennych gwestiwn?
>> GYNULLEIDFA: Allwch chi concatenate yn gyfanrif hefyd?
>> ZAMYLA Chan: Oes, gallwch.
Felly, y cwestiwn oedd os gallwch concatenate cyfanrifau neu arall
variable.s awr, yr ydym yn symud ymlaen i MVC, a oedd yn yn batrwm a ddefnyddiwyd gennym yn
pset7 ac mae llawer o dylunwyr gwe ddefnyddio ar gyfer trefnu'r cod yn y ffeil
yn eu gwefan.
M yn sefyll am Model.
Ac yn y bôn, bydd ffeiliau model yn ymdrin gyda rhyngweithio gyda'r gronfa data.
Gweld ffeil, maent yn ymwneud â'r estheteg y wefan.
Ac mae'r dolenni Rheolwr ceisiadau defnyddiwr, parses
data, a yw rhesymeg eraill.
>> Yn pset7, rydym yn cyfuno y model a'r rheolwr.
Ac rydym yn unig yn eu galw rheolwyr a eu rhoi yn y cyfeirlyfr cyhoeddus.
A'r farn ffeiliau, yr ydym yn eu defnyddio fel templedi yn y cyfeiriadur templedi.
Felly diagram hwn yma hefyd yn cynrychioli yr un fath o raniad gyda'r
model a'r rheolwr mewn porffor yma ar y chwith a
y farn ar y dde.
Felly mae hwn yn sgematig bod rhai ohonoch allai fod wedi gweld yn oriau swyddfa neu
diagramau ein bod yn tynnu wrth i chi yn figuring eich pset.
>> Felly dyma, mewn rheolwr penodol, model rheolwr, mae gennym swyddogaethau
sy'n ymwneud â ymholi'r SQL gronfa ddata, gweithredu rhesymeg PHP.
Efallai y byddech yn edrych i fyny stoc yn Yahoo!
Cyllid.
Neu efallai, a fyddech jyst atalfa i weld a yw defnyddiwr wedi cyflwyno
ffurfio eisoes cyn cael Ymwelodd eich tudalen.
Ac yna byddech yn gwneud a ffurfio dros yma.
Ar ôl y ffurflen wedi ei gyflwyno gan y defnyddiwr, y camau a oedd yn
a nodir yn y ffurflen yn tag HTML yn awgrymu y dudalen ei fod yn
dychwelyd y data.
>> Felly byddai'r holl wybodaeth honno yn anfon yn ôl at eich rheolwr.
Yna, mae'n debyg y byddech yn gwneud ychydig yn fwy rhesymeg ar hynny ac efallai gyflawni rhai
mwy o ymholiadau yn y gronfa ddata SQL a Yna, yn olaf, yn dod o hyd i 'n glws
set lawn o wybodaeth y byddech basio i mewn i rai templed arall
oedd yn dangos y wybodaeth honno.
Nawr, sut ydyn ni'n pecynnu mewn gwirionedd bod gwybodaeth i fyny?
Wel, mae gennym swyddogaeth o'r enw Rendr a oedd yn y ffeil functions.php yn
pset7, lle byddwch yn pasio yn enw ffeil, enw'r templed.
>> Ac yna i chi hefyd basio yn arae cysylltiadol.
Ac felly bod amrywiaeth cysylltiadol yn cynrychioli y gwybodaeth wahanol
eich bod am i basio i mewn
Nawr, beth sy'n mynd i fod yn gyson yn enghreifftiau hyn yw bod y allweddi neu,
yn hytrach, yr allweddi y cysylltiadol araeau, y rhai yn beth sy'n mynd i fod yn
disgwylir iddynt fod yn gyson gan y templed, oherwydd ei fod yn gwybod bod angen
rhywbeth o'r enw neges neu a elwir yn enw.
Ac yna y pethau ar y dde, bydd y gwerthoedd gwirioneddol, felly yn yr achos hwn, pwy sy'n
fachgen da a Milo, y rhai yn mynd i fod gwerthoedd sy'n newid
bod y rheolwr yn newid bob tro neu yn seiliedig ar gyflwr penodol ac
yn pasio hynny mewn
>> Felly, yma yn templedi, gwelwn ein bod yn yn defnyddio nodau arbennig HTML,
a dim ond yn y bôn yn golygu ein bod am i gael y llinyn cyfoedion fod y
defnyddiwr rhoi i mewn
Ac rydym am i gyfnewid neges mewn 'na.
Felly, yna pan fyddwn mewn gwirionedd yn edrych ar y ffeil, gall y penodol
gwybodaeth yn cael ei throsglwyddo i mewn
Noder bod y allweddol ynghylch sut rendr yn gweithio yn bod yr allweddi y cysylltiadol
araeau, y rhai yn newidiol enwau yma.
Ac felly y gwerthoedd y allweddol yn y amrywiaeth cysylltiadol wedyn yn dod yn y
gwerth y newidyn.
>> Yn awr, gadewch i ni symud ymlaen i SQL.
Mae'n sefyll am Strwythuredig Ymholiad Iaith.
Ac felly mae hyn yn unig yw rhaglennu iaith a ddyluniwyd
ar gyfer rheoli cronfeydd data.
A bu yn ddefnyddiol i ni yn ein gwefan cyllid pset7.
Yn y bôn, dim ond ffordd hawdd o olrhain a rheoli gwrthrychau a thablau
ac yn eu cysylltu â'i gilydd.
Nawr, meddyliwch am eich cronfa ddata SQL yn y bôn fel ffeil Excel, efallai,
gyda thaflenni Tabbed lluosog.
>> Felly gallech gael tablau lluosog, efallai, oedd yn cysylltu â'i gilydd.
A llawer fel Excel, mae gennym lawer o swyddogaeth yr ydym am.
Er enghraifft, gallwn ddewis rhesi penodol.
Gallwn roi gwybodaeth.
Gall Rydym yn diweddaru rhesi.
A gallwn hefyd yn dileu pethau.
>> Mae'r SQL dewis gweithiau gan ddewis rhesi neu res o golofnau penodol o
cronfa ddata sy'n cyd-fynd yn benodol meini prawf yr ydych yn ei awgrymu.
Felly, dros yma pan fyddaf yn gweld dewis * o dewiniaid lle mae tŷ = Ravenclaw, yna
Im 'yn dewis *, sy'n golygu fy mod i'n dewis pob un golofn yn y
rhes o'r tabl dewiniaid, ond dim ond os y golofn tŷ yn hafal Ravenclaw.
Yn awr, mae hyn yn bur neu SQL.
Felly os wyf yn mynd i mewn phpmyadmin, sy'n y ffordd benodol a ddefnyddiwn i reoli
ein cronfeydd data SQL, yna gallwn rhowch hynny yn y wefan phpmyadmin.
Ac y byddai gweithredu.
>> Ond rydym mewn gwirionedd am ei wneud hynny ar yr ochr PHP.
Felly, sut rydym yn gwneud hynny?
Wel, rydym yn defnyddio'r swyddogaeth ymholiad, a oedd yn yn y bôn executes y SQL query.
Gan ddefnyddio?
fel placeholder, gallwn drosglwyddo mewn rhai gwerthoedd i ein llinyn ein bod yn
eisiau i gymryd lle.
Felly, efallai fy mod yn storio gwahanol gwerthoedd yn y curr_house, a oedd yn
cynrychioli'r tŷ presennol fy mod i'n mynd drwyddo.
Felly gallaf pasio hynny mewn fel dalfan gyda'r marc cwestiwn.
Ac yna byddaf yn y bôn gyflawni'r un peth fel y gwneuthum o'r blaen, ac eithrio
yn awr, Im 'i mewn PHP.
>> A bydd ymholiad dychwelyd amrywiaeth cysylltiadol.
Ac yr wyf i'n mynd i storio mewn rhesi.
Yn awr, gall ymholiad bob amser yn methu.
Efallai na allai'r ymholiad SQL gweithredu oherwydd nad oedd y bwrdd yn bodoli.
Neu efallai, nid oedd y golofn yn bodoli.
Aeth rhywbeth o'i le.
Wel, yn yr achos hwnnw, youll 'angen at wneud yn siŵr eich bod yn gwirio a yw'r
ymholiad dychwelyd ffug.
A dyna drwy ddefnyddio'r triphlyg yn dychwelyd gweithredu yno.
>> Ac yna yr wyf yn ymddiheuro, sef un arall Swyddogaeth CS50, gan fynd heibio mewn neges.
Ac os ydych yn edrych i mewn i ymddiheuro, popeth o fewn ei mewn gwirionedd yn ei wneud yw gwneud apology.php.
Yeah.
>> GYNULLEIDFA: A allech egluro beth mae hynny'n seren yn ei wneud rhwng dewis ac o?
>> ZAMYLA Chan: Yeah, yn hollol.
Felly, y seren rhwng dewis ac o yn golygu fy mod am i ddewis y cyfan
rhes gyfan o fy bwrdd.
Gallai Rwyf wedi nodi dewis enw, blwyddyn, tŷ.
A byddwn yn unig yn cael tri y rhai colofnau yn fy tabl.
Ond os wyf yn dweud dewis *, yna 'n annhymerus' cael popeth yn y golofn honno.
Yna mi i'n mynd i fynd i chi yn y cefn yn gyntaf.
>> GYNULLEIDFA: Felly, mae hyn yn dal i fod yn SQL, dde?
A yw'r ymholiad hwn neu yn PHP hwn?
>> ZAMYLA Chan: Rydym mewn ymholiad.
Felly, mae hyn yn PHP.
Felly, gan ddefnyddio'r ymholiad swyddogaeth PHP, rydym yn gweithredu ymholiad SQL.
>> GYNULLEIDFA: A yw unrhyw beth yn SQL achos-sensitif, fel dewis
neu ddewiniaid neu dŷ?
>> ZAMYLA Chan: oes unrhyw beth mewn SQL achos-sensitif?
Yr wyf yn credu hynny, ie.
Credaf fod SELECT ac O a BLE yn achos sensitif.
Nac oes?
>> ROB BOWDEN: Felly, mae'n y gwrthwyneb.
Mae enwau colofn a'r modd bwrdd, pawb yn achos sensitif.
Ond unrhyw un o'r geiriau allweddol MySQL, fel SELECT, O, ac LLE, nid y rhai yn
achos sensitif.
OK.
Felly, y gwrthwyneb i'r hyn a ddywedais.
Felly pob un o'r geiriau allweddol MySQL -
yn dewis, o, lle - y rhai nid ydynt yn achos sensitif.
Ond mae popeth arall yn.
OK.
Chi yn y tu blaen.
>> GYNULLEIDFA: Os wyf wedi $ rhesi o ran mwy nag un rhes, a yw hynny'n cymedr yn
dim ond yn dod yn amrywiaeth cysylltiadol?
>> ZAMYLA Chan: Felly, y cwestiwn oedd os rhesi Mae mwy nag un rhes ynddo, a yw
mae'n dod yn amrywiaeth cysylltiadol?
Felly, mae'n amrywiaeth o cysylltiadol araeau barod.
Felly hyd yn oed os dim ond un rhes dychwelyd, yna byddai'n rhaid i chi fynd i'r
mynegai 0 am y canlyniad hwnnw.
Ac yna byddech yn cael y rhes gyntaf.
Ie, Belinda?
>> GYNULLEIDFA: Pan fyddwch yn defnyddio ===, mae hyn yn unig enghraifft?
Neu a oes eraill?
>> ZAMYLA Chan: Felly, yn yr achos hwn, === yn cymharu ar draws math.
Mae'n ddrwg gennym. === Cymhariaeth sy'n cymharu mathau.
Ac yna == cymharu ar draws bob math.
>> GYNULLEIDFA: Allwch chi esbonio beth rhesi yn y sefyllfa hon?
A yw'n rhes o ddata?
>> ZAMYLA Chan: Yn y sleid nesaf, rwy'n mynd i esbonio beth yw rhesi.
Felly, os nad ydych yn meddwl dal oddi ar hynny.
Ac yna i chi yn y cefn?
>> GYNULLEIDFA: Ar gyfer swyddogaethau fel ymholiad, rendr a ymddiheuro [Anghlywadwy]?
>> ZAMYLA Chan: Y cwestiwn oedd a swyddogaethau hyn - ymholiad, ymddiheuro,
a rendr -
yn gyffredin ar draws PHP.
Mae'r rhain yn rhai sy'n CS50 Ysgrifennodd am pset7.
Ac Jay?
>> GYNULLEIDFA: Pryd mae angen i chi ddweud $ _session, Yw mai dim ond ar gyfer IDs?
Neu gallech fod wedi dweud hynny yma?
>> ZAMYLA Chan: Felly, y cwestiwn oedd, pan rydym yn defnyddio $ _session, a oedd yn benodol
amrywiol byd-eang yr ydym yn ei ddefnyddio.
Yma newidyn hwn yn mynd i fod yn lleol i'n swyddogaeth.
Felly, rydym yn unig yn datgan newidyn newydd.
>> GYNULLEIDFA: Sut ymddiheuro rhoi ar waith?
>> ZAMYLA Chan: Y cwestiwn oedd, sut mae ymddiheuro roi ar waith?
Ac yr wyf yn credu bod hyn mewn gwirionedd yn eithaf arfer da i chi guys i fynd i mewn i
yr adran functions.php ac edrych ar ymddiheuro i weld sut y gallech gael
ei wneud eich hun.
Felly, efallai y gadawaf hynny i chi, ond dim ond dweud os ydych yn edrych ar ymddiheuro,
yna mae'n cymryd y neges yr ydych gyflwyno i ymddiheuro, ac yna mae'n
renders neges honno.
Unrhyw mwy o gwestiynau?
Rwyf wrth fy modd cwestiynau.
Felly cadwch nhw i ddod.
>> GYNULLEIDFA: [Anghlywadwy]
adleisio neu brint yno?
>> ZAMYLA Chan: Y cwestiwn oedd, gallem nid yn unig wedi rhoi
adleisio neu brint yno.
Felly, a fyddai wedi gwneud rhywbeth ychydig yn wahanol.
Byddai hynny wedi argraffu ymholiad wedi methu i mewn i hynny -
yn dda, ar hyn o bryd, rydym yn mewn gwirionedd yn yn ein rheolwr.
Felly, nid ydym yn mewn gwirionedd yn cael HTML a sefydlwyd yma.
Ymddiheuro trwy rendro apologize.php mewn gwirionedd yn ail-gyfeiriadau i chi apology.php.
OK.
>> Felly nawr, gadewch i ni fynd ymlaen i fynd i'r afael â'r gwestiwn gan cynharach am yr hyn
mewn gwirionedd rhesi.
Wel, bydd ymholiad yn dychwelyd amrywiaeth o rhesi.
A phob rhes yn cael ei gynrychioli gan amrywiaeth cysylltiadol.
Felly, os ydw i wedi cyflawni rhywfaint o ymholiad SQL a Rydw i wedi cael eu storio y canlyniad mewn rhesi, ac yna
defnyddio dolen foreach, yna yr amrywiaeth enw yr un cyntaf yno - rhesi.
Ac yna yr wyf i'n mynd i alw pob rhes yno $ rhes.
>> Felly bwysleisio'r dros hynny, yr wyf wedyn gael gafael ar enw'r golofn y rhes a roddir yn,
colofn flwyddyn, a cholofn tŷ.
Noder na fyddwn wedi gallu gwneud hyn gyda rhesi, gan fod mynegai rhesi
Nid yw enw yn bodoli.
Rhesi yn unig yw amrywiaeth o araeau cysylltiadol.
Felly, mae gennych ddwy lefel yno.
Unwaith y byddwch yn cael yr amrywiaeth o resi, rhaid i chi fynd i mewn hynny.
Ac yna gallwch ei weld y colofnau.
Oedd yn ei gwneud yn glir?
Yeah, o flaen?
>> GYNULLEIDFA: [Anghlywadwy] agor cromfachau am [Anghlywadwy]?
>> ZAMYLA Chan: Pardwn i mi?
>> GYNULLEIDFA: Y cromfachau agored.
>> ZAMYLA Chan: Mae'r rhain yma?
Mae hynny'n caniatáu i mi i gynnwys y newidyn.
Yeah.
>> GYNULLEIDFA: Pan fyddwch yn argraffu, a ydych yn argraffu i'r cod HTML?
>> ZAMYLA Chan: Ydw.
Pan fyddaf yn argraffu, hyn yma y tu mewn fy templed yn awr, felly
fy marn y dull MVC.
Felly, yr wyf i'n argraffu i mewn i'r HTML.
>> GYNULLEIDFA: Felly, os ydym yn mynd i mewn datblygwr offer ar ôl rhedeg hyn, gallem
sydd mewn gwirionedd yn y cod?
>> ZAMYLA Chan: Mae hynny'n wych cwestiwn, yeah.
Felly, os ydych yn mynd i mewn i'r offer datblygwr yn Firefox yn defnyddio Firebug neu
Chrome, yna ie, gallech gweler y HTML penodol.
Felly, ni fyddai'n dangos $ rhes ["Enw"].
Byddai'n dangos pa un bynnag enw sydd yn y rhes.
>> GYNULLEIDFA: Dim ond mater cyffredinol, beth yn cael eu tr a td a ddiffinnir fel?
Pam y byddem yn [Anghlywadwy]?
>> ZAMYLA Chan: tr rhes tabl, Yna, td tabl golofn.
OK.
>> GYNULLEIDFA: Yeah, 'i' data tabl.
>> ZAMYLA Chan: data Tabl.
Yeah.
>> GYNULLEIDFA: Mae'n LandLine olynol i'r rhes yn cael ei drin fel colofn?
>> ZAMYLA Chan: Mae'n ddrwg gennyf.
Allwch chi ailadrodd hynny?
>> GYNULLEIDFA: Sut fyddech chi'n ddychmygu rhesi?
>> ZAMYLA Chan: Sut y byddech yn dychmygu rhesi ym mha fath o ffordd?
A ydych yn sôn am y rhain rhesi yma neu y rhesi tr?
>> GYNULLEIDFA: Y rhesi.
>> ZAMYLA Chan: Mae'r rhain yn rhesi yma?
Byddwn yn dychmygu hyn fel Yr wyf yn gweithredu fy ymholiad.
Ac y mae'n ei ddweud, OK, yr wyf wedi naill ai 0 i n faint o rhesi sy'n cyd-fynd â'r meini prawf
eich bod wedi holi.
Felly mae gen i ryw nifer o resi.
Felly rhesi, y $ rhesi, siopau pob un o resi hynny mewn arae.
Felly hyd yn oed os mai dim ond un ohonynt, mae'n dal i fod yn amrywiaeth o resi sy'n cyd-fynd iddo.
>> Felly, yna, er enghraifft, mae hyn yn debyg i pan fyddwch lwytho
y cache gan ddefnyddwyr.
A'r meini prawf nad oedd lle ID hafal i sesiwn adnabod.
Dim ond un rhes mewn gwirionedd a allai gyd-fynd.
Ond mae dal yn rhesi newydd ddychwelyd un rhes.
Felly, byddai'n rhaid i chi fynd i'r rhesi, mynegai 0, mynegai cache i
mewn gwirionedd yn cael eich cache.
>> GYNULLEIDFA: A yw'r swyddogaeth print yn adleisio un peth?
>> ZAMYLA Chan: Ydw.
Ie.
Argraffu adlais o'r un peth.
>> GYNULLEIDFA: A yw'r ddolen foreach y unig ffordd i mynegai i rhesi?
>> ZAMYLA Chan: A yw dolen foreach yr unig ffordd y byddwch yn gallu
ailadrodd trwy rhesi?
Rhif
Gallwch hefyd ddefnyddio ar gyfer dolen, ar yr amod eich bod yn gwybod hyd
o amrywiaeth y rhes yn.
>> GYNULLEIDFA: A allech chi gael mynediad ato gan ddefnyddio rhes fel [Anghlywadwy]?
>> ZAMYLA Chan: Felly ni allwch gael mynediad iddo dim ond drwy ddefnyddio rhes os nad oes gennych
dolen foreach ar yr amod bod nad ydych wedi datgan rhes.
Ie.
Yeah, yn y gwyn.
>> GYNULLEIDFA: Felly beth yn tr a td ei wneud?
>> ZAMYLA Chan: Felly tr a td yn tagiau HTML.
tr yn dangos y dechrau o res bwrdd.
A phob td dangos colofn data tabl newydd.
>> GYNULLEIDFA: Am gweledol o'r hyn y rhes yn debyg, dim ond dychmygu y SQL, sut
ganddynt rhes.
[Anghlywadwy].
>> ZAMYLA Chan: Yeah.
Mae hynny'n bwynt da.
Gallwch ddychmygu rhesi fel dim ond fel yn tabl Excel, dim ond
y rhestr o'r rhesi.
OK.
Mae pob hawl.
Felly nawr ein bod wedi mynd dros dewis, os Nid oes rhagor o gwestiynau, rydym yn annhymerus '
mynd dros ar mewnosodiad.
Felly, os oeddwn i eisiau i fewnosod i mewn i rai bwrdd a rhowch yn ei le colofn rhai
gwerthoedd, gallwn mewnosod fy hun i Ravenclaw ym mlwyddyn 7.
Ond weithiau gallai fod dyblygu gwerthoedd, fel y gwelsom yn pset7 pan fyddwn yn
yn diweddaru ein portffolio.
>> Felly, yn yr achos hwn, yr ydym yn dymuno ei ddefnyddio ar Dyblygu ALLWEDDOL Y DIWEDDARAF, fel nad ydym yn ei wneud
storio rhesi lluosog gyda'r un gwerthfawrogi ond yn hytrach yn ei ddiweddaru.
Yna rydym mewn gwirionedd wedi diweddaru, nad yw'n mewnosodiad.
Dim ond y wybodaeth ddiweddaraf lle rydych yn diweddaru mewn tabl benodol gyda roddir
meini prawf, ac yna, yn olaf, dileu, sy'n gwneud rhywbeth tebyg iawn.
>> GYNULLEIDFA: Allech chi yn fyr mynd dros yr allwedd dyblyg?
>> ZAMYLA Chan: Yeah.
Yn ei hanfod yma, yr wyf wedi INSERT I gringotts, yw, galleons, y gwerthoedd hyn.
Ond adnabod, yn ôl pob tebyg, yn rhan allweddol o unigryw gwerth a sefydlwyd yn nhabl MySQL.
Felly, os ydw i eisoes wedi bod ID sefydlu, yna nid wyf yn gallu mewnosod rhes newydd.
Felly, os nad yw'n bodoli eisoes, Yna rhaid i mi ei diweddaru.
Yn y canol yn y gwyn.
>> GYNULLEIDFA: Felly mewnosoder, diweddaru, dileu, a dewis, yw'r rhai i gyd ar gael
yn lleol [Anghlywadwy]?
>> ZAMYLA Chan: Felly mewnosoder, diweddaru, dileu, a
dewis i gyd ymholiadau SQL.
Felly, pryd bynnag y byddwch yn defnyddio SQL, byddwch yn cael rhai sydd ar gael.
>> GYNULLEIDFA: Yn ôl at y cwisiau yn y gorffennol -
roedd cwestiwn a oedd yn ymdrin â os ydych wedi cael bwrdd ac yn awyddus i
mewnosoder sgoriau profion yn un a ydych yn mewnosod eich enw felly mae'n ni fydd yn gadael i chi
[Anghlywadwy] Sgôr prawf eich ffrind.
Sut y byddech yn gwneud hynny gyda mewnosoder?
>> ZAMYLA Chan: Felly, y cwestiwn yn ymwneud cwestiwn canol tymor blaenorol.
Dydw i ddim yn ymwybodol o ba un ei bod yn iawn yn awr.
Felly efallai wedyn, os ydych am i dod i fyny ac yn dangos i mi, yna gallaf
yn sicr yn rhoi awgrymiadau i chi.
Ond siarad o mewnosod pethau, fel cymryd sgôr rhywun pan fyddwch yn
Ni ddylai, gadewch i ni siarad am Ymosodiadau pigiad SQL.
Felly, trawiad ar y pigiad SQL yn ei hanfod lle mae rhywun yn cymryd
manteisio ar y diogelwch isel y ffordd yr ydych yn eu cymryd yn y data.
>> Felly, yn y fan hon, yn union fel mewn cyllid CS50, pan fyddwn yn logio i mewn, gallwn fynd i mewn
enw defnyddiwr yn y ffurflen mewngofnodi, y blwch testun cyntaf, a
yna rhowch mewn gyfrinair.
Efallai y gallai ein cod PHP edrych rhywbeth fel hyn, lle mae $ enw defnyddiwr
yw'r enw defnyddiwr ar ôl y data a chyfrinair yw cyfrinair ôl-data.
Ac yna rydym yn unig gweithredu ein ymholiad, dyweder, OK, wel, mae ein holi am unrhywbeth sy'n mynd i
dewis gan ein defnyddwyr, lle y enw defnyddiwr yn y
un y maent yn eu cyflwyno.
Ac mae'r cyfrinair yn y cyfrinair, sy'n golygu bod y cyfrineiriau yn cyfateb.
>> Nawr, beth os yn hytrach na mewn gwirionedd yn cyflwyno cyfrinair go iawn, fel
12345 a dyfalu yn prong sy'n dweud cyfrinair a cheisio darnia eu
cyfrif, beth os yn lle hynny maent yn cyflwyno hyn.
Gallent teipiwch efallai ddyfalu ar y cyfrinair.
Ac yna y byddent yn gorffen y dyfyniad yna teipiwch neu 1 = 1.
Byddai hynny'n cyflymder uniongyrchol i mewn i'r SQL holi i edrych rhywbeth fel hyn.
Dewiswch gan ddefnyddwyr lle enw defnyddiwr = Ergyd a chyfrinair
yn hafal i lili neu 1 = 1.
>> Hynny naill ai cyfrinair wedi i fod yn gywir neu 1 = 1,
sydd bob amser yn wir.
Felly, yn yr achos hwn, yn y bôn, gall defnyddiwr fanteisio ar hyn a dim ond log
eu hunain i mewn ac darnia gyfrif rhywun.
Felly dyna pam yr ydym am osgoi rhywun yn gorfod gwneud hyn.
Ond yn ffodus, mae'r swyddogaeth ymholiad gan Bydd pasio yn y bachau cymryd
gofalu am hyn ar eich rhan.
Hefyd, byddwch fel arfer byth eisiau i mewn gwirionedd yn cyflwyno'r cyfrineiriau
eu hunain.
Dyna pam yr ydym yn hashed neu wedi'i amgryptio iddynt mewn cyllid CS50.
>> GYNULLEIDFA: Siaradodd y cwis yn y gorffennol am llinynnau dianc MySQL.
Oes rhaid i ni boeni am hynny?
>> ZAMYLA Chan: Mae hynny'n gwestiwn da.
Mae'r llinynnau dianc MySQL yn bendant yn swyddogaeth a ddefnyddiwyd yn ein ymholiad.
Ond yn sicr yn edrych i mewn i hynny.
Byddwn i'n dweud bod yn gêm deg i wybod y byddai angen i chi alw hynny i
weithredu ar linyn.
Yeah, Belinda?
>> GYNULLEIDFA: Sut ydych chi'n gwybod pan fydd yn dyfyniadau sengl neu dyfynodau dwbl?
A hefyd, yr wyf yn teimlo fel yn darlith i chi crybwyll rhywbeth am beidio â chael
y [Anghlywadwy] neu rywbeth neu ail dyfyniad sengl ar y diwedd.
Rwy'n credu ei fod sylw at y ffaith yn y ddarlith a rydych yn fod i gael collnod 1
ac yna ni wedi collnod neu rywbeth.
>> GYNULLEIDFA: [Anghlywadwy].
>> GYNULLEIDFA: Y peth yw yr un olaf dyfyniad yno yn yr ail flwch
Ni ddylai fod yno.
[Anghlywadwy]
Oherwydd pan fyddwch yn cymryd bod un diwethaf dyfynnu allan ac yn cyfateb y rhain ar gyfer cynnwys
lle y cyfrinair yw, os ydych yn cael y ymholiad, mae un dyfynbris ar
diwedd yn barod.
Byddwch am ddefnyddio'r dyfyniad sengl fel yr un sy'n wynebu'r un
[Anghlywadwy].
Felly, beth sydd mewn gwirionedd yn y testun Ni ddylai blwch gael hynny.
>> ZAMYLA Chan: 'n annhymerus' newid hynny.
OK.
Os nad oes unrhyw gwestiynau, yna 'n annhymerus' drosglwyddo drosodd i Joseph i siarad
am JavaScript, et cetera.
>> [Cymeradwyaeth]
>> JOSEPH Ong: Felly yr ydym yn rhedeg ychydig y tu ôl.
Felly, os oes yn rhaid i chi adael, mae hynny'n iawn.
Ond rydym yn gofyn i chi gadw eich pennau i lawr os ydych chi yn y canol, er mwyn i chi
Peidiwch â pharcio y camera ac rydych yn ei ddefnyddio yr allanfa yn ôl os ydych yn rhaid i.
Rwy'n Joseff gan y ffordd.
Hi.
Prawf, prawf.
Dan, yw bod yn dda?
Cool.
>> Felly, bydd y fideo yn cael ei bostio lein ar gyfer y rhai sy'n
rhaid iddynt adael nawr.
Lletchwith.
OK.
Felly adolygiad cwis.
Mae hyn yn gath.
Yn awr, JavaScript, nad yw'n efallai fel aww i rhai ohonoch guys.
OK.
Felly dyna gyntaf, yn cofio Zamyla.
Cofiwch fod PHP yn rhedeg ar y gweinydd.
A llawer o weithiau, ysgrifennodd i chi guys dolenni yn PHP i argraffu HTML, dde?
Felly, unwaith y cod hwnnw yn gweithredu, bod HTML allbwn eich bod yn argraffu allan
cael ei anfon at y defnyddiwr.
Ac unwaith bydd hynny'n digwydd, gall dim mwy PHP cael eu rhedeg, oni bai eich bod ail-lwytho y dudalen, o
cwrs, sy'n reexecutes y PHP.
Ond ar ôl i chi argraffu y HTML, nad ydych yn gallu mynd i unrhyw le.
>> Er mwyn i HTML yn cael ei anfon drosodd i'r defnyddiwr, sef y porwr dros yma, lle
Milo yn defnyddio'r cyfrifiadur.
Ac felly yn dda, mae yna nifer o bethau unwaith y byddwn yn anfon HTML i'r defnyddiwr.
Weithiau, rydym yn awyddus i wneud rhywbeth fel pan fyddwch yn clicio ar rywbeth, rydym am
blychau effro i pop i fyny, y mathau hynny o rhyngweithiadau, fel pan fyddwch yn pwyswch y
allweddol, pan fyddwch yn clicio rywbeth ar y dudalen, yr wyf am i rywbeth ddigwydd.
Wel, ni allwch reexecute PHP cod unwaith y HTML yn cael ei osod.
Felly, sut ydych chi'n gwneud hyn?
>> Rydym yn cyflwyno iaith newydd o'r enw JavaScript, sy'n rhedeg yn y porwr
sy'n eich galluogi i wneud pethau yn HTML ôl i chi dderbyn
iddynt o'r gweinydd.
A dyma pam rydym yn galw ei fod yn-ochr cleientiaid iaith raglennu.
Mae'n gweithio ar eich cyfrifiadur -
y cleient.
Unrhyw gwestiynau am hynny hyd yn hyn?
Mae hynny'n patrwm gwneud synnwyr i bobl?
OK.
Da.
Mae pob hawl.
Felly, y peth cyntaf i'w nodi nid yw JavaScript yn PHP.
>> Maent yn cael rhywfaint o gystrawen yn wahanol, y byddwn yn mynd i mewn.
Ac mae ganddynt ddefnyddiau gwahanol iawn.
JavaScript, unwaith eto, am eich porwr, ar gyfer y cleient.
Gweinyddwr yn rhedeg rhywle ar rywun arall cyfrifiadur sy'n anfon gwybodaeth
i chi, cywiro?
Felly, os byddwn yn gofyn i chi i ysgrifennu cod PHP ar gwestiwn arholiad, peidiwch ysgrifennu
JavaScript ac i'r gwrthwyneb.
Byddwch yn unig yn colli pwyntiau, ac ni fydd yn gywir.
>> Felly, gadewch i ni fynd i mewn i rai gwahaniaethau gystrawen -
JavaScript ar y chwith a PHP ar y dde.
Y peth cyntaf y byddwch yn sylwi gyda JavaScript, rydym yn datgan newidynnau gyda
yr allweddair var -
V-A-R. PHP defnyddio'r arwydd ddoler, fel y trafodwyd yn gynharach Zamyla.
Os ydych am i ddatgan cysylltiadol amrywiaeth, rydym yn gweld y gystrawen cyfarwydd ar
yr ochr dde gyda PHP.
Ar yr ochr chwith, yn hytrach na ydych yn defnyddio braces cyrliog.
Ac yna eich allweddi ar y chwith.
Yna mae gennych colon.
Ac yna mae gennych yr gwerthoedd ydych ei eisiau.
>> Felly, mae hyn yw sut fyddech chi'n ei wneud yn PHP ar yr ochr dde gyda'r ail
lein sy'n dechrau am Milo.
A dyna sut y byddech yn ei wneud ar y ochr chwith yn JavaScript os ydych am
yr hyn yr ydym yn galw gwrthrych.
A gwrthrychau mewn JavaScript yn yn unig araeau cysylltiadol.
Felly, os ydych am gael mynediad gaeau, yn PHP byddwch yn defnyddio'r gystrawen braced.
Ac mae hyn yn ffordd, gallwch ail-neilltuo maes perchennog hwn i Lauren.
>> Wel, yn JavaScript, os bydd un yn dymuno cael mynediad cae a'i newid, gallwch
defnyddiwch y dot cystrawen.
Gallwch hefyd ddefnyddio'r gystrawen braced.
Ond ni allwch ddefnyddio'r dot cystrawen yn PHP.
Ni fydd hynny'n gweithio.
Dim ond yn gweithio yn PHP.
Ac yn olaf, i argraffu pethau i'r consol, byddwch yn defnyddio console.log, a oedd yn
chi guys yn defnyddio llawer yn pset8.
Gallwch console.log hynny.
>> Os ydych eisiau argraffu amrywiaeth yn PHP, rhaid i chi ddefnyddio print r.
Ac ar yr ochr dde, byddwch yn gweld i hash Concatenation llinyn dros yno.
Rhywun ofynnwyd yn gynharach.
Rwy'n defnyddio yn fantais yn JavaScript.
Os ydw i eisiau i concatenate rhywbeth yn PHP, yr wyf yn defnyddio'r dot.
Mae'r rhain yn wahanol.
Os ydych yn ysgrifennu cod PHP, peidiwch â defnyddio mwy.
Os ydych yn ysgrifennu JavaScript cod, nid ydynt yn ysgrifennu dot.
Bydd yn anghywir.
A byddwch yn drist.
>> Gwahaniaethau Felly cystrawen.
Gwybod eich cystrawen, oherwydd os ydych yn rhaid i ysgrifennu cwestiwn a ydych yn defnyddio cystrawen
o'r iaith anghywir, ni fydd yn gweithio.
A bydd yn anghywir.
Felly, gadewch i ni siarad am rai o reolaeth gwahaniaethau llif, sut yr ydych yn defnyddio
dolenni ym mhob un ohonynt.
Aeth Zamyla dros yr ochr dde.
Pethau ar yr ochr dde Dylai fod yn gyfarwydd.
Gadewch i ni edrych ar ar yr ochr chwith.
>> Pan fyddwch yn defnyddio ar gyfer n dolen yn JavaScript, eich newidyn dolen, var i dros yno,
ddolen dros y allweddi y rhesi.
Felly byddwch yn gweld enw, tŷ, a rôl.
Os byddaf yn console.log i, yr wyf yn cael enw, tŷ, a rôl.
Mae'r rhai yn allweddol.
Yn JavaScript, dolen foreach yn mynd dros y gwerthoedd amrywiaeth hwn.
Felly, byddwch yn sylwi eu bod yn ddau i.
Ond yma ar yr ochr PHP, mae'n printiau allan Milo, CS50, a Mascot.
Dyna'r gwerthoedd yn PHP.
>> Felly mae'r rhain yn sut mae dau rhain yn wahanol yn y gwahanol ieithoedd.
Felly, os ydych yn defnyddio foreach dolen, peidiwch â chymryd yn ganiataol ei fod yn
yn rhoi'r allweddi i chi.
Ac os ydych yn defnyddio ar gyfer n dolen, peidiwch â cymryd yn ganiataol ei fod yn rhoi gwerthoedd chi.
Yw hyn yn gwneud synnwyr hyd yn hyn?
Mae'r sleid nesaf yn mynd i ddangos i chi sut y gallwch gael gafael ar y gwrthwyneb yn
pob un ohonynt.
>> Wel, os oes gennych y allweddol yn JavaScript ac rydych am i'r gwerth allan,
'ch jyst mynegai i mewn i'r amrywiaeth â hynny.
Felly, bydd Milo o fi gael i chi beth ydych chi eisiau - y gwerthoedd.
Mae hwn gystrawen wahanol yn PHP.
Os ydych wir eisiau gwybod, nid wyf yn ei wneud meddwl ein bod wedi dangos i chi eto.
Ond os oes gennych ddiddordeb, gallwch ddefnyddio y gystrawen ychwanegol ar y dde
ochr a fydd yn gadael i chi mewn gwirionedd yn cael y allweddi yn PHP pan ydych yn defnyddio
dolen foreach.
Felly dim ond ychydig o trivia os oes gennych ddiddordeb.
>> Felly dyna dim ond i ddangos y gwahaniaethau rhwng y ddau dolenni.
Peidiwch â chymysgu i fyny pan fyddwch yn rhaglennu cwestiwn.
Unrhyw gwestiynau am hynny.
Cool.
Mae pob hawl.
JavaScript gwrthrychau.
Yr wyf yn siarad amdanyn nhw.
Maen nhw fel araeau cysylltiadol.
Yr un peth yr hoffwn i chi nodi yma yw bod gwerth mewn cysylltiadol
Gall amrywiaeth fod yn unrhyw beth yn JavaScript.
>> Gall hyd yn oed fod yn swyddogaeth, fel dros yno.
Mae gen i swyddogaeth sy'n yn werth o allwedd.
Ac os ydw i eisiau i alw swyddogaeth honno, Fi jyst cael mynediad rhisgl.
Ac yna yr wyf yn rhoi y cromfachau ar ôl hynny.
Ac mae hynny'n gweithio.
Felly unrhyw gwestiynau?
Nac oes?
OK.
Da.
JavaScript, fel PHP, ei deipio llac.
Beth yw ystyr hynny?
>> Mae'n gwneud y mathau.
Ond pan fyddwch yn datgan JavaScript amrywiol, yr ydych yn dweud i var.
Nid ydych yn ei ddweud.
Nid yw hyn yn beth.
Rydych yn unig yn dweud ei fod yn amrywiol.
Ac yna bydd JavaScript trin y fathau o dan y cwfl i chi.
Gallwn drosi rhydd rhwng mathau oherwydd hyn.
Felly, fi yn dechrau allan fel nifer yn yr achos hwn.
Ac yna mae gen i linyn.
Ac yr wyf yn ychwanegu i ato.
Ac yr wyf yn ail-neilltuo yn ôl i mewn i.
>> Felly, ar y llinell gyntaf, i yw'r rhif.
Ar yr ail linell, fi yn awr yn dod yn llinyn ar ôl i mi wneud yr ailbennu.
Ac yma, Im 'jyst yn cydgadwyno y rhif ar y llinyn.
Felly byddwch yn gweld bod hyd yn oed er fi oedd yn cyfanrifol yn y rhan gyntaf, mae'n fath
o fel cael ei drosi i llinyn ac yna yn cael eu hychwanegu
ar y llinyn helo.
Ac felly dyna beth wyf yn ei olygu gan y teipio rhydd.
Dyna eich bod yn trosi rhwng mathau yn hawdd iawn.
Ac nid yw'n taflu rhybuddion ar yr hoffech C yn ei wneud.
>> Felly, fi bellach yn cynnwys helo 123 i'r llinyn.
Nesaf.
Gallwn hefyd yn cymharu'n rhydd rhwng y mathau.
Felly, os ydych yn unig yn defnyddio ==, yn fawr iawn fel yn PHP, JavaScript
yn gwneud rhywbeth tebyg.
Mae'r llinyn 123 yr un peth â'r rhif 123 pan fyddwch yn defnyddio hafal dwbl.
Pan gaiff ei ddefnyddio hafal triphlyg, mae hefyd yn eisiau gwneud yn siŵr bod
y math yr un fath.
Felly, gan fod hynny'n llinyn ac mae hynny'n nifer, er eu bod yn
123, pan fyddwch yn defnyddio triphlyg yn hafal i, byddwch yn cael ffug.
Yn y dwbl hafal achos, byddwch yn cael yn wir, oherwydd nad hafal dwbl yn
yn gofalu am y math.
Hafal Driphlyg ddim yn poeni am y math.
Cwestiynau?
OK.
>> A pheth arall am JavaScript cwmpas yn fath o fyd-eang oni bai eich bod
mewn swyddogaeth.
Ac y mae'n gweithio yr un fath ffordd PHP mewn gwirionedd.
Felly, gadewch i ni fynd drwy'r enghraifft hon.
Wyf yn gosod i i 999.
Ac yna yr wyf yn mynd i mewn i hyn ar gyfer dolen.
Felly, os ydw i'n argraffu i mewn hon ar gyfer ddolen, yr wyf yn disgwyl 0, 1, 2, 3, 4.
Cyrraedd i = 4.
Mae'n cynnyddu i nawr i 5 yn diwedd y am ddolen.
Ac yna mae'n torri allan o'r cylch, oherwydd nad yw'n cyflawni
Amod anymore.
>> Beth ydych chi'n meddwl y nesaf console.log yn argraffu allan?
Felly dyna beth fyddai'n ei wneud yn C. In C, oherwydd os ydych wedi hoffi var i tu allan
ac mae gennych i var y tu mewn i dolen, fel ar gyfer dolen, yna mae'n ei gwneud yn fel bod
mae'n cwmpasu bod y ddau i yn wahanol.
Yn JavaScript, bydd dim ond drin fel yr un i.
Rwy'n cael 5, oherwydd dyna oedd y gwerth ar ôl iddo wedi gadael allan o'r ddolen.
Felly, fi hynny yn yr un i.
A yw hynny'n gwneud synnwyr?
>> Wel, mae'n gwneud synnwyr o safbwynt JavaScript.
Ond nid yr un patrwm yn gario drosodd i C. Mae ganddynt
gwahanol reolau cwmpasu.
Ie.
>> GYNULLEIDFA: [Anghlywadwy]
y tu allan i'r swyddogaeth [Anghlywadwy]?
>> JOSEPH Ong: Felly y tu allan pa swyddogaeth?
Felly, byddaf yn ei gael i hwnnw yn unig eiliad.
Felly, rydym yn galw foo (i).
Mae hyn yn mynd i mewn i foo, incrementau , ac yna cofnodi hynny.
Felly yr oedd yn 5.
Felly, mae'n dod yn 6.
Ond beth rwy'n siarad amdano yw bod fi yn y swyddogaeth honno.
Oherwydd ei fod yn paramedr, mae'n cwmpasu at y swyddogaeth honno.
Felly, ar ôl i mi mewn gwirionedd yn cael allan o'r swyddogaeth, mae'n awr yn mynd i fynd
yn ôl i'r hen i.
Bod fi yn unig oherwydd cwmpasu mae mewn swyddogaeth.
Ac rydym wedi cwmpas a swyddogaethau.
Ond nid oes gennym gwmpas y tu allan i o swyddogaethau yn JavaScript.
A yw hynny'n gwneud synnwyr?
Ie.
Cwestiwn.
>> GYNULLEIDFA: Yr un [Anghlywadwy]?
>> JOSEPH Ong: Felly yeah.
Yn PHP, 'i' yr un math o beth.
Mae ychydig o cynildeb mewn gwirionedd.
Ond gallwch ofyn i mi am bod ar ôl yr adolygiad.
Nid oes gwir angen i chi ei wybod y cynildeb ar gyfer y cwis.
Ar gyfer bob pwrpas, fel newidynnau, byd-eang a PHP, oni bai
eu bod nhw mewn swyddogaeth, yr un peth yn JavaScript.
Ie.
>> GYNULLEIDFA: Pam mae hyn a ganiateir yn JavaScript a dim lle arall?
>> JOSEPH Ong: Felly, pam mae'n ganiatáu yn JavaScript ac nid yn C?
Mae'n dim ond pwy bynnag a ddaeth i fyny gyda Penderfynodd JavaScript bod hyn yn iawn yn
JavaScript.
Felly, 'i' jyst fel iaith raglennu confensiwn fel y byddem yn ei ddweud.
Ie.
>> GYNULLEIDFA: Felly pam y gwnaeth yn mynd 6-5?
>> JOSEPH Ong: Felly aeth 6-5, oherwydd pan wyf yn pasio i mewn i foo, bod
i tu mewn foo bellach yn cwmpasu i foo, oherwydd cwmpas yn bodoli mewn swyddogaethau yn
JavaScript.
Ond ar ôl i mi fynd allan o'r yma, gan ei fod yn ei gwmpasu i'r swyddogaeth, Im 'jyst
gan ddefnyddio'r fi rheolaidd a oedd y tu mewn gweddill y llif rheoli.
Yn gwneud synnwyr?
Alla i symud ymlaen?
Mae pob hawl.
Cool.
>> Mae derbyn hyn yw gwrthrychau yn cael eu pasio trwy gyfeirio.
Rydych yn gwybod sut pan fyddwch yn trosglwyddo amrywiaeth i mewn i C gallech
mewn gwirionedd yn newid y casgliad?
Mae yr un peth yn JavaScript.
Os ydw i'n pasio gwrthrych, yn yr achos hwn, yr wyf yn pasio Milo yn swyddogaeth catify hwn.
Milo yn dechrau allan.
Mae ei enw i yw Milo Banana.
Trosglwyddaf y gwrthrych i mewn i swyddogaeth oherwydd ei fod yn wrthrych, yn cysylltiadol
amrywiaeth yn JavaScript.
>> Pan fyddaf yn perfformio llawdriniaeth yn y swyddogaeth honno, bydd yn
mewn gwirionedd yn newid y gwrthrych.
Felly, bydd hyn ond yn digwydd ar gyfer gwrthrychau yn JavaScript, yn union fel mae'n digwydd
ar gyfer araeau tu mewn enw C. Felly Milo yn Bydd yn dod yn mewn gwirionedd gath nawr.
A yw hynny'n gwneud synnwyr?
Felly mae hyn ond yn gweithio ar gyfer gwrthrychau.
Gwrthrychau yn cael eu pasio trwy gyfeirio.
Ie.
>> GYNULLEIDFA: Felly, rydych yn dweud bod yn wahanol i fi amrywiol.
>> JOSEPH Ong: Yeah.
Pa newidyn fi yn unig oedd nifer, dde?
Mae fel yn C pan fyddwch yn pasio Cyfanrif yn, mae'n gwneud copi.
A phan fyddwch yn trosglwyddo amrywiaeth, mewn gwirionedd newid yr amrywiaeth gwirioneddol mewn
C. Mae'r un peth yn digwydd gyda JavaScript yn yr achos hwn.
Mae pob hawl.
Ac yn nesaf, Milo yn drist oherwydd ei fod bellach yn gath.
A oedd mewn gwirionedd Milo ar ôl rhywfaint o daith at y milfeddyg.
>> Felly, sut yr ydym yn defnyddio JavaScript mewn tudalen we?
Gallwn gynnwys.
Mae hyn yn cod HTML â'r tagiau stribed.
Felly mae gen i tagiau stribed yno.
Ac yna yr wyf yn rhoi rhywfaint o JavaScript cod o fewn y tagiau script.
Ac yna mae'n executes hyn.
Pan Fi jyst yn ei wneud fel hyn, mae'n enw JavaScript unol.
Mae'n fath o anniben, gan fod y JavaScript mewn gwirionedd yn y HTML.
>> Mae ffordd well i wneud hyn, yn llawer brafiach, yw ysgrifennu eich JavaScript mewn
ffeil allanol ac wedyn yn darparu y tag sgript gyda ffynhonnell.
A bydd hyn yn mynd i'r ffeil JavaScript a darllen y cod JavaScript o
bod yn cyflwyno yn lle hynny.
Ac mae hyn yn ffordd, nad oes gennych lawer o JavaScript ar ddechrau eich
Ffeil HTML, sy'n gwneud 'n sylweddol anniben.
Rydych yn unig ei roi yn rhywle arall.
Ac yna bydd yn ei ddarllen oddi yno.
Gwneud hynny yn gwneud synnwyr?
>> Materion lleoliad.
Yn yr achos arbennig hwn, mae'r sgript gerbron y corff.
Felly, pan fyddaf yn gweithredu hynny, mae nid oes dim yn y corff eto.
Efallai y bydd hyn yn gwneud ychydig yn fwy yn synhwyro pan fyddaf yn dangos y rhan nesaf.
Yn yr achos hwn, y sgript dod ar ôl y div.
Felly mae'r div mewn gwirionedd yn ymddangos ar y dudalen gyntaf.
Yma yn y cylch bach coch, byddwch yn gweld y testun yn ymddangos.
Ac yna y rhybudd yn dangos i fyny.
>> Yn yr achos cyntaf, gan fod y sgript oedd cyn yr div, y
rhybudd yn dangos i fyny yn gyntaf.
Ac yna y div yn dangos i fyny ar ôl eich diswyddo yn y blwch.
Felly gweithredu bwysig.
Felly, byddwn yn cadw hyn mewn cof.
Bydd hyn yn bwysig mewn ychydig.
OK.
Felly yn dda, sut yr ydych yn aros tan y dudalen gyfan yn cael ei lwytho, yna cyn i chi
gweithredu rhywfaint cod?
Byddwn yn cael i mewn i hyn ychydig ychydig yn ddiweddarach hefyd.
Ond dim ond cadw lleoliad hwn materion mewn cof pan fyddwn yn
dod i'r sleid arall.
>> Felly, rydym yn cael DOM nawr.
A beth yw DOM?
Felly, os ydych yn edrych ar cod HTML, dim ond criw o destun ar y sgrîn.
Felly sut mae JavaScript yn gwybod bod mae hyn yn elfen HTML?
Felly, mae'n rhaid i ni gael rhywfaint o gof gynrychiolaeth o hyn
strwythur sydd gennym.
A phan gennym hyn mewn cof gynrychiolaeth yn JavaScript, rydym yn galw
bod y DOM.
A 'i' jyst ffordd y mae pobl yn penderfynu y dylem gynrychioli'r hyn
Strwythur HTML fel.
>> A beth mae DOM hyn yn edrych fel?
Wel, mewn cynrychiolaeth cof, rydym yn cymryd y testun hwn.
Ac rydym yn troi i mewn i gof cynrychiolaeth.
Felly, mae hyn yn y HTML.
Felly, rydym yn cael gwybod yn gyntaf bod pob Coeden DOM Mae dogfen.
Mae'n edrych fel coeden.
Ac mae'r ddogfen yn cynnwys y HTML tag, mewn gwirionedd popeth
tu mewn hyn yn awr.
Mae gan y tag HTML ddau o blant.
Mae ganddo ben.
Mae hynny'n ben, os ydych yn edrych ar bant dros yno ar sut y caiff ei strwythuro
rhwng y tagiau agos, pennaeth plentyn.
Mae'r plentyn yn teitl.
Yn union.
>> Yn awr, mae gennym blentyn corff.
Ac yna y corff hwn plentyn o'r enw teulu.
A bod teulu dri o blant -
hynaf, canol, ac ieuengaf.
Felly, dylech wybod sut i dynnu diagram fel hyn pan fyddwn yn gofyn i chi sut
llunio diagram pan fyddwn yn rhoi chi HTML ar y chwith.
Gwybod sut i gynhyrchu'r goeden DOM.
Ac y tu mewn o'r pethau hyn, nid dim ond rhywfaint o destun, yr wyf wedi cynrychioli
blychau cyn lleied.
>> A yw hyn yn strwythur coeden DOM gwneud synnwyr a beth yw'r DOM yw?
Felly beth mae'r p yn sefyll am?
Dros yma, mae'r p dros yno yn y tag yn cynrychioli
paragraff tag yn HTML.
Felly, gallwch edrych i fyny.
Ond 'i jyst yn golygu ei fod yn rhai lle ar gyfer rhywfaint o destun.
Ac mae ganddo beth steilio CSS diofyn, oherwydd ei fod yn tag paragraff.
Nid yw ond yn wir yn poeni am y rhan honno gormod.
Dim ond yn gwybod ei fod yn dalfan ar gyfer rhywfaint o destun.
Ie.
Cwestiwn?
Ie.
>> GYNULLEIDFA: Yr ydych newydd sôn CSS.
Mae'r teulu hash a'r hash yr holl bethau sydd yn y bôn
cynrychioli IDs mewn CSS?
>> JOSEPH Ong: Yeah, yn union.
Byddaf yn cael yr hyn hashes hyn yn ei olygu mewn eiliad.
Pan aeth Angela dros CSS, mae hi'n siarad am detholwyr CSS.
Mae'r rhain yn y dewiswyr CSS sy'n ei bod yn sôn amdano.
Ie, Rob?
>> ROB BOWDEN: Byddwn hefyd yn gwneud sylwadau bod DOM tu mewn tag teitl
yn nod destun hefyd.
>> JOSEPH Ong: Iawn.
Felly, y tu mewn i'r tag teitl, Mae gennyf rywfaint o DOM destun.
Felly mewn gwirionedd, dylai teitl hwn gael fel ychydig blwch yn dod i ffwrdd ohono hefyd.
Ond nid yw'n wir bwys gormod yn yr achos hwn.
Nid ydym yn wir yn poeni am nodau testun, fel yr ydym yn eu galw, yn rhy fawr.
OK, rydym yn ei wneud.
Mae'n debyg, rydym yn ei wneud.
A mi atgyweiria bod pan I'n llwytho eto.
A yw hynny'n gwneud synnwyr?
>> Felly, sut rydym yn gweithio gyda'r DOM?
Pryd bynnag y byddwch yn delio â'r DOM yn JavaScript, mae dau gam.
Chi ddewis elfen DOM.
Ac yna i chi wneud pethau iddo.
Felly, yn yr achos hwn, haniaethol, rydw i wedi dewis yr elfen canol.
Ac yna enghraifft o wneud pethau iddo yn cael ei newid y testun.
A arferai fod Bob.
Yn awr, beth a wneuthum i ei fod yn fy mod wedi newid Bob i Milo yn yr achos hwn.
>> Felly, sut rydym yn ei wneud mewn gwirionedd hyn?
Sut ydym ni'n gwneud y dewis?
A sut rydym yn gwneud pethau y i y peth ar ôl i ni wedi cymryd ei?
Wel, y ffordd yr ydych guys wedi dysgu ei yn y dosbarth hwn yw drwy ddefnyddio rhywbeth yr ydym
a elwir yn jQuery.
Felly beth yw jQuery?
jQuery yn llyfrgell sy'n gwneud JavaScript yn haws i ysgrifennu.
Felly rhywun yn cymryd yr amser ac ysgrifennodd jQuery.
>> jQuery ei ysgrifennu mewn gwirionedd yn JavaScript.
Ac yna oherwydd eu bod yn gwneud hyn, rydym yn awr yn cael criw cyfan o swyddogaethau sy'n
gallwn ddefnyddio'r sy'n gwneud ein yn byw yn hawdd iawn.
Felly beth yw rhai o'r pethau y mae'n ei wneud?
Mae'n gwneud dewis elfennau haws.
Mae'n gwneud newid HTML, ychwanegu dosbarthiadau yn haws.
Mae'n gwneud Ajax yn haws.
Byddwn yn mynd at hynny mewn eiliad.
>> Ac mae'n debyg i lyfrgelloedd C.
Felly, eich bod yn cynnwys string.h, byddwch yn cael strlen.
Byddwch yn cael strcpy, yr holl bethau hyn.
Pan fyddwch yn cynnwys jQuery, byddwch yn cael 'n glws ffyrdd i ddewis elfennau i newid yn
pethau, et cetera.
Byddwch yn cael swyddogaeth ychwanegol y Nid yw JavaScript yn rhoi i chi.
Felly nid yw jQuery JavaScript.
jQuery yn llyfrgell sy'n cael ei ysgrifennu yn JavaScript sy'n gwneud JavaScript
yn haws i ysgrifennu.
>> Felly nid jQuery yn rhaglennu iaith.
Ond JavaScript.
gwneud.
Sicrhau eich bod yn cael eich derminoleg gywir.
Unrhyw gwestiynau?
Ie.
A yw hynny'n gwestiwn?
Mae pob hawl.
Felly, sut ydych chi'n ei ddefnyddio jQuery?
Wel, pan fyddwch yn ysgrifennu rhai JavaScript cod ac eich bod yn cynnwys
jQuery ar frig eich ffeil fel ffeil sgript, byddwch yn defnyddio'r arwydd doler
nawr i gael mynediad i jQuery.
Ac mae hyn yn wahanol i yr arwydd ddoler yn PHP.
>> Mae yr un symbol i chi deipio ar eich bysellfwrdd.
Ond maent yn ei olygu pethau gwahanol iawn.
Arwydd doler yn PHP yn golygu hon yw sut yr wyf yn datgan newidyn.
Yn JavaScript, pan ydych wedi cynnwys jQuery, mae'n sefyll ar gyfer jQuery.
Felly cadwch hynny mewn cof.
Felly, sut y gallem ddewis elfennau DOM?
Wel, pan fyddwch yn ei wneud yr JavaScript hyll ffordd, byddwch yn cael mynediad i'r
dogfennu amrywiol byd-eang.
Ac yna byddwch yn cael elfen gan deulu adnabod.
Mae hyn yn wir yn hir ac yn eiriog ac nid yn neis iawn.
>> Neu gallwch gael yr holl elfennau sydd yn tag t.
Sy'n gweithio hefyd yn JavaScript.
Ond ni fyddwn byth yn dangos mewn gwirionedd chi y gystrawen gormod.
Yr hyn yr ydym yn dangos i chi yn jQuery.
Er mwyn i detholydd cyfan i fyny yno y Mynegwyd yn JavaScript yn mynd yn
tew at y ddoler iawn 'n glws llofnodi teulu hashtag.
A $ p, dim ond lle y mae fel hynny.
Os ydych am i ddewis pob tag p y tu mewn i deulu, rydym yn rhoi lle
rhwng y ddau.
Ac yn awr, yr ydym yn cael yr holl p tagiau tu mewn i deulu.
>> Ac yn edrych yn gyfarwydd?
Wel, siaradodd Angela am Detholwyr CSS.
Rhowch un eiliad i mi.
Ac felly, er mwyn dewis elfen, 'ch jyst yn defnyddio'r un peth â chi
Byddai wneud gyda detholydd CSS.
Os byddwch yn rhoi hash o flaen ohono, mae'n dewis drwy adnabod.
Mae dot dewis gan ddosbarthiadau.
Os ydych yn unig yn cael y peth heb hashes neu ddotiau, mae'n dewis tagiau hynny.
Cwestiynau.
Ie?
>> GYNULLEIDFA: Pan fyddwn yn defnyddio dot yn ein HTML, yw nad jQuery?
>> JOSEPH Ong: Dot yn ein HTML yn beth JavaScript.
Dyw hi ddim yn beth jQuery.
Mae'r ffordd yr ydych yn guys a ddysgwyd gyda jQuery yw defnyddio. html.
Ac yna i chi basio ei beth bynnag HTML yn mynd i fod.
Felly byddaf yn cyrraedd y mewn dim ond ail mewn gwirionedd.
Felly, sut rydym yn ei wneud pethau i elfen ar ôl i ni wedi dewis hyn?
Felly dyna enghraifft o ddewis elfen.
Felly nawr, rydym am wneud pethau iddo.
>> Felly, yn yr achos hwn, gadewch i mi fynd yn ôl at y sleid flaenorol.
Roedd Bob blaen.
Ac yr wyf am newid hynny y tu mewn i HTML Milo.
Felly, yr wyf yn galw y swyddogaeth HTML o'r elfen.
Swyddogaeth honno HTML yn dull o elfen.
Ac yna yr wyf yn ei roi pa Yr wyf am i'r HTML i fod.
Ac 'i jyst yn cymryd lle beth sydd tu mewn y tag gyda beth bynnag yr wyf yn ei roi.
Ie.
Cwestiwn?
>> GYNULLEIDFA: Y hashtag yn cael ei ddefnyddio ar gyfer dim ond y jQuery.
[Anghlywadwy]
ni fyddem yn defnyddio hwnnw.
>> JOSEPH Ong: Yeah, yn union.
Ond peidiwch â phoeni gormod JavaScript am pur.
Fi jyst am i chi guys i ganolbwyntio ar sut yr ydych yn Byddai wneud hynny gyda jQuery, oherwydd
mae hynny'n mynd i fod yn bwysig rhan ar y cwis.
Iawn.
Yn union.
Felly, byddwch yn gweld bod hashtag, fel y yn cyfateb i ddewis yr elfen gyda
canol ID oherwydd hynny hashtag.
Hashtag yn golygu adnabod.
Ac mae yr elfen hon yn cael ID y canol.
Felly dyna yr elfen rydym yn dewis.
>> GYNULLEIDFA: [Anghlywadwy].
hashtag arwydd doler [Anghlywadwy]?
>> JOSEPH Ong: Felly dim.
Y cwestiwn yw y gallwch eu defnyddio. Gwerth.
A. Gwerth dim ond yn gweithio ar elfennau sy'n mewnbynnau.
Yn jQuery, byddai'n . Val, peidio. Gwerth.
Felly byddaf yn cyrraedd enghraifft bach sy'n dangos hyn i gyd ar y cyd
mewn eiliad.
Ond yr wyf yn credu bod hyn yn gwasanaethu ychydig o snippet gwneud synnwyr i bobl hyd yn hyn.
Eisiau newid y HTML, ffoniwch y dull HTML.
Ie.
>> GYNULLEIDFA: A allwch egluro y dull eto?
>> JOSEPH Ong: Felly dull yn unig yw swyddogaeth sy'n perthyn i un, yn yr
achos, un o elfennau DOM hyn, oherwydd eich bod yn gweld fy mod
dewis yr elfen gyntaf.
A dweud y gwir, gadewch i mi ddefnyddio'r llygoden.
Dewisais yr elfen gyntaf.
Ac yna yr wyf yn galw HTML hon weithredu ei fod wedi.
Ac oherwydd swyddogaeth hon yn perthyn i y peth hyn, rydym yn galw ei fod yn dull.
Dyna dim ond enw ffansi ar ei gyfer.
Ddweud hynny eto.
Felly cofiwch, rydym yn dewis yr elfen nawr.
Ac rydym wedi rhoi y tu mewn o yr elfen amrywiol.
Cywiro?
>> Felly, pan rydym am newid y HTML ar y tu mewn, oherwydd ei fod Bob o'r blaen, i chi
am newid hynny testun i Milo.
Felly, rydym yn galw HTML.
Ac yn dweud wrthynt beth y HTML y tu mewn Dylai fod elfen fydd nawr.
Ac felly mae'n newid i Milo, oherwydd fy mod rhoddodd Milo.
>> GYNULLEIDFA: Felly, maent yn gweithio gyda'i gilydd.
[Anghlywadwy]
>> JOSEPH Ong: Yeah, yeah.
Maent yn gweithio gyda'i gilydd.
Felly, un ohonynt yn dewis yr elfen gyntaf.
A'r ail un yn rhywbeth iddo.
Ie.
>> GYNULLEIDFA: [Anghlywadwy].
Os yw y dull hwn yn wahanol yn HTML eich bod yn cael y dull cyfartal gwirioneddol.
>> JOSEPH Ong: Yeah.
Mae hynny'n ddull gwahanol.
A gallwn ymdrin â hynny mewn dim ond ail pan fyddwn yn cyrraedd enghraifft.
Yr wyf am wneud yn siŵr ein bod yn cyflymu i fyny oherwydd ein bod yn rhedeg allan o amser.
Ond rydym wedi rhedeg ffordd dros amser bellach.
OK.
Cool.
Felly, os ydych eisiau ychwanegu dosbarth, mae hefyd yn ddull dosbarth ychwanegu.
Mae hyn yn unig yn enghraifft o'r hyn gallwch ei wneud gyda jQuery.
Mai dim ond yn ychwanegu dosbarth.
>> Os ydych am ddileu, gallwch ffonio dileu.
Dyna dim ond beth arall y gallwch ei wneud.
Felly, mwy o enghreifftiau o bethau y gallwch eu gwneud.
Felly, gallaf ei roi ar y brig fel hyn?
Dileu ieuengaf.
Os Fi jyst gweithredu y JavaScript ar ben fy ffeil, a fydd yn gweithio?
Iawn.
Oherwydd nad canol yn bodoli eto.
Felly, nid yw hyn yn mynd i weithio.
Gorchymyn weithredu.
Mae'n mynd i'r brig yn gyntaf.
Beth?
>> GYNULLEIDFA: Nid ieuengaf yn bodoli eto?
>> JOSEPH Ong: Yeah.
Nid ieuengaf yn bodoli eto.
Yn union.
>> GYNULLEIDFA: Dywedasoch canol.
>> JOSEPH Ong: Mae'n ddrwg gennyf.
Nid ieuengaf yn bodoli eto.
A'r peth arall yw nad wyf wedi cynnwys y jQuery
ffeil gofyn src script.
Felly, nid yw hynny'n mynd i weithio.
A dweud y gwir, doeddwn i ddim yn gwneud hynny yn y sleid nesaf, sydd yn
i fod i atgyweiria bod naill ai.
Ond mae'r ffordd yr ydym yn gwneud hyn yw JavaScript yn cael ei yrru digwyddiad.
Felly, yr hyn yr ydym yn ei wneud yw ein defnyddio'r digwyddiad triniwr i wneud i hyn ddigwydd.
Ac felly yr wyf yn dewis y ddogfen gosod yn gyntaf.
Yr wyf yn ei ddweud, OK, pan fydd y ddogfen yn barod, gadewch i mi redeg swyddogaeth.
Felly dyna'r cyfan mae hynny'n ei olygu gystrawen.
>> Yr wyf yn dewis y ddogfen.
Nawr, pan fydd y ddogfen yn barod, rhedeg y swyddogaeth.
Ac felly dros yma pan fydd y ddogfen yn parod, sy'n golygu yr holl HTML wedi
llwytho, yna yr wyf yn rhedeg y swyddogaeth sy'n dileu yr elfen honno.
Ac felly yn awr, pan fyddaf yn rhedeg swyddogaeth hon fy mod yn pasio i mewn yn barod, rwy'n
gwarantu bod yr holl HTML ar y dudalen yn mynd i fodoli yn gyntaf.
Ie.
Cwestiwn?
>> GYNULLEIDFA: Beth yw'r gair allweddol digwyddiad o fewn y swyddogaeth?
>> JOSEPH Ong: Felly y gair allweddol ddigwyddiad yn y swyddogaeth yn unig yw baramedr sy'n
yn cael ei drosglwyddo i'r swyddogaeth ar gyfer unrhyw ddigwyddiad.
Dim ond rhywbeth sy'n a gewch am ddim.
Pan fyddwch yn defnyddio trinwyr allweddol yn pset8, gallai y digwyddiad hwnnw yn dweud i chi, er
enghraifft, sydd allweddol yr ydych yn pwyso ar.
Yn yr achos hwn, ar gyfer digwyddiad parod, mae'n mewn gwirionedd nid super defnyddiol.
Ond ar gyfer digwyddiad i lawr allweddol, mae'n fwy ddefnyddiol, oherwydd eich bod yn dod i wybod pa
allweddol yr ydych yn pwyso trwy gael mynediad allweddol Cod oddi ar y gwrthrych digwyddiad.
Cywiro?
A yw hynny'n gwneud synnwyr?
OK.
Ie.
Cwestiwn?
>> GYNULLEIDFA: Felly, gallwch chi roi'r tag sgript yn is i lawr?
>> JOSEPH Ong: Felly yeah.
Gallech roi'r sgript tagio yn is i lawr.
Ond yna 'i jyst yn dod yn wir yn anniben.
Ac rydym yn hoffi i ganoli pob o'n cod mewn un lle.
A bydd hyn yn caniatáu i ni wneud hynny.
Cofiwch y dywedais yn gynharach mae 'na brafiach ffordd o sicrhau bod elfennau
ar y dudalen cyn i chi weithredu cod?
Ac mae hyn yn unig yw ffordd braf byddech yn cyflawni hynny.
>> GYNULLEIDFA: [Anghlywadwy].
>> JOSEPH Ong: Yeah.
Byddai'n rhaid i chi, dde?
Oherwydd cofiwch, chi wedi cynnwys y ffeilio ar frig y dudalen.
Felly, mae'n mynd i weithredu yn gyntaf cyn i chi gyrraedd y waelod y dudalen.
OK.
Felly, gallwch hefyd ychwanegu gwahanol math o trin digwyddiad.
Mae hyn yn un yn unig prosesau chleciau.
Pan fyddaf yn clicio ar ieuengaf, yna bydd yn pop i fyny gyda rhybudd.
Mae hyn yn unig yw gwahanol math o ddigwyddiad.
Yn hytrach na'r digwyddiad yn barod, chi nawr defnyddio'r digwyddiad cliciwch pan fyddwch yn derbyn
clicio ar elfen.
>> Ac felly yn yr achos hwn, cofiwch, cliciwch trafodwr ynghlwm wrth ieuengaf.
Felly, mae'n digwydd dim ond pan Yr wyf yn cliciwch ar ieuengaf.
Ac yn yr un arall, y digwyddiad yn barod ynghlwm wrth y ddogfen.
Felly mae'n aros am y ddogfen i fod yn barod.
Yn gwneud synnwyr?
Rwy'n credu fy mod yn gallu symud ymlaen.
Ie.
Cwestiwn?
>> GYNULLEIDFA: [Anghlywadwy].
yn yr achos hwn byddwch yn defnyddio [Anghlywadwy].
>> JOSEPH Ong: O, ie, oherwydd yn yr achos, rhaid i mi aros am y ieuengaf
elfen i ymddangos ar y sgrin gyntaf cyn y gallaf atodi trin cliciwch i
, a dyna pam yr wyf yn ei roi y tu mewn o ddogfen yn barod.
OK.
Ac nesaf, felly mae hyn yn enghraifft fawr o sut y byddech yn cyfuno popeth.
Mae hyn yn unig yw enghraifft o ffurflen ddilysu rydych wedi ei weld yn y ddarlith.
Felly, yn cymryd ei gam wrth gam fel i chi fynd drwy hyn.
A bydd yn hollol iawn.
Dim ond yn ei ddarllen o'r top i'r gwaelod.
>> Mae gen i ffurflen ar y gwaelod.
Pan fydd y ddogfen yn barod, yr wyf yn atodi cyflwyno triniwr at y ffurflen, fel bod
pan fyddaf yn cyflwyno'r ffurflen, yr wyf yn cael y gwerthoedd y tu mewn i bob un o'r mewnbynnau hynny.
Ac yr wyf yn gwirio os yw'n wag.
Os yw'n wag, yr wyf yn dychwelyd ffug, oherwydd bod Nid wyf am i gyflwyno'r ffurflen,
oherwydd bod y ffurflen yn anghywir.
Os yw'r cyfrinair yn wag, neu mae'n llai nag wyth cymeriadau, nid wyf yn cyflwyno
y ffurflen, oherwydd dyna le hefyd.
Ac mae'r ffug dychwelyd yn unig yn atal y ffurflen rhag cyflwyno a
mynd i dudalen newydd.
>> Ac yn gobeithio, mae hyn yn gwneud synnwyr.
Yr wyf yn meddwl y dylech chi guys gerdded drwy'r cod hwn gam wrth gam ar eich pen eich hun.
Ac unwaith y byddwch yn deall yr hyn y mae'r dewis elfennau a gwneud pethau iddo
mewn gwirionedd yn ei olygu, bydd hyn yn gwneud llawer o synnwyr i chi.
Ie?
>> GYNULLEIDFA: Beth mae'r name = enw defnyddiwr yn ei olygu?
>> JOSEPH Ong: Felly yr enw = enw defnyddiwr a name = cyfrinair yn unig yn golygu edrych ar y
priodoledd o ba bynnag eich bod yn dewis.
Ac yna y mae'n gyd-fynd.
Felly, rydym yn mynd i mewn i gofrestru.
Ac yna rydym yn edrych ar yr holl fewnbynnau a chofrestru.
Ac yna rydym yn dewis un lle mae'r enw priodoledd yn hafal i enw defnyddiwr.
Felly dim ond yn dewis y dewisydd cyntaf mewnbwn enw defnyddiwr.
A bod ail dewisydd dim ond dewis y cyfrinair un, gan fod hynny
eu priodoleddau enw osod fel hyn y maent yn fod i fod.
Cwestiwn?
>> GYNULLEIDFA: O ran cyflwyno, sut mae'r rhan isaf datrys y rhan uchaf?
>> JOSEPH Ong: Felly dyna oherwydd y triniwr digwyddiad.
Felly, rydym yn aros ar gyfer digwyddiad cyflwyno sy'n cael ei danio ar y ffurflen.
A dyna i gyd sydd yn cyflwyno.
Pam ydw i'n galw gyflwyno hyd yno?
Mae'n dweud, pan fydd y ffurflen yn cael ei chyflwyno, Rwy'n cael digwyddiad cyflwyno.
Felly, gadewch i mi rhyng-gipio hynny ac yna rhedeg y cod hwn yn lle hynny.
Ie?
>> GYNULLEIDFA: Pam oes gennych i gael digwyddiad swyddogaeth?
Pam na allwch chi yn unig [Anghlywadwy]?
>> JOSEPH Ong: Oherwydd yn JavaScript, rydych yn rhaid i ddatgan swyddogaethau.
Dyna dim ond sut mae'n gweithio yn JavaScript.
Rhaid i chi ddweud ei fod yn mynd i redeg swyddogaeth.
Felly, rydych yn dweud eich bod yn disgwyl swyddogaeth yma yn hytrach na
dim ond braces cyrliog.
>> GYNULLEIDFA: A'r swyddogaeth yw beth bynnag dilyn?
>> JOSEPH Ong: Yeah.
Mae'r swyddogaeth yw beth bynnag sydd y tu mewn y braces cyrliog ar ôl
y gair allweddol swyddogaeth.
Ie?
>> GYNULLEIDFA: [Anghlywadwy].
>> JOSEPH Ong: Ar gyfer cyflwyno?
>> GYNULLEIDFA: Na, ar gyfer swyddogaeth heb y digwyddiad.
>> JOSEPH Ong: Yeah.
Felly, heb y digwyddiad, gallwch gael hynny.
Os nad oes angen y digwyddiad, yna gallwch hepgor.
Ond os ydych yn ei wneud, yna rydych jyst roi yno.
Ie.
Cwestiwn cyflym?
>> GYNULLEIDFA: [Anghlywadwy].
>> JOSEPH Ong: Yeah.
Oherwydd hyn y mae angen i chi ei wneud, mae'r document.ready yn unig yn dweud aros ar gyfer yr holl
HTML ar y dudalen i lwytho gyntaf.
Ac fel arfer, ydych am i'ch elfennau yn eu lle cyn i chi yn rhedeg unrhyw god.
Mae pob hawl.
Mae'n rhaid i ni gyrraedd Ajax.
Nid oes gennym lawer o amser.
Felly, manteision ac anfanteision.
JavaScript yw cais yn haws ysgrifennu gyda jQuery.
Ond jQuery yn fath o araf.
>> Mae fel PHP yn arafach na C, oherwydd ei fod yn ei dehongli.
Ac jQuery yn ychydig yn arafach na'r JavaScript, oherwydd ei fod yn gwneud llawer o
pethau o dan y cwfl.
Ac felly os ydych yn defnyddio jQuery, mae'n dim ond ychydig yn arafach na'r
JavaScript, er ei fod yn yn rhoi ceinder 'n glws i chi.
Ac yn olaf, Ajax.
Hyd yn hyn gyda Ajax, nad ydych wedi gweld Ajax o ran pset7 eto, oherwydd
pan fyddwch yn gwneud, i chi gyflwyno ffurflen i dyfynbris.
Mae'n llwythi tudalen newydd.
Felly, byddwch yn cael hyn yn fflachia gwyn mawr ar y dudalen tra bod
ail llwythi dudalen, yn gywir?
>> Byddai'n neis iawn os ydych yn Nid oedd gan fflach hwn.
Fel Facebook, os ydych yn unig sgrolio i y gwaelod, mae'n ychwanegu cynnwys newydd
heb adnewyddu'r dudalen gyfan.
Felly, byddai rhywbeth fel hyn yn braf.
Mae hyn yn cod JavaScript ar yr ochr chwith.
Byddwch yn cael yr hyn sydd y tu mewn y mewnbwn.
Byddwch yn cael y wybodaeth stoc o Yahoo!
Ac yna byddwch yn gwneud llinyn mawr sy'n dweud, OK, dyma'r neges yr wyf am
i ddangos ar y sgrin.
Ac yna byddwch yn rhoi y neges y tu mewn o rhyw elfen HTML sy'n cael
harddangos ar y sgrin.
>> Felly dyna i gyd sy'n digwydd yma.
Felly y bôn, oherwydd mae hyn oll Nid oes angen Javascript a chi i redeg
anymore PHP, bydd hyn yn gwneud yn siŵr nad yw'r dudalen yn adnewyddu.
Felly, mae hyn yn unig yw syniad haniaethol fy mod yn ei ddweud yma am y tro.
Y syniad haniaethol yw os ydych yn ei wneud i gyd yn JavaScript, nid oes gennych
tudalen adnewyddu.
Ond sut yr ydych yn ei wneud hyn?
>> Wel, mewn gwirionedd, gadewch i ni siarad am problem gyda hyn gyntaf.
Mae problem yn JavaScript, gweithredu yn synchronous.
Felly, rhaid i chi aros am un llinell i orffen cyn i chi
gweithredu y llinell nesaf.
A beth os ydw i'n mynd draw i Yahoo!, ac mae eu gweinyddion yn araf iawn, a
mae'n cymryd tair eiliad i rhoi i mi yn ôl y wybodaeth stoc?
Pan fyddaf yn cyrraedd y llinell pris, os yw'r gweithredu yn cydamserol, fel y mae gan
diofyn, beth yn union mae'n mynd i wneud yw eich porwr yn mynd i stondin am
tri eiliad.
Ac nid ydych yn mynd i fod yn gallu gwneud unrhyw beth er ei bod yn cael data hwnnw.
Mae'n mynd i gael ei rewi.
>> Ac mae hynny'n ddrwg.
Dydych chi ddim eisiau defnyddiwr i gael tudalen ar y we wedi'u rhewi.
Cywiro?
Dyna dim ond drwg.
Mae pawb yn cytuno?
Os ydych yn pori Facebook ac mae'n rhewi ac ni allwch wneud unrhyw beth, rydych yn
cael rhwystredig iawn.
Felly yr ateb yw ein gwneud rhywbeth asynchronous yn lle hynny.
Felly hyn i gyd yn dweud beth asynchronous yw, rwy'n mynd i ofyn i hyn
URL ar gyfer rhywfaint o ddata.
Ac yna yr wyf i'n mynd i ddal ati.
Im 'jyst yn mynd i gadw gweithredu beth bynnag cod a oedd ar ôl hynny.
>> Ac yna pryd bynnag y data sy'n barod, yna byddaf yn ei brosesu.
Dyna i gyd mae'n ei ddweud.
>> GYNULLEIDFA: Ajax yn unig yn gwneud Cod asynchronous?
>> JOSEPH Ong: Mae'n asynchronous ffordd o ddata Wrthi'n nôl.
Felly, y peth cyntaf am Ajax mae'n gadael i mi gael data
o wefan allanol.
A'r ail beth yw ei fod yn gwneud yn siwr nad yw fy dudalen yn stondin er fy mod i'n
nôl data hwnnw.
Dyna y rhan asynchronous ohono.
Oherwydd ei fod yn mynd i ffwrdd yn rhywle arall, oherwydd fy mod yn dweud fy mod yn cadw mynd ymlaen tra
mae'n nôl data hynny, y yn ei gwneud yn asynchronous.
Yr wyf yn cadw gweithredu.
>> Felly cadwch y asynchronous syniad mewn golwg.
A byddaf yn dangos i chi beth y gwahaniaeth yw.
Mae'r fersiwn cydamserol ar yr ochr chwith.
Mae'r fersiwn asynchronous ar yr ochr dde.
Edrychwch ar y rhifau i weld pa camau yn cyfateb i'r hyn
executes ar bob llinell.
Dros yno, mae'r rhybudd yn dangos i fyny yn gyntaf.
Oherwydd mae cael gwybodaeth stoc o Yahoo!
yn cymryd tair eiliad, mae'n stondinau ar gyfer tri eiliad.
Ac yna mae'n rhybuddio y pris ar ôl y rhai tair eiliad.
>> Felly nawr, sy'n dangos yn effro i fyny ar y pryd -
tri eiliad i mewn
Ac yna mae'n rhybuddio gan ar ôl hynny.
Felly, 'i jyst yn mynd gam wrth gam.
Mae fel hyn yr ydych guys Byddai derbyn, yn gywir?
Gyda gweithredu asynchronous, yn tynnu eich sylw gyntaf.
Yna byddwch yn mynd i ffwrdd i URL hwn.
A ydych yn dweud, dw i'n mynd i dim ond gofyn am y data.
Ac yna yr wyf i'n mynd i brosesu yn ddiweddarach.
Felly, unwaith executes y llinell nesaf ar ôl i mi wneud y
cais asynchronous.
>> Felly 0.001 eiliad, byddwch yn gweld hi yn effro.
Gweithredu swyddogaeth honno, bye effro.
Ac oherwydd yr wyf yn gwneud addewid i mi Byddai prosesu'r data yn ddiweddarach, beth
digwydd yw pan ddaw data hynny yn ôl tri eiliad yn ddiweddarach, yna Rwy'n rhedeg y
swyddogaeth sydd gennyf dros yno.
Ie?
>> GYNULLEIDFA: A allech chi nodi neu egluro beth Ajax olygu?
>> JOSEPH Ong: Felly Ajax yn ffordd os byddaf yn angen data pan dwi ar wefan ac yr wyf yn
nad ydych am i adnewyddu y dudalen, yna Yr wyf yn defnyddio technoleg o'r enw Ajax.
Mae hynny'n hanfod yn unig yn golygu, ewch nôl data o wefan arall.
Ac yn gwneud hynny mewn ffordd sy'n dim ond Nid oes stondin fy dudalen we.
>> GYNULLEIDFA: Felly yw bod cynhenid rhan o JavaScript neu jQuery?
>> JOSEPH Ong: Felly rhywun ysgrifennodd ffordd o wneud hyn mewn JavaScript amser maith yn ôl.
Ar un adeg, nid oedd yn bodoli.
Ac felly rhywun yn dyfeisio dechneg hon i alluogi pobl i ofyn am ddata hon
yn y modd hwn.
Ac maent yn ysgrifennu rhai pethau i wneud hynny ar eich rhan.
A jQuery yn unig yn rhoi i chi y ffordd neis iawn i wneud hynny
gyda $ hwn. gael swyddogaeth.
cwestiynau?
Yr wyf yn gallu ateb cwestiynau am Ajax wedi hynny hefyd.
'N annhymerus' fod yma.
>> Felly mae'n gadewch i ni nôl data heb adnewyddu'r dudalen.
Ac mae'n gadewch i ni i wneud hyn yn ffordd asynchronous bod
nid yw'n rhewi y dudalen.
Rhy hir, nid oedd yn darllen os mai esboniad yn rhy hir i chi.
Felly yn olaf, traws-safle ymosodiadau sgriptio.
Rydym yn gweld hyn gyda Zamyla.
Os oes gan yr enw hwn yn fy gronfa ddata rywun, sydd yn tag sgript hwn, ac yr wyf yn
cael rhywfaint cod ar fy tudalen sy'n printiau allan enwau pobl yn olynol, neu mae gennyf
rhywfaint o cod JavaScript mewnosod sy'n yr enw hwn yn y dudalen,
pa HTML yn cael ei gynhyrchu?
Wel, yr wyf yn argraffu'r tag HTML.
Yr wyf yn argraffu pob tag hyn.
>> Cyrraedd y rhan lle rwy'n argraffu allan gyda fy ffrindiau.
Yr wyf yn argraffu Lauren allan.
Mae'n argraffu Milo allan.
Ac yna fy enw yn y gronfa ddata yn ôl sgript
statws Facebook angharedig.
Gan fy mod yn mewnosod hyn yn y dudalen oherwydd ei fod yn edrych fel JavaScript, pan
y dudalen hon yn cael ei anfon at y defnyddiwr, mae'n cael ei gyflawni fel JavaScript.
Ac felly mae hwn yn yr hyn a alwn yn ymosodiad sgriptio traws-safle.
Mae rhywun yn rhoi gwybodaeth maleisus yn eich cronfa ddata a allai cyfateb i
rhai llinyn neu ychwanegol rhai llinyn JavaScript.
>> A phan fydd yn cael ei argraffu i'r dudalen yn y modd hwn, yna beth
digwydd yw bod cod drwg yn cael eu gweithredu nad oeddwn yn bwriadu
er mwyn iddo gael ei weithredu.
A dyna'r cyfan croes-safle ymosodiad sgriptio yn.
A'r ffordd yr ydych symud o gwmpas mae hyn yn debyg dywedodd Zamyla.
'Ch jyst lapio pethau yn Chars arbennig HTML.
Ac mae hyn yn HTML chars arbennig yn PHP swyddogaeth a fydd yn atal y math hwn
o beth rhag digwydd i chi os oes gennych maleisus
llinyn yn eich cronfa ddata.
'I jyst yn dianc, felly nad yw'n gwneud hynny cael ei ddehongli fel HTML.
Mae'n disodli'r cromfachau bach â'r hyn yr ydym yn galw endidau.
Ac rydym yn mynd dros hyn mewn ddarlith hefyd.
Felly, yr wyf yn meddwl y dylech chi guys gael gafael dda ar hynny.
Cwestiynau?
Ie.
>> GYNULLEIDFA: Felly sut y byddai y [Anghlywadwy]?
>> JOSEPH Ong: Dweud bod eto.
>> GYNULLEIDFA: Sut y byddai'r monitor -
>> JOSEPH Ong: Iawn.
Felly, mae gennych rywbeth sy'n dweud, pan Yr wyf yn cofrestru, math yn fy enw i.
Fi jyst deipio yn y maes hwnnw, fy enw i yw stript Facebook post angharedig
statws tag sgript agos.
Ac mai dim ond yn cael ei rhoi yn y gronfa ddata, oherwydd ni allaf ddweud rhywun
yn y byd nad oes gan enw gyda saeth chwith ynddo neu
sgript gair ynddo.
Nid yw hynny'n wir yn gwneud synnwyr.
Felly, yr wyf yn rhaid i wneud yn siŵr fy mod yn glanweithio y pethau cyn i mi ei hargraffu
allan i'r dudalen.
>> GYNULLEIDFA: Felly y cardiau arbennig HTML yn atal y tagiau sgript?
>> JOSEPH Ong: Yeah.
Felly, nid yw'n atal y tagiau script.
Mae'n gwneud yn siwr bod y Nid yw tagiau sgript yn cael
ddehongli fel HTML neu -
yeah.
'I jyst yn dod i fyny â'r hyn ydyw mewn gwirionedd.
Mae pob hawl.
Felly yr oedd yr adolygiad cwis.
Cool.
>> [Cymeradwyaeth]