1 00:00:00,000 --> 00:00:08,070 2 00:00:08,070 --> 00:00:10,430 >> R.J. Aquino: Gadewch i 'jyst ddechrau arni. 3 00:00:10,430 --> 00:00:12,310 Felly, mae hyn yw Cwis 1. 4 00:00:12,310 --> 00:00:14,890 Dyma ychydig o wybodaeth lefel uchel. 5 00:00:14,890 --> 00:00:19,915 Mae'r dudalen Amdanom gyfer y cwis ar hyn URL, bellach CS50.net, er bod y 6 00:00:19,915 --> 00:00:21,080 Bydd yn dal i weithio. 7 00:00:21,080 --> 00:00:26,920 Mae'n CS50.harvard.edu/quizzes/2013/1. 8 00:00:26,920 --> 00:00:31,070 Mae'n y mawr About dudalen, gan ddweud wrthych ble a phryd, sef ddydd Mercher nesaf 9 00:00:31,070 --> 00:00:32,100 mewn criw o ystafelloedd. 10 00:00:32,100 --> 00:00:36,120 Ac erbyn dydd Mercher nesaf, yr wyf yn yn golygu dau ddiwrnod o hyn. 11 00:00:36,120 --> 00:00:37,890 Mae'r holl wybodaeth hon yn yno. 12 00:00:37,890 --> 00:00:39,110 Ond mae'n gronnus. 13 00:00:39,110 --> 00:00:43,790 >> Felly popeth o hanner cyntaf y flwyddyn o bosibl ar y cwis, 14 00:00:43,790 --> 00:00:50,780 oherwydd na allwch chi wir yn uwch pethau yn C heb os yw'r amodau a 15 00:00:50,780 --> 00:00:51,920 ar gyfer dolenni ac yn y blaen. 16 00:00:51,920 --> 00:00:55,580 Ond bydd pwyslais ar y deunydd gorchuddio ers Cwis 0, 17 00:00:55,580 --> 00:00:59,570 gan ddechrau gyda structs a Ffeil Yr wyf i / O. Mae'n arfer yn fwy 18 00:00:59,570 --> 00:01:01,620 heriol nag Cwis 0. 19 00:01:01,620 --> 00:01:03,870 Mae'r sgôr cyfartalog yn nodweddiadol is. 20 00:01:03,870 --> 00:01:05,980 Astudio'n galed. 21 00:01:05,980 --> 00:01:09,340 >> Tra byddwch yn astudio, gofalwch eich bod yn defnyddio CS50/discuss i bostio eich cwestiynau 22 00:01:09,340 --> 00:01:10,830 a darllen cwestiynau pobl eraill. 23 00:01:10,830 --> 00:01:13,550 Felly, os nad oes gennych unrhyw gwestiynau, logio i mewn a darllen 24 00:01:13,550 --> 00:01:14,580 cwestiynau eich ffrindiau '. 25 00:01:14,580 --> 00:01:16,560 Yn ôl pob tebyg Maen nhw'n cwestiynau da. 26 00:01:16,560 --> 00:01:17,730 A chymryd y cwisiau ymarfer. 27 00:01:17,730 --> 00:01:20,750 Rydym wedi bod yn rhoi cwisiau ar gyfer saith neu wyth mlynedd bellach. 28 00:01:20,750 --> 00:01:22,180 Maen nhw i gyd ar-lein. 29 00:01:22,180 --> 00:01:25,540 Gwestiynau yn y dyfodol yn debyg hen gwestiynau. 30 00:01:25,540 --> 00:01:26,550 Dyna sut rydym yn eu gwneud. 31 00:01:26,550 --> 00:01:27,740 >> Nid yw'r cwis yn bodoli eto. 32 00:01:27,740 --> 00:01:28,670 Nid oes yr un ohonom wedi gweld hynny. 33 00:01:28,670 --> 00:01:32,496 Ond bydd yn edrych fel cwisiau blaenorol. 34 00:01:32,496 --> 00:01:36,500 Ar gyfer y sesiwn adolygu, nid yw hyn yn rhestr gynhwysfawr o bynciau. 35 00:01:36,500 --> 00:01:40,740 Nid ydych yn gallu mynychu'r ac yna fod yn hollol barod ar gyfer y cwis. 36 00:01:40,740 --> 00:01:43,330 Fel arall, ni fyddai'n bod llawer o'r cwis. 37 00:01:43,330 --> 00:01:46,270 Ac mae hyn hefyd nid o reidrwydd popeth sydd angen i chi ei wybod am unrhyw 38 00:01:46,270 --> 00:01:46,970 rhoi pwnc. 39 00:01:46,970 --> 00:01:50,520 Mae'n golygu i chi ddatgelu at y pethau ydym wedi eu trafod, yn eich atgoffa hyn yr ydym yn 40 00:01:50,520 --> 00:01:53,070 cynnwys, a'r ffordd y yr ydym yn ei orchuddio. 41 00:01:53,070 --> 00:01:57,030 Ond bydd yn rhaid i chi fynd ymhellach ac ddyfnach pan ydych yn astudio i dwbl-wirio 42 00:01:57,030 --> 00:02:00,230 eich bod yn gwybod popeth am unrhyw a roddir pwnc ac eich bod chi wedi llenwi 43 00:02:00,230 --> 00:02:03,320 holl corneli a oedd yn cynnwys yn y ddarlith. 44 00:02:03,320 --> 00:02:07,980 >> Mae'r nodiadau cwis yn dweud wrthych i fynd i'r nodiadau ysgrifennydd, fideos darlith gwylio. 45 00:02:07,980 --> 00:02:10,155 Dyna ffordd dda i wneud yn siŵr eich bod wedi cwmpasu eich holl ganolfannau. 46 00:02:10,155 --> 00:02:12,670 47 00:02:12,670 --> 00:02:17,340 Felly dechrau arni, pan wyf yn gwneud hyn sleidiau, yr wyf yn ceisio rhoi lle yr wyf yn dod o hyd i 48 00:02:17,340 --> 00:02:18,350 gwybodaeth. 49 00:02:18,350 --> 00:02:22,890 Felly, ar gyfer File I / O, er enghraifft, Wythnos 7, Ddydd Llun ddarlith, a'r postio 50 00:02:22,890 --> 00:02:27,960 Adran 6 ac Problem Set i gyd gwybodaeth am File I / O. Rwyf wedi gwneud 51 00:02:27,960 --> 00:02:28,840 hyn ar gyfer pob pwnc. 52 00:02:28,840 --> 00:02:33,010 Felly, efallai y sleidiau teitl hynny fod yn ddefnyddiol i chi. 53 00:02:33,010 --> 00:02:38,950 >> Felly dyma ni wedi Ffeil I / O. Cofiwch, yn Problem Set 5, rydym yn defnyddio fopen, mmap, 54 00:02:38,950 --> 00:02:41,210 fwrite, fread, a fseek. 55 00:02:41,210 --> 00:02:48,090 Ar ôl adennill 30ish JPEG a ar ôl newid maint a llanast gyda 56 00:02:48,090 --> 00:02:50,320 bitmaps, dylech fod yn eithaf cyfarwydd swyddogaethau hyn 57 00:02:50,320 --> 00:02:51,830 a sut maent yn gweithio. 58 00:02:51,830 --> 00:02:54,420 Os nad ydych yn gyfarwydd, yn bendant yn eu hadolygu. 59 00:02:54,420 --> 00:02:56,860 A gwnewch yn siŵr eich bod yn deall yr hyn y y gwahanol dadleuon yn, 60 00:02:56,860 --> 00:02:58,260 pan fyddant yn defnyddio. 61 00:02:58,260 --> 00:03:03,620 >> Ond y bygiau-gysylltiedig ffeil cyffredin Efallai y gofynnir i chi am - 62 00:03:03,620 --> 00:03:07,270 yn dda, os ydych wedi anghofio'ch i gadarnhau a oes fopen mewn gwirionedd yn gweithio cyn i chi fynd i 63 00:03:07,270 --> 00:03:08,350 addasu ffeil. 64 00:03:08,350 --> 00:03:09,760 Gallai hynny fod yn ddrwg. 65 00:03:09,760 --> 00:03:13,560 Os ydych wedi anghofio mmap ffeil eich bod wedi fopened, sy'n debyg i 66 00:03:13,560 --> 00:03:14,400 yn gollwng cof. 67 00:03:14,400 --> 00:03:15,980 Dyna 'n bert drwg. 68 00:03:15,980 --> 00:03:18,670 Ac anghofio i wirio os ydych wedi cyrraedd diwedd y ffeil cyn i chi 69 00:03:18,670 --> 00:03:19,790 ddechrau ysgrifennu iddo. 70 00:03:19,790 --> 00:03:22,320 >> Felly, os ydych yn ei ddweud, hey, dwi yn ddiwedd y ffeil. 71 00:03:22,320 --> 00:03:23,750 Rhowch 5 yn fwy o bytes mi. 72 00:03:23,750 --> 00:03:27,370 Wel, nad sy'n fwy na thebyg yn mynd i gweithio allan y ffordd yr ydych yn ei ddisgwyl. 73 00:03:27,370 --> 00:03:30,930 Mae hynny'n wir ar gyfer File I / O, oherwydd ein bod yn gwneud hynny llawer ohono 74 00:03:30,930 --> 00:03:32,300 â'r broblem a osodwyd. 75 00:03:32,300 --> 00:03:36,000 Felly, os ydych yn deall beth oedd yn digwydd yn Problem Set 5, cofiwch y bitmats 76 00:03:36,000 --> 00:03:40,090 a'r JPEG, yna mae'n debyg eich bod i gyd a osodwyd ar gyfer File I / O. Os yw hynny'n dipyn 77 00:03:40,090 --> 00:03:44,770 fuzzy, yn bendant yn adolygu'r broblem osod a deunydd cysylltiedig. 78 00:03:44,770 --> 00:03:51,110 >> Structs oedd y pwnc a oedd ar y llinell rhwng Cwis 0 a Cwis 1. 79 00:03:51,110 --> 00:03:53,090 Ddim yn hollol yn gwneud y toriad ar gyfer Cwis 0. 80 00:03:53,090 --> 00:03:57,040 Felly, byddant yn bendant fod ar Cwis 1, Wythnos 7, ddydd Llun. 81 00:03:57,040 --> 00:03:58,150 Beth yw strwythur? 82 00:03:58,150 --> 00:04:00,250 Yma rydym yn dangos strwythur. 83 00:04:00,250 --> 00:04:03,140 Mae'n debyg i fath newydd. 84 00:04:03,140 --> 00:04:07,940 Mae'n debyg i gynhwysydd ar gyfer meysydd lluosog. 85 00:04:07,940 --> 00:04:12,970 >> Yn yr achos hwn, rydym wedi datgan strwythur myfyrwyr sydd â dau gae - 86 00:04:12,970 --> 00:04:17,750 llinyn yr ydym yn galw enw a yn int yr ydym yn galw oedran. 87 00:04:17,750 --> 00:04:21,450 Felly, pan fyddaf yn pasio o gwmpas fyfyrwyr neu yr wyf yn addasu myfyrwyr, byddaf yn gallu 88 00:04:21,450 --> 00:04:24,430 gael mynediad at eu henw a'u hoedran. 89 00:04:24,430 --> 00:04:26,670 Gadewch i ni edrych ar rai cod ar gyfer hynny. 90 00:04:26,670 --> 00:04:29,090 Yma rydym yn gweld fy mod wedi datgan myfyriwr s, yn union fel 91 00:04:29,090 --> 00:04:30,300 Yr wyf yn datgan unrhyw newidyn - 92 00:04:30,300 --> 00:04:32,430 int x, int y, et cetera. 93 00:04:32,430 --> 00:04:34,180 >> Dyma s myfyrwyr. 94 00:04:34,180 --> 00:04:37,370 Mae'n dechrau gyda dim yn ei gaeau. 95 00:04:37,370 --> 00:04:38,240 Felly, gadewch i ni eu gosod. 96 00:04:38,240 --> 00:04:40,681 Chi osod gaeau o strwythur gyda dot. 97 00:04:40,681 --> 00:04:43,780 Felly, yr wyf wedi dweud yma fod s.name = RJ. 98 00:04:43,780 --> 00:04:46,470 Ac s.age = 21. 99 00:04:46,470 --> 00:04:48,500 Gallwch hefyd yn diweddaru caeau yr un ffordd y byddech yn diweddaru 100 00:04:48,500 --> 00:04:49,550 gwerth newidyn. 101 00:04:49,550 --> 00:04:53,270 Felly, yr wyf am newid fy enw oddi wrth RJ gyda unrhyw gyfnodau i R.J. sillafu y 102 00:04:53,270 --> 00:04:54,540 ffordd gywir. 103 00:04:54,540 --> 00:04:58,890 Byddai'n cael ei s.name = RJ, yr un fath wrth i ni ddweud yn wreiddiol. 104 00:04:58,890 --> 00:05:00,030 Ac yna gallwch gael gafael arnynt. 105 00:05:00,030 --> 00:05:00,930 >> Felly, rydym wedi eu gosod. 106 00:05:00,930 --> 00:05:01,840 Rydym wedi diweddaru eu cyfer. 107 00:05:01,840 --> 00:05:03,890 Gallwch hefyd gael mynediad atynt yn yr un ffordd iawn. 108 00:05:03,890 --> 00:05:09,330 Felly yma, yr wyf i'n argraffu R.J. Yw 21 mlwydd oed. 109 00:05:09,330 --> 00:05:14,700 Ac yr wyf i'n cael mynediad at y gwerthoedd hynny gyda s.name a s.age. 110 00:05:14,700 --> 00:05:17,040 Felly, mae hynny'n cael mynediad structs gyda'r dot nodiant. 111 00:05:17,040 --> 00:05:17,850 Yep, cwestiwn? 112 00:05:17,850 --> 00:05:21,176 >> GYNULLEIDFA: A oes rheswm ar y sleid blaenorol nad oedd eich rhoi 113 00:05:21,176 --> 00:05:24,848 myfyriwr ar y llinell uchaf, fel typedef myfyriwr strwythur ac yna 114 00:05:24,848 --> 00:05:25,840 fyfyriwr yn y diwedd? 115 00:05:25,840 --> 00:05:29,040 >> R.J. Aquino: Felly, y cwestiwn a oedd, ar sleid hon, rydym wedi gweld fel arfer 116 00:05:29,040 --> 00:05:32,400 typedef nod strwythur ac yna feysydd y strwythur a 117 00:05:32,400 --> 00:05:34,250 yna bydd y gair nod. 118 00:05:34,250 --> 00:05:37,790 A sut dod yma doeddwn i ddim yn dweud, typedef myfyriwr strwythur ac yna 119 00:05:37,790 --> 00:05:39,820 meysydd y strwythur ac yna i fyfyrwyr? 120 00:05:39,820 --> 00:05:44,310 Y rheswm yw nad oes angen i I mynediad iddo tu mewn i'r strwythur. 121 00:05:44,310 --> 00:05:46,270 Felly, mae'n iawn ei adael heb enw. 122 00:05:46,270 --> 00:05:49,210 Gall Fi jyst adael fel yn strwythur dienw. 123 00:05:49,210 --> 00:05:53,130 >> Y rheswm yr ydym yn ei wneud ar gyfer rhestrau cysylltiedig a pethau oherwydd tu mewn i chi angen 124 00:05:53,130 --> 00:05:55,360 i gyfeirio seren nodau strwythur. 125 00:05:55,360 --> 00:05:58,220 Felly, y strwythur wedi i gael enw, fel y gallwch gael mynediad iddo yn nes ymlaen. 126 00:05:58,220 --> 00:05:59,540 Mae'n mân fanylion. 127 00:05:59,540 --> 00:06:04,750 Ond byddwch fel arfer yn gweld typedef strwythur braces cyrliog os nid oes angen i chi 128 00:06:04,750 --> 00:06:08,720 enw a typedef strwythur ryw enw ddilyn gan braces cyrliog os byddwch yn 129 00:06:08,720 --> 00:06:09,520 angen yr enw. 130 00:06:09,520 --> 00:06:12,070 Felly dyna gwestiwn da. 131 00:06:12,070 --> 00:06:17,000 >> Ac ar y pwynt hwnnw, rydym yn tueddu i addasu structs a phasio o gwmpas structs gan 132 00:06:17,000 --> 00:06:18,680 cyfeirio, nid yn ôl gwerth. 133 00:06:18,680 --> 00:06:21,940 Felly, byddwn yn unig basio o gwmpas awgrymiadau i structs yn hytrach na pasio o amgylch y 134 00:06:21,940 --> 00:06:23,150 structs eu hunain. 135 00:06:23,150 --> 00:06:28,050 Felly, rydych yn aml iawn yn mynd i fod yn defnyddio, yn yr achos hwn, yn fyfyriwr * neu 136 00:06:28,050 --> 00:06:34,150 strwythur nod * neu nod * yn lle hynny allan fyfyrwyr neu nodau. 137 00:06:34,150 --> 00:06:39,350 Felly yma, yr wyf wedi dweud, OK, y PTR amrywiol yn mynd i fod y cyfeiriad s. 138 00:06:39,350 --> 00:06:45,570 Mae'n mynd i fod y pwyntydd i'r myfyriwr R.J. 139 00:06:45,570 --> 00:06:48,965 >> Felly, gallwn gael o meysydd hynny yr un fath wrth i ni gael unrhyw beth. 140 00:06:48,965 --> 00:06:51,460 Yn gyntaf, ID gyfeirio at y pwyntydd i gael y strwythur. 141 00:06:51,460 --> 00:06:55,530 Dyna * ptr ac yna dot ac yna oedran. 142 00:06:55,530 --> 00:06:58,790 Felly, i gael gafael ar y maes, ac yr wyf wedi diweddaru yn awr i 22, oherwydd, gadewch i ni 143 00:06:58,790 --> 00:07:00,860 dyweder, yr oedd yn fy mhen-blwydd. 144 00:07:00,860 --> 00:07:03,990 Mae cystrawen shortcut ddefnyddio'r saeth yma. 145 00:07:03,990 --> 00:07:07,060 Felly ptr oedran saeth yn unig yr un fath â * ptr.age. 146 00:07:07,060 --> 00:07:10,150 147 00:07:10,150 --> 00:07:11,550 Nawr, mae hynny'n rhywbeth bydd gennych i gof a chofio. 148 00:07:11,550 --> 00:07:15,010 >> Rydych yn ei ddefnyddio lawer yn pset6, y pset sillafu. 149 00:07:15,010 --> 00:07:18,350 Ond mae hyn yn mewn gwirionedd beth sy'n mynd ymlaen o dan y cwfl. 150 00:07:18,350 --> 00:07:20,500 Mae'n dereferencing pwyntydd ac yna cael mynediad iddo. 151 00:07:20,500 --> 00:07:21,432 Cwestiwn? 152 00:07:21,432 --> 00:07:22,682 >> GYNULLEIDFA: [Anghlywadwy]. 153 00:07:22,682 --> 00:07:25,860 154 00:07:25,860 --> 00:07:28,060 >> R.J. Aquino: Felly pam yr ydym yn defnyddio awgrymiadau fel structs yn hytrach na'r 155 00:07:28,060 --> 00:07:29,500 structs eu hunain? 156 00:07:29,500 --> 00:07:33,740 Y rheswm fod os ydych yn pasio a strwythur i swyddogaeth, mae'n debyg 157 00:07:33,740 --> 00:07:36,900 am eu trosglwyddo o gwmpas yn unig 4 neu lai bytes sy'n cynrychioli'r pwyntydd, fel 158 00:07:36,900 --> 00:07:40,375 hytrach na'r 30 neu a allai fod yn 40 bytes sydd yr strwythur. 159 00:07:40,375 --> 00:07:44,410 Felly, pasio rhywbeth i swyddogaeth yn haws pan fydd y peth 160 00:07:44,410 --> 00:07:48,230 yn llai yn fyr. 161 00:07:48,230 --> 00:07:49,074 Cwestiwn? 162 00:07:49,074 --> 00:07:53,026 >> GYNULLEIDFA: Efallai eich bod wedi sôn am hyn yn y dechrau, ond a oes 163 00:07:53,026 --> 00:07:56,000 sleidiau eraill hyd ar [Anghlywadwy]? 164 00:07:56,000 --> 00:07:58,960 >> R.J. Aquino: Bydd y sleidiau yn ar ôl y sesiwn adolygu. 165 00:07:58,960 --> 00:08:00,210 Byddwn yn eu postio ar y wefan. 166 00:08:00,210 --> 00:08:02,450 167 00:08:02,450 --> 00:08:06,870 Felly, symud ymlaen a symud ymlaen ychydig gyflymach, rydyn ni'n mynd i siarad am ddata 168 00:08:06,870 --> 00:08:07,350 strwythurau. 169 00:08:07,350 --> 00:08:08,040 Mae yna lawer. 170 00:08:08,040 --> 00:08:10,080 Rydym yn cwmpasu griw ohonynt. 171 00:08:10,080 --> 00:08:12,500 Dyma beth dylech ddeall am strwythur data. 172 00:08:12,500 --> 00:08:15,590 >> Dylech wir yn deall yn uchel lefel hyn y mae pob strwythur. 173 00:08:15,590 --> 00:08:21,190 Allwch chi egluro yn Saesneg at eich ffrind nad yw wedi cymryd CS50 sut 174 00:08:21,190 --> 00:08:25,580 rydym yn trefnu ein data a pham yr ydym wedi yn defnyddio rhywbeth fel hyn? 175 00:08:25,580 --> 00:08:26,990 Dyna beth un. 176 00:08:26,990 --> 00:08:29,650 Thing dau, deall gweithredu. 177 00:08:29,650 --> 00:08:34,270 Felly, deall sut i ddefnyddio pethau hyn yn C. A byddwn yn mynd dros y. 178 00:08:34,270 --> 00:08:39,030 >> Ac yna byddai peth tri yn cael gwybod y amseroedd rhedeg ac chyfyngiadau'r 179 00:08:39,030 --> 00:08:40,470 strwythurau amrywiol rydych yn ei ddefnyddio. 180 00:08:40,470 --> 00:08:44,059 Felly deall pam y byddai byddwch yn defnyddio hash tabl yn lle arae. 181 00:08:44,059 --> 00:08:49,570 Deall pa mor gyflym, ar gyfartaledd, cael mynediad tabl hash yn. 182 00:08:49,570 --> 00:08:54,010 Deall pa gweithrediadau yn gyflym ar rhestr gysylltiedig, ond yn araf am araeau a 183 00:08:54,010 --> 00:08:56,080 i'r gwrthwyneb. 184 00:08:56,080 --> 00:08:59,780 Felly, er mwyn deall hynny, bydd rhaid i chi deall Big-O nodiant yn unig i wybod 185 00:08:59,780 --> 00:09:01,310 sut i siarad am y rhain math o bethau. 186 00:09:01,310 --> 00:09:02,700 A byddwn yn siarad am hynny. 187 00:09:02,700 --> 00:09:06,040 >> Felly peth cyntaf, rhestrau cysylltiedig. 188 00:09:06,040 --> 00:09:07,770 Dyma lun lefel uchel rhestr cysylltiedig. 189 00:09:07,770 --> 00:09:08,830 Rydym yn dangos hyn yn y dosbarth. 190 00:09:08,830 --> 00:09:11,670 Fel arfer mae gennym 10 o bobl yn sefyll ar y llwyfan. 191 00:09:11,670 --> 00:09:16,790 Ond mae gennym gyfres o nodau lle mae pob nod Mae rhywfaint o werth a pwyntydd 192 00:09:16,790 --> 00:09:18,610 i'w werth nesaf. 193 00:09:18,610 --> 00:09:21,730 Felly, i fynd o un nod i'r llall, byddwch yn dim ond dweud, rhowch y nod nesaf i mi. 194 00:09:21,730 --> 00:09:22,530 Rydych yn cael y nod. 195 00:09:22,530 --> 00:09:23,770 Rhowch y nod nesaf i mi. 196 00:09:23,770 --> 00:09:24,400 Byddwch yn cael y nod. 197 00:09:24,400 --> 00:09:28,790 Rhowch y nod nesaf i mi ac yn y blaen hyd nes nad oes chwith nod. 198 00:09:28,790 --> 00:09:31,850 >> Felly, yn parhau i siarad am mae'n ar lefel uchel. 199 00:09:31,850 --> 00:09:34,100 Mae'n hawdd iawn i fewnosod pethau i mewn i restr cysylltiedig. 200 00:09:34,100 --> 00:09:36,010 Os nad ydych yn poeni am y gorchymyn, gallwch ei ollwng 201 00:09:36,010 --> 00:09:36,840 i'r dde ar y dechrau. 202 00:09:36,840 --> 00:09:38,520 Dyna amser yn gyson. 203 00:09:38,520 --> 00:09:39,900 Ond mae'n anodd dod o hyd i werth. 204 00:09:39,900 --> 00:09:43,060 Os ydych yn ceisio i ofyn, yn saith yn fy rhestr? 205 00:09:43,060 --> 00:09:44,740 Rhaid i chi fynd drwy pob un gwerth. 206 00:09:44,740 --> 00:09:45,680 A yw hyn yn saith? 207 00:09:45,680 --> 00:09:46,610 A yw hyn yn saith? 208 00:09:46,610 --> 00:09:47,770 A yw hyn yn saith? 209 00:09:47,770 --> 00:09:48,690 A yw hyn yn saith? 210 00:09:48,690 --> 00:09:49,830 Drosodd a throsodd. 211 00:09:49,830 --> 00:09:51,520 A dyna O (n). 212 00:09:51,520 --> 00:09:53,800 Felly, wrth astudio ar gyfer y cwis, cymharu hyn â arrays. 213 00:09:53,800 --> 00:09:57,010 214 00:09:57,010 --> 00:09:58,220 >> A yw hynny'n iawn? 215 00:09:58,220 --> 00:09:59,220 Aeth y goleuadau dim. 216 00:09:59,220 --> 00:10:01,110 OK. 217 00:10:01,110 --> 00:10:02,400 Pryd mae rhestr gysylltiedig yn well? 218 00:10:02,400 --> 00:10:04,640 Pan llu yn well? 219 00:10:04,640 --> 00:10:06,670 Felly, gadewch i ni edrych ar rai cod. 220 00:10:06,670 --> 00:10:08,960 Dyma nod posibl. 221 00:10:08,960 --> 00:10:09,770 Mae'n strwythur. 222 00:10:09,770 --> 00:10:12,220 Mae ganddo int n, a oedd yn fydd ein gwerth. 223 00:10:12,220 --> 00:10:17,780 Ac mae ganddo nod strwythur * nesaf, a oedd yn yw ein pwyntydd i'r nod nesaf. 224 00:10:17,780 --> 00:10:23,040 Felly dyma, gallwn weld ein bod yn digwydd i wedi rhoi int yn ein nod. 225 00:10:23,040 --> 00:10:27,850 Ond pe bai hwn yn rhestr gysylltiedig o torgoch sêr neu restr cysylltiedig o fflotiau, rydym yn 226 00:10:27,850 --> 00:10:28,820 gwbl allai wneud hynny hefyd. 227 00:10:28,820 --> 00:10:33,110 >> Cofiwch yn pset6, mae'n debyg y byddwch wedi cael rhestr gysylltiedig o sêr char neu dim ond 228 00:10:33,110 --> 00:10:34,360 araeau torgoch statig. 229 00:10:34,360 --> 00:10:37,370 230 00:10:37,370 --> 00:10:39,040 Gadewch i ni edrych yma yn llawdriniaeth. 231 00:10:39,040 --> 00:10:43,570 Felly, rydym am i fewnosod newydd n yn ein rhestr gysylltiedig. 232 00:10:43,570 --> 00:10:48,940 Rydym yn dechrau allan gyda pwyntydd pen sy'n pwyntydd i'r nod hwn sydd â'r 233 00:10:48,940 --> 00:10:53,460 werth n ac nesaf pwyntydd y pwyntiau i'r nod hwn yn werth 234 00:10:53,460 --> 00:10:57,760 n ac nesaf o null, oherwydd 'i' y nod diwethaf. 235 00:10:57,760 --> 00:11:00,440 Felly, yn y budd o amser, byddaf yn rhoi'r holl y cod ar y sgrin. 236 00:11:00,440 --> 00:11:03,130 A byddwn yn cerdded trwyddo ychydig o linellau ar y tro. 237 00:11:03,130 --> 00:11:05,790 >> Felly dyma y cod. 238 00:11:05,790 --> 00:11:07,560 Yr wyf yn gobeithio ei fod yn ddarllenadwy. 239 00:11:07,560 --> 00:11:11,275 Y peth cyntaf yr ydym yn ei wneud yw rydym yn malloc yn nod newydd. 240 00:11:11,275 --> 00:11:15,105 Felly mae'n gwneud pwyntydd i nod newydd sy'n Nid oes unrhyw beth yn hollol a osodwyd 241 00:11:15,105 --> 00:11:16,450 i fyny ynddo eto. 242 00:11:16,450 --> 00:11:19,580 Rydym yn gwirio i wneud yn siŵr bod nid yw'r nod newydd yn null. 243 00:11:19,580 --> 00:11:22,220 Fel arall, mae'n rhaid i ni roi'r gorau iddi. 244 00:11:22,220 --> 00:11:27,680 Felly, ar ôl gwirio hynny, rydym yn awr yn gosod y gwerthoedd yn y nod. 245 00:11:27,680 --> 00:11:31,520 Felly, rydym yn rhoi'r n newydd yn ein maes n. 246 00:11:31,520 --> 00:11:36,050 Ac rydym yn gosod y pwyntydd nesaf i dynnu sylw at y pen gwreiddiol, fel y gallwn 247 00:11:36,050 --> 00:11:38,900 bellach wedi mewnosod hwn nod yn ein rhestr. 248 00:11:38,900 --> 00:11:44,600 >> Yn olaf, mae gennym y pwynt pen byd-eang at ein nod newydd, felly os ydym yn cael 249 00:11:44,600 --> 00:11:50,300 yn dechrau am ben, byddem yn ar hyn o nod cyntaf newydd yn hytrach na 250 00:11:50,300 --> 00:11:51,560 yr hen nod cyntaf. 251 00:11:51,560 --> 00:11:55,320 A phan y swyddogaeth hon yn mynd allan, mae'r nod newydd amrywiol yn bodoli mwyach, 252 00:11:55,320 --> 00:11:57,130 oherwydd ei fod yn lleol i'r swyddogaeth. 253 00:11:57,130 --> 00:11:59,770 Felly, mae hyn yw cyflwr y byd. 254 00:11:59,770 --> 00:12:03,570 Pwyntiau ein pen byd-eang i'n newydd nod cyntaf, sy'n cyfeirio at ein 255 00:12:03,570 --> 00:12:06,346 nod cyntaf gwreiddiol, pa bwyntiau i'r nod ar ôl hynny. 256 00:12:06,346 --> 00:12:09,790 >> Dyna oedd gosod. 257 00:12:09,790 --> 00:12:12,150 Rwy'n gobeithio y yn gymharol yn syml i'w ddilyn. 258 00:12:12,150 --> 00:12:14,300 Pan fyddwch mewn amheuaeth, tynnu llun. 259 00:12:14,300 --> 00:12:17,820 Felly, yr wyf yn gweld bod siarad am rhestrau cysylltiedig ac yn edrych ar 260 00:12:17,820 --> 00:12:19,870 cod yn Nid yw yn ddefnyddiol iawn. 261 00:12:19,870 --> 00:12:23,790 Er bod edrych ar lun o cysylltiedig rhestr yn caniatáu i mi i feddwl, oh, felly 262 00:12:23,790 --> 00:12:24,970 Mae gen i nod hwn yma. 263 00:12:24,970 --> 00:12:28,980 Ond os byddaf yn diweddaru'r pwyntydd, mae'n dod i ben i fyny datgysylltu. 264 00:12:28,980 --> 00:12:34,340 Ac yr wyf wedi anghofio lle y nod yn mynd. 265 00:12:34,340 --> 00:12:35,390 A'r cod allanfeydd. 266 00:12:35,390 --> 00:12:37,830 Ac mae gennych nodau lluosog sy'n cael eu datgysylltu. 267 00:12:37,830 --> 00:12:39,970 Ac nad ydych yn darfod i fyny ag y rhestr rydych ei eisiau. 268 00:12:39,970 --> 00:12:43,320 >> Felly, os ydych yn tynnu y llun a gwneud hynny gam wrth gam, gobeithio, byddwch yn gweld 269 00:12:43,320 --> 00:12:46,840 y drefn gywir o bethau o ran diweddaru'r awgrymiadau i wneud yn siŵr 270 00:12:46,840 --> 00:12:48,830 bod y rhestr dod at ei gilydd. 271 00:12:48,830 --> 00:12:51,240 Mewnosod yn gymharol syml. 272 00:12:51,240 --> 00:12:55,210 Byddai un yn fwy cymhleth yn gosod i mewn i restr datrys. 273 00:12:55,210 --> 00:12:59,980 Mae swyddogaeth yn fwy cymhleth yn dileu a dod o hyd, felly yn edrych trwy restr i 274 00:12:59,980 --> 00:13:03,030 weld os oes rhywbeth yno. 275 00:13:03,030 --> 00:13:07,220 Efallai eich bod hwn yn pset6 pan fyddwch yn mynd i mewn eich bwrdd hash a dywedasoch, 276 00:13:07,220 --> 00:13:10,460 yn dda, yw'r gair afal yn fy rhestr gysylltiedig? 277 00:13:10,460 --> 00:13:11,440 >> Felly, efallai y byddwch wedi gwneud hyn eisoes. 278 00:13:11,440 --> 00:13:15,530 Ond yn bendant, adnewyddu eich cof ac yn ceisio dod o hyd a reimplement 279 00:13:15,530 --> 00:13:19,150 reimplement dileu am restr cysylltiedig. 280 00:13:19,150 --> 00:13:22,850 Nodyn ochr hwyl, mae hefyd yn ddwbl-gysylltiedig rhestrau, lle mae gennych 281 00:13:22,850 --> 00:13:27,490 awgrymiadau y pwynt hwnnw yn ei flaen a yn ôl, er mwyn i chi fynd at y 282 00:13:27,490 --> 00:13:29,270 nod nesaf ac i'r nod blaenorol. 283 00:13:29,270 --> 00:13:33,860 Ac yr oedd cwestiwn ar y llynedd cwis o'r math hwnnw, siarad 284 00:13:33,860 --> 00:13:36,190 am restrau ddwbl-gysylltiedig. 285 00:13:36,190 --> 00:13:40,070 >> Nawr, dyna strwythur eich bod yn gymharol gyfarwydd â nhw, gan fod y rhan fwyaf o 286 00:13:40,070 --> 00:13:42,520 ohonoch yn ôl pob tebyg yn eu defnyddio ar pset6. 287 00:13:42,520 --> 00:13:45,680 Dyma un sydd ychydig yn llai cyfarwydd. 288 00:13:45,680 --> 00:13:51,020 Fel nodyn ochr, credaf fod Cwis 1 yn yn bennaf anoddach nag Cwis 0, oherwydd 289 00:13:51,020 --> 00:13:54,600 y pethau rydych yn ei wneud, rydych yn nid ydynt wedi gwneud cymaint. 290 00:13:54,600 --> 00:13:58,100 I roi y ffordd arall, er Cwis 0, chi wedi ysgrifennu llawer o C. Ac rydym 291 00:13:58,100 --> 00:13:58,880 gofyn i chi am C. 292 00:13:58,880 --> 00:14:02,310 >> Ar gyfer Cwis 1, rydym yn mynd i ofyn i chi am PHP a JavaScript, yr ydych yn 293 00:14:02,310 --> 00:14:03,490 Nid yw wedi ysgrifennu cymaint. 294 00:14:03,490 --> 00:14:07,590 Rydym yn mynd i ofyn i chi am C-cod sy'n nad ydych wedi ysgrifennu cymaint, 295 00:14:07,590 --> 00:14:09,130 y pethau C uwch. 296 00:14:09,130 --> 00:14:11,520 Felly bendant, ymarfer y pethau yr ydym yn siarad am mewn darlith eich bod 297 00:14:11,520 --> 00:14:15,260 Nid oedd o reidrwydd yn gwneud ar y broblem a osodwyd. 298 00:14:15,260 --> 00:14:17,870 >> Wrth siarad o'r rhain, nid ydych wedi ysgrifennu stac ar broblem a osodwyd. 299 00:14:17,870 --> 00:14:19,610 Ond yr oedd yn ddarlith. 300 00:14:19,610 --> 00:14:22,530 Dyma darlun lefel uchel o staciau ein bod yn dangos bob blwyddyn. 301 00:14:22,530 --> 00:14:26,180 Mae'n y pentwr o hambyrddau mewn y neuadd fwyta Mather. 302 00:14:26,180 --> 00:14:30,570 Ar lefel uchel, pentyrrau yn olaf i mewn, strwythur data cyntaf allan. 303 00:14:30,570 --> 00:14:32,040 Mae hynny'n golygu eich bod yn mynd i roi pethau i mewn - 304 00:14:32,040 --> 00:14:36,400 1, 3, 7, 12, 14, negyddol 0. 305 00:14:36,400 --> 00:14:39,180 Yr un peth na allwn i gael Dywedodd - negyddol 3, 0. 306 00:14:39,180 --> 00:14:40,250 Chi roi'r holl bethau hyn mewn 307 00:14:40,250 --> 00:14:42,940 A'r un diwethaf i chi ei roi i mewn yn y cyntaf un sy'n mynd i ddod allan. 308 00:14:42,940 --> 00:14:44,170 >> Felly, mae gennych ddau weithrediad - 309 00:14:44,170 --> 00:14:45,260 gwthio a pop. 310 00:14:45,260 --> 00:14:49,180 Mae pob un o'r roi fy mod yn ystumio fel hyn yn gwthio. 311 00:14:49,180 --> 00:14:52,020 Ac yna pan fyddaf yn cyrraedd i mewn i chrafangia rhywbeth neu gyrraedd ar ei ben i fachu 312 00:14:52,020 --> 00:14:53,940 rhywbeth, mae hynny'n pop. 313 00:14:53,940 --> 00:14:55,540 Felly, rydym yn mynd i roi pentyrrau. 314 00:14:55,540 --> 00:14:57,870 Ac rydym yn dangos iddynt mewn darlith defnyddio araeau. 315 00:14:57,870 --> 00:14:59,550 Ond gallech eu gwneud ddefnyddio rhestrau cysylltiedig. 316 00:14:59,550 --> 00:15:01,770 Mae pentwr yw data cysyniadol strwythur, nid fel 317 00:15:01,770 --> 00:15:03,760 un ar waith-benodol. 318 00:15:03,760 --> 00:15:06,420 >> Felly, beth fyddai hynny yn edrych? 319 00:15:06,420 --> 00:15:07,970 Byddai'n edrych yn fath o fel hyn. 320 00:15:07,970 --> 00:15:10,840 Byddech yn cael maint cyfanrif. 321 00:15:10,840 --> 00:15:16,000 A byddech yn cael amrywiaeth o werthoedd sy'n rydym yn galw hambyrddau, oherwydd dyna 322 00:15:16,000 --> 00:15:18,570 beth oedd y darlun oedd ni - int hambyrddau - 323 00:15:18,570 --> 00:15:21,740 ac yna rhywfaint o gapasiti mwyaf. 324 00:15:21,740 --> 00:15:27,100 Felly, beth fyddai'n gwthio edrych? 325 00:15:27,100 --> 00:15:33,250 Wel, os oes gennym pentwr s, ac yna i wthio rhywbeth ar s, byddem yn cael 326 00:15:33,250 --> 00:15:34,620 maint y s. 327 00:15:34,620 --> 00:15:42,270 A byddai hynny'n nesaf fan a'r lle agored ein amrywiaeth. 328 00:15:42,270 --> 00:15:50,510 Felly, os ydym wedi tri pheth yn ein stac, yna byddai hambyrddau 3 fydd y nesaf 329 00:15:50,510 --> 00:15:54,290 fan a'r lle agored, gan fod 0, 1, a 2 eisoes yn cael eu llenwi i fyny. 330 00:15:54,290 --> 00:16:01,790 >> Felly, rydym yn rhoi gwerth i s.trays [s.size], y trydydd fan a'r lle. 331 00:16:01,790 --> 00:16:06,290 Ac yna rydym yn cynyddiad s.size i ddweud, hey, roedd gennym tri pheth o'r blaen. 332 00:16:06,290 --> 00:16:07,400 Yn awr, mae gennym bedwar. 333 00:16:07,400 --> 00:16:10,180 Felly, y tro nesaf y byddwch yn gwthio, rydych yn mynd i roi rhywbeth yn 4. 334 00:16:10,180 --> 00:16:15,560 Neu y tro nesaf i chi pop, rydych yn mynd i edrych ar 3 yn hytrach na 4 neu beth bynnag. 335 00:16:15,560 --> 00:16:18,000 Ac yna byddwn yn dychwelyd yn wir i dyweder, hey, rydym yn llwyddo. 336 00:16:18,000 --> 00:16:19,160 Mae hyn yn gweithio. 337 00:16:19,160 --> 00:16:22,060 Fel rheol y fawd, os yw swyddogaeth sy'n i fod i ddychwelyd yn wir neu 338 00:16:22,060 --> 00:16:26,370 ffug bob amser yn dychwelyd yn wir, efallai y byddwch wedi gwneud rhywbeth o'i le. 339 00:16:26,370 --> 00:16:28,350 Felly, mae hyn yn gweithio? 340 00:16:28,350 --> 00:16:32,400 >> Wel, mae'n gweithio iawn ar gyfer 1, a 2, a 3, a 4, a phump. 341 00:16:32,400 --> 00:16:34,640 Ond gadewch i ni ddweud i mi gyrraedd fy ngallu. 342 00:16:34,640 --> 00:16:38,750 Yna wedi rhedeg i mewn i broblem, oherwydd os faint yw yr un fath â gallu, rwy'n 343 00:16:38,750 --> 00:16:43,340 bellach yn ceisio rhoi rhywbeth i mewn i amrywiaeth lle nad oes gennyf le. 344 00:16:43,340 --> 00:16:46,980 Felly gwiriad byr i atgyweiria hon. 345 00:16:46,980 --> 00:16:51,630 Os s.size GALLU ==, yn dychwelyd ffug. 346 00:16:51,630 --> 00:16:54,130 Fel arall, ewch a gwneud yr hyn a wnaethom. 347 00:16:54,130 --> 00:16:55,660 Felly beth arall y gallem ofyn am i bentyrrau? 348 00:16:55,660 --> 00:16:56,460 Beth arall ddylech chi astudio? 349 00:16:56,460 --> 00:16:57,690 Beth arall ddylech chi ymarfer? 350 00:16:57,690 --> 00:17:01,030 >> Wel, gweithredu pop. 351 00:17:01,030 --> 00:17:02,370 Rydym eisoes yn gwneud gwthio. 352 00:17:02,370 --> 00:17:04,280 'N annhymerus' atgyweiria hynny. 353 00:17:04,280 --> 00:17:08,180 Mae gweithredu nad ydynt yn array, lle ydych yn defnyddio rhestr gysylltiedig, efallai. 354 00:17:08,180 --> 00:17:09,390 Mae gweithredu nad ydynt yn int. 355 00:17:09,390 --> 00:17:10,940 Fe wnaethom ints yma. 356 00:17:10,940 --> 00:17:11,880 Ond gallai fod wedi bod yn fflotiau. 357 00:17:11,880 --> 00:17:13,010 Gallwn i fod wedi bod yn llinynnau. 358 00:17:13,010 --> 00:17:14,290 Gallai fod wedi bod yn sêr torgoch. 359 00:17:14,290 --> 00:17:17,960 Edrychwch ar cwisiau yn y gorffennol ar gyfer y mathau o cwestiynau rydym wedi gofyn am staciau. 360 00:17:17,960 --> 00:17:20,000 >> Byddaf yn dweud ein bod yn cynnwys pentyrrau o gwmpas yr un fath ag yr ydym wedi eu trafod yn 361 00:17:20,000 --> 00:17:20,540 mlynedd diwethaf. 362 00:17:20,540 --> 00:17:24,400 Felly, dylai'r cwestiynau cwis fod yn arwydd da. 363 00:17:24,400 --> 00:17:27,010 Symud ymlaen hyd yn oed yn gyflymach, ciwiau. 364 00:17:27,010 --> 00:17:28,200 Maen nhw fel staciau. 365 00:17:28,200 --> 00:17:29,960 Ond maen nhw'n cyntaf i mewn, cyntaf allan. 366 00:17:29,960 --> 00:17:33,530 Os ydych yn Brydeinig, ciw y gair yn ôl pob tebyg yn gwneud llawer o synnwyr i chi. 367 00:17:33,530 --> 00:17:36,390 Fel arall, efallai y bydd gennych clywed amdano fel llinell. 368 00:17:36,390 --> 00:17:38,120 Maent yn gweithio fel y llinell yn y siop Apple. 369 00:17:38,120 --> 00:17:40,740 Y person cyntaf i arddangos i fyny am 3:00 yn y bore yw'r cyntaf 370 00:17:40,740 --> 00:17:42,880 person i brynu ei iPad. 371 00:17:42,880 --> 00:17:44,260 >> Felly, rydym wedi ddwy weithrediadau - 372 00:17:44,260 --> 00:17:45,720 enqueue a dequeue. 373 00:17:45,720 --> 00:17:47,560 Enqueue rhoi rhywun yn y llinell. 374 00:17:47,560 --> 00:17:50,070 Dequeue tynnu'r cyntaf person oddi ar y llinell. 375 00:17:50,070 --> 00:17:52,640 Unwaith eto, gallwn weithredu hyn gydag amrywiaeth. 376 00:17:52,640 --> 00:17:54,880 Felly, beth yw'r strwythur yr ydym yn dangos mewn darlith? 377 00:17:54,880 --> 00:17:57,660 Yr oedd yr un yma. 378 00:17:57,660 --> 00:17:59,300 Unwaith eto, rhifau. 379 00:17:59,300 --> 00:18:02,020 Unwaith eto, maint ac mae hyn yn blaen beth newydd. 380 00:18:02,020 --> 00:18:04,880 Pam fod yna rywbeth o'r enw blaen? 381 00:18:04,880 --> 00:18:07,050 Mae'n y mynegai nesaf elfen i dequeue. 382 00:18:07,050 --> 00:18:12,210 'I' jyst yn fewnol cadw golwg ar y dyn cyntaf i arddangos i fyny, er mwyn i ni 383 00:18:12,210 --> 00:18:15,005 gall dynnu allan pan mae angen i ni. 384 00:18:15,005 --> 00:18:19,322 >> Yn bendant yn edrych ar nodiadau darlith a cheisio i weithredu enqueue a dequeue 385 00:18:19,322 --> 00:18:21,700 wrth astudio ar gyfer y cwis. 386 00:18:21,700 --> 00:18:23,190 Pethau pwysig i feddwl amdano. 387 00:18:23,190 --> 00:18:27,260 Lapio o gwmpas os bydd y tu blaen yn ogystal â'r maint yn dod i ben i fyny yn fwy na gallu. 388 00:18:27,260 --> 00:18:32,670 Unwaith eto, os yw eich strwythur yn llawn, eich bod yn mynd i gael problem. 389 00:18:32,670 --> 00:18:34,780 Hash tablau ydych chi wedi ei weld o'r blaen. 390 00:18:34,780 --> 00:18:39,820 Mae'r rhan fwyaf ohonoch yn ôl pob tebyg ar waith rhain ar pset6. 391 00:18:39,820 --> 00:18:44,210 Mae'n strwythur sy'n anelu i O (1) gosod amser cyson ac O (1) 392 00:18:44,210 --> 00:18:46,430 Gwrthdro-edrych gysonyn amser. 393 00:18:46,430 --> 00:18:49,760 >> Yn CS50, yr ydym yn gweithredu hyn fel amrywiaeth o restrau cysylltiedig. 394 00:18:49,760 --> 00:18:53,690 Yr elfen allweddol tabl hash yw swyddogaeth hash. 395 00:18:53,690 --> 00:18:58,350 Felly, mae'n troi eich mewnbwn, gadewch i ni ddweud, gair geiriadur, i nifer, 396 00:18:58,350 --> 00:18:59,560 sydd yn mynd i fod yn ein mynegai. 397 00:18:59,560 --> 00:19:01,410 A byddwn yn defnyddio'r mynegai yn ein amrywiaeth. 398 00:19:01,410 --> 00:19:05,374 Felly dyma lun bach cute o study.50.net. 399 00:19:05,374 --> 00:19:08,060 Rydym yn ei daflu holl eiriau i mewn i ein swyddogaeth hash. 400 00:19:08,060 --> 00:19:10,950 A'r swyddogaeth hash yn dweud wrthym ble i roi geiriau hyn. 401 00:19:10,950 --> 00:19:15,650 >> Mae hyn i gyd mawr yn y tir lle dim ond un gair ar gyfer pob slot. 402 00:19:15,650 --> 00:19:20,480 Ond wrth i chi gofio o pset6, mae yn fwy o eiriau nag slotiau. 403 00:19:20,480 --> 00:19:23,080 Felly beth sy'n digwydd pan fyddwch yn cael damwain? 404 00:19:23,080 --> 00:19:26,730 Yn hytrach na storio un gwerth, gadewch i ni ddweud, bwrdd hash 3, byddwch yn 405 00:19:26,730 --> 00:19:27,990 storio rhestr gysylltiedig. 406 00:19:27,990 --> 00:19:32,900 Ac felly yn hytrach na gorfod cantaloupe yma, byddai gennych restr cysylltiedig, 407 00:19:32,900 --> 00:19:34,190 lle y nod cyntaf yw cantaloupe. 408 00:19:34,190 --> 00:19:35,260 A'r nod nesaf yw gath. 409 00:19:35,260 --> 00:19:38,970 A'r trydydd nod yw gwrthdrawiad, gadewch i ni dweud, gan fod yr holl eiriau hyn yn dechrau 410 00:19:38,970 --> 00:19:41,110 â C. 411 00:19:41,110 --> 00:19:42,700 >> Felly mae'r rhan fwyaf ohonoch yn gwneud hyn ar gyfer pset6. 412 00:19:42,700 --> 00:19:45,685 Os na wnaethoch chi tabl hash ar pset6 a ydych wedi ceisio rhywbeth fel 413 00:19:45,685 --> 00:19:47,720 yn trie, yn bendant yn adolygu tablau hash. 414 00:19:47,720 --> 00:19:50,650 Os ydych yn gwneud hynny ar pset6, yn bendant adolygu tablau hash. 415 00:19:50,650 --> 00:19:53,610 Ac os ydych yn gwneud hynny ar pset6 ac nid oedd gweithio allan hollol iawn ac rydych 416 00:19:53,610 --> 00:19:56,150 wedi cael llawer o drafferth ag ef, yn bendant adolygu tablau hash. 417 00:19:56,150 --> 00:20:01,610 Felly y wers mewn gwirionedd yn bendant adolygu tablau hash. 418 00:20:01,610 --> 00:20:07,130 >> Mae'r lleiafrif helaeth o chi wedi ceisio allan ceisio ar pset6. 419 00:20:07,130 --> 00:20:08,570 Darlun lefel uchel. 420 00:20:08,570 --> 00:20:15,150 Mae'n rhywbeth fel hyn, lle mae pob nod set o blant, lle mae pob 421 00:20:15,150 --> 00:20:17,100 plentyn yn cyfateb i lythyr. 422 00:20:17,100 --> 00:20:20,520 A phob nod hefyd yn dweud, hey, yr wyf gair. 423 00:20:20,520 --> 00:20:25,933 Felly, yn yr achos hwn, y gair Maxwell, os byddwch yn dilyn y M i'r A i'r 424 00:20:25,933 --> 00:20:28,530 X-W-E-L-L ac yna dilyn yn un mwy. 425 00:20:28,530 --> 00:20:32,800 A byddwch yn cael y symbol hwn, delta, a oedd yn rydym yn arwydd i olygu hyn yn air. 426 00:20:32,800 --> 00:20:34,780 Felly Maxwell yn air. 427 00:20:34,780 --> 00:20:38,430 Mae'r deltâu yn drwy gydol arwyddo pa bethau yw geiriau ac sy'n 428 00:20:38,430 --> 00:20:40,360 nid yw pethau. 429 00:20:40,360 --> 00:20:46,400 >> Felly, yn pset6, y data a storio ochr yn ochr ag unrhyw un o'n nodau oedd "Rwy'n 430 00:20:46,400 --> 00:20:52,630 gair. "A'r peth cŵl am geisiau yn maent yn dangos mewnosod a 431 00:20:52,630 --> 00:20:55,080 -edrych yn O (hyd y gair). 432 00:20:55,080 --> 00:20:59,450 Felly, dim ond i gael drwy Maxwell, mae'n M-A-X-W-E-L-L. Felly, saith neu wyth - 433 00:20:59,450 --> 00:21:00,360 Nid wyf yn gallu cyfrif - 434 00:21:00,360 --> 00:21:03,920 camau i fynd i'r diwedd a gwirio pethau allan. 435 00:21:03,920 --> 00:21:06,800 Gweithredu mor hwylus yma. 436 00:21:06,800 --> 00:21:10,230 Aeth Rob drwy gysylltu rhestru yn ei post-mortem. 437 00:21:10,230 --> 00:21:11,600 Felly, edrych ar hynny. 438 00:21:11,600 --> 00:21:11,720 Mae'n ddrwg gennym. 439 00:21:11,720 --> 00:21:13,240 Mynd trwy trie yn ei post-mortem. 440 00:21:13,240 --> 00:21:14,260 Felly, edrych ar hynny. 441 00:21:14,260 --> 00:21:24,410 >> Ond yn y bôn mae'n rhaid i chi gan bob nod 27 awgrymiadau i'r nodau nesaf ac un 442 00:21:24,410 --> 00:21:27,050 Boole ar gyfer ydw i'n gair. 443 00:21:27,050 --> 00:21:31,530 Edrychwch ar post-mortem Rob ar gyfer sut y hyn mewn gwirionedd yn cael ei weithredu. 444 00:21:31,530 --> 00:21:34,750 Mae ein strwythur terfynol, mae ein coed a choed chwiliad deuaidd. 445 00:21:34,750 --> 00:21:41,530 Felly, yn edrych ar y rhain, roedd y rhain yn cael eu cynnwys yn fwyaf diweddar Wythnos 8, ddydd Llun. 446 00:21:41,530 --> 00:21:46,960 Mae coeden yn debyg i trie, ac eithrio chi nid ydynt o reidrwydd yn cael 27 o nodau ar 447 00:21:46,960 --> 00:21:47,500 bob pwynt. 448 00:21:47,500 --> 00:21:52,820 Ac nid oes gennych y data hwn ym mhob cam sy'n arwydd a yw'r - 449 00:21:52,820 --> 00:21:54,030 nid yw'r llwybr ots. 450 00:21:54,030 --> 00:22:00,870 Tra bod trie, mae'r llwybr o'r top i'r gwaelod, Maxwell, yn bwysig i ni. 451 00:22:00,870 --> 00:22:05,270 >> Ond mae gan bob nod wedi lluosog plant, efallai. 452 00:22:05,270 --> 00:22:07,290 Mae gennym rai fwy o eirfa. 453 00:22:07,290 --> 00:22:09,530 Wraidd y goeden ar y brig. 454 00:22:09,530 --> 00:22:12,520 Ac rydym yn dweud bod y bottommost iawn nodau sydd heb unrhyw 455 00:22:12,520 --> 00:22:14,530 plant yn cael eu dail. 456 00:22:14,530 --> 00:22:18,040 Felly, fel trie, coeden yn strwythur o nodau. 457 00:22:18,040 --> 00:22:21,490 Math cyffredin o goeden yr ydym yn mynd i siarad am yn goeden ddeuol, lle 458 00:22:21,490 --> 00:22:26,040 mae gan bob nod unrhyw blant neu un plentyn neu ddau o blant. 459 00:22:26,040 --> 00:22:28,890 Felly, nid yw hyn llun yma yw coeden ddeuaidd, oherwydd 460 00:22:28,890 --> 00:22:32,890 Mae gan nod 3 dri o blant. 461 00:22:32,890 --> 00:22:38,140 >> Ond pe baem yn anwybyddu'r rhai, mae'r gweddill yn o ei fod yn goeden ddeuol oherwydd ei fod yn 462 00:22:38,140 --> 00:22:43,200 yn dangos yr eiddo y mae pob nod Mae gan sero, un, neu ddau o blant. 463 00:22:43,200 --> 00:22:46,400 Felly, sut y gallem mynegi hyn yn y cod? 464 00:22:46,400 --> 00:22:51,460 Gallem gael nod lle mae gan bob nod wedi cyfanrif tu mewn iddo, yn ogystal 465 00:22:51,460 --> 00:22:55,590 fel pwyntydd i'r goeden ar y chwith ac arwydd o'r goeden ar y 466 00:22:55,590 --> 00:22:59,510 iawn, felly mae'r ddau o blant. 467 00:22:59,510 --> 00:23:00,880 Sut mae hyn yn ddefnyddiol? 468 00:23:00,880 --> 00:23:05,740 Wel, os ydym yn gwneud rheolau ynghylch lle'r ydym rhoi nodau, gallwn wneud chwiliad yn gyflymach. 469 00:23:05,740 --> 00:23:10,630 >> Felly mae yna gysyniad o chwiliad deuaidd coed, lle mae'r holl nodau ar y 470 00:23:10,630 --> 00:23:14,420 wedi gadael Terfynau werth llai na'r nod rydym yn edrych ar. 471 00:23:14,420 --> 00:23:17,880 A'r holl nodau ar y Terfynau cywir cael mwy o werth 472 00:23:17,880 --> 00:23:18,660 na'r nod gwraidd. 473 00:23:18,660 --> 00:23:20,670 Yn awr, sy'n edrych fel llawer o eiriau. 474 00:23:20,670 --> 00:23:23,770 Rydw i'n mynd i roi y tu mewn o dwbl dyfyniadau ac yn dangos i chi llun. 475 00:23:23,770 --> 00:23:27,010 Felly dyma yn enghraifft o coeden chwiliad deuaidd. 476 00:23:27,010 --> 00:23:28,770 Gweler ein bod yn dechrau gyda 10. 477 00:23:28,770 --> 00:23:31,780 Mae popeth ar y chwith 10 yn llai nag ef. 478 00:23:31,780 --> 00:23:33,130 Ac mae popeth i'r dde yn fwy nag ef. 479 00:23:33,130 --> 00:23:37,620 >> Ond yn fwy felly na hynny, mae pob nod yn y goeden yn mynegi yr eiddo hwn. 480 00:23:37,620 --> 00:23:42,110 Felly, y nod 7 Mae gan 3 i'r chwith a 9 ar y dde. 481 00:23:42,110 --> 00:23:44,440 Felly, pawb yn llai na 10. 482 00:23:44,440 --> 00:23:50,470 Ond o edrych ar dim ond y rhai y 7 wedi 3 ar yr ochr chwith a 9 i'r dde. 483 00:23:50,470 --> 00:23:56,100 Ac yn yr un modd ar y dde, 15 wedi 14 ar yr ochr chwith a 50 i'r dde. 484 00:23:56,100 --> 00:24:03,770 Felly y tri nodau dros yno, 15, 14, a 50, hefyd yn goeden ddeuol dilys 485 00:24:03,770 --> 00:24:05,480 neu goeden chwiliad deuaidd dilys. 486 00:24:05,480 --> 00:24:07,250 Ac maen nhw i gyd yn fwy na 10. 487 00:24:07,250 --> 00:24:08,960 Felly, maent yn cael eu hawl i fod ar y dde yno. 488 00:24:08,960 --> 00:24:09,940 A oes cwestiwn? 489 00:24:09,940 --> 00:24:12,580 >> GYNULLEIDFA: Sut ydych chi'n delio pan gennych ddau saith bob ochr? 490 00:24:12,580 --> 00:24:12,850 >> R.J. Aquino: Yeah. 491 00:24:12,850 --> 00:24:16,550 Sut ydych chi'n delio gyda dau werth sydd yr un fath? 492 00:24:16,550 --> 00:24:21,465 Mae rhai coed chwiliad deuaidd yn dweud eich bod yn anwybyddu dyblygu, gan fod y nod yw 493 00:24:21,465 --> 00:24:24,280 dim ond i ddweud, yr wyf wedi gweld pethau hyn hyd yn hyn. 494 00:24:24,280 --> 00:24:28,120 Mae rhai coed chwiliad deuaidd gallech ddweud y ffigurau'n tu mewn i'r nod. 495 00:24:28,120 --> 00:24:32,000 Gallai eraill yn dweud bod popeth i y chwith yn llai na neu'n hafal i. 496 00:24:32,000 --> 00:24:33,470 Ac mae popeth i'r dde yn fwy na. 497 00:24:33,470 --> 00:24:36,520 >> 'I jyst yn dibynnu ar yr hyn y mae'r broblem yw eich bod yn datrys. 498 00:24:36,520 --> 00:24:40,840 Felly, mewn geiriadur, er enghraifft, eich bod Ni fyddai'n gofalu am dyblygu. 499 00:24:40,840 --> 00:24:41,490 Byddech yn taflu nhw allan. 500 00:24:41,490 --> 00:24:44,719 Ond mae rhai broblem arall efallai y byddwch yn gofalu. 501 00:24:44,719 --> 00:24:49,242 >> GYNULLEIDFA: A yw'n bosibl cael 1 ar y chwith 15, sy'n 502 00:24:49,242 --> 00:24:50,590 yn llai na 10? 503 00:24:50,590 --> 00:24:51,885 >> R.J. Aquino: Na 504 00:24:51,885 --> 00:24:56,570 Os yw'r 14 yma oedd 1, byddai hyn Nid yw fod yn goeden chwiliad deuaidd ddilys, 505 00:24:56,570 --> 00:25:00,840 gan fod popeth i'r dde o 10 wedi i fod yn fwy nag ef. 506 00:25:00,840 --> 00:25:02,300 A byddwn yn gweld pam. 507 00:25:02,300 --> 00:25:07,960 Os bydd fy nod yn y tir o chwilio i ddod o hyd i 14, yr wyf yn dechrau yn y gwraidd. 508 00:25:07,960 --> 00:25:08,500 Felly, yr wyf yn edrych. 509 00:25:08,500 --> 00:25:08,710 OK. 510 00:25:08,710 --> 00:25:10,670 Rydym yn mynd i ddechrau yn y gwraidd. 511 00:25:10,670 --> 00:25:12,500 Edrychwch ar 10. 512 00:25:12,500 --> 00:25:16,050 >> Wel, 14, ein targed, yn fwy na 10. 513 00:25:16,050 --> 00:25:17,370 Felly, rhaid iddo fod ar y dde. 514 00:25:17,370 --> 00:25:21,780 Mae hyn yn debyg iawn i'r ffôn cyfan beth lyfr a wnaethom, y deuaidd 515 00:25:21,780 --> 00:25:23,720 chwilio yno. 516 00:25:23,720 --> 00:25:26,430 Ond yn hytrach na chwilio deuaidd mewn amrywiaeth, rydym yn deuaidd 517 00:25:26,430 --> 00:25:28,490 chwilio mewn goeden hon. 518 00:25:28,490 --> 00:25:31,260 Felly, rydym yn dal i chwilio am 14. 519 00:25:31,260 --> 00:25:32,480 Wel, 14 yn llai na 15. 520 00:25:32,480 --> 00:25:36,430 Felly, os yw yn ein coeden, rhaid iddo yn y maes hwn yma. 521 00:25:36,430 --> 00:25:39,680 Rhaid iddo fod i'r dde o'r 10 ac i'r chwith o 15. 522 00:25:39,680 --> 00:25:42,250 >> Ac felly rydym yn gwirio nod hwn. 523 00:25:42,250 --> 00:25:45,790 Ac yay, rydym wedi dod o hyd 14. 524 00:25:45,790 --> 00:25:46,760 Dydw i ddim yn mynd i gerdded trwyddo. 525 00:25:46,760 --> 00:25:48,090 Ond dyma y cod. 526 00:25:48,090 --> 00:25:49,690 Mae'n mewn gwirionedd yn gymharol syml, 527 00:25:49,690 --> 00:25:52,630 oherwydd mae hyn yn ailadroddus. 528 00:25:52,630 --> 00:25:55,420 Beth allech rydym yn gofyn i chi ei wneud ar y cwis? 529 00:25:55,420 --> 00:25:57,000 Gallem ofyn i chi i ysgrifennu cod hwn. 530 00:25:57,000 --> 00:25:59,170 Gallem ofyn i chi edrych ar y cod hwn ac addasu y cod hwn ac yn esbonio'r hyn 531 00:25:59,170 --> 00:26:00,210 mae'n ei wneud. 532 00:26:00,210 --> 00:26:00,390 Yeah. 533 00:26:00,390 --> 00:26:00,770 Cwestiwn? 534 00:26:00,770 --> 00:26:04,240 >> GYNULLEIDFA: A sleidiau hyn yn mynd i fod ar gael gan eu bod y tro diwethaf? 535 00:26:04,240 --> 00:26:04,740 >> R.J. Aquino: Ydw. 536 00:26:04,740 --> 00:26:06,460 Felly, bydd y sleidiau hyn yn bendant yn cael eu postio. 537 00:26:06,460 --> 00:26:08,640 >> GYNULLEIDFA: Maent yn postio mewn gwirionedd ar hyn o bryd ar y wefan. 538 00:26:08,640 --> 00:26:10,020 David yn unig yn gwneud hynny. 539 00:26:10,020 --> 00:26:12,720 >> R.J. Aquino: Mae'r sleidiau yn ar hyn o bryd ar y wefan. 540 00:26:12,720 --> 00:26:16,420 'N annhymerus' yn ôl pob tebyg chlytia i fyny ychydig o y typos Sylwais ac yn eu datrys. 541 00:26:16,420 --> 00:26:19,940 Ond mae ar hyn o bryd fersiwn ar y safle. 542 00:26:19,940 --> 00:26:21,820 Eraill pethau y byddwn yn gofyn i chi ei wneud - 543 00:26:21,820 --> 00:26:23,790 ysgrifennu mewnosoder. 544 00:26:23,790 --> 00:26:27,490 Ysgrifennwch fersiwn ailadroddol y swyddogaeth ailadroddus rydym yn unig yn dangos i chi 545 00:26:27,490 --> 00:26:32,520 neu siarad am y pethau hyn, fel yn paragraffau, mewn geiriau, mewn brawddegau. 546 00:26:32,520 --> 00:26:35,760 Cymharu amseroedd rhedeg ac esbonio beth fyddech chi am ddefnyddio deuaidd 547 00:26:35,760 --> 00:26:39,200 coeden chwilio am yn hytrach na hash tabl, er enghraifft. 548 00:26:39,200 --> 00:26:43,580 >> Felly deall strwythurau hyn ar lefel eithaf dwfn. 549 00:26:43,580 --> 00:26:47,440 Deall sut i ysgrifennu iddynt, sut i eu defnyddio, sut i siarad amdanynt. 550 00:26:47,440 --> 00:26:50,270 A byddwch yn cael eu gosod i gyd. 551 00:26:50,270 --> 00:26:50,630 Cwestiwn? 552 00:26:50,630 --> 00:26:55,070 >> GYNULLEIDFA: Pan fyddwch yn ysgrifennu'r coeden chwiliad deuaidd, sut ydych chi'n 553 00:26:55,070 --> 00:27:01,460 penderfynu pa werth i gwneud mor y gwreiddyn? 554 00:27:01,460 --> 00:27:06,120 >> R.J. Aquino: Felly, y cwestiwn oedd, beth gwerth yr ydych yn ei wneud fel y gwreiddyn? 555 00:27:06,120 --> 00:27:08,760 Yn dibynnu ar eich cod, rydych yn Efallai y bydd rhaid gwraidd byd-eang. 556 00:27:08,760 --> 00:27:14,290 Felly efallai y byddwch wedi debygol o gael yn pset6 tabl hash byd-eang. 557 00:27:14,290 --> 00:27:18,640 Neu efallai y byddwch yn pasio y gwraidd mewn fel dadl. 558 00:27:18,640 --> 00:27:23,810 Felly, mae hyn swyddogaeth chwiliad yma yn cymryd ddadl nod *. 559 00:27:23,810 --> 00:27:27,420 Ac felly beth bynnag nod ydych yn digwydd bod edrych arno yw yr un yr ydych yn trin 560 00:27:27,420 --> 00:27:31,510 fel eich gwraidd pan fyddwch yn trosglwyddo ei i mewn 561 00:27:31,510 --> 00:27:32,320 A dwi'n barod. 562 00:27:32,320 --> 00:27:33,480 Dyna fy sleidiau. 563 00:27:33,480 --> 00:27:35,940 Gall y person nesaf yn dod cyfnewid mewn gliniadur a meic. 564 00:27:35,940 --> 00:27:47,390 565 00:27:47,390 --> 00:27:49,760 >> ROB BOWDEN: Rwy'n credu fy mod wedi dehongli y cwestiwn hwnnw yn wahanol. 566 00:27:49,760 --> 00:27:53,826 Ond yr wyf yn dehongli fel, os oes gennych y rhifau 1, 2, a 3, sut yr ydym yn 567 00:27:53,826 --> 00:27:56,720 wybod i wneud 2 wraidd yn hytrach na 1 neu 3? 568 00:27:56,720 --> 00:27:59,480 Os ydym yn gwneud 2 y gwraidd, yna mae'n 'n glws 1 a 3 i'r chwith ac i'r dde. 569 00:27:59,480 --> 00:28:04,610 Ond os 1 yw'r gwraidd, yna mae'n 1 i'r top, 2 y dde, 3 ar y dde. 570 00:28:04,610 --> 00:28:10,880 Felly at ball, nad ydych yn gwybod beth i'w wneud y gwraidd. 571 00:28:10,880 --> 00:28:15,400 Ac ar gyfer unrhyw algorithm rydym yn disgwyl i rhoi i chi, dim ond y peth cyntaf y byddwch 572 00:28:15,400 --> 00:28:16,680 Byddai mewnosoder yn y gwraidd. 573 00:28:16,680 --> 00:28:19,890 Neu byddem yn rhoi goeden ddeuol eich bod yn eisoes yn bodoli sydd â gwreiddiau. 574 00:28:19,890 --> 00:28:24,760 Ond algorithmau arall yn bodoli fel bod Bydd y gwraidd yn diweddaru, felly os ydych yn 575 00:28:24,760 --> 00:28:28,370 yn y pen draw yn y sefyllfa lle mae'n 1, 2, 3, byddai'n diweddaru yn awtomatig i 576 00:28:28,370 --> 00:28:30,900 gwneud 2 y gwraidd newydd, fel bod mae'n dal i fod yn cydbwyso 'n glws. 577 00:28:30,900 --> 00:28:33,750 578 00:28:33,750 --> 00:28:34,833 >> ANGELA LI: Cool. 579 00:28:34,833 --> 00:28:36,170 Hey, guys. 580 00:28:36,170 --> 00:28:37,810 Rwy'n Angela. 581 00:28:37,810 --> 00:28:42,490 Ac yr wyf i'n mynd i orffen oddi ar ein C ac yna mynd i mewn i rai o'n gwefan 582 00:28:42,490 --> 00:28:43,120 technolegau - 583 00:28:43,120 --> 00:28:46,570 HTTP, HTML, a CSS. 584 00:28:46,570 --> 00:28:49,610 Felly, y peth cyntaf yw byffer ymosodiadau gorlifo. 585 00:28:49,610 --> 00:28:53,070 Felly, gadewch i ni edrych ar y cod hwn. 586 00:28:53,070 --> 00:28:54,260 Mae'n eithaf syml. 587 00:28:54,260 --> 00:28:55,460 Mae 'na foo swyddogaeth. 588 00:28:55,460 --> 00:28:56,990 Ac nid yw'n dychwelyd unrhyw beth. 589 00:28:56,990 --> 00:29:00,950 Ond mae'n cymryd mewn pwyntydd i linyn o'r enw bar. 590 00:29:00,950 --> 00:29:04,920 >> Ac mae'n mynd i ddatgan hynny byffer, sydd yn gymeriad 591 00:29:04,920 --> 00:29:07,690 amrywiaeth sydd wedi 12 o slotiau. 592 00:29:07,690 --> 00:29:11,730 Ac mae'n defnyddio memcpy, sydd ychydig yn swyddogaeth fod copïau o un cyfeiriad 593 00:29:11,730 --> 00:29:12,910 mewn i un arall. 594 00:29:12,910 --> 00:29:19,400 Felly, mae hyn yn ceisio copïo i mewn i ein byffer o ba bynnag 595 00:29:19,400 --> 00:29:21,140 bar yn pwyntio i. 596 00:29:21,140 --> 00:29:24,640 Felly mae unrhyw syniad beth sydd o'i le â'r cod hwn? 597 00:29:24,640 --> 00:29:27,568 598 00:29:27,568 --> 00:29:30,830 >> GYNULLEIDFA: Os bar yn hirach na C, byddant yn trosysgrifo. 599 00:29:30,830 --> 00:29:31,520 >> ANGELA LI: Yeah, yn union. 600 00:29:31,520 --> 00:29:34,200 Nid oes gennym unrhyw sicrwydd y bar yn mynd i fod yn llai na 12. 601 00:29:34,200 --> 00:29:36,080 Rydym yn unig yn gwneud rhywfaint o nifer mympwyol 12. 602 00:29:36,080 --> 00:29:38,380 Ac rydym yn hoffi, gadewch i ni yn gobeithio y ein mewnbwn defnyddwyr yn llai na 603 00:29:38,380 --> 00:29:40,440 12 nod o hyd. 604 00:29:40,440 --> 00:29:46,320 Felly, mewn byd delfrydol, os bydd ein mewnbwn yn bob amser yn ôl y disgwyl, yna byddwn yn cael 605 00:29:46,320 --> 00:29:47,550 rhywbeth fel, helo. 606 00:29:47,550 --> 00:29:48,920 Mae hynny'n llai na 12 nod. 607 00:29:48,920 --> 00:29:51,870 Mae'n cael ei ddarllen i mewn torgoch c. 608 00:29:51,870 --> 00:29:53,280 Ac yna rydym yn ei wneud rhywbeth yn ei gylch. 609 00:29:53,280 --> 00:29:54,800 Nid oes llawer o bwys. 610 00:29:54,800 --> 00:29:59,740 >> Ond gallai unigolyn maleisus yn ei wneud rhywbeth mwy fel hyn, lle maent yn 611 00:29:59,740 --> 00:30:04,760 rhoi i ni beth bynnag bar yn pwyntio i, mae'n mynd i dynnu sylw at y casgliad enfawr 612 00:30:04,760 --> 00:30:06,280 o ychydig A. 613 00:30:06,280 --> 00:30:10,680 Ac mae hyn yn ffordd fwy na 12. 614 00:30:10,680 --> 00:30:13,830 Felly, mae'n mynd i fynd yr holl ffordd i lawr yma i lle mae'r enillion 615 00:30:13,830 --> 00:30:15,420 cyfeiriad a ddefnyddir i fod. 616 00:30:15,420 --> 00:30:17,860 Felly, gadewch i ni ddweud swyddogaeth hon cael ei alw'n foo. 617 00:30:17,860 --> 00:30:20,970 Efallai foo ei alw gan rai eraill swyddogaeth, a gafodd ei alw gan brif. 618 00:30:20,970 --> 00:30:24,890 Felly, pan fydd foo yn rhedeg, mae angen gwybod ble i ddychwelyd i. 619 00:30:24,890 --> 00:30:29,130 >> Os foo ei alw gan rai swyddogaeth a enwir Baz, mae'n rhaid iddo wybod ei fod yn 620 00:30:29,130 --> 00:30:30,250 rhaid i mi fynd yn ôl i Baz. 621 00:30:30,250 --> 00:30:34,040 A dyna beth mae hyn yn gyfeiriad dychwelyd lawr fan hyn yn ei ddweud wrthym. 622 00:30:34,040 --> 00:30:38,340 Ond os ydym yn ysgrifennu drosto gyda rhai eraill gyfeiriad, yn yr achos hwn, mae hyn yn 623 00:30:38,340 --> 00:30:42,650 cynrychiolaeth y cyfeiriad yn y cychwyn cyntaf o byffer hwn, yna 624 00:30:42,650 --> 00:30:45,240 beth sy'n wir yn mynd i ddigwydd yw bod yn hytrach na dychwelyd yn ôl i Baz, 625 00:30:45,240 --> 00:30:48,470 a oedd yn galw ein swyddogaeth, dim ond mynd i fynd i flaen y cod hwn. 626 00:30:48,470 --> 00:30:53,930 >> Ac os oedd hyn yn yno oherwydd bod Daeth dude haciwr maleisus a 627 00:30:53,930 --> 00:30:56,820 chwistrellu hyn, yna efallai y swm hwn o beidio A mewn gwirionedd A. 628 00:30:56,820 --> 00:31:02,030 Ac mae'n mewn gwirionedd dim ond Cod sy'n egwyliau eich cyfrifiadur neu rywbeth. 629 00:31:02,030 --> 00:31:05,930 Felly, i fod yn amddiffynnol am y math hwn o beth, rhaid i chi gymryd yn ganiataol y 630 00:31:05,930 --> 00:31:09,120 mewnbwn defnyddwyr yn benodol faint o gymeriadau. 631 00:31:09,120 --> 00:31:13,310 Er enghraifft, pan fyddwch yn ei wneud sillafu, yr oeddech yn gwybod fod gan eiriau yn 632 00:31:13,310 --> 00:31:15,580 ond yn mynd i fod yn 40 nod uchafswm hir. 633 00:31:15,580 --> 00:31:16,570 A dyna yn dda. 634 00:31:16,570 --> 00:31:20,150 >> Ond os nad yw, yna byddai'n rhaid i chi gwneud yn siwr i darllen yn unig mewn 45 635 00:31:20,150 --> 00:31:21,520 cymeriadau ar y tro. 636 00:31:21,520 --> 00:31:24,430 Fel arall, efallai y byddwch yn trosysgrifo eich byffer. 637 00:31:24,430 --> 00:31:26,140 Unrhyw gwestiynau ar hynny. 638 00:31:26,140 --> 00:31:26,733 Yeah. 639 00:31:26,733 --> 00:31:28,850 >> GYNULLEIDFA: A allech chi jyst siarad ychydig mwy am y rhain? 640 00:31:28,850 --> 00:31:29,790 >> ANGELA LI: Mae'n ddrwg gennyf. 641 00:31:29,790 --> 00:31:31,040 Ie. 642 00:31:31,040 --> 00:31:32,813 643 00:31:32,813 --> 00:31:35,870 >> GYNULLEIDFA: Y meic yn unig ar gyfer fideo. 644 00:31:35,870 --> 00:31:37,640 Byddaf yn ceisio a phrosiect. 645 00:31:37,640 --> 00:31:39,900 Hi, guys. 646 00:31:39,900 --> 00:31:40,920 Chefnogaeth? 647 00:31:40,920 --> 00:31:45,330 Felly, gadewch i ni fynd dros ychydig o bethau yn y Llyfrgell CS50, yr ydych wedi bod yn defnyddio 648 00:31:45,330 --> 00:31:49,072 pob semester, yn bennaf i gael mewnbwn defnyddwyr. 649 00:31:49,072 --> 00:31:53,140 Fel y gwyddoch, i chi gynnwys y CS50 llyfrgell trwy dim ond gwneud CS50.h, a oedd yn 650 00:31:53,140 --> 00:31:55,660 yn cynnwys yr holl prototeipiau y swyddogaethau y gallwch eu defnyddio, fel 651 00:31:55,660 --> 00:31:58,640 GetString a GetInt, a GetFloat, et cetera. 652 00:31:58,640 --> 00:32:02,870 Ac mae hyn yn un llinell yn y CS50 llyfrgell sy'n diffinio llinyn, a oedd yn 653 00:32:02,870 --> 00:32:05,380 chi guys yn gwybod y cyfan erbyn hyn yn unig yw torgoch *. 654 00:32:05,380 --> 00:32:07,900 >> Ond gadewch i ni gymryd cipolwg ar sut GetString gweithio. 655 00:32:07,900 --> 00:32:10,010 Mae hwn yn fersiwn talfyredig iawn. 656 00:32:10,010 --> 00:32:15,090 Gallwch dynnu i fyny y ffeiliau llyfrgell CS50 o, yr wyf yn meddwl, manuals.CS50.net. 657 00:32:15,090 --> 00:32:16,750 A gallwch ddarllen drwy y swyddogaeth ei hun. 658 00:32:16,750 --> 00:32:19,330 Ond mae hyn yn cwmpasu rhai o rhannau pwysig. 659 00:32:19,330 --> 00:32:23,870 Felly, rydym wedi creu rhywfaint o byffer gyda rhywfaint o gapasiti. 660 00:32:23,870 --> 00:32:27,570 A'r hyn yr ydym yn ei wneud yw ein cael un cymeriad ar y tro o n safonol. 661 00:32:27,570 --> 00:32:30,910 Dyna lle mae'r mewnbynnau defnyddiwr destun yn y consol. 662 00:32:30,910 --> 00:32:33,430 >> Ac felly rydym yn mynd i ddarllen mewn cymeriad cyn belled nad yw'n newydd 663 00:32:33,430 --> 00:32:37,220 lein ac nid yw'n dod i ben o ffeil, a oedd yn yw diwedd mewnbwn safonol. 664 00:32:37,220 --> 00:32:45,690 Ac ar gyfer pob cymeriad sy'n ydym yn darllen yn, os yw'r cymeriad yn dod i ben i fyny gan ychwanegu 665 00:32:45,690 --> 00:32:50,120 i nifer o gymeriadau rydym wedi darllen i mewn ac sy'n fwy na ein gallu, 666 00:32:50,120 --> 00:32:53,490 Yna, yr hyn yr ydym yn ei wneud yw ein unig newid maint ein byffer fel ei fod yn ddwywaith mor hir. 667 00:32:53,490 --> 00:32:56,950 Felly eto, mae hyn yn amddiffyn yn erbyn byffer ymosodiadau gorlif, oherwydd eich bod yn darllen yn 668 00:32:56,950 --> 00:32:58,315 cymeriad ar y tro. 669 00:32:58,315 --> 00:33:02,290 Ac os ar unrhyw adeg i chi ddarllen yn rhy lawer, 'ch jyst ehangu eich byffer. 670 00:33:02,290 --> 00:33:03,330 Rydych yn ei luosi gan ddau. 671 00:33:03,330 --> 00:33:05,510 Ac yna mae gennych fwy o le. 672 00:33:05,510 --> 00:33:09,120 >> Fel arall, 'ch jyst ychwanegu cymeriad i byffer. 673 00:33:09,120 --> 00:33:15,080 Ac ar ôl i chi wedi darllen yn yr holl cymeriadau, bydd yn crebachu y byffer 674 00:33:15,080 --> 00:33:18,510 yn ôl i lawr i faint arferol, ychwanegu terminator null, ac yna'n dychwelyd. 675 00:33:18,510 --> 00:33:21,880 676 00:33:21,880 --> 00:33:24,960 Yn awr, gadewch i ni edrych ar GetInt. 677 00:33:24,960 --> 00:33:27,700 Allwch chi guys ddarllen hwn? 678 00:33:27,700 --> 00:33:30,710 Gallaf chwyddo i mewn ychydig. 679 00:33:30,710 --> 00:33:33,410 680 00:33:33,410 --> 00:33:34,660 Nid wyf yn gwybod sut mae cyfrifiaduron yn gweithio. 681 00:33:34,660 --> 00:33:40,840 682 00:33:40,840 --> 00:33:41,270 Peidiwch byth â meddwl. 683 00:33:41,270 --> 00:33:42,520 Ni allaf chwyddo i mewn yn iawn. 684 00:33:42,520 --> 00:33:47,500 685 00:33:47,500 --> 00:33:48,770 >> Mae hyn yn anodd iawn. 686 00:33:48,770 --> 00:33:49,180 Mae'n ddrwg gen i. 687 00:33:49,180 --> 00:33:51,490 Gadewch i ni dim ond yn edrych ar hyn. 688 00:33:51,490 --> 00:33:57,140 Felly beth GetInt yn ei wneud yw ei darllen gyntaf mewn llinyn o GetString, a oedd yn 689 00:33:57,140 --> 00:33:59,250 rydym wedi rhoi ar waith o'r blaen. 690 00:33:59,250 --> 00:34:02,945 A'r rhan bwysig nodi yma yw os rhannu hwn y mae'n dod i ben i fyny 691 00:34:02,945 --> 00:34:06,400 darllen yn debyg nad yw mewn gwirionedd yn llinyn, Yna, rydym yn unig yn dychwelyd INT_MAX i 692 00:34:06,400 --> 00:34:09,409 cynrychioli methiant. 693 00:34:09,409 --> 00:34:12,645 Pam yr ydym yn dychwelyd INT_MAX yn lle hynny o negyddol 1 neu 1? 694 00:34:12,645 --> 00:34:13,895 Unrhyw syniadau? 695 00:34:13,895 --> 00:34:16,853 696 00:34:16,853 --> 00:34:19,350 >> GYNULLEIDFA: [Anghlywadwy] negyddol 1 ar un. 697 00:34:19,350 --> 00:34:20,070 >> ANGELA LI: Yeah, yn union. 698 00:34:20,070 --> 00:34:24,560 Felly, rydych yn ffordd fwy tebygol o jyst eisiau i fewnbynnu 1 neu negyddol 1 pan ofynnir 699 00:34:24,560 --> 00:34:27,469 ar gyfer nfed a beth bynnag maxes nfed. 700 00:34:27,469 --> 00:34:27,969 Mae'n enfawr. 701 00:34:27,969 --> 00:34:29,690 Mae'n debyg nad ydych yn mynd i ddefnyddio. 702 00:34:29,690 --> 00:34:32,690 Felly, mae hyn yn debyg i benderfyniad ddylunio i gwneud yn siŵr nad ydych yn ddamweiniol 703 00:34:32,690 --> 00:34:38,540 dychwelyd gwall neu os nad ydych yn dychwelyd 1, lle gallai fod parsed 704 00:34:38,540 --> 00:34:41,199 fel ateb cywir. 705 00:34:41,199 --> 00:34:45,110 Felly, os nad yw llinell yn bodoli, byddwn yn dychwelyd INT-MAX. 706 00:34:45,110 --> 00:34:48,090 Fel arall, rydym yn defnyddio sscanf, sydd fel scanf. 707 00:34:48,090 --> 00:34:49,449 Ond mae'n darllen o linyn. 708 00:34:49,449 --> 00:34:54,310 >> Ac rydym wedi hyn fformatio llinyn, sef% i% c. 709 00:34:54,310 --> 00:34:57,440 Ac rydym yn ceisio cyd-fynd hynny gyda beth bynnag roddodd y defnyddiwr i ni. 710 00:34:57,440 --> 00:35:01,420 Rydym am nifer o bethau cyfateb i fod yn 1, sy'n golygu ein bod yn unig 711 00:35:01,420 --> 00:35:04,940 wir eisiau i gyd-fynd yn gyfanrif hamgylchynu gan efallai gwyn 712 00:35:04,940 --> 00:35:06,840 gofod, efallai na. 713 00:35:06,840 --> 00:35:10,710 Yn yr achos hwn, os ydych yn rhoi mewn rhywbeth fel bar, nid yw bar yn cyd-fynd o gwbl, 714 00:35:10,710 --> 00:35:14,400 oherwydd bod angen cael cyfanrif ar y dechrau. 715 00:35:14,400 --> 00:35:17,060 Felly, byth yn sscan troi 0. 716 00:35:17,060 --> 00:35:19,640 Felly, nad ydych yn dychwelyd hynny. 717 00:35:19,640 --> 00:35:23,850 >> Fel arall, os byddwch yn rhoi mewn rhywbeth fel 1, 2, 3, A, B, C, hynny gemau 718 00:35:23,850 --> 00:35:27,180 y cyfanrif, ond hefyd cymeriad ar ei ôl. 719 00:35:27,180 --> 00:35:29,990 Felly bydd sscanf yn dychwelyd 2, a oedd yn yw nad yw'n ddelfrydol hefyd. 720 00:35:29,990 --> 00:35:34,620 Nid ydych am 1, 2, 3, A, B, C i fod yn int dilys. 721 00:35:34,620 --> 00:35:36,990 Fel na hefyd yn gweithio. 722 00:35:36,990 --> 00:35:38,530 Ond dweud eich rhoi mewn rhywbeth fel 50. 723 00:35:38,530 --> 00:35:42,460 Bydd hynny'n cyd-fynd â'r% i, sy'n golygu bydd yn cael ei ddarllen yn n. 724 00:35:42,460 --> 00:35:44,790 Ac yn awr, n cynnwys y rhif 50. 725 00:35:44,790 --> 00:35:46,110 Ac yna gallwch ei ddychwelyd. 726 00:35:46,110 --> 00:35:49,270 >> Fel arall, byddwch yn taro Ceisio eto. 727 00:35:49,270 --> 00:35:55,790 Ac yna 'i jyst yn mynd ar ôl tro hyd nes y chi'n cael mewnbwn priodol gan y defnyddiwr. 728 00:35:55,790 --> 00:35:56,891 Unrhyw gwestiynau ar hynny? 729 00:35:56,891 --> 00:36:02,182 >> GYNULLEIDFA: Felly, os ydych yn argraffu gwerth y GetInt ar [Anghlywadwy] 730 00:36:02,182 --> 00:36:06,250 byddai'n dim ond y cyfanrif a max? 731 00:36:06,250 --> 00:36:07,440 >> ANGELA LI: Yeah. 732 00:36:07,440 --> 00:36:11,780 Felly, os ydych yn defnyddio GetInt, dylech gymryd yn ganiataol nad ydych am max nfed i 733 00:36:11,780 --> 00:36:15,328 yn gyfraniad dilys, oherwydd eich bod yn mynd i gymryd yn ganiataol bod hynny yn ddrwg. 734 00:36:15,328 --> 00:36:27,740 >> GYNULLEIDFA: Os nad oedd gennym golosg c a rhywun roi yn 1, 2, 3, Sam, byddai ei 735 00:36:27,740 --> 00:36:29,430 yn dal i weithio ar gyfer 1, 2, 3? 736 00:36:29,430 --> 00:36:29,750 >> ANGELA LI: Yr wyf yn meddwl y byddai'n gweithio. 737 00:36:29,750 --> 00:36:33,340 Ond nad ydych am i 123Sam yn gyfraniad dilys gan ddefnyddiwr. 738 00:36:33,340 --> 00:36:34,670 Nid yw hynny'n wir yn int. 739 00:36:34,670 --> 00:36:36,840 Felly, nid yw'n ymddangos yn deg gramadegu ef fel int. 740 00:36:36,840 --> 00:36:40,910 741 00:36:40,910 --> 00:36:42,160 OK. 742 00:36:42,160 --> 00:36:45,800 Yn yr achos hwnnw, gadewch i ni symud ar y rhyngrwyd. 743 00:36:45,800 --> 00:36:49,120 Felly, nid HTTP yn iaith. 744 00:36:49,120 --> 00:36:56,060 HTTP yn unig yw set o safonau ar gyfer sut yr ydych yn anfon pethau o gleientiaid, 745 00:36:56,060 --> 00:36:57,280 dyna i chi, i gweinyddwyr. 746 00:36:57,280 --> 00:36:59,730 Dyna pobl eraill ar y we. 747 00:36:59,730 --> 00:37:02,900 >> Felly HTTP yn sefyll am Hypertext Trosglwyddo Protocol. 748 00:37:02,900 --> 00:37:04,610 Mae'n y galon ac enaid yr holl we. 749 00:37:04,610 --> 00:37:07,050 Mae'r rhan hyperdestun yn unig yn cyfeirio at HTML. 750 00:37:07,050 --> 00:37:10,690 Mae'r trosglwyddiad yn cleientiaid fel y byddwch yn anfon ceisiadau i 751 00:37:10,690 --> 00:37:13,060 gweinyddwyr, sy'n rhoi ymatebion. 752 00:37:13,060 --> 00:37:16,380 Ac mae'r protocol yn unig, sut mae yr ydych yn disgwyl gweinydd ymddwyn? 753 00:37:16,380 --> 00:37:19,960 A sut ydych chi i fod i ymddwyn fel y gallwch symleiddio'r hyn 754 00:37:19,960 --> 00:37:21,920 broses gyfathrebu? 755 00:37:21,920 --> 00:37:26,650 >> Felly ceisiadau HTTP edrych yn llawer fel hyn. 756 00:37:26,650 --> 00:37:28,070 GET yw'r math o gais. 757 00:37:28,070 --> 00:37:31,220 Rydych guys wedi gweld ceisiadau GET a cheisiadau POST. 758 00:37:31,220 --> 00:37:36,690 Bod ail beth yno, / mi, mae hynny'n dim ond y URI neu URL y lle rydych yn 759 00:37:36,690 --> 00:37:38,140 eisiau mynd o fewn y llu. 760 00:37:38,140 --> 00:37:44,140 Felly, y cais hwn yn gofyn am y dudalen, fel www.facebook.com / fi. 761 00:37:44,140 --> 00:37:45,300 Ac mae'n cais GET. 762 00:37:45,300 --> 00:37:51,020 Ac yna HTTP/1.1 hwn, mai dim ond y fersiwn o HTTP rydych yn ei ddefnyddio. 763 00:37:51,020 --> 00:37:55,020 Mae bron bob amser yn 1.1. 764 00:37:55,020 --> 00:37:56,880 >> Ac yna mae 'na griw o bethau eraill hefyd. 765 00:37:56,880 --> 00:38:02,510 Alli 'n weithredol weld y rhain os ydych yn agor eich consol pan fyddwch yn 766 00:38:02,510 --> 00:38:03,770 pori'r we. 767 00:38:03,770 --> 00:38:07,290 Ymatebion edrych rhywbeth mwy fel hyn. 768 00:38:07,290 --> 00:38:09,620 Mae'r rhan uchaf yw, eto, mae'r math o HTTP ydych yn ei ddefnyddio 769 00:38:09,620 --> 00:38:12,310 ddilyn gan god statws. 770 00:38:12,310 --> 00:38:14,700 Felly 200 OK yw popeth yn gweithio allan. 771 00:38:14,700 --> 00:38:16,200 Dyma eich cynnwys. 772 00:38:16,200 --> 00:38:17,390 Eich cynnwys yn mynd i ddilyn. 773 00:38:17,390 --> 00:38:21,730 Ac yna bydd yn dweud wrthych pa fath cynnwys a phethau eraill hefyd. 774 00:38:21,730 --> 00:38:24,620 >> Mae'r codau statws, mae ychydig rhai pwysig y dylech wybod. 775 00:38:24,620 --> 00:38:26,460 200 OK yn debyg euraidd popeth yn. 776 00:38:26,460 --> 00:38:28,490 Mae popeth yn gweithio. 777 00:38:28,490 --> 00:38:29,710 403 Forbidden. 778 00:38:29,710 --> 00:38:32,910 Mae'n debyg eich bod wedi gweld os ydych wedi anghofio i chmod rhywbeth yn iawn. 779 00:38:32,910 --> 00:38:34,510 Mae'n golygu nad oes gennych y caniatadau cywir i 780 00:38:34,510 --> 00:38:36,210 gael y ar y gweinydd. 781 00:38:36,210 --> 00:38:38,110 Mae'n debyg, na, nad ydych yn gallu ei weld. 782 00:38:38,110 --> 00:38:39,780 404 yn golygu nad yw peth yn bodoli. 783 00:38:39,780 --> 00:38:40,400 Not found. 784 00:38:40,400 --> 00:38:41,640 Mae'n debyg eich bod wedi gweld bod llawer. 785 00:38:41,640 --> 00:38:45,510 >> 500 Gwall Gweinydd Mewnol fel arfer fel rhywbeth yn mynd o'i le ar yr ochr 786 00:38:45,510 --> 00:38:46,460 y gweinydd. 787 00:38:46,460 --> 00:38:50,830 Felly, pan oeddech yn gweithredu pset7, os oedd gennych gwallau PHP, gallech 788 00:38:50,830 --> 00:38:53,890 mewn gwirionedd yn mynd at y dudalen a gweld criw cyfan o PHP stwff gwall. 789 00:38:53,890 --> 00:38:56,900 Ond nid yw hynny'n digwydd fel arfer, oherwydd nad gwefannau ydych wir eisiau i 790 00:38:56,900 --> 00:38:58,830 yn dweud wrthych pam bod eu safle yn cael ei dorri. 791 00:38:58,830 --> 00:39:03,370 Maent byddwch yn ôl pob tebyg dim ond dychwelyd 500 Gwall Gweinydd Mewnol. 792 00:39:03,370 --> 00:39:06,120 >> Ac yna mae 418 Rwy'n tebot. 793 00:39:06,120 --> 00:39:07,910 Mae 'na stori gyfan am pam mae hynny'n beth. 794 00:39:07,910 --> 00:39:09,860 Ond gallwch ddarllen am hynny ar eich amser eich hun. 795 00:39:09,860 --> 00:39:11,450 Mae criw cyfan o Codau statws arall hefyd. 796 00:39:11,450 --> 00:39:12,700 Ond mae'r rhain yw'r rhai y dylech ei wybod. 797 00:39:12,700 --> 00:39:15,660 798 00:39:15,660 --> 00:39:18,610 Felly, gadewch i ni siarad am HTML. 799 00:39:18,610 --> 00:39:22,180 HTML, cofiwch, nid yw'n iaith raglennu. 800 00:39:22,180 --> 00:39:23,510 Mae'n iaith markup. 801 00:39:23,510 --> 00:39:25,210 Mae hynny'n golygu ei fod yn disgrifio cynnwys. 802 00:39:25,210 --> 00:39:30,440 Mae'n dweud wrthych beth dogfen HTML yn edrych fel ai peidio sut mae'n edrych 803 00:39:30,440 --> 00:39:32,230 ond sut mae'n cael ei strwythuro. 804 00:39:32,230 --> 00:39:36,110 >> Felly, mae'n diffinio strwythur a semanteg o dudalennau gwe. 805 00:39:36,110 --> 00:39:37,830 Mae'n debyg, mae hwn yn paragraff hwn. 806 00:39:37,830 --> 00:39:40,060 Mae hon yn rhestr harchebu. 807 00:39:40,060 --> 00:39:42,360 Mae hyn yn debyg i adran o fy dudalen. 808 00:39:42,360 --> 00:39:43,260 Dyma y teitl. 809 00:39:43,260 --> 00:39:44,310 Mae'n gwneud pethau fel 'na. 810 00:39:44,310 --> 00:39:48,770 Nid yw'n arddull hynny o gwbl, oherwydd dyna beth ydych yn ei wneud yn CSS. 811 00:39:48,770 --> 00:39:50,270 Ac mae'n edrych fel cyfres tagiau o nythu. 812 00:39:50,270 --> 00:39:54,720 Felly, er mwyn defnyddio enghraifft o wir yn sylfaenol Dudalen HTML, mae gennych yr DOCTYPE 813 00:39:54,720 --> 00:39:56,720 datganiad i fyny yno. 814 00:39:56,720 --> 00:40:00,940 >> Mae'r datganiad DOCTYPE yn gan ddywedyd, rydym yn defnyddio HTML5. 815 00:40:00,940 --> 00:40:03,370 Yna byddwch yn cael y tag HTML mawr. 816 00:40:03,370 --> 00:40:05,230 Mae'n cynnwys pen a chorff. 817 00:40:05,230 --> 00:40:06,970 Y tu mewn i'r pen, mae gennych y teitl. 818 00:40:06,970 --> 00:40:12,950 Dyna beth sy'n mynd yn y teitl bar ar eich porwr. 819 00:40:12,950 --> 00:40:15,810 Mae gennym tag gyswllt sy'n cysylltu mewn dalen arddull allanol. 820 00:40:15,810 --> 00:40:19,880 Ac yna mae gennym sgript sy'n tynnu o JavaScript allanol yn ogystal. 821 00:40:19,880 --> 00:40:23,750 >> Ac yna y tu mewn i'n corff yn mewn gwirionedd yr hyn sy'n cael ei ddangos ar y dudalen. 822 00:40:23,750 --> 00:40:28,210 Rydym wedi cael paragraff ac yna delwedd tu mewn y paragraff hwnnw. 823 00:40:28,210 --> 00:40:32,000 Mae hyn yn un yn ddarlun o cathod bach. 824 00:40:32,000 --> 00:40:35,840 Sylwch fod y ddelwedd tag cau ei hun. 825 00:40:35,840 --> 00:40:41,760 Felly, yn lle agor gyda delwedd ac yna gwneud / delwedd arall, rydych yn 826 00:40:41,760 --> 00:40:47,500 dim ond yn cael slaes bach yma yma, sy'n dod i ben iddo. 827 00:40:47,500 --> 00:40:53,670 A hefyd mae gan y ddelwedd tag allwedd hon werth priodoledd alt a elwir yn. 828 00:40:53,670 --> 00:40:56,970 Dyna'r testun amgen sy'n digwydd pan fyddwch yn hofran drosto. 829 00:40:56,970 --> 00:41:03,170 >> Cael rhywfaint o werth allweddol y rhan fwyaf o elfennau HTML pethau y gallwch chi ei roi, amrywiol 830 00:41:03,170 --> 00:41:04,420 customization. 831 00:41:04,420 --> 00:41:06,230 832 00:41:06,230 --> 00:41:08,705 Yeah. 833 00:41:08,705 --> 00:41:09,955 >> GYNULLEIDFA: [Anghlywadwy]. 834 00:41:09,955 --> 00:41:17,510 835 00:41:17,510 --> 00:41:19,680 >> ANGELA LI: Wel, felly ei fod yn priodoledd y tag. 836 00:41:19,680 --> 00:41:25,320 Felly, os ydych yn defnyddio jQuery, gallech wneud dewis image.getAttribute. 837 00:41:25,320 --> 00:41:27,930 Ac yna gallwch chwilio am cael y priodoledd alt. 838 00:41:27,930 --> 00:41:31,040 A bydd yn rhoi cathod bach i chi. 839 00:41:31,040 --> 00:41:37,400 Os ydych yn cofio ffurflenni HTML, mewnbwn Bydd elfennau briodoleddau enw. 840 00:41:37,400 --> 00:41:41,870 A dyna beth PHP yn eu defnyddio i anfon ceisiadau pan fydd ffurflen yn cael ei chyflwyno. 841 00:41:41,870 --> 00:41:44,762 842 00:41:44,762 --> 00:41:50,064 >> GYNULLEIDFA: Oeddech chi'n sôn am rywbeth am sut os ydych yn defnyddio kittens.jpg neu 843 00:41:50,064 --> 00:41:54,410 rhywbeth y mae gan y goll ffeil ffolderi neu ffeiliau eraill? 844 00:41:54,410 --> 00:41:54,750 >> ANGELA LI: Ydw. 845 00:41:54,750 --> 00:41:57,010 Felly, mae hyn yn hyn a elwir yn berthynas llwybr, oherwydd nid wyf ddim yn rhoi 846 00:41:57,010 --> 00:41:58,740 i chi y llwybr llawn. 847 00:41:58,740 --> 00:42:05,160 Mae hyn yn debyg pan yn C os ydych yn gwneud fopen rhai ffeil, os ydych yn hi.txt fopen, bod 848 00:42:05,160 --> 00:42:09,190 Disgwylir hi.txt i fod yn yr un cyfeiriadur, oni bai eich bod yn rhoi mwyaf y mae'n 849 00:42:09,190 --> 00:42:11,530 llwybr cymhleth. 850 00:42:11,530 --> 00:42:14,900 >> GYNULLEIDFA: Felly gallech nodi pa ffolder [Anghlywadwy]? 851 00:42:14,900 --> 00:42:17,660 >> ANGELA LI: Yeah. 852 00:42:17,660 --> 00:42:19,370 A gallwch edrych i fyny sut i wneud hynny. 853 00:42:19,370 --> 00:42:23,480 Ond os oeddwn i eisiau cael kittens.jpg allan y rhiant cyfeiriadur, byddwn yn gwneud 854 00:42:23,480 --> 00:42:24,730 .. / Kittens.jpg. 855 00:42:24,730 --> 00:42:29,680 856 00:42:29,680 --> 00:42:30,930 Yeah. 857 00:42:30,930 --> 00:42:32,960 858 00:42:32,960 --> 00:42:33,760 Mae'n ddrwg gennym. 859 00:42:33,760 --> 00:42:34,045 Yeah. 860 00:42:34,045 --> 00:42:35,700 O ddyn, yr wyf yn anghofio y cwestiwn. 861 00:42:35,700 --> 00:42:36,460 Beth oedd y cwestiwn? 862 00:42:36,460 --> 00:42:39,570 O, y cwestiwn oedd yw, kittens.jpg disgwylir iddynt fod yn yr un cyfeiriadur? 863 00:42:39,570 --> 00:42:40,630 Ac yn yr achos hwn, y mae. 864 00:42:40,630 --> 00:42:44,030 Ond gallwch hefyd roi cynnig llwybr penodol o'r fath nad oes raid iddo fod. 865 00:42:44,030 --> 00:42:47,100 866 00:42:47,100 --> 00:42:48,350 Da? 867 00:42:48,350 --> 00:42:50,190 868 00:42:50,190 --> 00:42:51,350 >> CSS. 869 00:42:51,350 --> 00:42:55,420 Felly CSS, fel HTML, nid yw iaith raglennu. 870 00:42:55,420 --> 00:42:58,250 CSS yn unig yw cyfres o reolau steilio. 871 00:42:58,250 --> 00:43:00,130 Mae'n sefyll am Cascading Style Sheets '. 872 00:43:00,130 --> 00:43:03,910 A ydych yn defnyddio ar y cyd gyda HTML i dudalennau arddull. 873 00:43:03,910 --> 00:43:08,140 Felly, mae tair ffordd gallwch ei gynnwys. 874 00:43:08,140 --> 00:43:11,950 Un ffordd y gallwch wneud hyn yw yn y pen cyfran o'ch HTML, gallwch dim ond 875 00:43:11,950 --> 00:43:15,410 agor tag arddull ac yna ffon rheolau rhywfaint CSS i mewn 'na. 876 00:43:15,410 --> 00:43:16,759 Mae'n eithaf iawn. 877 00:43:16,759 --> 00:43:17,228 Yeah. 878 00:43:17,228 --> 00:43:21,449 >> GYNULLEIDFA: A allech chi roi rhai tagiau arddull yn y canol, gadewch i ni 879 00:43:21,449 --> 00:43:22,860 dyweder, corff ac / corff. 880 00:43:22,860 --> 00:43:27,400 Ac yna byddech yn steilio yn unig yn y corff. 881 00:43:27,400 --> 00:43:28,840 >> ANGELA LI: Gallech. 882 00:43:28,840 --> 00:43:29,590 Bydd yn gweithio. 883 00:43:29,590 --> 00:43:33,990 Ond nid dylech, oherwydd steilio yw caredig y metadata a ddylai fynd yn 884 00:43:33,990 --> 00:43:35,890 pen eich dogfen. 885 00:43:35,890 --> 00:43:38,280 Dylai corff mewn gwirionedd dim ond yn cynnwys beth yn union sy'n mynd i 886 00:43:38,280 --> 00:43:39,420 arddangos i fyny ar eich tudalen. 887 00:43:39,420 --> 00:43:42,155 >> GYNULLEIDFA: Felly byddech yn eu rhoi arddull yn eich pen i arddull y 888 00:43:42,155 --> 00:43:43,930 dudalen we gyfan, dde? 889 00:43:43,930 --> 00:43:44,300 >> ANGELA LI: Yeah. 890 00:43:44,300 --> 00:43:50,470 Felly, rhoi steil yma, mae rheolau CSS hyn yn gymwys i'r dudalen gyfan yn seiliedig ar 891 00:43:50,470 --> 00:43:52,100 eu detholwyr. 892 00:43:52,100 --> 00:43:57,090 Felly, y ffordd well o wneud hyn yw yn lle hynny o gael tag arddull yn eich pen, 893 00:43:57,090 --> 00:44:00,430 gennych y cyswllt hwn i arddull allanol taflen fel yr wyf yn dangos i chi yn y 894 00:44:00,430 --> 00:44:01,980 enghraifft flaenorol. 895 00:44:01,980 --> 00:44:05,920 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 896 00:44:05,920 --> 00:44:08,470 mewn ac yn defnyddio gan fod y arddulliau ar gyfer y dudalen. 897 00:44:08,470 --> 00:44:10,500 Ac yn eich style.css byddai dim ond yn edrych fel hyn. 898 00:44:10,500 --> 00:44:13,330 Byddai'n unig fod yn griw o CSS. 899 00:44:13,330 --> 00:44:16,210 >> Ac yn olaf, mae ffordd arall i chi Gall gynnwys CSS, yr ydych mewn gwirionedd 900 00:44:16,210 --> 00:44:17,480 Ni ddylid byth ei wneud. 901 00:44:17,480 --> 00:44:18,950 Mae'n steilio inline alwad. 902 00:44:18,950 --> 00:44:22,650 Ac felly unrhyw elfen HTML hefyd yn gallu cymryd priodoledd arddull. 903 00:44:22,650 --> 00:44:26,320 Ac yna yn y priodoledd arddull, gallwch ei roi rheolau CSS. 904 00:44:26,320 --> 00:44:29,140 Felly, yn yr achos hwn, beth bynnag div rwy'n diffinio i'r dde yma, mae'n mynd i 905 00:44:29,140 --> 00:44:32,580 gefndir du a lliw testun gwyn. 906 00:44:32,580 --> 00:44:35,620 Ond ni ddylech wneud hyn, oherwydd yr hyn hyn yn cael ei ei fod yn rhoi eich steilio 907 00:44:35,620 --> 00:44:36,850 y tu mewn i'ch HTML. 908 00:44:36,850 --> 00:44:40,530 >> Ac yr wyf yn gwybod ein bod wedi bod yn siarad am HTML yw strwythur a CSS yn arddull. 909 00:44:40,530 --> 00:44:42,790 Os byddwch yn gwneud hyn, mae'n cymysgu nhw at ei gilydd. 910 00:44:42,790 --> 00:44:44,550 Ac nid yw'n lân iawn. 911 00:44:44,550 --> 00:44:45,800 Felly peidiwch â gwneud hynny. 912 00:44:45,800 --> 00:44:47,690 913 00:44:47,690 --> 00:44:52,100 Gan ddefnyddio enghraifft o CSS, i fyny yno, rydym yn dewiswch y corff y HTML 914 00:44:52,100 --> 00:44:52,380 ddogfennol. 915 00:44:52,380 --> 00:44:55,110 Ac rydym yn hoffi, popeth yn mynd i fod yn Comic Sans. 916 00:44:55,110 --> 00:44:57,290 Hefyd, dwi ddim yn argymell hynny. 917 00:44:57,290 --> 00:44:59,940 Ond gallech wneud hynny. 918 00:44:59,940 --> 00:45:03,140 >> Mae'r ail rheol yma, mae'n mynd i ddewis yr elfen ar y 919 00:45:03,140 --> 00:45:04,880 dudalen gyda phrif adnabod. 920 00:45:04,880 --> 00:45:11,690 Felly, beth bynnag HTML elfen, dywedais ID = Cyfan, dw i'n mynd i roi bod 921 00:45:11,690 --> 00:45:16,020 Ymyl 20-picsel ac alinio popeth, holl destun, i'r ganolfan. 922 00:45:16,020 --> 00:45:19,030 Y peth olaf dewis yn ôl dosbarth CSS. 923 00:45:19,030 --> 00:45:24,450 Felly mae unrhyw elfen ar y dudalen a roddais dosbarth adran, yr wyf i'n mynd i wneud yn 924 00:45:24,450 --> 00:45:26,602 lliw cefndir glas golau. 925 00:45:26,602 --> 00:45:29,380 926 00:45:29,380 --> 00:45:30,040 Yep. 927 00:45:30,040 --> 00:45:30,700 Dyna i gyd ges. 928 00:45:30,700 --> 00:45:30,890 Cwestiwn? 929 00:45:30,890 --> 00:45:34,020 >> GYNULLEIDFA: Beth mae'r hashtag cyn brif wneud? 930 00:45:34,020 --> 00:45:36,310 >> ANGELA LI: Y cwestiwn yw, beth sydd hashtag cyn brif do? 931 00:45:36,310 --> 00:45:40,770 Yn yr achos hwn, mae'r hash yn CSS yn golygu dethol gan adnabod. 932 00:45:40,770 --> 00:45:47,490 Felly, os oedd gennyf rhyw elfen HTML, fel divid = prif, yn dewis rheol CSS hon 933 00:45:47,490 --> 00:45:49,260 y peth gyda phrif adnabod. 934 00:45:49,260 --> 00:45:53,940 Ac yn yr un modd, y cyfnod o flaen adran hon yn dethol yn ôl dosbarth CSS neu 935 00:45:53,940 --> 00:45:56,558 dewis yn ôl dosbarth HTML. 936 00:45:56,558 --> 00:46:00,940 >> GYNULLEIDFA: Pam mae wedi cyn 6 mewn lliw cefndir? 937 00:46:00,940 --> 00:46:01,270 >> ANGELA LI: Yeah. 938 00:46:01,270 --> 00:46:03,360 Felly, y cwestiwn yw, pam mae hash cyn 6? 939 00:46:03,360 --> 00:46:05,320 Mae hyn yn wahanol na'r hyn a hash. 940 00:46:05,320 --> 00:46:09,500 Mae hyn yn golygu eich bod yn rhoi lliw hecsadegol. 941 00:46:09,500 --> 00:46:14,260 Lliwiau Felly hecs, mae hyn yn unig yn cynrychioli lliw. 942 00:46:14,260 --> 00:46:17,860 A ydych yn cofio treblu'r RGB pan gwnaethoch y pset fforensig? 943 00:46:17,860 --> 00:46:18,770 Mae hyn yn debyg. 944 00:46:18,770 --> 00:46:21,590 Y ddau ddigid cyntaf yn cynrychioli faint o coch sydd yn y lliw. 945 00:46:21,590 --> 00:46:23,260 Mae'r ail dau yn cynrychioli faint o gwyrdd. 946 00:46:23,260 --> 00:46:25,450 A'r trydydd yn cynrychioli faint o glas. 947 00:46:25,450 --> 00:46:30,060 Ac mae'r hash yw hyn yn mynd i gynrychioli lliw. 948 00:46:30,060 --> 00:46:35,660 >> Felly, unrhyw beth o 0, 0, 0, 0, 0, 0 hyd at F, F, F, F, F, F yn ddilys. 949 00:46:35,660 --> 00:46:39,550 Mae'n rhywfaint o liw dilys y gall yn cael eu harddangos gan eich porwr. 950 00:46:39,550 --> 00:46:39,790 Cwestiwn? 951 00:46:39,790 --> 00:46:43,590 >> GYNULLEIDFA: Beth yw'r gwahaniaeth rhwng defnyddio gan adnabod ac yn ôl dosbarth? 952 00:46:43,590 --> 00:46:46,470 >> ANGELA LI: Y cwestiwn yw beth sy'n y gwahaniaeth rhwng 953 00:46:46,470 --> 00:46:48,950 defnyddio gan adnabod a dosbarth? 954 00:46:48,950 --> 00:46:54,390 Gallwch ond gael un elfen mewn Dogfen HTML sydd yn ID roddir. 955 00:46:54,390 --> 00:46:58,660 Felly, dim ond un peth ar fy dudalen yn cael ei ganiatáu i gael prif adnabod. 956 00:46:58,660 --> 00:47:02,580 Felly rydych yn ei ddefnyddio ar gyfer hyn yw y pennawd. 957 00:47:02,580 --> 00:47:03,850 Mae hyn yn y llyw. 958 00:47:03,850 --> 00:47:05,230 Mae hyn yn y troedyn. 959 00:47:05,230 --> 00:47:09,070 Dosbarthiadau yn wahanol, oherwydd eich bod yn gallu berthnasol dosbarthiadau fel llawer o elfennau HTML 960 00:47:09,070 --> 00:47:10,100 ag y dymunwch. 961 00:47:10,100 --> 00:47:15,860 >> Felly, er enghraifft, yr wyf yn gwneud yr adran dosbarth, oherwydd mae yn ôl pob tebyg yn fwy nag un 962 00:47:15,860 --> 00:47:17,540 adran ar fy nhudalen. 963 00:47:17,540 --> 00:47:20,200 Rydych yn unig hawl i gael cymaint o elfennau ar y dudalen gyda'r un 964 00:47:20,200 --> 00:47:23,190 dosbarth ond dim ond un gyda ID penodol. 965 00:47:23,190 --> 00:47:25,600 >> GYNULLEIDFA: Felly mae'r smotyn yn cynrychioli y dosbarth? 966 00:47:25,600 --> 00:47:26,090 >> ANGELA LI: Yeah. 967 00:47:26,090 --> 00:47:27,380 Mae smotyn yn cynrychioli dosbarth. 968 00:47:27,380 --> 00:47:29,990 969 00:47:29,990 --> 00:47:31,540 Cool. 970 00:47:31,540 --> 00:47:32,370 Dyna i gyd gen i, guys. 971 00:47:32,370 --> 00:47:33,544 Diolch yn fawr. 972 00:47:33,544 --> 00:48:13,380 >> [Cymeradwyaeth] 973 00:48:13,380 --> 00:48:14,290 >> ZAMYLA Chan: Hi, bawb. 974 00:48:14,290 --> 00:48:14,880 Rwy'n Zamyla. 975 00:48:14,880 --> 00:48:18,830 Rydw i'n mynd i gael eu cwmpasu PHP, Heddiw MVC, a SQL. 976 00:48:18,830 --> 00:48:22,350 977 00:48:22,350 --> 00:48:26,110 Mae llawer o'r deunydd y byddaf yn gorchudd yn mynd i fod yn 'n bert lawer 978 00:48:26,110 --> 00:48:29,100 i'r dde allan o'r pset7. 979 00:48:29,100 --> 00:48:29,700 Mae pob hawl. 980 00:48:29,700 --> 00:48:31,180 Felly beth yw PHP? 981 00:48:31,180 --> 00:48:35,150 PHP yn sefyll am PHP Hypertext Preprocessor. 982 00:48:35,150 --> 00:48:38,740 Felly mae'n, ynddo'i hun, yn dychweliadol enw, sydd yn eithaf oer. 983 00:48:38,740 --> 00:48:42,220 PHP yn iaith sgriptio ochr y gweinydd, ac mae'n darparu'r ol-wyneb 984 00:48:42,220 --> 00:48:44,610 ac mae'r sylfeini rhesymegol ein gwefan. 985 00:48:44,610 --> 00:48:48,520 >> Felly Soniodd Angela llawer am y HTML a CSS fydd yn gwneud y strwythur 986 00:48:48,520 --> 00:48:49,530 ar y wefan. 987 00:48:49,530 --> 00:48:53,210 Ond beth os ydych am newid hynny cynnwys ddynamig neu os yw'n amrywio 988 00:48:53,210 --> 00:48:55,240 yn seiliedig ar y defnyddiwr neu amodau penodol? 989 00:48:55,240 --> 00:48:57,060 Dyna lle PHP yn dod i mewn 990 00:48:57,060 --> 00:49:02,610 Yn awr, fel arfer, efallai PHP gymryd ychydig llai o linellau i weithredu'r un peth 991 00:49:02,610 --> 00:49:07,380 yn C. Mae hynny oherwydd PHP yn ymdrin cof rheoli ar gyfer y rhaglennydd, 992 00:49:07,380 --> 00:49:11,170 yn hytrach na ni orfod malloc rhad ac am ddim, pethau fel 'na. 993 00:49:11,170 --> 00:49:15,430 >> Ond ers PHP yn dehongli iaith, yn nodweddiadol, gallai gweithredu 994 00:49:15,430 --> 00:49:19,540 ychydig yn fwy araf na C, a oedd yn yn iaith llunio. 995 00:49:19,540 --> 00:49:23,150 Oherwydd ein bod yn symud rhaglenni ieithoedd, gadewch i ni edrych ar sut y mae'r 996 00:49:23,150 --> 00:49:24,570 Bydd cystrawen yn wahanol. 997 00:49:24,570 --> 00:49:28,770 Gadewch i ni fod yn ofalus iawn i beidio â drysu â hyn. 998 00:49:28,770 --> 00:49:33,750 Felly, gyda chystrawen PHP, p'un a ydych yn ymgorffori eich PHP tu mewn i HTML 999 00:49:33,750 --> 00:49:40,430 ffeil neu o fewn. ffeil php ei hun, rydych yn Mae angen i amgáu y cod yn yr awyr agored 1000 00:49:40,430 --> 00:49:45,270 PHP ac yn y tagiau PHP caeedig fel dilyn, fel ar y sgrin. 1001 00:49:45,270 --> 00:49:46,660 >> Newidynnau mewn PHP. 1002 00:49:46,660 --> 00:49:51,490 Bydd pob newidyn sengl yn dechrau gyda yr arwydd $ ddilyn gan enw'r 1003 00:49:51,490 --> 00:49:53,150 eich newidyn. 1004 00:49:53,150 --> 00:49:56,530 Yn awr, newidynnau yn PHP yn cael eu teipio llac, sy'n golygu nad oes angen i chi 1005 00:49:56,530 --> 00:50:00,030 i ddangos yr hyn y mae'r math data yw pan fyddwch yn datgan ei. 1006 00:50:00,030 --> 00:50:03,505 Fodd bynnag, nid yw hyn yn golygu eu bod yn Nid oes rhaid i unrhyw fathau o gwbl. 1007 00:50:03,505 --> 00:50:09,370 Felly, os wyf yn datgan newidyn a dim ond yn gosod mae'n gyfartal i 1, ac yna yr wyf yn datgan 1008 00:50:09,370 --> 00:50:15,140 newidyn arall, osod cyfartal i "1," ac yna un 1.0 gilydd, yn dda, 1009 00:50:15,140 --> 00:50:19,410 yn dibynnu ar y math o gydraddoldeb gweithredwyr wyf yn defnyddio, os wyf am gymharu 1010 00:50:19,410 --> 00:50:21,830 ar draws bob math, ac yna byddant yn gyfartal. 1011 00:50:21,830 --> 00:50:25,570 Ond os ydw i eisiau gwneud yn siŵr bod y mathau yn gyfartal, gall PHP yn dal i wneud 1012 00:50:25,570 --> 00:50:28,690 , hyd yn oed er nad ydym yn dangos pa fath mae'n pan fyddwn yn 1013 00:50:28,690 --> 00:50:31,170 yn gyntaf yn gwneud y ffeil. 1014 00:50:31,170 --> 00:50:33,990 >> Yn awr, yn PHP, er ein bod newid drosodd o raglennu 1015 00:50:33,990 --> 00:50:39,360 iaith o C, mae gennym ein trusty os yw cyflwr, yn union fel hyn. 1016 00:50:39,360 --> 00:50:43,270 Rydym yn dal i wedi ein ddolenni ychydig, dim ond fel hyn, lle rydych yn ei roi yn eich 1017 00:50:43,270 --> 00:50:47,300 cyflwr ac yna'r gorff y ddolen. 1018 00:50:47,300 --> 00:50:50,360 Ac yna rydym hefyd wedi ein i ddolen, sydd fel arfer yn edrych fel hyn. 1019 00:50:50,360 --> 00:50:55,330 Felly, os oeddwn i eisiau ailadrodd dros yr holl naw psets a chyflwyno a galw 1020 00:50:55,330 --> 00:50:58,960 submitPset swyddogaeth, yna gallaf wneud hynny yma, yr ydych guys i gyd wedi 1021 00:50:58,960 --> 00:50:59,830 wneud gan y pwynt hwn. 1022 00:50:59,830 --> 00:51:01,080 Llongyfarchiadau, gan y ffordd. 1023 00:51:01,080 --> 00:51:04,560 1024 00:51:04,560 --> 00:51:07,550 >> Ar gyfer y camera, mae pobl Dywedodd, diolch i chi. 1025 00:51:07,550 --> 00:51:11,220 Yn awr, os nad oedd arnoch eisiau i ddim ond defnyddio hyn ar gyfer dolen, yna PHP mewn gwirionedd hefyd 1026 00:51:11,220 --> 00:51:13,580 wedi pethau o'r enw dolenni foreach. 1027 00:51:13,580 --> 00:51:22,210 Felly, os oedd gen i amrywiaeth o gyfanrifau, 0 drwy 8, storio yn y psets amrywiaeth, 1028 00:51:22,210 --> 00:51:27,290 yna gallwn gael dolen foreach sy'n ailadrodd dros bob rhif mewn psets. 1029 00:51:27,290 --> 00:51:30,640 Ac yna y gallwn ei alw'n un weithredu wyth gwaith, 1030 00:51:30,640 --> 00:51:31,910 yn union fel wnes i cyn. 1031 00:51:31,910 --> 00:51:36,480 Felly, mae hyn ar gyfer pob dolen yn braf, oherwydd Nid oes rhaid i chi os nad ydych yn gwybod 1032 00:51:36,480 --> 00:51:39,470 union hyd y rhesi eich bod wedi, yna defnyddio hwn dolen foreach 1033 00:51:39,470 --> 00:51:42,800 Bydd yn gofalu am hynny ar eich rhan. 1034 00:51:42,800 --> 00:51:45,410 >> Felly, yr wyf yn gwneud psets fel arae. 1035 00:51:45,410 --> 00:51:46,700 Gadewch i ni edrych ar hynny. 1036 00:51:46,700 --> 00:51:51,290 Araeau yn PHP yn nodweddiadol yr un fath â y rhai yr ydym wedi eu cael yn C, lle 1037 00:51:51,290 --> 00:51:52,960 gallwch ddatgan arae. 1038 00:51:52,960 --> 00:51:59,200 Ac yma, gallaf ddatgan amrywiaeth gwag ac yna adeiladu i fyny ddeinamig drwy ddefnyddio 1039 00:51:59,200 --> 00:52:00,850 mynegeion fel cyfanrifau. 1040 00:52:00,850 --> 00:52:04,140 Felly mynegai 0, dw i'n mynd i storio cyfanrif a enwir 1. 1041 00:52:04,140 --> 00:52:09,210 Ar mynegai 1 o fy rhestr, dw i'n mynd i storio gwerth 2. 1042 00:52:09,210 --> 00:52:12,670 Ac ar y trydydd mynegai, ond y ail rif, dw i'n mynd i 1043 00:52:12,670 --> 00:52:14,870 storio'r rhif 12. 1044 00:52:14,870 --> 00:52:17,250 >> Yn awr, mae hyn yn iawn yn y weithio, mae'n gweithio'n dda. 1045 00:52:17,250 --> 00:52:21,310 Ond yn dweud ei fod yn bwysig i mi hyn y mae pob mynegai dal. 1046 00:52:21,310 --> 00:52:24,500 I mi, mynegai 0 yn golygu sut lawer o gathod sydd gen i. 1047 00:52:24,500 --> 00:52:27,400 Ac mae'r mynegai 1 yn golygu sut lawer o tylluanod gen i. 1048 00:52:27,400 --> 00:52:29,450 Ac mae'r un nesaf yn golygu faint o gŵn. 1049 00:52:29,450 --> 00:52:34,140 Wel, yna mae'n nodi, yn lle o orfod cofio 0 yn ymwneud â 1050 00:52:34,140 --> 00:52:38,090 cathod ac 1 i dylluanod, gallaf ddefnyddio araeau cysylltiadol, sy'n golygu bod 1051 00:52:38,090 --> 00:52:42,260 yn hytrach na o gyfanrifau fel fy mynegeion, Gall Fi 'n weithredol yn defnyddio llinynnau. 1052 00:52:42,260 --> 00:52:43,290 >> Felly, mae hyn yn eithaf defnyddiol. 1053 00:52:43,290 --> 00:52:47,130 A ydych chi wedi bôn yn unig disodli y cyfanrif gyda llinynnau. 1054 00:52:47,130 --> 00:52:50,074 Ac mae gennych amrywiaeth cysylltiadol. 1055 00:52:50,074 --> 00:52:51,930 Yeah. 1056 00:52:51,930 --> 00:52:55,800 >> GYNULLEIDFA: A oes rheswm pam y mae yn tanlinellu ar gyfer yr ail 1057 00:52:55,800 --> 00:52:58,750 rhannol, oherwydd bod fy rhestr mae gan y rhesi. 1058 00:52:58,750 --> 00:53:01,330 >> ZAMYLA Chan: Y cwestiwn oedd, yn yna reswm pam mae 'na 1059 00:53:01,330 --> 00:53:03,320 tanlinellu rhwng fy a rhestr? 1060 00:53:03,320 --> 00:53:03,610 Rhif 1061 00:53:03,610 --> 00:53:06,878 Dyna dim ond sut dwi'n enwi fy amrywiol. 1062 00:53:06,878 --> 00:53:11,670 >> GYNULLEIDFA: Ar y cyntaf llinell, mae'n un gair. 1063 00:53:11,670 --> 00:53:12,560 >> ZAMYLA Chan: Mae fy ymddiheuriadau. 1064 00:53:12,560 --> 00:53:13,410 'N annhymerus' atgyweiria hynny. 1065 00:53:13,410 --> 00:53:13,620 Yeah. 1066 00:53:13,620 --> 00:53:15,460 Dylent fod yn yr un enw amrywiol. 1067 00:53:15,460 --> 00:53:16,710 Dal Da. 1068 00:53:16,710 --> 00:53:19,640 1069 00:53:19,640 --> 00:53:19,950 OK. 1070 00:53:19,950 --> 00:53:22,610 Felly, gadewch i ni symud ymlaen i linyn Concatenation. 1071 00:53:22,610 --> 00:53:27,500 Os wyf yn awyddus i gymryd dau llinynnau, yna gallaf eu concatenate 1072 00:53:27,500 --> 00:53:28,550 â gweithredwr y dot. 1073 00:53:28,550 --> 00:53:32,440 Felly, os oes gen i Milo fel enw cyntaf a Banana fel enw olaf, yna 1074 00:53:32,440 --> 00:53:35,430 cydgadwyno gyda gweithredwr y dot a Yna rhoi lle yn y canol 1075 00:53:35,430 --> 00:53:39,210 bydd yn gwneud llinyn sy'n cynnwys Milo Banana, y gallaf wedyn adleisio'r neu, 1076 00:53:39,210 --> 00:53:41,280 yn hytrach, yn argraffu. 1077 00:53:41,280 --> 00:53:44,465 >> Wrth siarad am adlais, gadewch i ni siarad am ychydig o ddefnyddiol - 1078 00:53:44,465 --> 00:53:44,920 wps. 1079 00:53:44,920 --> 00:53:46,030 Mae'n ddrwg gen i. 1080 00:53:46,030 --> 00:53:52,920 Mae ychydig o swyddogaethau PHP defnyddiol. 1081 00:53:52,920 --> 00:53:56,240 Felly, rydym yn cael y - 1082 00:53:56,240 --> 00:53:57,444 anawsterau technegol. 1083 00:53:57,444 --> 00:53:58,694 Un eiliad. 1084 00:53:58,694 --> 00:54:16,960 1085 00:54:16,960 --> 00:54:19,550 Yr wyf yn ei anfon. 1086 00:54:19,550 --> 00:54:22,320 Problemau PowerPoint. 1087 00:54:22,320 --> 00:54:29,200 Ac rydym yn ôl gyda swyddogaethau PHP. 1088 00:54:29,200 --> 00:54:32,010 1089 00:54:32,010 --> 00:54:35,150 Ac rydym yn ôl gyda swyddogaethau PHP. 1090 00:54:35,150 --> 00:54:39,890 >> Felly yr ydym wedi gofyn am y swyddogaeth, lle os byddwch yn mynd heibio mewn ffeil, dyma yn unig 1091 00:54:39,890 --> 00:54:43,300 enghraifft o ffeil a Efallai fy mod yn pasio i mewn 1092 00:54:43,300 --> 00:54:47,605 Yna, a fydd yn cynnwys y cod PHP o'r ffeil yr wyf yn ei awgrymu. 1093 00:54:47,605 --> 00:54:49,940 A bydd yn gwerthuso hynny mewn 1094 00:54:49,940 --> 00:54:54,450 Yna, mae gennym hefyd adlais, a oedd yn yn gyfochrog â printf. 1095 00:54:54,450 --> 00:54:57,710 Gadael yn baralel i dorri, sy'n gadael y bloc o 1096 00:54:57,710 --> 00:54:58,570 cod eich bod yn ynddo 1097 00:54:58,570 --> 00:55:03,180 Ac yna gwiriadau gwag a yw rhoi amrywiol yn debyg null neu sero neu 1098 00:55:03,180 --> 00:55:08,482 beth bynnag yn gyfystyr â bod yn wag. 1099 00:55:08,482 --> 00:55:09,438 Yeah. 1100 00:55:09,438 --> 00:55:15,341 >> GYNULLEIDFA: Ar gyfer y Concatenation llinyn dot gweithredwr un, yn PHP, yw bod y 1101 00:55:15,341 --> 00:55:20,158 un fath ag yn JavaScript lle mae'n defnyddio y dot ar gyfer Concatenation golygu yn ogystal? 1102 00:55:20,158 --> 00:55:27,440 Felly, ar gyfer enw llawn, gallech gael doler llofnodi + gyntaf ac yna + yn para? 1103 00:55:27,440 --> 00:55:27,720 >> ZAMYLA Chan: Yeah. 1104 00:55:27,720 --> 00:55:32,150 Felly, y cwestiwn oedd a yn PHP ni yn gallu defnyddio'r un Concatenation llinyn 1105 00:55:32,150 --> 00:55:33,890 fel yn JavaScript â'r pwyntiau cadarnhaol. 1106 00:55:33,890 --> 00:55:35,410 A bydd Joseff fynd i mewn i hynny yn nes ymlaen. 1107 00:55:35,410 --> 00:55:36,620 Rwy'n credu ei fod wedi sleid ar hynny. 1108 00:55:36,620 --> 00:55:37,570 A dweud y gwir, mae'n wahanol. 1109 00:55:37,570 --> 00:55:41,310 Felly, yn JavaScript, mae angen i chi ddefnyddio plws i concatenate llinynnau. 1110 00:55:41,310 --> 00:55:43,280 Ac yn PHP, rhaid i chi defnyddiwch y gweithredwr dot. 1111 00:55:43,280 --> 00:55:44,530 Felly, maent yn wahanol. 1112 00:55:44,530 --> 00:55:46,680 1113 00:55:46,680 --> 00:55:46,910 >> OK. 1114 00:55:46,910 --> 00:55:49,500 Felly, yn awr ein bod wedi cynnwys yr holl PHP hon, lle mae'n ei 1115 00:55:49,500 --> 00:55:50,490 dod i mewn gwirionedd yn ddefnyddiol? 1116 00:55:50,490 --> 00:55:54,470 Wel, mae'n dod mewn 'n hylaw pan fyddwn yn gallu cyfuno gyda'n HTML. 1117 00:55:54,470 --> 00:55:59,550 Felly, bydd ein PHP yn rhoi pŵer i ni newid HTML gynnwys tudalen cyn i 1118 00:55:59,550 --> 00:56:00,000 ei llwytho. 1119 00:56:00,000 --> 00:56:04,270 Felly, yn seiliedig ar amodau gwahanol, Fel arfer, y defnyddiwr penodol sy'n 1120 00:56:04,270 --> 00:56:07,520 logio i mewn, gallwn arddangos gwybodaeth wahanol. 1121 00:56:07,520 --> 00:56:08,800 Linda, oedd gennych gwestiwn? 1122 00:56:08,800 --> 00:56:15,510 >> GYNULLEIDFA: Allwch chi concatenate yn gyfanrif hefyd? 1123 00:56:15,510 --> 00:56:16,760 >> ZAMYLA Chan: Oes, gallwch. 1124 00:56:16,760 --> 00:56:19,530 1125 00:56:19,530 --> 00:56:23,270 Felly, y cwestiwn oedd os gallwch concatenate cyfanrifau neu arall 1126 00:56:23,270 --> 00:56:28,920 variable.s awr, yr ydym yn symud ymlaen i MVC, a oedd yn yn batrwm a ddefnyddiwyd gennym yn 1127 00:56:28,920 --> 00:56:33,380 pset7 ac mae llawer o dylunwyr gwe ddefnyddio ar gyfer trefnu'r cod yn y ffeil 1128 00:56:33,380 --> 00:56:34,490 yn eu gwefan. 1129 00:56:34,490 --> 00:56:35,870 M yn sefyll am Model. 1130 00:56:35,870 --> 00:56:41,450 Ac yn y bôn, bydd ffeiliau model yn ymdrin gyda rhyngweithio gyda'r gronfa data. 1131 00:56:41,450 --> 00:56:44,640 Gweld ffeil, maent yn ymwneud â'r estheteg y wefan. 1132 00:56:44,640 --> 00:56:47,550 Ac mae'r dolenni Rheolwr ceisiadau defnyddiwr, parses 1133 00:56:47,550 --> 00:56:49,230 data, a yw rhesymeg eraill. 1134 00:56:49,230 --> 00:56:52,520 >> Yn pset7, rydym yn cyfuno y model a'r rheolwr. 1135 00:56:52,520 --> 00:56:55,880 Ac rydym yn unig yn eu galw rheolwyr a eu rhoi yn y cyfeirlyfr cyhoeddus. 1136 00:56:55,880 --> 00:57:01,730 A'r farn ffeiliau, yr ydym yn eu defnyddio fel templedi yn y cyfeiriadur templedi. 1137 00:57:01,730 --> 00:57:07,260 Felly diagram hwn yma hefyd yn cynrychioli yr un fath o raniad gyda'r 1138 00:57:07,260 --> 00:57:10,510 model a'r rheolwr mewn porffor yma ar y chwith a 1139 00:57:10,510 --> 00:57:12,770 y farn ar y dde. 1140 00:57:12,770 --> 00:57:16,020 Felly mae hwn yn sgematig bod rhai ohonoch allai fod wedi gweld yn oriau swyddfa neu 1141 00:57:16,020 --> 00:57:19,130 diagramau ein bod yn tynnu wrth i chi yn figuring eich pset. 1142 00:57:19,130 --> 00:57:25,030 >> Felly dyma, mewn rheolwr penodol, model rheolwr, mae gennym swyddogaethau 1143 00:57:25,030 --> 00:57:30,490 sy'n ymwneud â ymholi'r SQL gronfa ddata, gweithredu rhesymeg PHP. 1144 00:57:30,490 --> 00:57:32,370 Efallai y byddech yn edrych i fyny stoc yn Yahoo! 1145 00:57:32,370 --> 00:57:34,590 Cyllid. 1146 00:57:34,590 --> 00:57:37,390 Neu efallai, a fyddech jyst atalfa i weld a yw defnyddiwr wedi cyflwyno 1147 00:57:37,390 --> 00:57:40,250 ffurfio eisoes cyn cael Ymwelodd eich tudalen. 1148 00:57:40,250 --> 00:57:43,390 Ac yna byddech yn gwneud a ffurfio dros yma. 1149 00:57:43,390 --> 00:57:48,210 Ar ôl y ffurflen wedi ei gyflwyno gan y defnyddiwr, y camau a oedd yn 1150 00:57:48,210 --> 00:57:53,470 a nodir yn y ffurflen yn tag HTML yn awgrymu y dudalen ei fod yn 1151 00:57:53,470 --> 00:57:55,620 dychwelyd y data. 1152 00:57:55,620 --> 00:57:59,460 >> Felly byddai'r holl wybodaeth honno yn anfon yn ôl at eich rheolwr. 1153 00:57:59,460 --> 00:58:02,620 Yna, mae'n debyg y byddech yn gwneud ychydig yn fwy rhesymeg ar hynny ac efallai gyflawni rhai 1154 00:58:02,620 --> 00:58:06,510 mwy o ymholiadau yn y gronfa ddata SQL a Yna, yn olaf, yn dod o hyd i 'n glws 1155 00:58:06,510 --> 00:58:11,930 set lawn o wybodaeth y byddech basio i mewn i rai templed arall 1156 00:58:11,930 --> 00:58:13,950 oedd yn dangos y wybodaeth honno. 1157 00:58:13,950 --> 00:58:17,030 Nawr, sut ydyn ni'n pecynnu mewn gwirionedd bod gwybodaeth i fyny? 1158 00:58:17,030 --> 00:58:23,980 Wel, mae gennym swyddogaeth o'r enw Rendr a oedd yn y ffeil functions.php yn 1159 00:58:23,980 --> 00:58:29,950 pset7, lle byddwch yn pasio yn enw ffeil, enw'r templed. 1160 00:58:29,950 --> 00:58:32,160 >> Ac yna i chi hefyd basio yn arae cysylltiadol. 1161 00:58:32,160 --> 00:58:37,150 Ac felly bod amrywiaeth cysylltiadol yn cynrychioli y gwybodaeth wahanol 1162 00:58:37,150 --> 00:58:39,040 eich bod am i basio i mewn 1163 00:58:39,040 --> 00:58:43,460 Nawr, beth sy'n mynd i fod yn gyson yn enghreifftiau hyn yw bod y allweddi neu, 1164 00:58:43,460 --> 00:58:47,070 yn hytrach, yr allweddi y cysylltiadol araeau, y rhai yn beth sy'n mynd i fod yn 1165 00:58:47,070 --> 00:58:51,050 disgwylir iddynt fod yn gyson gan y templed, oherwydd ei fod yn gwybod bod angen 1166 00:58:51,050 --> 00:58:53,990 rhywbeth o'r enw neges neu a elwir yn enw. 1167 00:58:53,990 --> 00:58:56,940 Ac yna y pethau ar y dde, bydd y gwerthoedd gwirioneddol, felly yn yr achos hwn, pwy sy'n 1168 00:58:56,940 --> 00:59:00,750 fachgen da a Milo, y rhai yn mynd i fod gwerthoedd sy'n newid 1169 00:59:00,750 --> 00:59:05,610 bod y rheolwr yn newid bob tro neu yn seiliedig ar gyflwr penodol ac 1170 00:59:05,610 --> 00:59:07,120 yn pasio hynny mewn 1171 00:59:07,120 --> 00:59:12,790 >> Felly, yma yn templedi, gwelwn ein bod yn yn defnyddio nodau arbennig HTML, 1172 00:59:12,790 --> 00:59:16,370 a dim ond yn y bôn yn golygu ein bod am i gael y llinyn cyfoedion fod y 1173 00:59:16,370 --> 00:59:17,580 defnyddiwr rhoi i mewn 1174 00:59:17,580 --> 00:59:20,880 Ac rydym am i gyfnewid neges mewn 'na. 1175 00:59:20,880 --> 00:59:26,110 Felly, yna pan fyddwn mewn gwirionedd yn edrych ar y ffeil, gall y penodol 1176 00:59:26,110 --> 00:59:28,700 gwybodaeth yn cael ei throsglwyddo i mewn 1177 00:59:28,700 --> 00:59:33,850 Noder bod y allweddol ynghylch sut rendr yn gweithio yn bod yr allweddi y cysylltiadol 1178 00:59:33,850 --> 00:59:37,170 araeau, y rhai yn newidiol enwau yma. 1179 00:59:37,170 --> 00:59:40,720 Ac felly y gwerthoedd y allweddol yn y amrywiaeth cysylltiadol wedyn yn dod yn y 1180 00:59:40,720 --> 00:59:41,970 gwerth y newidyn. 1181 00:59:41,970 --> 00:59:44,800 1182 00:59:44,800 --> 00:59:46,040 >> Yn awr, gadewch i ni symud ymlaen i SQL. 1183 00:59:46,040 --> 00:59:48,010 Mae'n sefyll am Strwythuredig Ymholiad Iaith. 1184 00:59:48,010 --> 00:59:50,460 Ac felly mae hyn yn unig yw rhaglennu iaith a ddyluniwyd 1185 00:59:50,460 --> 00:59:51,880 ar gyfer rheoli cronfeydd data. 1186 00:59:51,880 --> 00:59:56,860 A bu yn ddefnyddiol i ni yn ein gwefan cyllid pset7. 1187 00:59:56,860 --> 01:00:00,510 Yn y bôn, dim ond ffordd hawdd o olrhain a rheoli gwrthrychau a thablau 1188 01:00:00,510 --> 01:00:02,070 ac yn eu cysylltu â'i gilydd. 1189 01:00:02,070 --> 01:00:06,860 Nawr, meddyliwch am eich cronfa ddata SQL yn y bôn fel ffeil Excel, efallai, 1190 01:00:06,860 --> 01:00:10,040 gyda thaflenni Tabbed lluosog. 1191 01:00:10,040 --> 01:00:13,820 >> Felly gallech gael tablau lluosog, efallai, oedd yn cysylltu â'i gilydd. 1192 01:00:13,820 --> 01:00:19,420 A llawer fel Excel, mae gennym lawer o swyddogaeth yr ydym am. 1193 01:00:19,420 --> 01:00:22,300 Er enghraifft, gallwn ddewis rhesi penodol. 1194 01:00:22,300 --> 01:00:24,110 Gallwn roi gwybodaeth. 1195 01:00:24,110 --> 01:00:25,560 Gall Rydym yn diweddaru rhesi. 1196 01:00:25,560 --> 01:00:27,440 A gallwn hefyd yn dileu pethau. 1197 01:00:27,440 --> 01:00:30,920 1198 01:00:30,920 --> 01:00:36,560 >> Mae'r SQL dewis gweithiau gan ddewis rhesi neu res o golofnau penodol o 1199 01:00:36,560 --> 01:00:39,640 cronfa ddata sy'n cyd-fynd yn benodol meini prawf yr ydych yn ei awgrymu. 1200 01:00:39,640 --> 01:00:44,930 Felly, dros yma pan fyddaf yn gweld dewis * o dewiniaid lle mae tŷ = Ravenclaw, yna 1201 01:00:44,930 --> 01:00:48,340 Im 'yn dewis *, sy'n golygu fy mod i'n dewis pob un golofn yn y 1202 01:00:48,340 --> 01:00:56,340 rhes o'r tabl dewiniaid, ond dim ond os y golofn tŷ yn hafal Ravenclaw. 1203 01:00:56,340 --> 01:00:57,840 Yn awr, mae hyn yn bur neu SQL. 1204 01:00:57,840 --> 01:01:02,680 Felly os wyf yn mynd i mewn phpmyadmin, sy'n y ffordd benodol a ddefnyddiwn i reoli 1205 01:01:02,680 --> 01:01:07,040 ein cronfeydd data SQL, yna gallwn rhowch hynny yn y wefan phpmyadmin. 1206 01:01:07,040 --> 01:01:08,290 Ac y byddai gweithredu. 1207 01:01:08,290 --> 01:01:11,280 >> Ond rydym mewn gwirionedd am ei wneud hynny ar yr ochr PHP. 1208 01:01:11,280 --> 01:01:12,580 Felly, sut rydym yn gwneud hynny? 1209 01:01:12,580 --> 01:01:20,180 Wel, rydym yn defnyddio'r swyddogaeth ymholiad, a oedd yn yn y bôn executes y SQL query. 1210 01:01:20,180 --> 01:01:21,830 Gan ddefnyddio? 1211 01:01:21,830 --> 01:01:25,850 fel placeholder, gallwn drosglwyddo mewn rhai gwerthoedd i ein llinyn ein bod yn 1212 01:01:25,850 --> 01:01:26,920 eisiau i gymryd lle. 1213 01:01:26,920 --> 01:01:32,110 Felly, efallai fy mod yn storio gwahanol gwerthoedd yn y curr_house, a oedd yn 1214 01:01:32,110 --> 01:01:34,400 cynrychioli'r tŷ presennol fy mod i'n mynd drwyddo. 1215 01:01:34,400 --> 01:01:39,040 Felly gallaf pasio hynny mewn fel dalfan gyda'r marc cwestiwn. 1216 01:01:39,040 --> 01:01:43,290 Ac yna byddaf yn y bôn gyflawni'r un peth fel y gwneuthum o'r blaen, ac eithrio 1217 01:01:43,290 --> 01:01:45,550 yn awr, Im 'i mewn PHP. 1218 01:01:45,550 --> 01:01:51,300 >> A bydd ymholiad dychwelyd amrywiaeth cysylltiadol. 1219 01:01:51,300 --> 01:01:53,470 Ac yr wyf i'n mynd i storio mewn rhesi. 1220 01:01:53,470 --> 01:01:56,880 Yn awr, gall ymholiad bob amser yn methu. 1221 01:01:56,880 --> 01:02:02,870 Efallai na allai'r ymholiad SQL gweithredu oherwydd nad oedd y bwrdd yn bodoli. 1222 01:02:02,870 --> 01:02:04,310 Neu efallai, nid oedd y golofn yn bodoli. 1223 01:02:04,310 --> 01:02:05,400 Aeth rhywbeth o'i le. 1224 01:02:05,400 --> 01:02:08,170 Wel, yn yr achos hwnnw, youll 'angen at wneud yn siŵr eich bod yn gwirio a yw'r 1225 01:02:08,170 --> 01:02:09,700 ymholiad dychwelyd ffug. 1226 01:02:09,700 --> 01:02:15,590 A dyna drwy ddefnyddio'r triphlyg yn dychwelyd gweithredu yno. 1227 01:02:15,590 --> 01:02:19,660 >> Ac yna yr wyf yn ymddiheuro, sef un arall Swyddogaeth CS50, gan fynd heibio mewn neges. 1228 01:02:19,660 --> 01:02:23,435 Ac os ydych yn edrych i mewn i ymddiheuro, popeth o fewn ei mewn gwirionedd yn ei wneud yw gwneud apology.php. 1229 01:02:23,435 --> 01:02:26,100 1230 01:02:26,100 --> 01:02:26,410 Yeah. 1231 01:02:26,410 --> 01:02:29,630 >> GYNULLEIDFA: A allech egluro beth mae hynny'n seren yn ei wneud rhwng dewis ac o? 1232 01:02:29,630 --> 01:02:30,710 >> ZAMYLA Chan: Yeah, yn hollol. 1233 01:02:30,710 --> 01:02:35,220 Felly, y seren rhwng dewis ac o yn golygu fy mod am i ddewis y cyfan 1234 01:02:35,220 --> 01:02:37,440 rhes gyfan o fy bwrdd. 1235 01:02:37,440 --> 01:02:41,900 Gallai Rwyf wedi nodi dewis enw, blwyddyn, tŷ. 1236 01:02:41,900 --> 01:02:46,160 A byddwn yn unig yn cael tri y rhai colofnau yn fy tabl. 1237 01:02:46,160 --> 01:02:51,560 Ond os wyf yn dweud dewis *, yna 'n annhymerus' cael popeth yn y golofn honno. 1238 01:02:51,560 --> 01:02:53,760 Yna mi i'n mynd i fynd i chi yn y cefn yn gyntaf. 1239 01:02:53,760 --> 01:02:57,656 >> GYNULLEIDFA: Felly, mae hyn yn dal i fod yn SQL, dde? 1240 01:02:57,656 --> 01:02:59,610 A yw'r ymholiad hwn neu yn PHP hwn? 1241 01:02:59,610 --> 01:03:00,550 >> ZAMYLA Chan: Rydym mewn ymholiad. 1242 01:03:00,550 --> 01:03:01,940 Felly, mae hyn yn PHP. 1243 01:03:01,940 --> 01:03:06,280 Felly, gan ddefnyddio'r ymholiad swyddogaeth PHP, rydym yn gweithredu ymholiad SQL. 1244 01:03:06,280 --> 01:03:11,988 1245 01:03:11,988 --> 01:03:15,364 >> GYNULLEIDFA: A yw unrhyw beth yn SQL achos-sensitif, fel dewis 1246 01:03:15,364 --> 01:03:17,834 neu ddewiniaid neu dŷ? 1247 01:03:17,834 --> 01:03:20,050 >> ZAMYLA Chan: oes unrhyw beth mewn SQL achos-sensitif? 1248 01:03:20,050 --> 01:03:21,760 Yr wyf yn credu hynny, ie. 1249 01:03:21,760 --> 01:03:24,620 Credaf fod SELECT ac O a BLE yn achos sensitif. 1250 01:03:24,620 --> 01:03:25,535 Nac oes? 1251 01:03:25,535 --> 01:03:27,500 >> ROB BOWDEN: Felly, mae'n y gwrthwyneb. 1252 01:03:27,500 --> 01:03:32,030 Mae enwau colofn a'r modd bwrdd, pawb yn achos sensitif. 1253 01:03:32,030 --> 01:03:35,470 Ond unrhyw un o'r geiriau allweddol MySQL, fel SELECT, O, ac LLE, nid y rhai yn 1254 01:03:35,470 --> 01:03:36,140 achos sensitif. 1255 01:03:36,140 --> 01:03:36,420 OK. 1256 01:03:36,420 --> 01:03:37,780 Felly, y gwrthwyneb i'r hyn a ddywedais. 1257 01:03:37,780 --> 01:03:40,420 Felly pob un o'r geiriau allweddol MySQL - 1258 01:03:40,420 --> 01:03:42,670 yn dewis, o, lle - y rhai nid ydynt yn achos sensitif. 1259 01:03:42,670 --> 01:03:44,630 Ond mae popeth arall yn. 1260 01:03:44,630 --> 01:03:45,210 OK. 1261 01:03:45,210 --> 01:03:46,500 Chi yn y tu blaen. 1262 01:03:46,500 --> 01:03:52,041 >> GYNULLEIDFA: Os wyf wedi $ rhesi o ran mwy nag un rhes, a yw hynny'n cymedr yn 1263 01:03:52,041 --> 01:03:53,640 dim ond yn dod yn amrywiaeth cysylltiadol? 1264 01:03:53,640 --> 01:03:59,550 >> ZAMYLA Chan: Felly, y cwestiwn oedd os rhesi Mae mwy nag un rhes ynddo, a yw 1265 01:03:59,550 --> 01:04:01,800 mae'n dod yn amrywiaeth cysylltiadol? 1266 01:04:01,800 --> 01:04:05,680 Felly, mae'n amrywiaeth o cysylltiadol araeau barod. 1267 01:04:05,680 --> 01:04:10,730 Felly hyd yn oed os dim ond un rhes dychwelyd, yna byddai'n rhaid i chi fynd i'r 1268 01:04:10,730 --> 01:04:12,690 mynegai 0 am y canlyniad hwnnw. 1269 01:04:12,690 --> 01:04:15,316 Ac yna byddech yn cael y rhes gyntaf. 1270 01:04:15,316 --> 01:04:17,482 Ie, Belinda? 1271 01:04:17,482 --> 01:04:21,258 >> GYNULLEIDFA: Pan fyddwch yn defnyddio ===, mae hyn yn unig enghraifft? 1272 01:04:21,258 --> 01:04:22,210 Neu a oes eraill? 1273 01:04:22,210 --> 01:04:26,815 >> ZAMYLA Chan: Felly, yn yr achos hwn, === yn cymharu ar draws math. 1274 01:04:26,815 --> 01:04:29,870 1275 01:04:29,870 --> 01:04:34,050 Mae'n ddrwg gennym. === Cymhariaeth sy'n cymharu mathau. 1276 01:04:34,050 --> 01:04:37,620 Ac yna == cymharu ar draws bob math. 1277 01:04:37,620 --> 01:04:41,620 >> GYNULLEIDFA: Allwch chi esbonio beth rhesi yn y sefyllfa hon? 1278 01:04:41,620 --> 01:04:45,120 A yw'n rhes o ddata? 1279 01:04:45,120 --> 01:04:48,100 >> ZAMYLA Chan: Yn y sleid nesaf, rwy'n mynd i esbonio beth yw rhesi. 1280 01:04:48,100 --> 01:04:49,890 Felly, os nad ydych yn meddwl dal oddi ar hynny. 1281 01:04:49,890 --> 01:04:50,620 Ac yna i chi yn y cefn? 1282 01:04:50,620 --> 01:04:54,699 >> GYNULLEIDFA: Ar gyfer swyddogaethau fel ymholiad, rendr a ymddiheuro [Anghlywadwy]? 1283 01:04:54,699 --> 01:04:59,050 1284 01:04:59,050 --> 01:05:03,050 >> ZAMYLA Chan: Y cwestiwn oedd a swyddogaethau hyn - ymholiad, ymddiheuro, 1285 01:05:03,050 --> 01:05:04,510 a rendr - 1286 01:05:04,510 --> 01:05:05,930 yn gyffredin ar draws PHP. 1287 01:05:05,930 --> 01:05:09,460 Mae'r rhain yn rhai sy'n CS50 Ysgrifennodd am pset7. 1288 01:05:09,460 --> 01:05:09,910 Ac Jay? 1289 01:05:09,910 --> 01:05:15,333 >> GYNULLEIDFA: Pryd mae angen i chi ddweud $ _session, Yw mai dim ond ar gyfer IDs? 1290 01:05:15,333 --> 01:05:17,310 Neu gallech fod wedi dweud hynny yma? 1291 01:05:17,310 --> 01:05:23,440 >> ZAMYLA Chan: Felly, y cwestiwn oedd, pan rydym yn defnyddio $ _session, a oedd yn benodol 1292 01:05:23,440 --> 01:05:25,290 amrywiol byd-eang yr ydym yn ei ddefnyddio. 1293 01:05:25,290 --> 01:05:32,080 Yma newidyn hwn yn mynd i fod yn lleol i'n swyddogaeth. 1294 01:05:32,080 --> 01:05:36,588 Felly, rydym yn unig yn datgan newidyn newydd. 1295 01:05:36,588 --> 01:05:38,460 >> GYNULLEIDFA: Sut ymddiheuro rhoi ar waith? 1296 01:05:38,460 --> 01:05:40,960 >> ZAMYLA Chan: Y cwestiwn oedd, sut mae ymddiheuro roi ar waith? 1297 01:05:40,960 --> 01:05:44,180 Ac yr wyf yn credu bod hyn mewn gwirionedd yn eithaf arfer da i chi guys i fynd i mewn i 1298 01:05:44,180 --> 01:05:49,260 yr adran functions.php ac edrych ar ymddiheuro i weld sut y gallech gael 1299 01:05:49,260 --> 01:05:50,670 ei wneud eich hun. 1300 01:05:50,670 --> 01:05:55,620 Felly, efallai y gadawaf hynny i chi, ond dim ond dweud os ydych yn edrych ar ymddiheuro, 1301 01:05:55,620 --> 01:06:02,110 yna mae'n cymryd y neges yr ydych gyflwyno i ymddiheuro, ac yna mae'n 1302 01:06:02,110 --> 01:06:06,570 renders neges honno. 1303 01:06:06,570 --> 01:06:08,240 Unrhyw mwy o gwestiynau? 1304 01:06:08,240 --> 01:06:08,710 Rwyf wrth fy modd cwestiynau. 1305 01:06:08,710 --> 01:06:09,555 Felly cadwch nhw i ddod. 1306 01:06:09,555 --> 01:06:11,888 >> GYNULLEIDFA: [Anghlywadwy] 1307 01:06:11,888 --> 01:06:13,840 adleisio neu brint yno? 1308 01:06:13,840 --> 01:06:15,900 >> ZAMYLA Chan: Y cwestiwn oedd, gallem nid yn unig wedi rhoi 1309 01:06:15,900 --> 01:06:17,000 adleisio neu brint yno. 1310 01:06:17,000 --> 01:06:19,710 Felly, a fyddai wedi gwneud rhywbeth ychydig yn wahanol. 1311 01:06:19,710 --> 01:06:23,750 Byddai hynny wedi argraffu ymholiad wedi methu i mewn i hynny - 1312 01:06:23,750 --> 01:06:27,420 yn dda, ar hyn o bryd, rydym yn mewn gwirionedd yn yn ein rheolwr. 1313 01:06:27,420 --> 01:06:30,350 Felly, nid ydym yn mewn gwirionedd yn cael HTML a sefydlwyd yma. 1314 01:06:30,350 --> 01:06:34,946 Ymddiheuro trwy rendro apologize.php mewn gwirionedd yn ail-gyfeiriadau i chi apology.php. 1315 01:06:34,946 --> 01:06:39,560 1316 01:06:39,560 --> 01:06:42,200 OK. 1317 01:06:42,200 --> 01:06:45,880 >> Felly nawr, gadewch i ni fynd ymlaen i fynd i'r afael â'r gwestiwn gan cynharach am yr hyn 1318 01:06:45,880 --> 01:06:47,330 mewn gwirionedd rhesi. 1319 01:06:47,330 --> 01:06:51,960 Wel, bydd ymholiad yn dychwelyd amrywiaeth o rhesi. 1320 01:06:51,960 --> 01:06:55,020 A phob rhes yn cael ei gynrychioli gan amrywiaeth cysylltiadol. 1321 01:06:55,020 --> 01:07:02,840 Felly, os ydw i wedi cyflawni rhywfaint o ymholiad SQL a Rydw i wedi cael eu storio y canlyniad mewn rhesi, ac yna 1322 01:07:02,840 --> 01:07:07,850 defnyddio dolen foreach, yna yr amrywiaeth enw yr un cyntaf yno - rhesi. 1323 01:07:07,850 --> 01:07:13,170 Ac yna yr wyf i'n mynd i alw pob rhes yno $ rhes. 1324 01:07:13,170 --> 01:07:20,060 >> Felly bwysleisio'r dros hynny, yr wyf wedyn gael gafael ar enw'r golofn y rhes a roddir yn, 1325 01:07:20,060 --> 01:07:22,340 colofn flwyddyn, a cholofn tŷ. 1326 01:07:22,340 --> 01:07:28,010 Noder na fyddwn wedi gallu gwneud hyn gyda rhesi, gan fod mynegai rhesi 1327 01:07:28,010 --> 01:07:29,290 Nid yw enw yn bodoli. 1328 01:07:29,290 --> 01:07:31,970 Rhesi yn unig yw amrywiaeth o araeau cysylltiadol. 1329 01:07:31,970 --> 01:07:34,870 Felly, mae gennych ddwy lefel yno. 1330 01:07:34,870 --> 01:07:37,170 Unwaith y byddwch yn cael yr amrywiaeth o resi, rhaid i chi fynd i mewn hynny. 1331 01:07:37,170 --> 01:07:39,110 Ac yna gallwch ei weld y colofnau. 1332 01:07:39,110 --> 01:07:41,636 Oedd yn ei gwneud yn glir? 1333 01:07:41,636 --> 01:07:42,520 Yeah, o flaen? 1334 01:07:42,520 --> 01:07:45,490 >> GYNULLEIDFA: [Anghlywadwy] agor cromfachau am [Anghlywadwy]? 1335 01:07:45,490 --> 01:07:46,220 >> ZAMYLA Chan: Pardwn i mi? 1336 01:07:46,220 --> 01:07:49,740 >> GYNULLEIDFA: Y cromfachau agored. 1337 01:07:49,740 --> 01:07:52,420 >> ZAMYLA Chan: Mae'r rhain yma? 1338 01:07:52,420 --> 01:07:58,520 Mae hynny'n caniatáu i mi i gynnwys y newidyn. 1339 01:07:58,520 --> 01:07:58,670 Yeah. 1340 01:07:58,670 --> 01:08:01,900 >> GYNULLEIDFA: Pan fyddwch yn argraffu, a ydych yn argraffu i'r cod HTML? 1341 01:08:01,900 --> 01:08:03,110 >> ZAMYLA Chan: Ydw. 1342 01:08:03,110 --> 01:08:07,720 Pan fyddaf yn argraffu, hyn yma y tu mewn fy templed yn awr, felly 1343 01:08:07,720 --> 01:08:10,310 fy marn y dull MVC. 1344 01:08:10,310 --> 01:08:12,750 Felly, yr wyf i'n argraffu i mewn i'r HTML. 1345 01:08:12,750 --> 01:08:16,670 >> GYNULLEIDFA: Felly, os ydym yn mynd i mewn datblygwr offer ar ôl rhedeg hyn, gallem 1346 01:08:16,670 --> 01:08:17,160 sydd mewn gwirionedd yn y cod? 1347 01:08:17,160 --> 01:08:18,410 >> ZAMYLA Chan: Mae hynny'n wych cwestiwn, yeah. 1348 01:08:18,410 --> 01:08:22,359 Felly, os ydych yn mynd i mewn i'r offer datblygwr yn Firefox yn defnyddio Firebug neu 1349 01:08:22,359 --> 01:08:26,109 Chrome, yna ie, gallech gweler y HTML penodol. 1350 01:08:26,109 --> 01:08:28,470 Felly, ni fyddai'n dangos $ rhes ["Enw"]. 1351 01:08:28,470 --> 01:08:32,524 Byddai'n dangos pa un bynnag enw sydd yn y rhes. 1352 01:08:32,524 --> 01:08:36,268 >> GYNULLEIDFA: Dim ond mater cyffredinol, beth yn cael eu tr a td a ddiffinnir fel? 1353 01:08:36,268 --> 01:08:37,672 Pam y byddem yn [Anghlywadwy]? 1354 01:08:37,672 --> 01:08:41,850 1355 01:08:41,850 --> 01:08:44,814 >> ZAMYLA Chan: tr rhes tabl, Yna, td tabl golofn. 1356 01:08:44,814 --> 01:08:48,060 1357 01:08:48,060 --> 01:08:49,310 OK. 1358 01:08:49,310 --> 01:08:55,771 1359 01:08:55,771 --> 01:08:56,835 >> GYNULLEIDFA: Yeah, 'i' data tabl. 1360 01:08:56,835 --> 01:08:58,770 >> ZAMYLA Chan: data Tabl. 1361 01:08:58,770 --> 01:08:59,894 Yeah. 1362 01:08:59,894 --> 01:09:08,670 >> GYNULLEIDFA: Mae'n LandLine olynol i'r rhes yn cael ei drin fel colofn? 1363 01:09:08,670 --> 01:09:08,910 >> ZAMYLA Chan: Mae'n ddrwg gennyf. 1364 01:09:08,910 --> 01:09:10,570 Allwch chi ailadrodd hynny? 1365 01:09:10,570 --> 01:09:14,450 >> GYNULLEIDFA: Sut fyddech chi'n ddychmygu rhesi? 1366 01:09:14,450 --> 01:09:16,310 >> ZAMYLA Chan: Sut y byddech yn dychmygu rhesi ym mha fath o ffordd? 1367 01:09:16,310 --> 01:09:21,796 A ydych yn sôn am y rhain rhesi yma neu y rhesi tr? 1368 01:09:21,796 --> 01:09:22,630 >> GYNULLEIDFA: Y rhesi. 1369 01:09:22,630 --> 01:09:25,229 >> ZAMYLA Chan: Mae'r rhain yn rhesi yma? 1370 01:09:25,229 --> 01:09:28,620 Byddwn yn dychmygu hyn fel Yr wyf yn gweithredu fy ymholiad. 1371 01:09:28,620 --> 01:09:38,729 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 1372 01:09:38,729 --> 01:09:40,510 eich bod wedi holi. 1373 01:09:40,510 --> 01:09:43,740 Felly mae gen i ryw nifer o resi. 1374 01:09:43,740 --> 01:09:51,450 Felly rhesi, y $ rhesi, siopau pob un o resi hynny mewn arae. 1375 01:09:51,450 --> 01:09:58,110 Felly hyd yn oed os mai dim ond un ohonynt, mae'n dal i fod yn amrywiaeth o resi sy'n cyd-fynd iddo. 1376 01:09:58,110 --> 01:10:03,010 >> Felly, yna, er enghraifft, mae hyn yn debyg i pan fyddwch lwytho 1377 01:10:03,010 --> 01:10:05,390 y cache gan ddefnyddwyr. 1378 01:10:05,390 --> 01:10:10,810 A'r meini prawf nad oedd lle ID hafal i sesiwn adnabod. 1379 01:10:10,810 --> 01:10:14,250 Dim ond un rhes mewn gwirionedd a allai gyd-fynd. 1380 01:10:14,250 --> 01:10:18,960 Ond mae dal yn rhesi newydd ddychwelyd un rhes. 1381 01:10:18,960 --> 01:10:22,620 Felly, byddai'n rhaid i chi fynd i'r rhesi, mynegai 0, mynegai cache i 1382 01:10:22,620 --> 01:10:26,195 mewn gwirionedd yn cael eich cache. 1383 01:10:26,195 --> 01:10:29,650 >> GYNULLEIDFA: A yw'r swyddogaeth print yn adleisio un peth? 1384 01:10:29,650 --> 01:10:30,670 >> ZAMYLA Chan: Ydw. 1385 01:10:30,670 --> 01:10:31,190 Ie. 1386 01:10:31,190 --> 01:10:33,304 Argraffu adlais o'r un peth. 1387 01:10:33,304 --> 01:10:42,400 >> GYNULLEIDFA: A yw'r ddolen foreach y unig ffordd i mynegai i rhesi? 1388 01:10:42,400 --> 01:10:46,110 >> ZAMYLA Chan: A yw dolen foreach yr unig ffordd y byddwch yn gallu 1389 01:10:46,110 --> 01:10:47,030 ailadrodd trwy rhesi? 1390 01:10:47,030 --> 01:10:47,180 Rhif 1391 01:10:47,180 --> 01:10:51,000 Gallwch hefyd ddefnyddio ar gyfer dolen, ar yr amod eich bod yn gwybod hyd 1392 01:10:51,000 --> 01:10:53,024 o amrywiaeth y rhes yn. 1393 01:10:53,024 --> 01:10:58,500 >> GYNULLEIDFA: A allech chi gael mynediad ato gan ddefnyddio rhes fel [Anghlywadwy]? 1394 01:10:58,500 --> 01:11:01,640 >> ZAMYLA Chan: Felly ni allwch gael mynediad iddo dim ond drwy ddefnyddio rhes os nad oes gennych 1395 01:11:01,640 --> 01:11:05,160 dolen foreach ar yr amod bod nad ydych wedi datgan rhes. 1396 01:11:05,160 --> 01:11:08,150 1397 01:11:08,150 --> 01:11:09,660 Ie. 1398 01:11:09,660 --> 01:11:10,810 Yeah, yn y gwyn. 1399 01:11:10,810 --> 01:11:13,990 >> GYNULLEIDFA: Felly beth yn tr a td ei wneud? 1400 01:11:13,990 --> 01:11:16,790 >> ZAMYLA Chan: Felly tr a td yn tagiau HTML. 1401 01:11:16,790 --> 01:11:19,590 tr yn dangos y dechrau o res bwrdd. 1402 01:11:19,590 --> 01:11:26,625 A phob td dangos colofn data tabl newydd. 1403 01:11:26,625 --> 01:11:32,275 >> GYNULLEIDFA: Am gweledol o'r hyn y rhes yn debyg, dim ond dychmygu y SQL, sut 1404 01:11:32,275 --> 01:11:33,510 ganddynt rhes. 1405 01:11:33,510 --> 01:11:35,980 [Anghlywadwy]. 1406 01:11:35,980 --> 01:11:36,390 >> ZAMYLA Chan: Yeah. 1407 01:11:36,390 --> 01:11:37,630 Mae hynny'n bwynt da. 1408 01:11:37,630 --> 01:11:41,510 Gallwch ddychmygu rhesi fel dim ond fel yn tabl Excel, dim ond 1409 01:11:41,510 --> 01:11:44,540 y rhestr o'r rhesi. 1410 01:11:44,540 --> 01:11:46,870 OK. 1411 01:11:46,870 --> 01:11:47,230 Mae pob hawl. 1412 01:11:47,230 --> 01:11:50,740 Felly nawr ein bod wedi mynd dros dewis, os Nid oes rhagor o gwestiynau, rydym yn annhymerus ' 1413 01:11:50,740 --> 01:11:52,970 mynd dros ar mewnosodiad. 1414 01:11:52,970 --> 01:11:58,220 Felly, os oeddwn i eisiau i fewnosod i mewn i rai bwrdd a rhowch yn ei le colofn rhai 1415 01:11:58,220 --> 01:12:02,320 gwerthoedd, gallwn mewnosod fy hun i Ravenclaw ym mlwyddyn 7. 1416 01:12:02,320 --> 01:12:07,245 Ond weithiau gallai fod dyblygu gwerthoedd, fel y gwelsom yn pset7 pan fyddwn yn 1417 01:12:07,245 --> 01:12:09,240 yn diweddaru ein portffolio. 1418 01:12:09,240 --> 01:12:15,610 >> Felly, yn yr achos hwn, yr ydym yn dymuno ei ddefnyddio ar Dyblygu ALLWEDDOL Y DIWEDDARAF, fel nad ydym yn ei wneud 1419 01:12:15,610 --> 01:12:18,280 storio rhesi lluosog gyda'r un gwerthfawrogi ond yn hytrach yn ei ddiweddaru. 1420 01:12:18,280 --> 01:12:21,780 1421 01:12:21,780 --> 01:12:25,560 Yna rydym mewn gwirionedd wedi diweddaru, nad yw'n mewnosodiad. 1422 01:12:25,560 --> 01:12:30,100 Dim ond y wybodaeth ddiweddaraf lle rydych yn diweddaru mewn tabl benodol gyda roddir 1423 01:12:30,100 --> 01:12:34,403 meini prawf, ac yna, yn olaf, dileu, sy'n gwneud rhywbeth tebyg iawn. 1424 01:12:34,403 --> 01:12:40,200 >> GYNULLEIDFA: Allech chi yn fyr mynd dros yr allwedd dyblyg? 1425 01:12:40,200 --> 01:12:40,850 >> ZAMYLA Chan: Yeah. 1426 01:12:40,850 --> 01:12:48,340 Yn ei hanfod yma, yr wyf wedi INSERT I gringotts, yw, galleons, y gwerthoedd hyn. 1427 01:12:48,340 --> 01:12:56,900 Ond adnabod, yn ôl pob tebyg, yn rhan allweddol o unigryw gwerth a sefydlwyd yn nhabl MySQL. 1428 01:12:56,900 --> 01:13:06,750 Felly, os ydw i eisoes wedi bod ID sefydlu, yna nid wyf yn gallu mewnosod rhes newydd. 1429 01:13:06,750 --> 01:13:10,961 Felly, os nad yw'n bodoli eisoes, Yna rhaid i mi ei diweddaru. 1430 01:13:10,961 --> 01:13:16,040 1431 01:13:16,040 --> 01:13:17,722 Yn y canol yn y gwyn. 1432 01:13:17,722 --> 01:13:21,570 >> GYNULLEIDFA: Felly mewnosoder, diweddaru, dileu, a dewis, yw'r rhai i gyd ar gael 1433 01:13:21,570 --> 01:13:22,875 yn lleol [Anghlywadwy]? 1434 01:13:22,875 --> 01:13:27,320 1435 01:13:27,320 --> 01:13:29,630 >> ZAMYLA Chan: Felly mewnosoder, diweddaru, dileu, a 1436 01:13:29,630 --> 01:13:31,120 dewis i gyd ymholiadau SQL. 1437 01:13:31,120 --> 01:13:34,970 Felly, pryd bynnag y byddwch yn defnyddio SQL, byddwch yn cael rhai sydd ar gael. 1438 01:13:34,970 --> 01:13:38,226 1439 01:13:38,226 --> 01:13:40,706 >> GYNULLEIDFA: Yn ôl at y cwisiau yn y gorffennol - 1440 01:13:40,706 --> 01:13:44,178 roedd cwestiwn a oedd yn ymdrin â os ydych wedi cael bwrdd ac yn awyddus i 1441 01:13:44,178 --> 01:13:52,610 mewnosoder sgoriau profion yn un a ydych yn mewnosod eich enw felly mae'n ni fydd yn gadael i chi 1442 01:13:52,610 --> 01:13:54,594 [Anghlywadwy] Sgôr prawf eich ffrind. 1443 01:13:54,594 --> 01:13:59,060 Sut y byddech yn gwneud hynny gyda mewnosoder? 1444 01:13:59,060 --> 01:14:02,490 >> ZAMYLA Chan: Felly, y cwestiwn yn ymwneud cwestiwn canol tymor blaenorol. 1445 01:14:02,490 --> 01:14:04,320 Dydw i ddim yn ymwybodol o ba un ei bod yn iawn yn awr. 1446 01:14:04,320 --> 01:14:06,790 Felly efallai wedyn, os ydych am i dod i fyny ac yn dangos i mi, yna gallaf 1447 01:14:06,790 --> 01:14:08,155 yn sicr yn rhoi awgrymiadau i chi. 1448 01:14:08,155 --> 01:14:11,250 1449 01:14:11,250 --> 01:14:15,460 Ond siarad o mewnosod pethau, fel cymryd sgôr rhywun pan fyddwch yn 1450 01:14:15,460 --> 01:14:18,800 Ni ddylai, gadewch i ni siarad am Ymosodiadau pigiad SQL. 1451 01:14:18,800 --> 01:14:22,050 Felly, trawiad ar y pigiad SQL yn ei hanfod lle mae rhywun yn cymryd 1452 01:14:22,050 --> 01:14:27,680 manteisio ar y diogelwch isel y ffordd yr ydych yn eu cymryd yn y data. 1453 01:14:27,680 --> 01:14:35,660 >> Felly, yn y fan hon, yn union fel mewn cyllid CS50, pan fyddwn yn logio i mewn, gallwn fynd i mewn 1454 01:14:35,660 --> 01:14:39,510 enw defnyddiwr yn y ffurflen mewngofnodi, y blwch testun cyntaf, a 1455 01:14:39,510 --> 01:14:41,570 yna rhowch mewn gyfrinair. 1456 01:14:41,570 --> 01:14:45,610 Efallai y gallai ein cod PHP edrych rhywbeth fel hyn, lle mae $ enw defnyddiwr 1457 01:14:45,610 --> 01:14:51,410 yw'r enw defnyddiwr ar ôl y data a chyfrinair yw cyfrinair ôl-data. 1458 01:14:51,410 --> 01:14:55,110 Ac yna rydym yn unig gweithredu ein ymholiad, dyweder, OK, wel, mae ein holi am unrhywbeth sy'n mynd i 1459 01:14:55,110 --> 01:14:57,990 dewis gan ein defnyddwyr, lle y enw defnyddiwr yn y 1460 01:14:57,990 --> 01:14:58,970 un y maent yn eu cyflwyno. 1461 01:14:58,970 --> 01:15:06,870 Ac mae'r cyfrinair yn y cyfrinair, sy'n golygu bod y cyfrineiriau yn cyfateb. 1462 01:15:06,870 --> 01:15:12,670 >> Nawr, beth os yn hytrach na mewn gwirionedd yn cyflwyno cyfrinair go iawn, fel 1463 01:15:12,670 --> 01:15:16,850 12345 a dyfalu yn prong sy'n dweud cyfrinair a cheisio darnia eu 1464 01:15:16,850 --> 01:15:21,460 cyfrif, beth os yn lle hynny maent yn cyflwyno hyn. 1465 01:15:21,460 --> 01:15:24,380 Gallent teipiwch efallai ddyfalu ar y cyfrinair. 1466 01:15:24,380 --> 01:15:30,480 Ac yna y byddent yn gorffen y dyfyniad yna teipiwch neu 1 = 1. 1467 01:15:30,480 --> 01:15:35,160 Byddai hynny'n cyflymder uniongyrchol i mewn i'r SQL holi i edrych rhywbeth fel hyn. 1468 01:15:35,160 --> 01:15:38,200 Dewiswch gan ddefnyddwyr lle enw defnyddiwr = Ergyd a chyfrinair 1469 01:15:38,200 --> 01:15:41,450 yn hafal i lili neu 1 = 1. 1470 01:15:41,450 --> 01:15:45,450 >> Hynny naill ai cyfrinair wedi i fod yn gywir neu 1 = 1, 1471 01:15:45,450 --> 01:15:47,870 sydd bob amser yn wir. 1472 01:15:47,870 --> 01:15:52,780 Felly, yn yr achos hwn, yn y bôn, gall defnyddiwr fanteisio ar hyn a dim ond log 1473 01:15:52,780 --> 01:15:55,240 eu hunain i mewn ac darnia gyfrif rhywun. 1474 01:15:55,240 --> 01:15:58,950 Felly dyna pam yr ydym am osgoi rhywun yn gorfod gwneud hyn. 1475 01:15:58,950 --> 01:16:03,890 Ond yn ffodus, mae'r swyddogaeth ymholiad gan Bydd pasio yn y bachau cymryd 1476 01:16:03,890 --> 01:16:04,800 gofalu am hyn ar eich rhan. 1477 01:16:04,800 --> 01:16:08,570 Hefyd, byddwch fel arfer byth eisiau i mewn gwirionedd yn cyflwyno'r cyfrineiriau 1478 01:16:08,570 --> 01:16:09,310 eu hunain. 1479 01:16:09,310 --> 01:16:14,115 Dyna pam yr ydym yn hashed neu wedi'i amgryptio iddynt mewn cyllid CS50. 1480 01:16:14,115 --> 01:16:17,553 >> GYNULLEIDFA: Siaradodd y cwis yn y gorffennol am llinynnau dianc MySQL. 1481 01:16:17,553 --> 01:16:21,800 Oes rhaid i ni boeni am hynny? 1482 01:16:21,800 --> 01:16:22,670 >> ZAMYLA Chan: Mae hynny'n gwestiwn da. 1483 01:16:22,670 --> 01:16:29,050 Mae'r llinynnau dianc MySQL yn bendant yn swyddogaeth a ddefnyddiwyd yn ein ymholiad. 1484 01:16:29,050 --> 01:16:30,420 Ond yn sicr yn edrych i mewn i hynny. 1485 01:16:30,420 --> 01:16:32,950 Byddwn i'n dweud bod yn gêm deg i wybod y byddai angen i chi alw hynny i 1486 01:16:32,950 --> 01:16:34,370 weithredu ar linyn. 1487 01:16:34,370 --> 01:16:35,245 Yeah, Belinda? 1488 01:16:35,245 --> 01:16:38,606 >> GYNULLEIDFA: Sut ydych chi'n gwybod pan fydd yn dyfyniadau sengl neu dyfynodau dwbl? 1489 01:16:38,606 --> 01:16:43,516 A hefyd, yr wyf yn teimlo fel yn darlith i chi crybwyll rhywbeth am beidio â chael 1490 01:16:43,516 --> 01:16:48,426 y [Anghlywadwy] neu rywbeth neu ail dyfyniad sengl ar y diwedd. 1491 01:16:48,426 --> 01:16:56,407 1492 01:16:56,407 --> 01:17:00,825 Rwy'n credu ei fod sylw at y ffaith yn y ddarlith a rydych yn fod i gael collnod 1 1493 01:17:00,825 --> 01:17:04,290 ac yna ni wedi collnod neu rywbeth. 1494 01:17:04,290 --> 01:17:05,540 >> GYNULLEIDFA: [Anghlywadwy]. 1495 01:17:05,540 --> 01:17:14,860 1496 01:17:14,860 --> 01:17:18,657 >> GYNULLEIDFA: Y peth yw yr un olaf dyfyniad yno yn yr ail flwch 1497 01:17:18,657 --> 01:17:19,391 Ni ddylai fod yno. 1498 01:17:19,391 --> 01:17:21,840 [Anghlywadwy] 1499 01:17:21,840 --> 01:17:26,730 Oherwydd pan fyddwch yn cymryd bod un diwethaf dyfynnu allan ac yn cyfateb y rhain ar gyfer cynnwys 1500 01:17:26,730 --> 01:17:30,522 lle y cyfrinair yw, os ydych yn cael y ymholiad, mae un dyfynbris ar 1501 01:17:30,522 --> 01:17:31,340 diwedd yn barod. 1502 01:17:31,340 --> 01:17:36,580 Byddwch am ddefnyddio'r dyfyniad sengl fel yr un sy'n wynebu'r un 1503 01:17:36,580 --> 01:17:37,574 [Anghlywadwy]. 1504 01:17:37,574 --> 01:17:42,820 Felly, beth sydd mewn gwirionedd yn y testun Ni ddylai blwch gael hynny. 1505 01:17:42,820 --> 01:17:44,070 >> ZAMYLA Chan: 'n annhymerus' newid hynny. 1506 01:17:44,070 --> 01:17:56,490 1507 01:17:56,490 --> 01:17:56,880 OK. 1508 01:17:56,880 --> 01:18:00,435 Os nad oes unrhyw gwestiynau, yna 'n annhymerus' drosglwyddo drosodd i Joseph i siarad 1509 01:18:00,435 --> 01:18:04,332 am JavaScript, et cetera. 1510 01:18:04,332 --> 01:18:09,540 >> [Cymeradwyaeth] 1511 01:18:09,540 --> 01:18:11,660 >> JOSEPH Ong: Felly yr ydym yn rhedeg ychydig y tu ôl. 1512 01:18:11,660 --> 01:18:13,280 Felly, os oes yn rhaid i chi adael, mae hynny'n iawn. 1513 01:18:13,280 --> 01:18:16,540 Ond rydym yn gofyn i chi gadw eich pennau i lawr os ydych chi yn y canol, er mwyn i chi 1514 01:18:16,540 --> 01:18:19,560 Peidiwch â pharcio y camera ac rydych yn ei ddefnyddio yr allanfa yn ôl os ydych yn rhaid i. 1515 01:18:19,560 --> 01:18:25,010 1516 01:18:25,010 --> 01:18:26,306 Rwy'n Joseff gan y ffordd. 1517 01:18:26,306 --> 01:18:27,556 Hi. 1518 01:18:27,556 --> 01:18:37,910 1519 01:18:37,910 --> 01:18:38,630 Prawf, prawf. 1520 01:18:38,630 --> 01:18:39,630 Dan, yw bod yn dda? 1521 01:18:39,630 --> 01:18:40,880 Cool. 1522 01:18:40,880 --> 01:18:44,460 1523 01:18:44,460 --> 01:18:47,600 >> Felly, bydd y fideo yn cael ei bostio lein ar gyfer y rhai sy'n 1524 01:18:47,600 --> 01:18:48,850 rhaid iddynt adael nawr. 1525 01:18:48,850 --> 01:18:51,350 1526 01:18:51,350 --> 01:18:52,600 Lletchwith. 1527 01:18:52,600 --> 01:18:56,300 1528 01:18:56,300 --> 01:18:57,510 OK. 1529 01:18:57,510 --> 01:18:59,730 Felly adolygiad cwis. 1530 01:18:59,730 --> 01:19:00,980 Mae hyn yn gath. 1531 01:19:00,980 --> 01:19:03,150 1532 01:19:03,150 --> 01:19:07,170 Yn awr, JavaScript, nad yw'n efallai fel aww i rhai ohonoch guys. 1533 01:19:07,170 --> 01:19:07,370 OK. 1534 01:19:07,370 --> 01:19:09,280 Felly dyna gyntaf, yn cofio Zamyla. 1535 01:19:09,280 --> 01:19:11,270 Cofiwch fod PHP yn rhedeg ar y gweinydd. 1536 01:19:11,270 --> 01:19:15,230 A llawer o weithiau, ysgrifennodd i chi guys dolenni yn PHP i argraffu HTML, dde? 1537 01:19:15,230 --> 01:19:19,170 Felly, unwaith y cod hwnnw yn gweithredu, bod HTML allbwn eich bod yn argraffu allan 1538 01:19:19,170 --> 01:19:20,500 cael ei anfon at y defnyddiwr. 1539 01:19:20,500 --> 01:19:25,960 Ac unwaith bydd hynny'n digwydd, gall dim mwy PHP cael eu rhedeg, oni bai eich bod ail-lwytho y dudalen, o 1540 01:19:25,960 --> 01:19:27,660 cwrs, sy'n reexecutes y PHP. 1541 01:19:27,660 --> 01:19:30,080 Ond ar ôl i chi argraffu y HTML, nad ydych yn gallu mynd i unrhyw le. 1542 01:19:30,080 --> 01:19:33,580 >> Er mwyn i HTML yn cael ei anfon drosodd i'r defnyddiwr, sef y porwr dros yma, lle 1543 01:19:33,580 --> 01:19:35,470 Milo yn defnyddio'r cyfrifiadur. 1544 01:19:35,470 --> 01:19:40,340 Ac felly yn dda, mae yna nifer o bethau unwaith y byddwn yn anfon HTML i'r defnyddiwr. 1545 01:19:40,340 --> 01:19:43,350 Weithiau, rydym yn awyddus i wneud rhywbeth fel pan fyddwch yn clicio ar rywbeth, rydym am 1546 01:19:43,350 --> 01:19:47,350 blychau effro i pop i fyny, y mathau hynny o rhyngweithiadau, fel pan fyddwch yn pwyswch y 1547 01:19:47,350 --> 01:19:50,740 allweddol, pan fyddwch yn clicio rywbeth ar y dudalen, yr wyf am i rywbeth ddigwydd. 1548 01:19:50,740 --> 01:19:54,550 Wel, ni allwch reexecute PHP cod unwaith y HTML yn cael ei osod. 1549 01:19:54,550 --> 01:19:55,900 Felly, sut ydych chi'n gwneud hyn? 1550 01:19:55,900 --> 01:19:59,930 >> Rydym yn cyflwyno iaith newydd o'r enw JavaScript, sy'n rhedeg yn y porwr 1551 01:19:59,930 --> 01:20:02,890 sy'n eich galluogi i wneud pethau yn HTML ôl i chi dderbyn 1552 01:20:02,890 --> 01:20:04,020 iddynt o'r gweinydd. 1553 01:20:04,020 --> 01:20:07,050 A dyma pam rydym yn galw ei fod yn-ochr cleientiaid iaith raglennu. 1554 01:20:07,050 --> 01:20:09,110 Mae'n gweithio ar eich cyfrifiadur - 1555 01:20:09,110 --> 01:20:11,400 y cleient. 1556 01:20:11,400 --> 01:20:13,830 Unrhyw gwestiynau am hynny hyd yn hyn? 1557 01:20:13,830 --> 01:20:15,650 Mae hynny'n patrwm gwneud synnwyr i bobl? 1558 01:20:15,650 --> 01:20:16,010 OK. 1559 01:20:16,010 --> 01:20:16,790 Da. 1560 01:20:16,790 --> 01:20:17,340 Mae pob hawl. 1561 01:20:17,340 --> 01:20:20,850 Felly, y peth cyntaf i'w nodi nid yw JavaScript yn PHP. 1562 01:20:20,850 --> 01:20:23,010 >> Maent yn cael rhywfaint o gystrawen yn wahanol, y byddwn yn mynd i mewn. 1563 01:20:23,010 --> 01:20:24,530 Ac mae ganddynt ddefnyddiau gwahanol iawn. 1564 01:20:24,530 --> 01:20:26,640 JavaScript, unwaith eto, am eich porwr, ar gyfer y cleient. 1565 01:20:26,640 --> 01:20:30,640 Gweinyddwr yn rhedeg rhywle ar rywun arall cyfrifiadur sy'n anfon gwybodaeth 1566 01:20:30,640 --> 01:20:31,720 i chi, cywiro? 1567 01:20:31,720 --> 01:20:36,730 Felly, os byddwn yn gofyn i chi i ysgrifennu cod PHP ar gwestiwn arholiad, peidiwch ysgrifennu 1568 01:20:36,730 --> 01:20:38,710 JavaScript ac i'r gwrthwyneb. 1569 01:20:38,710 --> 01:20:41,710 Byddwch yn unig yn colli pwyntiau, ac ni fydd yn gywir. 1570 01:20:41,710 --> 01:20:43,690 >> Felly, gadewch i ni fynd i mewn i rai gwahaniaethau gystrawen - 1571 01:20:43,690 --> 01:20:46,140 JavaScript ar y chwith a PHP ar y dde. 1572 01:20:46,140 --> 01:20:48,670 Y peth cyntaf y byddwch yn sylwi gyda JavaScript, rydym yn datgan newidynnau gyda 1573 01:20:48,670 --> 01:20:49,440 yr allweddair var - 1574 01:20:49,440 --> 01:20:53,590 V-A-R. PHP defnyddio'r arwydd ddoler, fel y trafodwyd yn gynharach Zamyla. 1575 01:20:53,590 --> 01:20:57,570 Os ydych am i ddatgan cysylltiadol amrywiaeth, rydym yn gweld y gystrawen cyfarwydd ar 1576 01:20:57,570 --> 01:20:59,030 yr ochr dde gyda PHP. 1577 01:20:59,030 --> 01:21:01,630 Ar yr ochr chwith, yn hytrach na ydych yn defnyddio braces cyrliog. 1578 01:21:01,630 --> 01:21:03,280 Ac yna eich allweddi ar y chwith. 1579 01:21:03,280 --> 01:21:04,670 Yna mae gennych colon. 1580 01:21:04,670 --> 01:21:06,560 Ac yna mae gennych yr gwerthoedd ydych ei eisiau. 1581 01:21:06,560 --> 01:21:09,840 >> Felly, mae hyn yw sut fyddech chi'n ei wneud yn PHP ar yr ochr dde gyda'r ail 1582 01:21:09,840 --> 01:21:10,955 lein sy'n dechrau am Milo. 1583 01:21:10,955 --> 01:21:14,540 A dyna sut y byddech yn ei wneud ar y ochr chwith yn JavaScript os ydych am 1584 01:21:14,540 --> 01:21:16,110 yr hyn yr ydym yn galw gwrthrych. 1585 01:21:16,110 --> 01:21:19,340 A gwrthrychau mewn JavaScript yn yn unig araeau cysylltiadol. 1586 01:21:19,340 --> 01:21:23,710 Felly, os ydych am gael mynediad gaeau, yn PHP byddwch yn defnyddio'r gystrawen braced. 1587 01:21:23,710 --> 01:21:27,170 Ac mae hyn yn ffordd, gallwch ail-neilltuo maes perchennog hwn i Lauren. 1588 01:21:27,170 --> 01:21:30,150 >> Wel, yn JavaScript, os bydd un yn dymuno cael mynediad cae a'i newid, gallwch 1589 01:21:30,150 --> 01:21:31,370 defnyddiwch y dot cystrawen. 1590 01:21:31,370 --> 01:21:33,860 Gallwch hefyd ddefnyddio'r gystrawen braced. 1591 01:21:33,860 --> 01:21:35,550 Ond ni allwch ddefnyddio'r dot cystrawen yn PHP. 1592 01:21:35,550 --> 01:21:36,525 Ni fydd hynny'n gweithio. 1593 01:21:36,525 --> 01:21:38,910 Dim ond yn gweithio yn PHP. 1594 01:21:38,910 --> 01:21:42,060 Ac yn olaf, i argraffu pethau i'r consol, byddwch yn defnyddio console.log, a oedd yn 1595 01:21:42,060 --> 01:21:43,720 chi guys yn defnyddio llawer yn pset8. 1596 01:21:43,720 --> 01:21:45,260 Gallwch console.log hynny. 1597 01:21:45,260 --> 01:21:50,030 >> Os ydych eisiau argraffu amrywiaeth yn PHP, rhaid i chi ddefnyddio print r. 1598 01:21:50,030 --> 01:21:53,240 Ac ar yr ochr dde, byddwch yn gweld i hash Concatenation llinyn dros yno. 1599 01:21:53,240 --> 01:21:54,070 Rhywun ofynnwyd yn gynharach. 1600 01:21:54,070 --> 01:21:55,850 Rwy'n defnyddio yn fantais yn JavaScript. 1601 01:21:55,850 --> 01:21:59,800 Os ydw i eisiau i concatenate rhywbeth yn PHP, yr wyf yn defnyddio'r dot. 1602 01:21:59,800 --> 01:22:00,800 Mae'r rhain yn wahanol. 1603 01:22:00,800 --> 01:22:03,420 Os ydych yn ysgrifennu cod PHP, peidiwch â defnyddio mwy. 1604 01:22:03,420 --> 01:22:06,810 Os ydych yn ysgrifennu JavaScript cod, nid ydynt yn ysgrifennu dot. 1605 01:22:06,810 --> 01:22:08,230 Bydd yn anghywir. 1606 01:22:08,230 --> 01:22:09,640 A byddwch yn drist. 1607 01:22:09,640 --> 01:22:11,000 >> Gwahaniaethau Felly cystrawen. 1608 01:22:11,000 --> 01:22:14,710 Gwybod eich cystrawen, oherwydd os ydych yn rhaid i ysgrifennu cwestiwn a ydych yn defnyddio cystrawen 1609 01:22:14,710 --> 01:22:16,890 o'r iaith anghywir, ni fydd yn gweithio. 1610 01:22:16,890 --> 01:22:19,520 A bydd yn anghywir. 1611 01:22:19,520 --> 01:22:22,420 Felly, gadewch i ni siarad am rai o reolaeth gwahaniaethau llif, sut yr ydych yn defnyddio 1612 01:22:22,420 --> 01:22:24,040 dolenni ym mhob un ohonynt. 1613 01:22:24,040 --> 01:22:26,610 Aeth Zamyla dros yr ochr dde. 1614 01:22:26,610 --> 01:22:27,780 Pethau ar yr ochr dde Dylai fod yn gyfarwydd. 1615 01:22:27,780 --> 01:22:29,670 Gadewch i ni edrych ar ar yr ochr chwith. 1616 01:22:29,670 --> 01:22:34,830 >> Pan fyddwch yn defnyddio ar gyfer n dolen yn JavaScript, eich newidyn dolen, var i dros yno, 1617 01:22:34,830 --> 01:22:37,210 ddolen dros y allweddi y rhesi. 1618 01:22:37,210 --> 01:22:39,150 Felly byddwch yn gweld enw, tŷ, a rôl. 1619 01:22:39,150 --> 01:22:42,440 Os byddaf yn console.log i, yr wyf yn cael enw, tŷ, a rôl. 1620 01:22:42,440 --> 01:22:44,720 Mae'r rhai yn allweddol. 1621 01:22:44,720 --> 01:22:50,080 Yn JavaScript, dolen foreach yn mynd dros y gwerthoedd amrywiaeth hwn. 1622 01:22:50,080 --> 01:22:52,040 Felly, byddwch yn sylwi eu bod yn ddau i. 1623 01:22:52,040 --> 01:22:56,000 Ond yma ar yr ochr PHP, mae'n printiau allan Milo, CS50, a Mascot. 1624 01:22:56,000 --> 01:22:57,390 Dyna'r gwerthoedd yn PHP. 1625 01:22:57,390 --> 01:23:00,180 >> Felly mae'r rhain yn sut mae dau rhain yn wahanol yn y gwahanol ieithoedd. 1626 01:23:00,180 --> 01:23:02,970 Felly, os ydych yn defnyddio foreach dolen, peidiwch â chymryd yn ganiataol ei fod yn 1627 01:23:02,970 --> 01:23:03,760 yn rhoi'r allweddi i chi. 1628 01:23:03,760 --> 01:23:08,010 Ac os ydych yn defnyddio ar gyfer n dolen, peidiwch â cymryd yn ganiataol ei fod yn rhoi gwerthoedd chi. 1629 01:23:08,010 --> 01:23:10,420 Yw hyn yn gwneud synnwyr hyd yn hyn? 1630 01:23:10,420 --> 01:23:13,630 Mae'r sleid nesaf yn mynd i ddangos i chi sut y gallwch gael gafael ar y gwrthwyneb yn 1631 01:23:13,630 --> 01:23:15,160 pob un ohonynt. 1632 01:23:15,160 --> 01:23:18,550 >> Wel, os oes gennych y allweddol yn JavaScript ac rydych am i'r gwerth allan, 1633 01:23:18,550 --> 01:23:20,440 'ch jyst mynegai i mewn i'r amrywiaeth â hynny. 1634 01:23:20,440 --> 01:23:23,640 Felly, bydd Milo o fi gael i chi beth ydych chi eisiau - y gwerthoedd. 1635 01:23:23,640 --> 01:23:25,260 Mae hwn gystrawen wahanol yn PHP. 1636 01:23:25,260 --> 01:23:28,140 Os ydych wir eisiau gwybod, nid wyf yn ei wneud meddwl ein bod wedi dangos i chi eto. 1637 01:23:28,140 --> 01:23:31,740 Ond os oes gennych ddiddordeb, gallwch ddefnyddio y gystrawen ychwanegol ar y dde 1638 01:23:31,740 --> 01:23:35,130 ochr a fydd yn gadael i chi mewn gwirionedd yn cael y allweddi yn PHP pan ydych yn defnyddio 1639 01:23:35,130 --> 01:23:35,880 dolen foreach. 1640 01:23:35,880 --> 01:23:39,640 Felly dim ond ychydig o trivia os oes gennych ddiddordeb. 1641 01:23:39,640 --> 01:23:42,630 >> Felly dyna dim ond i ddangos y gwahaniaethau rhwng y ddau dolenni. 1642 01:23:42,630 --> 01:23:47,060 Peidiwch â chymysgu i fyny pan fyddwch yn rhaglennu cwestiwn. 1643 01:23:47,060 --> 01:23:49,774 Unrhyw gwestiynau am hynny. 1644 01:23:49,774 --> 01:23:50,770 Cool. 1645 01:23:50,770 --> 01:23:51,310 Mae pob hawl. 1646 01:23:51,310 --> 01:23:52,250 JavaScript gwrthrychau. 1647 01:23:52,250 --> 01:23:53,040 Yr wyf yn siarad amdanyn nhw. 1648 01:23:53,040 --> 01:23:54,650 Maen nhw fel araeau cysylltiadol. 1649 01:23:54,650 --> 01:23:57,730 Yr un peth yr hoffwn i chi nodi yma yw bod gwerth mewn cysylltiadol 1650 01:23:57,730 --> 01:23:59,540 Gall amrywiaeth fod yn unrhyw beth yn JavaScript. 1651 01:23:59,540 --> 01:24:02,240 >> Gall hyd yn oed fod yn swyddogaeth, fel dros yno. 1652 01:24:02,240 --> 01:24:04,600 Mae gen i swyddogaeth sy'n yn werth o allwedd. 1653 01:24:04,600 --> 01:24:07,030 Ac os ydw i eisiau i alw swyddogaeth honno, Fi jyst cael mynediad rhisgl. 1654 01:24:07,030 --> 01:24:08,490 Ac yna yr wyf yn rhoi y cromfachau ar ôl hynny. 1655 01:24:08,490 --> 01:24:09,790 Ac mae hynny'n gweithio. 1656 01:24:09,790 --> 01:24:15,570 Felly unrhyw gwestiynau? 1657 01:24:15,570 --> 01:24:16,370 Nac oes? 1658 01:24:16,370 --> 01:24:16,650 OK. 1659 01:24:16,650 --> 01:24:18,190 Da. 1660 01:24:18,190 --> 01:24:20,130 JavaScript, fel PHP, ei deipio llac. 1661 01:24:20,130 --> 01:24:20,970 Beth yw ystyr hynny? 1662 01:24:20,970 --> 01:24:22,380 >> Mae'n gwneud y mathau. 1663 01:24:22,380 --> 01:24:24,800 Ond pan fyddwch yn datgan JavaScript amrywiol, yr ydych yn dweud i var. 1664 01:24:24,800 --> 01:24:25,850 Nid ydych yn ei ddweud. 1665 01:24:25,850 --> 01:24:26,460 Nid yw hyn yn beth. 1666 01:24:26,460 --> 01:24:28,000 Rydych yn unig yn dweud ei fod yn amrywiol. 1667 01:24:28,000 --> 01:24:31,590 Ac yna bydd JavaScript trin y fathau o dan y cwfl i chi. 1668 01:24:31,590 --> 01:24:34,390 Gallwn drosi rhydd rhwng mathau oherwydd hyn. 1669 01:24:34,390 --> 01:24:37,360 Felly, fi yn dechrau allan fel nifer yn yr achos hwn. 1670 01:24:37,360 --> 01:24:38,790 Ac yna mae gen i linyn. 1671 01:24:38,790 --> 01:24:39,710 Ac yr wyf yn ychwanegu i ato. 1672 01:24:39,710 --> 01:24:41,810 Ac yr wyf yn ail-neilltuo yn ôl i mewn i. 1673 01:24:41,810 --> 01:24:43,640 >> Felly, ar y llinell gyntaf, i yw'r rhif. 1674 01:24:43,640 --> 01:24:47,310 Ar yr ail linell, fi yn awr yn dod yn llinyn ar ôl i mi wneud yr ailbennu. 1675 01:24:47,310 --> 01:24:52,820 Ac yma, Im 'jyst yn cydgadwyno y rhif ar y llinyn. 1676 01:24:52,820 --> 01:24:56,210 Felly byddwch yn gweld bod hyd yn oed er fi oedd yn cyfanrifol yn y rhan gyntaf, mae'n fath 1677 01:24:56,210 --> 01:24:58,500 o fel cael ei drosi i llinyn ac yna yn cael eu hychwanegu 1678 01:24:58,500 --> 01:25:00,510 ar y llinyn helo. 1679 01:25:00,510 --> 01:25:02,340 Ac felly dyna beth wyf yn ei olygu gan y teipio rhydd. 1680 01:25:02,340 --> 01:25:04,760 Dyna eich bod yn trosi rhwng mathau yn hawdd iawn. 1681 01:25:04,760 --> 01:25:08,840 Ac nid yw'n taflu rhybuddion ar yr hoffech C yn ei wneud. 1682 01:25:08,840 --> 01:25:12,420 >> Felly, fi bellach yn cynnwys helo 123 i'r llinyn. 1683 01:25:12,420 --> 01:25:13,270 Nesaf. 1684 01:25:13,270 --> 01:25:15,610 Gallwn hefyd yn cymharu'n rhydd rhwng y mathau. 1685 01:25:15,610 --> 01:25:19,310 Felly, os ydych yn unig yn defnyddio ==, yn fawr iawn fel yn PHP, JavaScript 1686 01:25:19,310 --> 01:25:20,480 yn gwneud rhywbeth tebyg. 1687 01:25:20,480 --> 01:25:24,780 Mae'r llinyn 123 yr un peth â'r rhif 123 pan fyddwch yn defnyddio hafal dwbl. 1688 01:25:24,780 --> 01:25:27,820 Pan gaiff ei ddefnyddio hafal triphlyg, mae hefyd yn eisiau gwneud yn siŵr bod 1689 01:25:27,820 --> 01:25:29,240 y math yr un fath. 1690 01:25:29,240 --> 01:25:31,960 Felly, gan fod hynny'n llinyn ac mae hynny'n nifer, er eu bod yn 1691 01:25:31,960 --> 01:25:35,280 123, pan fyddwch yn defnyddio triphlyg yn hafal i, byddwch yn cael ffug. 1692 01:25:35,280 --> 01:25:39,330 Yn y dwbl hafal achos, byddwch yn cael yn wir, oherwydd nad hafal dwbl yn 1693 01:25:39,330 --> 01:25:40,020 yn gofalu am y math. 1694 01:25:40,020 --> 01:25:42,500 Hafal Driphlyg ddim yn poeni am y math. 1695 01:25:42,500 --> 01:25:43,750 Cwestiynau? 1696 01:25:43,750 --> 01:25:45,790 1697 01:25:45,790 --> 01:25:48,390 OK. 1698 01:25:48,390 --> 01:25:52,870 >> A pheth arall am JavaScript cwmpas yn fath o fyd-eang oni bai eich bod 1699 01:25:52,870 --> 01:25:53,460 mewn swyddogaeth. 1700 01:25:53,460 --> 01:25:55,660 Ac y mae'n gweithio yr un fath ffordd PHP mewn gwirionedd. 1701 01:25:55,660 --> 01:25:57,500 Felly, gadewch i ni fynd drwy'r enghraifft hon. 1702 01:25:57,500 --> 01:25:59,110 Wyf yn gosod i i 999. 1703 01:25:59,110 --> 01:26:00,900 Ac yna yr wyf yn mynd i mewn i hyn ar gyfer dolen. 1704 01:26:00,900 --> 01:26:06,110 Felly, os ydw i'n argraffu i mewn hon ar gyfer ddolen, yr wyf yn disgwyl 0, 1, 2, 3, 4. 1705 01:26:06,110 --> 01:26:07,390 Cyrraedd i = 4. 1706 01:26:07,390 --> 01:26:10,770 Mae'n cynnyddu i nawr i 5 yn diwedd y am ddolen. 1707 01:26:10,770 --> 01:26:13,300 Ac yna mae'n torri allan o'r cylch, oherwydd nad yw'n cyflawni 1708 01:26:13,300 --> 01:26:14,550 Amod anymore. 1709 01:26:14,550 --> 01:26:16,650 >> Beth ydych chi'n meddwl y nesaf console.log yn argraffu allan? 1710 01:26:16,650 --> 01:26:20,570 1711 01:26:20,570 --> 01:26:24,790 Felly dyna beth fyddai'n ei wneud yn C. In C, oherwydd os ydych wedi hoffi var i tu allan 1712 01:26:24,790 --> 01:26:28,855 ac mae gennych i var y tu mewn i dolen, fel ar gyfer dolen, yna mae'n ei gwneud yn fel bod 1713 01:26:28,855 --> 01:26:30,690 mae'n cwmpasu bod y ddau i yn wahanol. 1714 01:26:30,690 --> 01:26:34,630 Yn JavaScript, bydd dim ond drin fel yr un i. 1715 01:26:34,630 --> 01:26:37,870 Rwy'n cael 5, oherwydd dyna oedd y gwerth ar ôl iddo wedi gadael allan o'r ddolen. 1716 01:26:37,870 --> 01:26:39,120 Felly, fi hynny yn yr un i. 1717 01:26:39,120 --> 01:26:42,620 1718 01:26:42,620 --> 01:26:44,130 A yw hynny'n gwneud synnwyr? 1719 01:26:44,130 --> 01:26:45,720 >> Wel, mae'n gwneud synnwyr o safbwynt JavaScript. 1720 01:26:45,720 --> 01:26:49,510 Ond nid yr un patrwm yn gario drosodd i C. Mae ganddynt 1721 01:26:49,510 --> 01:26:50,310 gwahanol reolau cwmpasu. 1722 01:26:50,310 --> 01:26:50,630 Ie. 1723 01:26:50,630 --> 01:26:52,566 >> GYNULLEIDFA: [Anghlywadwy] 1724 01:26:52,566 --> 01:26:54,990 y tu allan i'r swyddogaeth [Anghlywadwy]? 1725 01:26:54,990 --> 01:26:58,340 >> JOSEPH Ong: Felly y tu allan pa swyddogaeth? 1726 01:26:58,340 --> 01:27:00,810 Felly, byddaf yn ei gael i hwnnw yn unig eiliad. 1727 01:27:00,810 --> 01:27:02,580 Felly, rydym yn galw foo (i). 1728 01:27:02,580 --> 01:27:06,920 Mae hyn yn mynd i mewn i foo, incrementau , ac yna cofnodi hynny. 1729 01:27:06,920 --> 01:27:07,750 Felly yr oedd yn 5. 1730 01:27:07,750 --> 01:27:09,210 Felly, mae'n dod yn 6. 1731 01:27:09,210 --> 01:27:11,670 Ond beth rwy'n siarad amdano yw bod fi yn y swyddogaeth honno. 1732 01:27:11,670 --> 01:27:14,430 Oherwydd ei fod yn paramedr, mae'n cwmpasu at y swyddogaeth honno. 1733 01:27:14,430 --> 01:27:17,800 Felly, ar ôl i mi mewn gwirionedd yn cael allan o'r swyddogaeth, mae'n awr yn mynd i fynd 1734 01:27:17,800 --> 01:27:19,860 yn ôl i'r hen i. 1735 01:27:19,860 --> 01:27:23,000 Bod fi yn unig oherwydd cwmpasu mae mewn swyddogaeth. 1736 01:27:23,000 --> 01:27:24,200 Ac rydym wedi cwmpas a swyddogaethau. 1737 01:27:24,200 --> 01:27:29,080 Ond nid oes gennym gwmpas y tu allan i o swyddogaethau yn JavaScript. 1738 01:27:29,080 --> 01:27:31,170 A yw hynny'n gwneud synnwyr? 1739 01:27:31,170 --> 01:27:31,320 Ie. 1740 01:27:31,320 --> 01:27:31,660 Cwestiwn. 1741 01:27:31,660 --> 01:27:34,030 >> GYNULLEIDFA: Yr un [Anghlywadwy]? 1742 01:27:34,030 --> 01:27:34,500 >> JOSEPH Ong: Felly yeah. 1743 01:27:34,500 --> 01:27:36,260 Yn PHP, 'i' yr un math o beth. 1744 01:27:36,260 --> 01:27:37,680 Mae ychydig o cynildeb mewn gwirionedd. 1745 01:27:37,680 --> 01:27:40,130 Ond gallwch ofyn i mi am bod ar ôl yr adolygiad. 1746 01:27:40,130 --> 01:27:43,930 Nid oes gwir angen i chi ei wybod y cynildeb ar gyfer y cwis. 1747 01:27:43,930 --> 01:27:47,600 Ar gyfer bob pwrpas, fel newidynnau, byd-eang a PHP, oni bai 1748 01:27:47,600 --> 01:27:49,150 eu bod nhw mewn swyddogaeth, yr un peth yn JavaScript. 1749 01:27:49,150 --> 01:27:49,480 Ie. 1750 01:27:49,480 --> 01:27:52,890 >> GYNULLEIDFA: Pam mae hyn a ganiateir yn JavaScript a dim lle arall? 1751 01:27:52,890 --> 01:27:55,010 >> JOSEPH Ong: Felly, pam mae'n ganiatáu yn JavaScript ac nid yn C? 1752 01:27:55,010 --> 01:27:58,180 Mae'n dim ond pwy bynnag a ddaeth i fyny gyda Penderfynodd JavaScript bod hyn yn iawn yn 1753 01:27:58,180 --> 01:27:59,510 JavaScript. 1754 01:27:59,510 --> 01:28:02,430 Felly, 'i' jyst fel iaith raglennu confensiwn fel y byddem yn ei ddweud. 1755 01:28:02,430 --> 01:28:02,580 Ie. 1756 01:28:02,580 --> 01:28:04,480 >> GYNULLEIDFA: Felly pam y gwnaeth yn mynd 6-5? 1757 01:28:04,480 --> 01:28:08,280 >> JOSEPH Ong: Felly aeth 6-5, oherwydd pan wyf yn pasio i mewn i foo, bod 1758 01:28:08,280 --> 01:28:13,420 i tu mewn foo bellach yn cwmpasu i foo, oherwydd cwmpas yn bodoli mewn swyddogaethau yn 1759 01:28:13,420 --> 01:28:15,050 JavaScript. 1760 01:28:15,050 --> 01:28:18,720 Ond ar ôl i mi fynd allan o'r yma, gan ei fod yn ei gwmpasu i'r swyddogaeth, Im 'jyst 1761 01:28:18,720 --> 01:28:24,300 gan ddefnyddio'r fi rheolaidd a oedd y tu mewn gweddill y llif rheoli. 1762 01:28:24,300 --> 01:28:25,210 Yn gwneud synnwyr? 1763 01:28:25,210 --> 01:28:26,910 Alla i symud ymlaen? 1764 01:28:26,910 --> 01:28:27,320 Mae pob hawl. 1765 01:28:27,320 --> 01:28:29,180 Cool. 1766 01:28:29,180 --> 01:28:31,890 >> Mae derbyn hyn yw gwrthrychau yn cael eu pasio trwy gyfeirio. 1767 01:28:31,890 --> 01:28:33,990 Rydych yn gwybod sut pan fyddwch yn trosglwyddo amrywiaeth i mewn i C gallech 1768 01:28:33,990 --> 01:28:35,810 mewn gwirionedd yn newid y casgliad? 1769 01:28:35,810 --> 01:28:37,350 Mae yr un peth yn JavaScript. 1770 01:28:37,350 --> 01:28:42,960 Os ydw i'n pasio gwrthrych, yn yr achos hwn, yr wyf yn pasio Milo yn swyddogaeth catify hwn. 1771 01:28:42,960 --> 01:28:44,490 Milo yn dechrau allan. 1772 01:28:44,490 --> 01:28:46,310 Mae ei enw i yw Milo Banana. 1773 01:28:46,310 --> 01:28:51,670 Trosglwyddaf y gwrthrych i mewn i swyddogaeth oherwydd ei fod yn wrthrych, yn cysylltiadol 1774 01:28:51,670 --> 01:28:53,730 amrywiaeth yn JavaScript. 1775 01:28:53,730 --> 01:28:57,110 >> Pan fyddaf yn perfformio llawdriniaeth yn y swyddogaeth honno, bydd yn 1776 01:28:57,110 --> 01:28:58,560 mewn gwirionedd yn newid y gwrthrych. 1777 01:28:58,560 --> 01:29:01,720 Felly, bydd hyn ond yn digwydd ar gyfer gwrthrychau yn JavaScript, yn union fel mae'n digwydd 1778 01:29:01,720 --> 01:29:09,230 ar gyfer araeau tu mewn enw C. Felly Milo yn Bydd yn dod yn mewn gwirionedd gath nawr. 1779 01:29:09,230 --> 01:29:10,090 A yw hynny'n gwneud synnwyr? 1780 01:29:10,090 --> 01:29:11,840 Felly mae hyn ond yn gweithio ar gyfer gwrthrychau. 1781 01:29:11,840 --> 01:29:13,090 Gwrthrychau yn cael eu pasio trwy gyfeirio. 1782 01:29:13,090 --> 01:29:13,400 Ie. 1783 01:29:13,400 --> 01:29:16,850 >> GYNULLEIDFA: Felly, rydych yn dweud bod yn wahanol i fi amrywiol. 1784 01:29:16,850 --> 01:29:17,240 >> JOSEPH Ong: Yeah. 1785 01:29:17,240 --> 01:29:20,330 Pa newidyn fi yn unig oedd nifer, dde? 1786 01:29:20,330 --> 01:29:25,280 Mae fel yn C pan fyddwch yn pasio Cyfanrif yn, mae'n gwneud copi. 1787 01:29:25,280 --> 01:29:28,130 A phan fyddwch yn trosglwyddo amrywiaeth, mewn gwirionedd newid yr amrywiaeth gwirioneddol mewn 1788 01:29:28,130 --> 01:29:32,870 C. Mae'r un peth yn digwydd gyda JavaScript yn yr achos hwn. 1789 01:29:32,870 --> 01:29:34,070 Mae pob hawl. 1790 01:29:34,070 --> 01:29:38,134 Ac yn nesaf, Milo yn drist oherwydd ei fod bellach yn gath. 1791 01:29:38,134 --> 01:29:40,790 1792 01:29:40,790 --> 01:29:45,060 A oedd mewn gwirionedd Milo ar ôl rhywfaint o daith at y milfeddyg. 1793 01:29:45,060 --> 01:29:46,860 >> Felly, sut yr ydym yn defnyddio JavaScript mewn tudalen we? 1794 01:29:46,860 --> 01:29:47,790 Gallwn gynnwys. 1795 01:29:47,790 --> 01:29:50,090 Mae hyn yn cod HTML â'r tagiau stribed. 1796 01:29:50,090 --> 01:29:51,300 Felly mae gen i tagiau stribed yno. 1797 01:29:51,300 --> 01:29:54,820 Ac yna yr wyf yn rhoi rhywfaint o JavaScript cod o fewn y tagiau script. 1798 01:29:54,820 --> 01:29:56,390 Ac yna mae'n executes hyn. 1799 01:29:56,390 --> 01:29:58,830 Pan Fi jyst yn ei wneud fel hyn, mae'n enw JavaScript unol. 1800 01:29:58,830 --> 01:30:02,400 Mae'n fath o anniben, gan fod y JavaScript mewn gwirionedd yn y HTML. 1801 01:30:02,400 --> 01:30:07,010 >> Mae ffordd well i wneud hyn, yn llawer brafiach, yw ysgrifennu eich JavaScript mewn 1802 01:30:07,010 --> 01:30:10,920 ffeil allanol ac wedyn yn darparu y tag sgript gyda ffynhonnell. 1803 01:30:10,920 --> 01:30:14,920 A bydd hyn yn mynd i'r ffeil JavaScript a darllen y cod JavaScript o 1804 01:30:14,920 --> 01:30:15,960 bod yn cyflwyno yn lle hynny. 1805 01:30:15,960 --> 01:30:18,820 Ac mae hyn yn ffordd, nad oes gennych lawer o JavaScript ar ddechrau eich 1806 01:30:18,820 --> 01:30:20,760 Ffeil HTML, sy'n gwneud 'n sylweddol anniben. 1807 01:30:20,760 --> 01:30:21,860 Rydych yn unig ei roi yn rhywle arall. 1808 01:30:21,860 --> 01:30:24,310 Ac yna bydd yn ei ddarllen oddi yno. 1809 01:30:24,310 --> 01:30:25,560 Gwneud hynny yn gwneud synnwyr? 1810 01:30:25,560 --> 01:30:27,990 1811 01:30:27,990 --> 01:30:29,640 >> Materion lleoliad. 1812 01:30:29,640 --> 01:30:32,620 Yn yr achos arbennig hwn, mae'r sgript gerbron y corff. 1813 01:30:32,620 --> 01:30:36,090 Felly, pan fyddaf yn gweithredu hynny, mae nid oes dim yn y corff eto. 1814 01:30:36,090 --> 01:30:39,920 Efallai y bydd hyn yn gwneud ychydig yn fwy yn synhwyro pan fyddaf yn dangos y rhan nesaf. 1815 01:30:39,920 --> 01:30:43,210 Yn yr achos hwn, y sgript dod ar ôl y div. 1816 01:30:43,210 --> 01:30:46,620 Felly mae'r div mewn gwirionedd yn ymddangos ar y dudalen gyntaf. 1817 01:30:46,620 --> 01:30:49,470 Yma yn y cylch bach coch, byddwch yn gweld y testun yn ymddangos. 1818 01:30:49,470 --> 01:30:51,810 Ac yna y rhybudd yn dangos i fyny. 1819 01:30:51,810 --> 01:30:54,890 >> Yn yr achos cyntaf, gan fod y sgript oedd cyn yr div, y 1820 01:30:54,890 --> 01:30:56,170 rhybudd yn dangos i fyny yn gyntaf. 1821 01:30:56,170 --> 01:30:59,250 Ac yna y div yn dangos i fyny ar ôl eich diswyddo yn y blwch. 1822 01:30:59,250 --> 01:31:01,330 Felly gweithredu bwysig. 1823 01:31:01,330 --> 01:31:02,290 Felly, byddwn yn cadw hyn mewn cof. 1824 01:31:02,290 --> 01:31:03,640 Bydd hyn yn bwysig mewn ychydig. 1825 01:31:03,640 --> 01:31:08,730 1826 01:31:08,730 --> 01:31:09,540 OK. 1827 01:31:09,540 --> 01:31:12,750 Felly yn dda, sut yr ydych yn aros tan y dudalen gyfan yn cael ei lwytho, yna cyn i chi 1828 01:31:12,750 --> 01:31:13,580 gweithredu rhywfaint cod? 1829 01:31:13,580 --> 01:31:15,540 Byddwn yn cael i mewn i hyn ychydig ychydig yn ddiweddarach hefyd. 1830 01:31:15,540 --> 01:31:19,016 Ond dim ond cadw lleoliad hwn materion mewn cof pan fyddwn yn 1831 01:31:19,016 --> 01:31:20,570 dod i'r sleid arall. 1832 01:31:20,570 --> 01:31:22,030 >> Felly, rydym yn cael DOM nawr. 1833 01:31:22,030 --> 01:31:23,550 A beth yw DOM? 1834 01:31:23,550 --> 01:31:26,830 Felly, os ydych yn edrych ar cod HTML, dim ond criw o destun ar y sgrîn. 1835 01:31:26,830 --> 01:31:30,560 Felly sut mae JavaScript yn gwybod bod mae hyn yn elfen HTML? 1836 01:31:30,560 --> 01:31:33,410 Felly, mae'n rhaid i ni gael rhywfaint o gof gynrychiolaeth o hyn 1837 01:31:33,410 --> 01:31:34,930 strwythur sydd gennym. 1838 01:31:34,930 --> 01:31:40,240 A phan gennym hyn mewn cof gynrychiolaeth yn JavaScript, rydym yn galw 1839 01:31:40,240 --> 01:31:41,750 bod y DOM. 1840 01:31:41,750 --> 01:31:45,130 A 'i' jyst ffordd y mae pobl yn penderfynu y dylem gynrychioli'r hyn 1841 01:31:45,130 --> 01:31:46,400 Strwythur HTML fel. 1842 01:31:46,400 --> 01:31:47,940 >> A beth mae DOM hyn yn edrych fel? 1843 01:31:47,940 --> 01:31:50,460 Wel, mewn cynrychiolaeth cof, rydym yn cymryd y testun hwn. 1844 01:31:50,460 --> 01:31:52,870 Ac rydym yn troi i mewn i gof cynrychiolaeth. 1845 01:31:52,870 --> 01:31:54,400 Felly, mae hyn yn y HTML. 1846 01:31:54,400 --> 01:31:58,090 Felly, rydym yn cael gwybod yn gyntaf bod pob Coeden DOM Mae dogfen. 1847 01:31:58,090 --> 01:31:59,400 Mae'n edrych fel coeden. 1848 01:31:59,400 --> 01:32:03,550 Ac mae'r ddogfen yn cynnwys y HTML tag, mewn gwirionedd popeth 1849 01:32:03,550 --> 01:32:05,150 tu mewn hyn yn awr. 1850 01:32:05,150 --> 01:32:06,970 Mae gan y tag HTML ddau o blant. 1851 01:32:06,970 --> 01:32:08,630 Mae ganddo ben. 1852 01:32:08,630 --> 01:32:12,380 Mae hynny'n ben, os ydych yn edrych ar bant dros yno ar sut y caiff ei strwythuro 1853 01:32:12,380 --> 01:32:14,960 rhwng y tagiau agos, pennaeth plentyn. 1854 01:32:14,960 --> 01:32:17,130 Mae'r plentyn yn teitl. 1855 01:32:17,130 --> 01:32:18,370 Yn union. 1856 01:32:18,370 --> 01:32:21,000 >> Yn awr, mae gennym blentyn corff. 1857 01:32:21,000 --> 01:32:24,870 Ac yna y corff hwn plentyn o'r enw teulu. 1858 01:32:24,870 --> 01:32:27,950 A bod teulu dri o blant - 1859 01:32:27,950 --> 01:32:29,550 hynaf, canol, ac ieuengaf. 1860 01:32:29,550 --> 01:32:31,960 Felly, dylech wybod sut i dynnu diagram fel hyn pan fyddwn yn gofyn i chi sut 1861 01:32:31,960 --> 01:32:34,270 llunio diagram pan fyddwn yn rhoi chi HTML ar y chwith. 1862 01:32:34,270 --> 01:32:36,350 Gwybod sut i gynhyrchu'r goeden DOM. 1863 01:32:36,350 --> 01:32:38,930 Ac y tu mewn o'r pethau hyn, nid dim ond rhywfaint o destun, yr wyf wedi cynrychioli 1864 01:32:38,930 --> 01:32:40,180 blychau cyn lleied. 1865 01:32:40,180 --> 01:32:42,750 1866 01:32:42,750 --> 01:32:47,980 >> A yw hyn yn strwythur coeden DOM gwneud synnwyr a beth yw'r DOM yw? 1867 01:32:47,980 --> 01:32:49,300 Felly beth mae'r p yn sefyll am? 1868 01:32:49,300 --> 01:32:51,850 Dros yma, mae'r p dros yno yn y tag yn cynrychioli 1869 01:32:51,850 --> 01:32:54,510 paragraff tag yn HTML. 1870 01:32:54,510 --> 01:32:57,080 Felly, gallwch edrych i fyny. 1871 01:32:57,080 --> 01:32:59,290 Ond 'i jyst yn golygu ei fod yn rhai lle ar gyfer rhywfaint o destun. 1872 01:32:59,290 --> 01:33:02,910 Ac mae ganddo beth steilio CSS diofyn, oherwydd ei fod yn tag paragraff. 1873 01:33:02,910 --> 01:33:05,130 Nid yw ond yn wir yn poeni am y rhan honno gormod. 1874 01:33:05,130 --> 01:33:07,510 Dim ond yn gwybod ei fod yn dalfan ar gyfer rhywfaint o destun. 1875 01:33:07,510 --> 01:33:08,480 Ie. 1876 01:33:08,480 --> 01:33:10,200 Cwestiwn? 1877 01:33:10,200 --> 01:33:11,021 Ie. 1878 01:33:11,021 --> 01:33:12,374 >> GYNULLEIDFA: Yr ydych newydd sôn CSS. 1879 01:33:12,374 --> 01:33:15,492 Mae'r teulu hash a'r hash yr holl bethau sydd yn y bôn 1880 01:33:15,492 --> 01:33:17,400 cynrychioli IDs mewn CSS? 1881 01:33:17,400 --> 01:33:18,440 >> JOSEPH Ong: Yeah, yn union. 1882 01:33:18,440 --> 01:33:20,380 Byddaf yn cael yr hyn hashes hyn yn ei olygu mewn eiliad. 1883 01:33:20,380 --> 01:33:23,480 Pan aeth Angela dros CSS, mae hi'n siarad am detholwyr CSS. 1884 01:33:23,480 --> 01:33:26,770 Mae'r rhain yn y dewiswyr CSS sy'n ei bod yn sôn amdano. 1885 01:33:26,770 --> 01:33:28,268 Ie, Rob? 1886 01:33:28,268 --> 01:33:32,060 >> ROB BOWDEN: Byddwn hefyd yn gwneud sylwadau bod DOM tu mewn tag teitl 1887 01:33:32,060 --> 01:33:35,385 yn nod destun hefyd. 1888 01:33:35,385 --> 01:33:36,070 >> JOSEPH Ong: Iawn. 1889 01:33:36,070 --> 01:33:38,370 Felly, y tu mewn i'r tag teitl, Mae gennyf rywfaint o DOM destun. 1890 01:33:38,370 --> 01:33:42,730 Felly mewn gwirionedd, dylai teitl hwn gael fel ychydig blwch yn dod i ffwrdd ohono hefyd. 1891 01:33:42,730 --> 01:33:45,740 Ond nid yw'n wir bwys gormod yn yr achos hwn. 1892 01:33:45,740 --> 01:33:49,620 Nid ydym yn wir yn poeni am nodau testun, fel yr ydym yn eu galw, yn rhy fawr. 1893 01:33:49,620 --> 01:33:50,270 OK, rydym yn ei wneud. 1894 01:33:50,270 --> 01:33:51,520 Mae'n debyg, rydym yn ei wneud. 1895 01:33:51,520 --> 01:33:54,260 1896 01:33:54,260 --> 01:33:57,100 A mi atgyweiria bod pan I'n llwytho eto. 1897 01:33:57,100 --> 01:33:59,830 A yw hynny'n gwneud synnwyr? 1898 01:33:59,830 --> 01:34:01,160 >> Felly, sut rydym yn gweithio gyda'r DOM? 1899 01:34:01,160 --> 01:34:03,790 Pryd bynnag y byddwch yn delio â'r DOM yn JavaScript, mae dau gam. 1900 01:34:03,790 --> 01:34:05,030 Chi ddewis elfen DOM. 1901 01:34:05,030 --> 01:34:06,580 Ac yna i chi wneud pethau iddo. 1902 01:34:06,580 --> 01:34:11,480 Felly, yn yr achos hwn, haniaethol, rydw i wedi dewis yr elfen canol. 1903 01:34:11,480 --> 01:34:14,530 Ac yna enghraifft o wneud pethau iddo yn cael ei newid y testun. 1904 01:34:14,530 --> 01:34:16,020 A arferai fod Bob. 1905 01:34:16,020 --> 01:34:19,930 Yn awr, beth a wneuthum i ei fod yn fy mod wedi newid Bob i Milo yn yr achos hwn. 1906 01:34:19,930 --> 01:34:22,130 >> Felly, sut rydym yn ei wneud mewn gwirionedd hyn? 1907 01:34:22,130 --> 01:34:23,440 Sut ydym ni'n gwneud y dewis? 1908 01:34:23,440 --> 01:34:26,560 A sut rydym yn gwneud pethau y i y peth ar ôl i ni wedi cymryd ei? 1909 01:34:26,560 --> 01:34:30,470 Wel, y ffordd yr ydych guys wedi dysgu ei yn y dosbarth hwn yw drwy ddefnyddio rhywbeth yr ydym 1910 01:34:30,470 --> 01:34:32,420 a elwir yn jQuery. 1911 01:34:32,420 --> 01:34:33,910 Felly beth yw jQuery? 1912 01:34:33,910 --> 01:34:37,220 jQuery yn llyfrgell sy'n gwneud JavaScript yn haws i ysgrifennu. 1913 01:34:37,220 --> 01:34:39,500 Felly rhywun yn cymryd yr amser ac ysgrifennodd jQuery. 1914 01:34:39,500 --> 01:34:41,530 >> jQuery ei ysgrifennu mewn gwirionedd yn JavaScript. 1915 01:34:41,530 --> 01:34:44,550 Ac yna oherwydd eu bod yn gwneud hyn, rydym yn awr yn cael criw cyfan o swyddogaethau sy'n 1916 01:34:44,550 --> 01:34:46,020 gallwn ddefnyddio'r sy'n gwneud ein yn byw yn hawdd iawn. 1917 01:34:46,020 --> 01:34:48,580 1918 01:34:48,580 --> 01:34:50,030 Felly beth yw rhai o'r pethau y mae'n ei wneud? 1919 01:34:50,030 --> 01:34:51,650 Mae'n gwneud dewis elfennau haws. 1920 01:34:51,650 --> 01:34:54,020 Mae'n gwneud newid HTML, ychwanegu dosbarthiadau yn haws. 1921 01:34:54,020 --> 01:34:55,360 Mae'n gwneud Ajax yn haws. 1922 01:34:55,360 --> 01:34:58,230 Byddwn yn mynd at hynny mewn eiliad. 1923 01:34:58,230 --> 01:35:00,630 >> Ac mae'n debyg i lyfrgelloedd C. 1924 01:35:00,630 --> 01:35:03,090 Felly, eich bod yn cynnwys string.h, byddwch yn cael strlen. 1925 01:35:03,090 --> 01:35:04,680 Byddwch yn cael strcpy, yr holl bethau hyn. 1926 01:35:04,680 --> 01:35:09,650 Pan fyddwch yn cynnwys jQuery, byddwch yn cael 'n glws ffyrdd i ddewis elfennau i newid yn 1927 01:35:09,650 --> 01:35:10,390 pethau, et cetera. 1928 01:35:10,390 --> 01:35:12,990 Byddwch yn cael swyddogaeth ychwanegol y Nid yw JavaScript yn rhoi i chi. 1929 01:35:12,990 --> 01:35:15,310 Felly nid yw jQuery JavaScript. 1930 01:35:15,310 --> 01:35:18,660 jQuery yn llyfrgell sy'n cael ei ysgrifennu yn JavaScript sy'n gwneud JavaScript 1931 01:35:18,660 --> 01:35:20,440 yn haws i ysgrifennu. 1932 01:35:20,440 --> 01:35:23,170 >> Felly nid jQuery yn rhaglennu iaith. 1933 01:35:23,170 --> 01:35:24,540 Ond JavaScript. 1934 01:35:24,540 --> 01:35:27,420 1935 01:35:27,420 --> 01:35:27,590 gwneud. 1936 01:35:27,590 --> 01:35:30,420 Sicrhau eich bod yn cael eich derminoleg gywir. 1937 01:35:30,420 --> 01:35:32,490 Unrhyw gwestiynau? 1938 01:35:32,490 --> 01:35:33,882 Ie. 1939 01:35:33,882 --> 01:35:35,132 A yw hynny'n gwestiwn? 1940 01:35:35,132 --> 01:35:37,910 1941 01:35:37,910 --> 01:35:38,350 Mae pob hawl. 1942 01:35:38,350 --> 01:35:40,080 Felly, sut ydych chi'n ei ddefnyddio jQuery? 1943 01:35:40,080 --> 01:35:42,390 Wel, pan fyddwch yn ysgrifennu rhai JavaScript cod ac eich bod yn cynnwys 1944 01:35:42,390 --> 01:35:45,570 jQuery ar frig eich ffeil fel ffeil sgript, byddwch yn defnyddio'r arwydd doler 1945 01:35:45,570 --> 01:35:47,310 nawr i gael mynediad i jQuery. 1946 01:35:47,310 --> 01:35:49,860 Ac mae hyn yn wahanol i yr arwydd ddoler yn PHP. 1947 01:35:49,860 --> 01:35:51,590 >> Mae yr un symbol i chi deipio ar eich bysellfwrdd. 1948 01:35:51,590 --> 01:35:52,780 Ond maent yn ei olygu pethau gwahanol iawn. 1949 01:35:52,780 --> 01:35:56,090 Arwydd doler yn PHP yn golygu hon yw sut yr wyf yn datgan newidyn. 1950 01:35:56,090 --> 01:35:59,120 Yn JavaScript, pan ydych wedi cynnwys jQuery, mae'n sefyll ar gyfer jQuery. 1951 01:35:59,120 --> 01:36:01,280 Felly cadwch hynny mewn cof. 1952 01:36:01,280 --> 01:36:03,420 Felly, sut y gallem ddewis elfennau DOM? 1953 01:36:03,420 --> 01:36:06,500 Wel, pan fyddwch yn ei wneud yr JavaScript hyll ffordd, byddwch yn cael mynediad i'r 1954 01:36:06,500 --> 01:36:08,240 dogfennu amrywiol byd-eang. 1955 01:36:08,240 --> 01:36:11,170 Ac yna byddwch yn cael elfen gan deulu adnabod. 1956 01:36:11,170 --> 01:36:15,270 Mae hyn yn wir yn hir ac yn eiriog ac nid yn neis iawn. 1957 01:36:15,270 --> 01:36:18,190 >> Neu gallwch gael yr holl elfennau sydd yn tag t. 1958 01:36:18,190 --> 01:36:20,080 Sy'n gweithio hefyd yn JavaScript. 1959 01:36:20,080 --> 01:36:22,470 Ond ni fyddwn byth yn dangos mewn gwirionedd chi y gystrawen gormod. 1960 01:36:22,470 --> 01:36:24,620 Yr hyn yr ydym yn dangos i chi yn jQuery. 1961 01:36:24,620 --> 01:36:28,720 Er mwyn i detholydd cyfan i fyny yno y Mynegwyd yn JavaScript yn mynd yn 1962 01:36:28,720 --> 01:36:33,320 tew at y ddoler iawn 'n glws llofnodi teulu hashtag. 1963 01:36:33,320 --> 01:36:38,480 A $ p, dim ond lle y mae fel hynny. 1964 01:36:38,480 --> 01:36:41,690 Os ydych am i ddewis pob tag p y tu mewn i deulu, rydym yn rhoi lle 1965 01:36:41,690 --> 01:36:42,890 rhwng y ddau. 1966 01:36:42,890 --> 01:36:44,815 Ac yn awr, yr ydym yn cael yr holl p tagiau tu mewn i deulu. 1967 01:36:44,815 --> 01:36:48,740 1968 01:36:48,740 --> 01:36:50,380 >> Ac yn edrych yn gyfarwydd? 1969 01:36:50,380 --> 01:36:52,880 Wel, siaradodd Angela am Detholwyr CSS. 1970 01:36:52,880 --> 01:36:54,200 Rhowch un eiliad i mi. 1971 01:36:54,200 --> 01:36:57,230 Ac felly, er mwyn dewis elfen, 'ch jyst yn defnyddio'r un peth â chi 1972 01:36:57,230 --> 01:36:58,530 Byddai wneud gyda detholydd CSS. 1973 01:36:58,530 --> 01:37:00,910 Os byddwch yn rhoi hash o flaen ohono, mae'n dewis drwy adnabod. 1974 01:37:00,910 --> 01:37:02,220 Mae dot dewis gan ddosbarthiadau. 1975 01:37:02,220 --> 01:37:06,230 Os ydych yn unig yn cael y peth heb hashes neu ddotiau, mae'n dewis tagiau hynny. 1976 01:37:06,230 --> 01:37:07,140 Cwestiynau. 1977 01:37:07,140 --> 01:37:07,470 Ie? 1978 01:37:07,470 --> 01:37:11,510 >> GYNULLEIDFA: Pan fyddwn yn defnyddio dot yn ein HTML, yw nad jQuery? 1979 01:37:11,510 --> 01:37:13,520 >> JOSEPH Ong: Dot yn ein HTML yn beth JavaScript. 1980 01:37:13,520 --> 01:37:14,750 Dyw hi ddim yn beth jQuery. 1981 01:37:14,750 --> 01:37:17,620 Mae'r ffordd yr ydych yn guys a ddysgwyd gyda jQuery yw defnyddio. html. 1982 01:37:17,620 --> 01:37:21,510 Ac yna i chi basio ei beth bynnag HTML yn mynd i fod. 1983 01:37:21,510 --> 01:37:23,480 Felly byddaf yn cyrraedd y mewn dim ond ail mewn gwirionedd. 1984 01:37:23,480 --> 01:37:27,800 Felly, sut rydym yn ei wneud pethau i elfen ar ôl i ni wedi dewis hyn? 1985 01:37:27,800 --> 01:37:30,130 Felly dyna enghraifft o ddewis elfen. 1986 01:37:30,130 --> 01:37:32,280 Felly nawr, rydym am wneud pethau iddo. 1987 01:37:32,280 --> 01:37:35,730 >> Felly, yn yr achos hwn, gadewch i mi fynd yn ôl at y sleid flaenorol. 1988 01:37:35,730 --> 01:37:37,360 Roedd Bob blaen. 1989 01:37:37,360 --> 01:37:40,660 Ac yr wyf am newid hynny y tu mewn i HTML Milo. 1990 01:37:40,660 --> 01:37:43,240 Felly, yr wyf yn galw y swyddogaeth HTML o'r elfen. 1991 01:37:43,240 --> 01:37:45,580 Swyddogaeth honno HTML yn dull o elfen. 1992 01:37:45,580 --> 01:37:47,430 Ac yna yr wyf yn ei roi pa Yr wyf am i'r HTML i fod. 1993 01:37:47,430 --> 01:37:50,560 Ac 'i jyst yn cymryd lle beth sydd tu mewn y tag gyda beth bynnag yr wyf yn ei roi. 1994 01:37:50,560 --> 01:37:50,830 Ie. 1995 01:37:50,830 --> 01:37:51,170 Cwestiwn? 1996 01:37:51,170 --> 01:37:57,397 >> GYNULLEIDFA: Y hashtag yn cael ei ddefnyddio ar gyfer dim ond y jQuery. 1997 01:37:57,397 --> 01:37:59,313 [Anghlywadwy] 1998 01:37:59,313 --> 01:38:01,230 ni fyddem yn defnyddio hwnnw. 1999 01:38:01,230 --> 01:38:01,960 >> JOSEPH Ong: Yeah, yn union. 2000 01:38:01,960 --> 01:38:03,750 Ond peidiwch â phoeni gormod JavaScript am pur. 2001 01:38:03,750 --> 01:38:06,670 Fi jyst am i chi guys i ganolbwyntio ar sut yr ydych yn Byddai wneud hynny gyda jQuery, oherwydd 2002 01:38:06,670 --> 01:38:10,020 mae hynny'n mynd i fod yn bwysig rhan ar y cwis. 2003 01:38:10,020 --> 01:38:10,400 Iawn. 2004 01:38:10,400 --> 01:38:10,880 Yn union. 2005 01:38:10,880 --> 01:38:16,025 Felly, byddwch yn gweld bod hashtag, fel y yn cyfateb i ddewis yr elfen gyda 2006 01:38:16,025 --> 01:38:18,310 canol ID oherwydd hynny hashtag. 2007 01:38:18,310 --> 01:38:19,670 Hashtag yn golygu adnabod. 2008 01:38:19,670 --> 01:38:22,870 Ac mae yr elfen hon yn cael ID y canol. 2009 01:38:22,870 --> 01:38:24,366 Felly dyna yr elfen rydym yn dewis. 2010 01:38:24,366 --> 01:38:27,160 >> GYNULLEIDFA: [Anghlywadwy]. 2011 01:38:27,160 --> 01:38:31,090 hashtag arwydd doler [Anghlywadwy]? 2012 01:38:31,090 --> 01:38:31,710 >> JOSEPH Ong: Felly dim. 2013 01:38:31,710 --> 01:38:33,280 Y cwestiwn yw y gallwch eu defnyddio. Gwerth. 2014 01:38:33,280 --> 01:38:36,445 A. Gwerth dim ond yn gweithio ar elfennau sy'n mewnbynnau. 2015 01:38:36,445 --> 01:38:40,950 2016 01:38:40,950 --> 01:38:45,495 Yn jQuery, byddai'n . Val, peidio. Gwerth. 2017 01:38:45,495 --> 01:38:49,080 Felly byddaf yn cyrraedd enghraifft bach sy'n dangos hyn i gyd ar y cyd 2018 01:38:49,080 --> 01:38:49,850 mewn eiliad. 2019 01:38:49,850 --> 01:38:53,130 Ond yr wyf yn credu bod hyn yn gwasanaethu ychydig o snippet gwneud synnwyr i bobl hyd yn hyn. 2020 01:38:53,130 --> 01:38:55,450 Eisiau newid y HTML, ffoniwch y dull HTML. 2021 01:38:55,450 --> 01:38:56,432 Ie. 2022 01:38:56,432 --> 01:38:58,200 >> GYNULLEIDFA: A allwch egluro y dull eto? 2023 01:38:58,200 --> 01:39:01,900 >> JOSEPH Ong: Felly dull yn unig yw swyddogaeth sy'n perthyn i un, yn yr 2024 01:39:01,900 --> 01:39:04,590 achos, un o elfennau DOM hyn, oherwydd eich bod yn gweld fy mod 2025 01:39:04,590 --> 01:39:05,940 dewis yr elfen gyntaf. 2026 01:39:05,940 --> 01:39:07,320 A dweud y gwir, gadewch i mi ddefnyddio'r llygoden. 2027 01:39:07,320 --> 01:39:09,330 Dewisais yr elfen gyntaf. 2028 01:39:09,330 --> 01:39:12,310 Ac yna yr wyf yn galw HTML hon weithredu ei fod wedi. 2029 01:39:12,310 --> 01:39:15,710 Ac oherwydd swyddogaeth hon yn perthyn i y peth hyn, rydym yn galw ei fod yn dull. 2030 01:39:15,710 --> 01:39:19,480 Dyna dim ond enw ffansi ar ei gyfer. 2031 01:39:19,480 --> 01:39:20,730 Ddweud hynny eto. 2032 01:39:20,730 --> 01:39:22,880 2033 01:39:22,880 --> 01:39:25,170 Felly cofiwch, rydym yn dewis yr elfen nawr. 2034 01:39:25,170 --> 01:39:27,810 Ac rydym wedi rhoi y tu mewn o yr elfen amrywiol. 2035 01:39:27,810 --> 01:39:28,600 Cywiro? 2036 01:39:28,600 --> 01:39:34,380 >> Felly, pan rydym am newid y HTML ar y tu mewn, oherwydd ei fod Bob o'r blaen, i chi 2037 01:39:34,380 --> 01:39:36,420 am newid hynny testun i Milo. 2038 01:39:36,420 --> 01:39:37,920 Felly, rydym yn galw HTML. 2039 01:39:37,920 --> 01:39:41,610 Ac yn dweud wrthynt beth y HTML y tu mewn Dylai fod elfen fydd nawr. 2040 01:39:41,610 --> 01:39:44,107 Ac felly mae'n newid i Milo, oherwydd fy mod rhoddodd Milo. 2041 01:39:44,107 --> 01:39:46,542 >> GYNULLEIDFA: Felly, maent yn gweithio gyda'i gilydd. 2042 01:39:46,542 --> 01:39:47,030 [Anghlywadwy] 2043 01:39:47,030 --> 01:39:47,390 >> JOSEPH Ong: Yeah, yeah. 2044 01:39:47,390 --> 01:39:48,180 Maent yn gweithio gyda'i gilydd. 2045 01:39:48,180 --> 01:39:50,210 Felly, un ohonynt yn dewis yr elfen gyntaf. 2046 01:39:50,210 --> 01:39:52,863 A'r ail un yn rhywbeth iddo. 2047 01:39:52,863 --> 01:39:53,790 Ie. 2048 01:39:53,790 --> 01:39:56,168 >> GYNULLEIDFA: [Anghlywadwy]. 2049 01:39:56,168 --> 01:40:01,280 Os yw y dull hwn yn wahanol yn HTML eich bod yn cael y dull cyfartal gwirioneddol. 2050 01:40:01,280 --> 01:40:01,560 >> JOSEPH Ong: Yeah. 2051 01:40:01,560 --> 01:40:03,370 Mae hynny'n ddull gwahanol. 2052 01:40:03,370 --> 01:40:04,670 Mae hynny'n ddull gwahanol. 2053 01:40:04,670 --> 01:40:07,860 A gallwn ymdrin â hynny mewn dim ond ail pan fyddwn yn cyrraedd enghraifft. 2054 01:40:07,860 --> 01:40:12,000 Yr wyf am wneud yn siŵr ein bod yn cyflymu i fyny oherwydd ein bod yn rhedeg allan o amser. 2055 01:40:12,000 --> 01:40:15,360 Ond rydym wedi rhedeg ffordd dros amser bellach. 2056 01:40:15,360 --> 01:40:15,490 OK. 2057 01:40:15,490 --> 01:40:16,430 Cool. 2058 01:40:16,430 --> 01:40:20,130 Felly, os ydych eisiau ychwanegu dosbarth, mae hefyd yn ddull dosbarth ychwanegu. 2059 01:40:20,130 --> 01:40:24,300 Mae hyn yn unig yn enghraifft o'r hyn gallwch ei wneud gyda jQuery. 2060 01:40:24,300 --> 01:40:25,950 Mai dim ond yn ychwanegu dosbarth. 2061 01:40:25,950 --> 01:40:28,660 >> Os ydych am ddileu, gallwch ffonio dileu. 2062 01:40:28,660 --> 01:40:32,280 Dyna dim ond beth arall y gallwch ei wneud. 2063 01:40:32,280 --> 01:40:35,680 Felly, mwy o enghreifftiau o bethau y gallwch eu gwneud. 2064 01:40:35,680 --> 01:40:37,510 Felly, gallaf ei roi ar y brig fel hyn? 2065 01:40:37,510 --> 01:40:38,760 Dileu ieuengaf. 2066 01:40:38,760 --> 01:40:42,470 2067 01:40:42,470 --> 01:40:45,930 Os Fi jyst gweithredu y JavaScript ar ben fy ffeil, a fydd yn gweithio? 2068 01:40:45,930 --> 01:40:48,540 2069 01:40:48,540 --> 01:40:48,920 Iawn. 2070 01:40:48,920 --> 01:40:50,530 Oherwydd nad canol yn bodoli eto. 2071 01:40:50,530 --> 01:40:51,840 Felly, nid yw hyn yn mynd i weithio. 2072 01:40:51,840 --> 01:40:52,800 Gorchymyn weithredu. 2073 01:40:52,800 --> 01:40:55,040 Mae'n mynd i'r brig yn gyntaf. 2074 01:40:55,040 --> 01:40:55,540 Beth? 2075 01:40:55,540 --> 01:40:57,450 >> GYNULLEIDFA: Nid ieuengaf yn bodoli eto? 2076 01:40:57,450 --> 01:40:57,810 >> JOSEPH Ong: Yeah. 2077 01:40:57,810 --> 01:40:58,710 Nid ieuengaf yn bodoli eto. 2078 01:40:58,710 --> 01:40:59,600 Yn union. 2079 01:40:59,600 --> 01:41:01,320 >> GYNULLEIDFA: Dywedasoch canol. 2080 01:41:01,320 --> 01:41:01,510 >> JOSEPH Ong: Mae'n ddrwg gennyf. 2081 01:41:01,510 --> 01:41:02,720 Nid ieuengaf yn bodoli eto. 2082 01:41:02,720 --> 01:41:04,510 A'r peth arall yw nad wyf wedi cynnwys y jQuery 2083 01:41:04,510 --> 01:41:06,580 ffeil gofyn src script. 2084 01:41:06,580 --> 01:41:07,960 Felly, nid yw hynny'n mynd i weithio. 2085 01:41:07,960 --> 01:41:09,580 A dweud y gwir, doeddwn i ddim yn gwneud hynny yn y sleid nesaf, sydd yn 2086 01:41:09,580 --> 01:41:10,700 i fod i atgyweiria bod naill ai. 2087 01:41:10,700 --> 01:41:14,120 Ond mae'r ffordd yr ydym yn gwneud hyn yw JavaScript yn cael ei yrru digwyddiad. 2088 01:41:14,120 --> 01:41:17,410 Felly, yr hyn yr ydym yn ei wneud yw ein defnyddio'r digwyddiad triniwr i wneud i hyn ddigwydd. 2089 01:41:17,410 --> 01:41:19,510 Ac felly yr wyf yn dewis y ddogfen gosod yn gyntaf. 2090 01:41:19,510 --> 01:41:23,810 Yr wyf yn ei ddweud, OK, pan fydd y ddogfen yn barod, gadewch i mi redeg swyddogaeth. 2091 01:41:23,810 --> 01:41:25,470 Felly dyna'r cyfan mae hynny'n ei olygu gystrawen. 2092 01:41:25,470 --> 01:41:27,100 >> Yr wyf yn dewis y ddogfen. 2093 01:41:27,100 --> 01:41:29,530 Nawr, pan fydd y ddogfen yn barod, rhedeg y swyddogaeth. 2094 01:41:29,530 --> 01:41:32,970 Ac felly dros yma pan fydd y ddogfen yn parod, sy'n golygu yr holl HTML wedi 2095 01:41:32,970 --> 01:41:36,140 llwytho, yna yr wyf yn rhedeg y swyddogaeth sy'n dileu yr elfen honno. 2096 01:41:36,140 --> 01:41:40,270 Ac felly yn awr, pan fyddaf yn rhedeg swyddogaeth hon fy mod yn pasio i mewn yn barod, rwy'n 2097 01:41:40,270 --> 01:41:43,780 gwarantu bod yr holl HTML ar y dudalen yn mynd i fodoli yn gyntaf. 2098 01:41:43,780 --> 01:41:44,100 Ie. 2099 01:41:44,100 --> 01:41:44,425 Cwestiwn? 2100 01:41:44,425 --> 01:41:48,200 >> GYNULLEIDFA: Beth yw'r gair allweddol digwyddiad o fewn y swyddogaeth? 2101 01:41:48,200 --> 01:41:51,750 >> JOSEPH Ong: Felly y gair allweddol ddigwyddiad yn y swyddogaeth yn unig yw baramedr sy'n 2102 01:41:51,750 --> 01:41:53,490 yn cael ei drosglwyddo i'r swyddogaeth ar gyfer unrhyw ddigwyddiad. 2103 01:41:53,490 --> 01:41:55,470 Dim ond rhywbeth sy'n a gewch am ddim. 2104 01:41:55,470 --> 01:41:59,320 Pan fyddwch yn defnyddio trinwyr allweddol yn pset8, gallai y digwyddiad hwnnw yn dweud i chi, er 2105 01:41:59,320 --> 01:42:01,350 enghraifft, sydd allweddol yr ydych yn pwyso ar. 2106 01:42:01,350 --> 01:42:05,540 Yn yr achos hwn, ar gyfer digwyddiad parod, mae'n mewn gwirionedd nid super defnyddiol. 2107 01:42:05,540 --> 01:42:08,640 Ond ar gyfer digwyddiad i lawr allweddol, mae'n fwy ddefnyddiol, oherwydd eich bod yn dod i wybod pa 2108 01:42:08,640 --> 01:42:12,330 allweddol yr ydych yn pwyso trwy gael mynediad allweddol Cod oddi ar y gwrthrych digwyddiad. 2109 01:42:12,330 --> 01:42:13,530 Cywiro? 2110 01:42:13,530 --> 01:42:15,160 A yw hynny'n gwneud synnwyr? 2111 01:42:15,160 --> 01:42:16,280 OK. 2112 01:42:16,280 --> 01:42:16,580 Ie. 2113 01:42:16,580 --> 01:42:17,150 Cwestiwn? 2114 01:42:17,150 --> 01:42:19,290 >> GYNULLEIDFA: Felly, gallwch chi roi'r tag sgript yn is i lawr? 2115 01:42:19,290 --> 01:42:19,940 >> JOSEPH Ong: Felly yeah. 2116 01:42:19,940 --> 01:42:21,500 Gallech roi'r sgript tagio yn is i lawr. 2117 01:42:21,500 --> 01:42:23,090 Ond yna 'i jyst yn dod yn wir yn anniben. 2118 01:42:23,090 --> 01:42:26,590 Ac rydym yn hoffi i ganoli pob o'n cod mewn un lle. 2119 01:42:26,590 --> 01:42:28,290 A bydd hyn yn caniatáu i ni wneud hynny. 2120 01:42:28,290 --> 01:42:32,010 Cofiwch y dywedais yn gynharach mae 'na brafiach ffordd o sicrhau bod elfennau 2121 01:42:32,010 --> 01:42:33,880 ar y dudalen cyn i chi weithredu cod? 2122 01:42:33,880 --> 01:42:36,079 Ac mae hyn yn unig yw ffordd braf byddech yn cyflawni hynny. 2123 01:42:36,079 --> 01:42:37,329 >> GYNULLEIDFA: [Anghlywadwy]. 2124 01:42:37,329 --> 01:42:41,710 2125 01:42:41,710 --> 01:42:42,230 >> JOSEPH Ong: Yeah. 2126 01:42:42,230 --> 01:42:43,460 Byddai'n rhaid i chi, dde? 2127 01:42:43,460 --> 01:42:46,930 Oherwydd cofiwch, chi wedi cynnwys y ffeilio ar frig y dudalen. 2128 01:42:46,930 --> 01:42:49,890 Felly, mae'n mynd i weithredu yn gyntaf cyn i chi gyrraedd y waelod y dudalen. 2129 01:42:49,890 --> 01:42:54,600 2130 01:42:54,600 --> 01:42:55,180 OK. 2131 01:42:55,180 --> 01:42:59,210 Felly, gallwch hefyd ychwanegu gwahanol math o trin digwyddiad. 2132 01:42:59,210 --> 01:43:00,640 Mae hyn yn un yn unig prosesau chleciau. 2133 01:43:00,640 --> 01:43:03,910 Pan fyddaf yn clicio ar ieuengaf, yna bydd yn pop i fyny gyda rhybudd. 2134 01:43:03,910 --> 01:43:05,440 Mae hyn yn unig yw gwahanol math o ddigwyddiad. 2135 01:43:05,440 --> 01:43:08,840 Yn hytrach na'r digwyddiad yn barod, chi nawr defnyddio'r digwyddiad cliciwch pan fyddwch yn derbyn 2136 01:43:08,840 --> 01:43:10,190 clicio ar elfen. 2137 01:43:10,190 --> 01:43:13,860 >> Ac felly yn yr achos hwn, cofiwch, cliciwch trafodwr ynghlwm wrth ieuengaf. 2138 01:43:13,860 --> 01:43:16,080 Felly, mae'n digwydd dim ond pan Yr wyf yn cliciwch ar ieuengaf. 2139 01:43:16,080 --> 01:43:19,510 Ac yn yr un arall, y digwyddiad yn barod ynghlwm wrth y ddogfen. 2140 01:43:19,510 --> 01:43:23,750 Felly mae'n aros am y ddogfen i fod yn barod. 2141 01:43:23,750 --> 01:43:25,120 Yn gwneud synnwyr? 2142 01:43:25,120 --> 01:43:26,190 Rwy'n credu fy mod yn gallu symud ymlaen. 2143 01:43:26,190 --> 01:43:26,610 Ie. 2144 01:43:26,610 --> 01:43:26,980 Cwestiwn? 2145 01:43:26,980 --> 01:43:28,230 >> GYNULLEIDFA: [Anghlywadwy]. 2146 01:43:28,230 --> 01:43:31,676 2147 01:43:31,676 --> 01:43:33,620 yn yr achos hwn byddwch yn defnyddio [Anghlywadwy]. 2148 01:43:33,620 --> 01:43:36,650 >> JOSEPH Ong: O, ie, oherwydd yn yr achos, rhaid i mi aros am y ieuengaf 2149 01:43:36,650 --> 01:43:40,740 elfen i ymddangos ar y sgrin gyntaf cyn y gallaf atodi trin cliciwch i 2150 01:43:40,740 --> 01:43:43,062 , a dyna pam yr wyf yn ei roi y tu mewn o ddogfen yn barod. 2151 01:43:43,062 --> 01:43:45,780 2152 01:43:45,780 --> 01:43:46,840 OK. 2153 01:43:46,840 --> 01:43:52,390 Ac nesaf, felly mae hyn yn enghraifft fawr o sut y byddech yn cyfuno popeth. 2154 01:43:52,390 --> 01:43:55,930 Mae hyn yn unig yw enghraifft o ffurflen ddilysu rydych wedi ei weld yn y ddarlith. 2155 01:43:55,930 --> 01:43:58,410 Felly, yn cymryd ei gam wrth gam fel i chi fynd drwy hyn. 2156 01:43:58,410 --> 01:43:59,590 A bydd yn hollol iawn. 2157 01:43:59,590 --> 01:44:01,400 Dim ond yn ei ddarllen o'r top i'r gwaelod. 2158 01:44:01,400 --> 01:44:03,030 >> Mae gen i ffurflen ar y gwaelod. 2159 01:44:03,030 --> 01:44:07,590 Pan fydd y ddogfen yn barod, yr wyf yn atodi cyflwyno triniwr at y ffurflen, fel bod 2160 01:44:07,590 --> 01:44:12,910 pan fyddaf yn cyflwyno'r ffurflen, yr wyf yn cael y gwerthoedd y tu mewn i bob un o'r mewnbynnau hynny. 2161 01:44:12,910 --> 01:44:14,560 Ac yr wyf yn gwirio os yw'n wag. 2162 01:44:14,560 --> 01:44:17,090 Os yw'n wag, yr wyf yn dychwelyd ffug, oherwydd bod Nid wyf am i gyflwyno'r ffurflen, 2163 01:44:17,090 --> 01:44:18,950 oherwydd bod y ffurflen yn anghywir. 2164 01:44:18,950 --> 01:44:22,040 Os yw'r cyfrinair yn wag, neu mae'n llai nag wyth cymeriadau, nid wyf yn cyflwyno 2165 01:44:22,040 --> 01:44:24,470 y ffurflen, oherwydd dyna le hefyd. 2166 01:44:24,470 --> 01:44:28,150 Ac mae'r ffug dychwelyd yn unig yn atal y ffurflen rhag cyflwyno a 2167 01:44:28,150 --> 01:44:30,150 mynd i dudalen newydd. 2168 01:44:30,150 --> 01:44:31,310 >> Ac yn gobeithio, mae hyn yn gwneud synnwyr. 2169 01:44:31,310 --> 01:44:34,650 Yr wyf yn meddwl y dylech chi guys gerdded drwy'r cod hwn gam wrth gam ar eich pen eich hun. 2170 01:44:34,650 --> 01:44:38,350 Ac unwaith y byddwch yn deall yr hyn y mae'r dewis elfennau a gwneud pethau iddo 2171 01:44:38,350 --> 01:44:40,520 mewn gwirionedd yn ei olygu, bydd hyn yn gwneud llawer o synnwyr i chi. 2172 01:44:40,520 --> 01:44:41,295 Ie? 2173 01:44:41,295 --> 01:44:44,150 >> GYNULLEIDFA: Beth mae'r name = enw defnyddiwr yn ei olygu? 2174 01:44:44,150 --> 01:44:48,530 >> JOSEPH Ong: Felly yr enw = enw defnyddiwr a name = cyfrinair yn unig yn golygu edrych ar y 2175 01:44:48,530 --> 01:44:50,730 priodoledd o ba bynnag eich bod yn dewis. 2176 01:44:50,730 --> 01:44:51,790 Ac yna y mae'n gyd-fynd. 2177 01:44:51,790 --> 01:44:53,870 Felly, rydym yn mynd i mewn i gofrestru. 2178 01:44:53,870 --> 01:44:56,240 Ac yna rydym yn edrych ar yr holl fewnbynnau a chofrestru. 2179 01:44:56,240 --> 01:44:59,990 Ac yna rydym yn dewis un lle mae'r enw priodoledd yn hafal i enw defnyddiwr. 2180 01:44:59,990 --> 01:45:04,040 Felly dim ond yn dewis y dewisydd cyntaf mewnbwn enw defnyddiwr. 2181 01:45:04,040 --> 01:45:08,220 A bod ail dewisydd dim ond dewis y cyfrinair un, gan fod hynny 2182 01:45:08,220 --> 01:45:12,240 eu priodoleddau enw osod fel hyn y maent yn fod i fod. 2183 01:45:12,240 --> 01:45:12,575 Cwestiwn? 2184 01:45:12,575 --> 01:45:17,030 >> GYNULLEIDFA: O ran cyflwyno, sut mae'r rhan isaf datrys y rhan uchaf? 2185 01:45:17,030 --> 01:45:19,350 >> JOSEPH Ong: Felly dyna oherwydd y triniwr digwyddiad. 2186 01:45:19,350 --> 01:45:23,000 Felly, rydym yn aros ar gyfer digwyddiad cyflwyno sy'n cael ei danio ar y ffurflen. 2187 01:45:23,000 --> 01:45:24,730 A dyna i gyd sydd yn cyflwyno. 2188 01:45:24,730 --> 01:45:26,080 Pam ydw i'n galw gyflwyno hyd yno? 2189 01:45:26,080 --> 01:45:28,870 Mae'n dweud, pan fydd y ffurflen yn cael ei chyflwyno, Rwy'n cael digwyddiad cyflwyno. 2190 01:45:28,870 --> 01:45:33,480 Felly, gadewch i mi rhyng-gipio hynny ac yna rhedeg y cod hwn yn lle hynny. 2191 01:45:33,480 --> 01:45:33,823 Ie? 2192 01:45:33,823 --> 01:45:35,866 >> GYNULLEIDFA: Pam oes gennych i gael digwyddiad swyddogaeth? 2193 01:45:35,866 --> 01:45:38,580 Pam na allwch chi yn unig [Anghlywadwy]? 2194 01:45:38,580 --> 01:45:41,140 >> JOSEPH Ong: Oherwydd yn JavaScript, rydych yn rhaid i ddatgan swyddogaethau. 2195 01:45:41,140 --> 01:45:42,910 Dyna dim ond sut mae'n gweithio yn JavaScript. 2196 01:45:42,910 --> 01:45:44,800 Rhaid i chi ddweud ei fod yn mynd i redeg swyddogaeth. 2197 01:45:44,800 --> 01:45:47,290 Felly, rydych yn dweud eich bod yn disgwyl swyddogaeth yma yn hytrach na 2198 01:45:47,290 --> 01:45:48,260 dim ond braces cyrliog. 2199 01:45:48,260 --> 01:45:50,460 >> GYNULLEIDFA: A'r swyddogaeth yw beth bynnag dilyn? 2200 01:45:50,460 --> 01:45:50,650 >> JOSEPH Ong: Yeah. 2201 01:45:50,650 --> 01:45:52,790 Mae'r swyddogaeth yw beth bynnag sydd y tu mewn y braces cyrliog ar ôl 2202 01:45:52,790 --> 01:45:53,630 y gair allweddol swyddogaeth. 2203 01:45:53,630 --> 01:45:54,045 Ie? 2204 01:45:54,045 --> 01:45:55,295 >> GYNULLEIDFA: [Anghlywadwy]. 2205 01:45:55,295 --> 01:46:00,180 2206 01:46:00,180 --> 01:46:00,660 >> JOSEPH Ong: Ar gyfer cyflwyno? 2207 01:46:00,660 --> 01:46:03,520 >> GYNULLEIDFA: Na, ar gyfer swyddogaeth heb y digwyddiad. 2208 01:46:03,520 --> 01:46:03,770 >> JOSEPH Ong: Yeah. 2209 01:46:03,770 --> 01:46:05,610 Felly, heb y digwyddiad, gallwch gael hynny. 2210 01:46:05,610 --> 01:46:08,480 Os nad oes angen y digwyddiad, yna gallwch hepgor. 2211 01:46:08,480 --> 01:46:12,220 Ond os ydych yn ei wneud, yna rydych jyst roi yno. 2212 01:46:12,220 --> 01:46:12,520 Ie. 2213 01:46:12,520 --> 01:46:13,190 Cwestiwn cyflym? 2214 01:46:13,190 --> 01:46:14,440 >> GYNULLEIDFA: [Anghlywadwy]. 2215 01:46:14,440 --> 01:46:21,170 2216 01:46:21,170 --> 01:46:21,440 >> JOSEPH Ong: Yeah. 2217 01:46:21,440 --> 01:46:24,550 Oherwydd hyn y mae angen i chi ei wneud, mae'r document.ready yn unig yn dweud aros ar gyfer yr holl 2218 01:46:24,550 --> 01:46:26,540 HTML ar y dudalen i lwytho gyntaf. 2219 01:46:26,540 --> 01:46:30,510 Ac fel arfer, ydych am i'ch elfennau yn eu lle cyn i chi yn rhedeg unrhyw god. 2220 01:46:30,510 --> 01:46:31,030 Mae pob hawl. 2221 01:46:31,030 --> 01:46:32,180 Mae'n rhaid i ni gyrraedd Ajax. 2222 01:46:32,180 --> 01:46:33,110 Nid oes gennym lawer o amser. 2223 01:46:33,110 --> 01:46:35,170 Felly, manteision ac anfanteision. 2224 01:46:35,170 --> 01:46:37,450 JavaScript yw cais yn haws ysgrifennu gyda jQuery. 2225 01:46:37,450 --> 01:46:38,930 Ond jQuery yn fath o araf. 2226 01:46:38,930 --> 01:46:42,290 >> Mae fel PHP yn arafach na C, oherwydd ei fod yn ei dehongli. 2227 01:46:42,290 --> 01:46:45,690 Ac jQuery yn ychydig yn arafach na'r JavaScript, oherwydd ei fod yn gwneud llawer o 2228 01:46:45,690 --> 01:46:46,630 pethau o dan y cwfl. 2229 01:46:46,630 --> 01:46:48,660 Ac felly os ydych yn defnyddio jQuery, mae'n dim ond ychydig yn arafach na'r 2230 01:46:48,660 --> 01:46:51,630 JavaScript, er ei fod yn yn rhoi ceinder 'n glws i chi. 2231 01:46:51,630 --> 01:46:53,970 Ac yn olaf, Ajax. 2232 01:46:53,970 --> 01:46:59,170 Hyd yn hyn gyda Ajax, nad ydych wedi gweld Ajax o ran pset7 eto, oherwydd 2233 01:46:59,170 --> 01:47:01,150 pan fyddwch yn gwneud, i chi gyflwyno ffurflen i dyfynbris. 2234 01:47:01,150 --> 01:47:02,350 Mae'n llwythi tudalen newydd. 2235 01:47:02,350 --> 01:47:04,440 Felly, byddwch yn cael hyn yn fflachia gwyn mawr ar y dudalen tra bod 2236 01:47:04,440 --> 01:47:06,820 ail llwythi dudalen, yn gywir? 2237 01:47:06,820 --> 01:47:08,780 >> Byddai'n neis iawn os ydych yn Nid oedd gan fflach hwn. 2238 01:47:08,780 --> 01:47:11,600 Fel Facebook, os ydych yn unig sgrolio i y gwaelod, mae'n ychwanegu cynnwys newydd 2239 01:47:11,600 --> 01:47:13,490 heb adnewyddu'r dudalen gyfan. 2240 01:47:13,490 --> 01:47:15,420 Felly, byddai rhywbeth fel hyn yn braf. 2241 01:47:15,420 --> 01:47:17,370 Mae hyn yn cod JavaScript ar yr ochr chwith. 2242 01:47:17,370 --> 01:47:19,390 Byddwch yn cael yr hyn sydd y tu mewn y mewnbwn. 2243 01:47:19,390 --> 01:47:21,340 Byddwch yn cael y wybodaeth stoc o Yahoo! 2244 01:47:21,340 --> 01:47:27,440 Ac yna byddwch yn gwneud llinyn mawr sy'n dweud, OK, dyma'r neges yr wyf am 2245 01:47:27,440 --> 01:47:28,400 i ddangos ar y sgrin. 2246 01:47:28,400 --> 01:47:32,280 Ac yna byddwch yn rhoi y neges y tu mewn o rhyw elfen HTML sy'n cael 2247 01:47:32,280 --> 01:47:33,970 harddangos ar y sgrin. 2248 01:47:33,970 --> 01:47:35,540 >> Felly dyna i gyd sy'n digwydd yma. 2249 01:47:35,540 --> 01:47:39,410 Felly y bôn, oherwydd mae hyn oll Nid oes angen Javascript a chi i redeg 2250 01:47:39,410 --> 01:47:42,980 anymore PHP, bydd hyn yn gwneud yn siŵr nad yw'r dudalen yn adnewyddu. 2251 01:47:42,980 --> 01:47:47,470 Felly, mae hyn yn unig yw syniad haniaethol fy mod yn ei ddweud yma am y tro. 2252 01:47:47,470 --> 01:47:50,630 Y syniad haniaethol yw os ydych yn ei wneud i gyd yn JavaScript, nid oes gennych 2253 01:47:50,630 --> 01:47:52,330 tudalen adnewyddu. 2254 01:47:52,330 --> 01:47:53,800 Ond sut yr ydych yn ei wneud hyn? 2255 01:47:53,800 --> 01:47:56,230 >> Wel, mewn gwirionedd, gadewch i ni siarad am problem gyda hyn gyntaf. 2256 01:47:56,230 --> 01:47:59,340 Mae problem yn JavaScript, gweithredu yn synchronous. 2257 01:47:59,340 --> 01:48:02,000 Felly, rhaid i chi aros am un llinell i orffen cyn i chi 2258 01:48:02,000 --> 01:48:03,370 gweithredu y llinell nesaf. 2259 01:48:03,370 --> 01:48:06,130 A beth os ydw i'n mynd draw i Yahoo!, ac mae eu gweinyddion yn araf iawn, a 2260 01:48:06,130 --> 01:48:08,790 mae'n cymryd tair eiliad i rhoi i mi yn ôl y wybodaeth stoc? 2261 01:48:08,790 --> 01:48:12,620 Pan fyddaf yn cyrraedd y llinell pris, os yw'r gweithredu yn cydamserol, fel y mae gan 2262 01:48:12,620 --> 01:48:15,390 diofyn, beth yn union mae'n mynd i wneud yw eich porwr yn mynd i stondin am 2263 01:48:15,390 --> 01:48:15,930 tri eiliad. 2264 01:48:15,930 --> 01:48:18,900 Ac nid ydych yn mynd i fod yn gallu gwneud unrhyw beth er ei bod yn cael data hwnnw. 2265 01:48:18,900 --> 01:48:20,010 Mae'n mynd i gael ei rewi. 2266 01:48:20,010 --> 01:48:20,800 >> Ac mae hynny'n ddrwg. 2267 01:48:20,800 --> 01:48:23,390 Dydych chi ddim eisiau defnyddiwr i gael tudalen ar y we wedi'u rhewi. 2268 01:48:23,390 --> 01:48:24,170 Cywiro? 2269 01:48:24,170 --> 01:48:25,480 Dyna dim ond drwg. 2270 01:48:25,480 --> 01:48:26,770 Mae pawb yn cytuno? 2271 01:48:26,770 --> 01:48:29,270 Os ydych yn pori Facebook ac mae'n rhewi ac ni allwch wneud unrhyw beth, rydych yn 2272 01:48:29,270 --> 01:48:31,920 cael rhwystredig iawn. 2273 01:48:31,920 --> 01:48:34,960 Felly yr ateb yw ein gwneud rhywbeth asynchronous yn lle hynny. 2274 01:48:34,960 --> 01:48:38,910 Felly hyn i gyd yn dweud beth asynchronous yw, rwy'n mynd i ofyn i hyn 2275 01:48:38,910 --> 01:48:40,280 URL ar gyfer rhywfaint o ddata. 2276 01:48:40,280 --> 01:48:41,610 Ac yna yr wyf i'n mynd i ddal ati. 2277 01:48:41,610 --> 01:48:45,330 Im 'jyst yn mynd i gadw gweithredu beth bynnag cod a oedd ar ôl hynny. 2278 01:48:45,330 --> 01:48:49,290 >> Ac yna pryd bynnag y data sy'n barod, yna byddaf yn ei brosesu. 2279 01:48:49,290 --> 01:48:50,540 Dyna i gyd mae'n ei ddweud. 2280 01:48:50,540 --> 01:48:52,795 2281 01:48:52,795 --> 01:48:56,710 >> GYNULLEIDFA: Ajax yn unig yn gwneud Cod asynchronous? 2282 01:48:56,710 --> 01:48:58,560 >> JOSEPH Ong: Mae'n asynchronous ffordd o ddata Wrthi'n nôl. 2283 01:48:58,560 --> 01:49:01,230 Felly, y peth cyntaf am Ajax mae'n gadael i mi gael data 2284 01:49:01,230 --> 01:49:03,170 o wefan allanol. 2285 01:49:03,170 --> 01:49:07,045 A'r ail beth yw ei fod yn gwneud yn siwr nad yw fy dudalen yn stondin er fy mod i'n 2286 01:49:07,045 --> 01:49:07,970 nôl data hwnnw. 2287 01:49:07,970 --> 01:49:09,600 Dyna y rhan asynchronous ohono. 2288 01:49:09,600 --> 01:49:13,040 Oherwydd ei fod yn mynd i ffwrdd yn rhywle arall, oherwydd fy mod yn dweud fy mod yn cadw mynd ymlaen tra 2289 01:49:13,040 --> 01:49:14,900 mae'n nôl data hynny, y yn ei gwneud yn asynchronous. 2290 01:49:14,900 --> 01:49:17,170 Yr wyf yn cadw gweithredu. 2291 01:49:17,170 --> 01:49:18,960 >> Felly cadwch y asynchronous syniad mewn golwg. 2292 01:49:18,960 --> 01:49:22,010 A byddaf yn dangos i chi beth y gwahaniaeth yw. 2293 01:49:22,010 --> 01:49:23,920 Mae'r fersiwn cydamserol ar yr ochr chwith. 2294 01:49:23,920 --> 01:49:26,240 Mae'r fersiwn asynchronous ar yr ochr dde. 2295 01:49:26,240 --> 01:49:29,170 Edrychwch ar y rhifau i weld pa camau yn cyfateb i'r hyn 2296 01:49:29,170 --> 01:49:30,610 executes ar bob llinell. 2297 01:49:30,610 --> 01:49:32,730 Dros yno, mae'r rhybudd yn dangos i fyny yn gyntaf. 2298 01:49:32,730 --> 01:49:34,590 Oherwydd mae cael gwybodaeth stoc o Yahoo! 2299 01:49:34,590 --> 01:49:37,250 yn cymryd tair eiliad, mae'n stondinau ar gyfer tri eiliad. 2300 01:49:37,250 --> 01:49:39,880 Ac yna mae'n rhybuddio y pris ar ôl y rhai tair eiliad. 2301 01:49:39,880 --> 01:49:43,690 >> Felly nawr, sy'n dangos yn effro i fyny ar y pryd - 2302 01:49:43,690 --> 01:49:44,610 tri eiliad i mewn 2303 01:49:44,610 --> 01:49:47,670 Ac yna mae'n rhybuddio gan ar ôl hynny. 2304 01:49:47,670 --> 01:49:48,930 Felly, 'i jyst yn mynd gam wrth gam. 2305 01:49:48,930 --> 01:49:51,200 Mae fel hyn yr ydych guys Byddai derbyn, yn gywir? 2306 01:49:51,200 --> 01:49:54,170 Gyda gweithredu asynchronous, yn tynnu eich sylw gyntaf. 2307 01:49:54,170 --> 01:49:57,410 Yna byddwch yn mynd i ffwrdd i URL hwn. 2308 01:49:57,410 --> 01:49:59,530 A ydych yn dweud, dw i'n mynd i dim ond gofyn am y data. 2309 01:49:59,530 --> 01:50:01,170 Ac yna yr wyf i'n mynd i brosesu yn ddiweddarach. 2310 01:50:01,170 --> 01:50:04,230 Felly, unwaith executes y llinell nesaf ar ôl i mi wneud y 2311 01:50:04,230 --> 01:50:05,710 cais asynchronous. 2312 01:50:05,710 --> 01:50:08,920 >> Felly 0.001 eiliad, byddwch yn gweld hi yn effro. 2313 01:50:08,920 --> 01:50:10,960 Gweithredu swyddogaeth honno, bye effro. 2314 01:50:10,960 --> 01:50:14,240 Ac oherwydd yr wyf yn gwneud addewid i mi Byddai prosesu'r data yn ddiweddarach, beth 2315 01:50:14,240 --> 01:50:17,920 digwydd yw pan ddaw data hynny yn ôl tri eiliad yn ddiweddarach, yna Rwy'n rhedeg y 2316 01:50:17,920 --> 01:50:21,380 swyddogaeth sydd gennyf dros yno. 2317 01:50:21,380 --> 01:50:21,870 Ie? 2318 01:50:21,870 --> 01:50:25,750 >> GYNULLEIDFA: A allech chi nodi neu egluro beth Ajax olygu? 2319 01:50:25,750 --> 01:50:30,460 >> JOSEPH Ong: Felly Ajax yn ffordd os byddaf yn angen data pan dwi ar wefan ac yr wyf yn 2320 01:50:30,460 --> 01:50:34,690 nad ydych am i adnewyddu y dudalen, yna Yr wyf yn defnyddio technoleg o'r enw Ajax. 2321 01:50:34,690 --> 01:50:40,630 Mae hynny'n hanfod yn unig yn golygu, ewch nôl data o wefan arall. 2322 01:50:40,630 --> 01:50:43,724 Ac yn gwneud hynny mewn ffordd sy'n dim ond Nid oes stondin fy dudalen we. 2323 01:50:43,724 --> 01:50:46,650 >> GYNULLEIDFA: Felly yw bod cynhenid rhan o JavaScript neu jQuery? 2324 01:50:46,650 --> 01:50:50,590 >> JOSEPH Ong: Felly rhywun ysgrifennodd ffordd o wneud hyn mewn JavaScript amser maith yn ôl. 2325 01:50:50,590 --> 01:50:52,050 Ar un adeg, nid oedd yn bodoli. 2326 01:50:52,050 --> 01:50:56,630 Ac felly rhywun yn dyfeisio dechneg hon i alluogi pobl i ofyn am ddata hon 2327 01:50:56,630 --> 01:50:57,680 yn y modd hwn. 2328 01:50:57,680 --> 01:50:59,550 Ac maent yn ysgrifennu rhai pethau i wneud hynny ar eich rhan. 2329 01:50:59,550 --> 01:51:01,605 A jQuery yn unig yn rhoi i chi y ffordd neis iawn i wneud hynny 2330 01:51:01,605 --> 01:51:03,112 gyda $ hwn. gael swyddogaeth. 2331 01:51:03,112 --> 01:51:07,200 2332 01:51:07,200 --> 01:51:09,480 cwestiynau? 2333 01:51:09,480 --> 01:51:11,560 Yr wyf yn gallu ateb cwestiynau am Ajax wedi hynny hefyd. 2334 01:51:11,560 --> 01:51:13,870 'N annhymerus' fod yma. 2335 01:51:13,870 --> 01:51:16,390 >> Felly mae'n gadewch i ni nôl data heb adnewyddu'r dudalen. 2336 01:51:16,390 --> 01:51:18,200 Ac mae'n gadewch i ni i wneud hyn yn ffordd asynchronous bod 2337 01:51:18,200 --> 01:51:19,450 nid yw'n rhewi y dudalen. 2338 01:51:19,450 --> 01:51:22,680 2339 01:51:22,680 --> 01:51:27,310 Rhy hir, nid oedd yn darllen os mai esboniad yn rhy hir i chi. 2340 01:51:27,310 --> 01:51:29,430 Felly yn olaf, traws-safle ymosodiadau sgriptio. 2341 01:51:29,430 --> 01:51:30,910 Rydym yn gweld hyn gyda Zamyla. 2342 01:51:30,910 --> 01:51:34,285 Os oes gan yr enw hwn yn fy gronfa ddata rywun, sydd yn tag sgript hwn, ac yr wyf yn 2343 01:51:34,285 --> 01:51:38,280 cael rhywfaint cod ar fy tudalen sy'n printiau allan enwau pobl yn olynol, neu mae gennyf 2344 01:51:38,280 --> 01:51:43,310 rhywfaint o cod JavaScript mewnosod sy'n yr enw hwn yn y dudalen, 2345 01:51:43,310 --> 01:51:45,680 pa HTML yn cael ei gynhyrchu? 2346 01:51:45,680 --> 01:51:47,290 Wel, yr wyf yn argraffu'r tag HTML. 2347 01:51:47,290 --> 01:51:48,390 Yr wyf yn argraffu pob tag hyn. 2348 01:51:48,390 --> 01:51:50,740 >> Cyrraedd y rhan lle rwy'n argraffu allan gyda fy ffrindiau. 2349 01:51:50,740 --> 01:51:52,980 Yr wyf yn argraffu Lauren allan. 2350 01:51:52,980 --> 01:51:54,200 Mae'n argraffu Milo allan. 2351 01:51:54,200 --> 01:51:56,810 Ac yna fy enw yn y gronfa ddata yn ôl sgript 2352 01:51:56,810 --> 01:51:58,060 statws Facebook angharedig. 2353 01:51:58,060 --> 01:52:00,740 2354 01:52:00,740 --> 01:52:04,330 Gan fy mod yn mewnosod hyn yn y dudalen oherwydd ei fod yn edrych fel JavaScript, pan 2355 01:52:04,330 --> 01:52:07,930 y dudalen hon yn cael ei anfon at y defnyddiwr, mae'n cael ei gyflawni fel JavaScript. 2356 01:52:07,930 --> 01:52:10,800 Ac felly mae hwn yn yr hyn a alwn yn ymosodiad sgriptio traws-safle. 2357 01:52:10,800 --> 01:52:14,570 Mae rhywun yn rhoi gwybodaeth maleisus yn eich cronfa ddata a allai cyfateb i 2358 01:52:14,570 --> 01:52:17,080 rhai llinyn neu ychwanegol rhai llinyn JavaScript. 2359 01:52:17,080 --> 01:52:20,130 >> A phan fydd yn cael ei argraffu i'r dudalen yn y modd hwn, yna beth 2360 01:52:20,130 --> 01:52:22,580 digwydd yw bod cod drwg yn cael eu gweithredu nad oeddwn yn bwriadu 2361 01:52:22,580 --> 01:52:25,110 er mwyn iddo gael ei weithredu. 2362 01:52:25,110 --> 01:52:28,230 A dyna'r cyfan croes-safle ymosodiad sgriptio yn. 2363 01:52:28,230 --> 01:52:31,790 A'r ffordd yr ydych symud o gwmpas mae hyn yn debyg dywedodd Zamyla. 2364 01:52:31,790 --> 01:52:34,340 'Ch jyst lapio pethau yn Chars arbennig HTML. 2365 01:52:34,340 --> 01:52:39,460 Ac mae hyn yn HTML chars arbennig yn PHP swyddogaeth a fydd yn atal y math hwn 2366 01:52:39,460 --> 01:52:42,000 o beth rhag digwydd i chi os oes gennych maleisus 2367 01:52:42,000 --> 01:52:43,830 llinyn yn eich cronfa ddata. 2368 01:52:43,830 --> 01:52:47,650 'I jyst yn dianc, felly nad yw'n gwneud hynny cael ei ddehongli fel HTML. 2369 01:52:47,650 --> 01:52:50,960 Mae'n disodli'r cromfachau bach â'r hyn yr ydym yn galw endidau. 2370 01:52:50,960 --> 01:52:52,250 Ac rydym yn mynd dros hyn mewn ddarlith hefyd. 2371 01:52:52,250 --> 01:52:55,800 Felly, yr wyf yn meddwl y dylech chi guys gael gafael dda ar hynny. 2372 01:52:55,800 --> 01:52:57,420 Cwestiynau? 2373 01:52:57,420 --> 01:52:57,820 Ie. 2374 01:52:57,820 --> 01:53:00,860 >> GYNULLEIDFA: Felly sut y byddai y [Anghlywadwy]? 2375 01:53:00,860 --> 01:53:01,555 >> JOSEPH Ong: Dweud bod eto. 2376 01:53:01,555 --> 01:53:02,500 >> GYNULLEIDFA: Sut y byddai'r monitor - 2377 01:53:02,500 --> 01:53:02,860 >> JOSEPH Ong: Iawn. 2378 01:53:02,860 --> 01:53:06,080 Felly, mae gennych rywbeth sy'n dweud, pan Yr wyf yn cofrestru, math yn fy enw i. 2379 01:53:06,080 --> 01:53:09,390 Fi jyst deipio yn y maes hwnnw, fy enw i yw stript Facebook post angharedig 2380 01:53:09,390 --> 01:53:11,570 statws tag sgript agos. 2381 01:53:11,570 --> 01:53:15,690 Ac mai dim ond yn cael ei rhoi yn y gronfa ddata, oherwydd ni allaf ddweud rhywun 2382 01:53:15,690 --> 01:53:18,260 yn y byd nad oes gan enw gyda saeth chwith ynddo neu 2383 01:53:18,260 --> 01:53:19,036 sgript gair ynddo. 2384 01:53:19,036 --> 01:53:21,330 Nid yw hynny'n wir yn gwneud synnwyr. 2385 01:53:21,330 --> 01:53:24,560 Felly, yr wyf yn rhaid i wneud yn siŵr fy mod yn glanweithio y pethau cyn i mi ei hargraffu 2386 01:53:24,560 --> 01:53:25,420 allan i'r dudalen. 2387 01:53:25,420 --> 01:53:27,140 >> GYNULLEIDFA: Felly y cardiau arbennig HTML yn atal y tagiau sgript? 2388 01:53:27,140 --> 01:53:28,710 >> JOSEPH Ong: Yeah. 2389 01:53:28,710 --> 01:53:29,960 Felly, nid yw'n atal y tagiau script. 2390 01:53:29,960 --> 01:53:32,320 Mae'n gwneud yn siwr bod y Nid yw tagiau sgript yn cael 2391 01:53:32,320 --> 01:53:35,120 ddehongli fel HTML neu - 2392 01:53:35,120 --> 01:53:35,400 yeah. 2393 01:53:35,400 --> 01:53:38,470 'I jyst yn dod i fyny â'r hyn ydyw mewn gwirionedd. 2394 01:53:38,470 --> 01:53:39,220 Mae pob hawl. 2395 01:53:39,220 --> 01:53:40,930 Felly yr oedd yr adolygiad cwis. 2396 01:53:40,930 --> 01:53:41,830 Cool. 2397 01:53:41,830 --> 01:53:45,088 >> [Cymeradwyaeth]