1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [CHWARAE CERDDORIAETH] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 HANNAH: Hi, bawb. 5 00:00:12,700 --> 00:00:15,866 Diolch i chi guys cymaint am ddod allan yn y tywydd ffiaidd ar gyfer cwis un 6 00:00:15,866 --> 00:00:16,910 sesiwn adolygu. 7 00:00:16,910 --> 00:00:20,020 Wrth i chi guys gwyddoch, cwis un yw dydd Mercher hwn. 8 00:00:20,020 --> 00:00:22,209 Felly, rydym yn mynd i fynd trwy griw o bynciau. 9 00:00:22,209 --> 00:00:24,000 DAVIN: Hey, gallaf ddweud rhywbeth go gyflym? 10 00:00:24,000 --> 00:00:25,215 HANNAH: Yeah, Davin yn mynd dweud rhywbeth go gyflym. 11 00:00:25,215 --> 00:00:25,780 DAVIN: Mae'n ddrwg gennyf. 12 00:00:25,780 --> 00:00:29,490 Dim ond go gyflym, os oes gennych gwestiynau am y cwis, gallwch fynd ar-lein. 13 00:00:29,490 --> 00:00:32,420 Ewch i 2014 un cwis, am y cwis. 14 00:00:32,420 --> 00:00:34,680 Mae wedi cael logisteg am ble i fynd, pryd i fynd. 15 00:00:34,680 --> 00:00:38,100 Os ydych yn cofrestru ar yr un pryd, rydym yn mynd i gael cwis colur am 5:30. 16 00:00:38,100 --> 00:00:40,350 Neu os ydych yn ei anfon yn fater i mi, gennych rywfaint o broblem arall. 17 00:00:40,350 --> 00:00:42,640 Ond 05:30 yw'r colur amser ar ddydd Mercher. 18 00:00:42,640 --> 00:00:44,540 Ond os oes gennych gwestiynau, cwestiynau cyffredinol, 19 00:00:44,540 --> 00:00:45,748 Mae ar-lein yr holl logisteg. 20 00:00:45,748 --> 00:00:47,690 Felly gwiriwch yno yn gyntaf. 21 00:00:47,690 --> 00:00:49,070 >> HANNAH: Awesome. 22 00:00:49,070 --> 00:00:53,030 Felly dyma y rhestr fawr o bynciau ein bod yn mynd i fynd drwy'r heddiw. 23 00:00:53,030 --> 00:00:57,390 Rydw i'n mynd i gwmpasu pob un o'r C pethau, sef bod golofn gyntaf. 24 00:00:57,390 --> 00:01:00,710 Felly, mae'r pethau C yr ydym gwmpesir ar ôl cwis sero. 25 00:01:00,710 --> 00:01:05,459 Gan ddechrau gyda rhestr cysylltiedig, sy'n cynnwys awgrymiadau. 26 00:01:05,459 --> 00:01:07,668 >> Mae pob hawl, felly rydym yn gweld hyn yn y sesiwn adolygiad diwethaf, 27 00:01:07,668 --> 00:01:10,000 felly dw i'n mynd i fynd drwy mae hyn yn ychydig yn gyflymach. 28 00:01:10,000 --> 00:01:13,500 Dim ond codwch eich llaw os ydych am i mi arafu neu fynd i'r afael â rhywbeth ymhellach. 29 00:01:13,500 --> 00:01:17,150 Ond rydym yn defnyddio rhestrau cysylltiedig oherwydd Dechreuodd yr ydym yn C gyda arrays. 30 00:01:17,150 --> 00:01:20,920 Ac araeau yn wych, ond mae'r broblem yw bod ganddynt faint sefydlog. 31 00:01:20,920 --> 00:01:24,925 Rhestrau gysylltiedig yn ein galluogi i greu maint strwythurau data ddeinamig. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> Ac rydym wedi ein gweithrediadau sylfaenol, mewnosod, dileu, a chwilio. 34 00:01:32,320 --> 00:01:36,780 A gallwn wneud mewnosoder yn achos gwaethaf amser cyson 35 00:01:36,780 --> 00:01:39,140 os ydym yn unig yn ei roi ar y dechrau. 36 00:01:39,140 --> 00:01:45,220 Dileu a chwilio, gwaethaf achos mawr oh o amser n. 37 00:01:45,220 --> 00:01:47,140 Felly unwaith eto, dim ond i troi trwy luniau hyn, 38 00:01:47,140 --> 00:01:50,860 Rwy'n gwybod gwelsom y rhain tro diwethaf, ond rydym yn awyddus i gadw golwg ar ein rhestr cysylltiedig 39 00:01:50,860 --> 00:01:53,440 drwy gadw golwg ar y pennaeth ein rhestr cysylltiedig. 40 00:01:53,440 --> 00:01:55,580 Oherwydd gwyddom fod pob un o'n nodau 41 00:01:55,580 --> 00:01:58,610 yn jyst yn mynd i dynnu sylw at y nod nesaf yn ein rhestr cysylltiedig. 42 00:01:58,610 --> 00:02:00,460 >> Felly dyna sut yr ydym yn cadw golwg. 43 00:02:00,460 --> 00:02:02,910 Hyd yn oed er nad yw'r rhain yn darnau parhaus o gof, 44 00:02:02,910 --> 00:02:07,410 gallwn ddod o hyd iddynt gan unig yn dilyn y gwahanol saethau. 45 00:02:07,410 --> 00:02:09,800 Dyma yw ein strwythur am restr nod cysylltiedig. 46 00:02:09,800 --> 00:02:11,440 Rydym yn gweld hyn tro diwethaf. 47 00:02:11,440 --> 00:02:13,080 Rydym wedi ein nod struct. 48 00:02:13,080 --> 00:02:14,340 Ac mae wedi ddau eiddo. 49 00:02:14,340 --> 00:02:17,020 Rhif un, y gwir gwerth yr ydym am ei storio. 50 00:02:17,020 --> 00:02:18,290 Yn yr achos hwn, ei fod yn gyfanrif. 51 00:02:18,290 --> 00:02:21,100 Gallai fod yn llinyn, gallai fod yn torgoch, beth bynnag y dymunwch. 52 00:02:21,100 --> 00:02:24,710 Ac yna, mae'n rhaid i ni gadw golwg ar y nod nesaf yn ein rhestr cysylltiedig. 53 00:02:24,710 --> 00:02:29,797 Felly mae hynny'n mynd i fod yn pwyntydd at y nod nesaf. 54 00:02:29,797 --> 00:02:31,880 Os oeddech yn unig yn ei wneud chwilio, fel y dywedais o'r blaen, 55 00:02:31,880 --> 00:02:34,900 byddai'n rhaid i chi ddilyn eich saethau i lawr. 56 00:02:34,900 --> 00:02:40,720 Mewnosod, a fyddech yn cadw golwg o gyflwr lle mae'r gweddill eich rhestr yn. 57 00:02:40,720 --> 00:02:44,150 A ydych am i ailgyfeirio i'r pen i dynnu sylw at ein elfen newydd, sy'n 58 00:02:44,150 --> 00:02:46,640 yn yr achos hwn yn un, ac yna bydd un yn pwyntio 59 00:02:46,640 --> 00:02:49,480 i weddill y rhestr cysylltiedig. 60 00:02:49,480 --> 00:02:52,996 Felly eto, yr wyf yn gwybod hyn yn ychydig dipyn o ailadrodd gan cwis sero. 61 00:02:52,996 --> 00:02:55,370 Felly, mae'n rhaid i ni fod yn ofalus iawn am y drefn y byddwn yn 62 00:02:55,370 --> 00:03:00,390 gwneud pointings hyn felly nid ydym yn ei wneud colli golwg ar gefn y rhestr. 63 00:03:00,390 --> 00:03:04,122 OK, unrhyw gwestiynau gyda dim ond yn unigol rhestrau cysylltiedig? 64 00:03:04,122 --> 00:03:06,060 Awesome, OK, oer. 65 00:03:06,060 --> 00:03:09,410 >> Felly nawr, rydym yn mynd i fynd ar rywbeth dim ond ychydig yn fwy cymhleth, 66 00:03:09,410 --> 00:03:10,920 rhestrau cysylltiedig ddwbl. 67 00:03:10,920 --> 00:03:13,680 Felly, yn ogystal â chadw golwg ar y nôd nesaf, 68 00:03:13,680 --> 00:03:16,220 rydym hefyd yn awyddus i gadw golwg y nôd blaenorol. 69 00:03:16,220 --> 00:03:19,580 Ac mae hyn yn caniatáu i ni, os ydym ar ryw adeg yn ein rhestr cysylltiedig, 70 00:03:19,580 --> 00:03:23,110 nid yn unig yn mynd ymlaen, ond hefyd yn ailadrodd yn ôl. 71 00:03:23,110 --> 00:03:25,220 Oherwydd fel y gwelsom yn rhestr cysylltiedig yn unigol, 72 00:03:25,220 --> 00:03:27,980 pe baem yn ar ryw nod, ac yn sydyn, fe benderfynon ni, 73 00:03:27,980 --> 00:03:30,160 mewn gwirionedd, yr wyf eisiau mynd i yr hawl nôd ger fy mron, 74 00:03:30,160 --> 00:03:32,034 byddai'n rhaid i chi fynd yr holl y ffordd yn ôl i'r pen 75 00:03:32,034 --> 00:03:35,710 ac yn ailadrodd thrwy nes i chi dod o hyd y nôd roeddech yn chwilio amdano. 76 00:03:35,710 --> 00:03:37,680 >> Felly, mae hyn yn gwneud pethau ychydig yn haws wrth i ni yn 77 00:03:37,680 --> 00:03:39,670 ceisio ailadrodd drwy ein rhestr cysylltiedig. 78 00:03:39,670 --> 00:03:47,870 Ond mae angen i ni gadw golwg ar un mwy pwyntydd, felly un yn fwy seren nôd. 79 00:03:47,870 --> 00:03:50,830 Mae pob hawl, felly dyma daw y rhan hwyl. 80 00:03:50,830 --> 00:03:55,600 Rydym yn mynd i ymarfer gweithredu tynnu ar gyfer rhestrau cysylltiedig ddwbl. 81 00:03:55,600 --> 00:03:58,660 Felly, mae hyn yn rhywbeth sy'n gêm yn hollol deg i'r cwis. 82 00:03:58,660 --> 00:04:00,750 Roedd yn dangos i fyny ar cwisiau gorffennol. 83 00:04:00,750 --> 00:04:04,220 Felly, yn bendant byddwch yn barod i cod ychydig yn C. 84 00:04:04,220 --> 00:04:07,900 Peidiwch ag anghofio bod gyda'r holl hwn PHP hwyl a JavaScript, 85 00:04:07,900 --> 00:04:10,560 rydym yn dal rhaid i ni gofio i wneud C. Felly loywi hynny 86 00:04:10,560 --> 00:04:12,146 os ydych yn teimlo'n rhydlyd. 87 00:04:12,146 --> 00:04:14,580 >> Mae pob hawl, gadewch i ni weld os allwn wneud hyn. 88 00:04:14,580 --> 00:04:16,312 OK, oer. 89 00:04:16,312 --> 00:04:18,600 Felly, rydym yn mynd i roi cynnig i olygu i'r dde i mewn yma, 90 00:04:18,600 --> 00:04:20,707 a gobeithio mae hyn yn mynd yn ôl y bwriad. 91 00:04:20,707 --> 00:04:23,915 Mae pob hawl, a yw unrhyw un yn awyddus i roi i mi awgrym ynghylch sut y dylid yr wyf yn dechrau? 92 00:04:23,915 --> 00:04:27,030 Yr unig dybiaeth rwy'n gwneud yw fy mod eisoes 93 00:04:27,030 --> 00:04:30,180 wedi strwythur diffiniedig, mae'r un Dangosais ar y dudalen olaf, 94 00:04:30,180 --> 00:04:31,420 ar y sleid olaf. 95 00:04:31,420 --> 00:04:39,250 A dwi'n storio ben fy cysylltiedig rhestr mewn rhyw pwyntydd elwir yn rhestr. 96 00:04:39,250 --> 00:04:42,190 A oes unrhyw un yn dymuno mynd i mi ddechrau? 97 00:04:42,190 --> 00:04:45,410 >> GYNULLEIDFA: Allwch chi greu newydd nod i alw drwy'r rhestr? 98 00:04:45,410 --> 00:04:46,410 >> HANNAH: Awesome, felly rydym yn mynd i greu 99 00:04:46,410 --> 00:04:47,951 mae nod newydd i gropian drwy'r rhestr. 100 00:04:47,951 --> 00:04:48,570 Rwy'n hoffi hynny. 101 00:04:48,570 --> 00:04:50,799 'N annhymerus' jyst alw'n pwyntydd os mae hynny'n iawn. 102 00:04:50,799 --> 00:04:52,340 A lle dylai ddechrau yn wreiddiol? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> GYNULLEIDFA: Mae'n debyg yn pennaeth y rhestr. 105 00:04:59,840 --> 00:05:00,590 HANNAH: Beautiful. 106 00:05:00,590 --> 00:05:03,670 Rydym am ddechrau yn y pen, a oedd Dywedais yn mynd i gael eu storio mewn rhestr. 107 00:05:03,670 --> 00:05:04,170 Awesome. 108 00:05:04,170 --> 00:05:05,220 Hyd yn hyn, felly da. 109 00:05:05,220 --> 00:05:08,260 Ac yn awr, ein nod yw ailadrodd drwy'r rhestr 110 00:05:08,260 --> 00:05:12,870 nes i ni ddod o hyd i'r nod gyda Gwerth n yr ydym am ddileu. 111 00:05:12,870 --> 00:05:13,540 OK? 112 00:05:13,540 --> 00:05:15,910 >> Felly nawr yw'r rhan lle rydym am ailadrodd drwy. 113 00:05:15,910 --> 00:05:19,488 A all unrhyw un awgrymu ffordd i ailadrodd drwy'r? 114 00:05:19,488 --> 00:05:20,979 >> GYNULLEIDFA: A ddolen. 115 00:05:20,979 --> 00:05:21,840 >> HANNAH: Mae dolen. 116 00:05:21,840 --> 00:05:22,620 Dwi wrth fy modd. 117 00:05:22,620 --> 00:05:25,550 Yn benodol, gallwn geisio dolen gyfnod. 118 00:05:25,550 --> 00:05:30,919 OK, ac rydym yn gwybod ein bod wedi cyrraedd ddiwedd ein rhestr pan yr hyn? 119 00:05:30,919 --> 00:05:32,210 GYNULLEIDFA: Pan fydd pwyntydd yn null. 120 00:05:32,210 --> 00:05:33,418 HANNAH: Pan fydd pwyntydd yn null. 121 00:05:33,418 --> 00:05:34,320 Beautiful, rwyf wrth fy modd. 122 00:05:34,320 --> 00:05:35,110 OK, oer. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Felly ddrwg gennym os yw fy brês rwymo yn fath o syrthio oddi ar y sgrin. 125 00:05:43,190 --> 00:05:44,090 Rydym yn dod ag ef yn ôl. 126 00:05:44,090 --> 00:05:46,610 OK, oer. 127 00:05:46,610 --> 00:05:48,690 Beth sydd nesaf? 128 00:05:48,690 --> 00:05:51,950 >> Felly, rydym yn gwybod ein bod am ddileu y nôd sydd werth n. 129 00:05:51,950 --> 00:05:56,340 Felly gadewch i ni ddod o hyd i'r achos lle rydym mewn gwirionedd yn dod o hyd ein nod. 130 00:05:56,340 --> 00:05:57,840 Felly, sut y byddwn yn gwirio bod? 131 00:05:57,840 --> 00:06:02,210 Byddwn i'n jyst ddweud os pwyntydd, ac yna os byddaf yn awyddus i gael y gwerth allan o pwyntydd, 132 00:06:02,210 --> 00:06:08,940 Fi jyst ddim yn arrow n, hafal n, mae'r paramedr 133 00:06:08,940 --> 00:06:14,490 ein bod yn rhoi i swyddogaeth hon, mae'r nod yr ydym eisiau dileu mewn gwirionedd. 134 00:06:14,490 --> 00:06:17,090 Unrhyw gwestiynau hyd yma? 135 00:06:17,090 --> 00:06:18,360 Mae pob hawl. 136 00:06:18,360 --> 00:06:24,140 Iawn, felly nawr gadewch i ni dynnu llun cyflym ar y bwrdd er mwyn ddychmygu hyn. 137 00:06:24,140 --> 00:06:30,710 >> Felly, gadewch i ni ddweud mae ein nod hyfryd. 138 00:06:30,710 --> 00:06:34,480 Ac mae ganddo werth, 'n annhymerus' jyst yn dweud bedwar. 139 00:06:34,480 --> 00:06:40,340 Ac mae'n cyfeirio at y nesaf nod yn ein rhestr cysylltiedig. 140 00:06:40,340 --> 00:06:42,220 A does dim byd ger ei fron. 141 00:06:42,220 --> 00:06:45,800 Felly, rydym wedi ein blaenorol pwyntio at ddim byd. 142 00:06:45,800 --> 00:06:48,110 Yn yr achos hwn, rydym yn pwyntio tuag yn ôl. 143 00:06:48,110 --> 00:06:50,960 OK, dim ond sefydlu fy Rhestr gysylltiedig drosodd yma. 144 00:06:50,960 --> 00:06:53,630 Ac mae gennym restr sy'n pwyntio i'r strwythur hwn i ddechrau. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 'N annhymerus' yn tynnu un yn fwy am mwyn cyflawnrwydd. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 OK. 149 00:07:06,117 --> 00:07:07,480 'N annhymerus' yn pwyntio ymlaen â hyn. 150 00:07:07,480 --> 00:07:09,550 A byddaf yn tynnu sylw bod un yn ôl. 151 00:07:09,550 --> 00:07:10,360 Wps, sori. 152 00:07:10,360 --> 00:07:12,710 Yeah, got hyn yn ôl. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Yn ei wneud eto. 155 00:07:16,967 --> 00:07:18,330 OK, dyna ni. 156 00:07:18,330 --> 00:07:19,910 Mae pob hawl, got it. 157 00:07:19,910 --> 00:07:21,780 OK, dyma ein llun. 158 00:07:21,780 --> 00:07:24,860 >> Iawn, felly rydym am ystyried ddau achos. 159 00:07:24,860 --> 00:07:27,330 Yr achos cyntaf yw os bydd y nod yr ydym am ddileu 160 00:07:27,330 --> 00:07:29,420 yw ar ddechrau'r iawn o'n rhestr. 161 00:07:29,420 --> 00:07:34,070 Ac yna, yr ail achos yr ydym am i'w ystyried yw os yw'n unrhyw le arall. 162 00:07:34,070 --> 00:07:37,660 Yr wyf yn deall bod hyn yn hollol gan dynnu anniben gyda fy holl gan ddileu'r, 163 00:07:37,660 --> 00:07:40,400 ond gobeithio byddwn yn ceisio yn gwneud hyn yn glir gyda rhai cod. 164 00:07:40,400 --> 00:07:45,450 >> Iawn, felly gadewch i ni ymdrin â'r achos lle rydym yn dod o hyd ein nod, 165 00:07:45,450 --> 00:07:48,900 a 'i' ar yr union cychwyn ar ein rhestr cysylltiedig. 166 00:07:48,900 --> 00:07:50,810 Gall unrhyw un roi i mi yn awgrym yma o ran yr hyn 167 00:07:50,810 --> 00:07:54,684 Ddylwn i ei wneud mewn gwirionedd dynnu ein nod? 168 00:07:54,684 --> 00:07:55,970 Mae'n ychydig yn anodd. 169 00:07:55,970 --> 00:07:56,470 OK? 170 00:07:56,470 --> 00:07:59,628 >> GYNULLEIDFA: Mae'n rhaid i chi gymryd y nod a fyddai cyn iddo 171 00:07:59,628 --> 00:08:01,794 ac yn ei gwneud yn cyfeirio at y un a fyddai ar ei ôl, 172 00:08:01,794 --> 00:08:03,004 ac yn cymryd y nod hwnnw fyddai ar ei ôl ac yn gwneud 173 00:08:03,004 --> 00:08:04,554 mae'n cyfeirio at y nôd ger ei fron. 174 00:08:04,554 --> 00:08:05,220 HANNAH: Yn union. 175 00:08:05,220 --> 00:08:10,640 Iawn, felly mae hyn yn wir where-- mae gennym ddau achos. 176 00:08:10,640 --> 00:08:14,100 Mae gennym yr achos lle mae'r nod yr ydym yn chwilio am 177 00:08:14,100 --> 00:08:18,270 yn flaen y rhestr. 178 00:08:18,270 --> 00:08:23,110 OK, ac yna yn wir bod chi a ddisgrifiwyd fel arall, dde? 179 00:08:23,110 --> 00:08:24,500 Mae'n rhywle arall yn y rhestr. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Felly dywedasoch, mae angen i ni edrych ar y nod blaenorol, 182 00:08:32,840 --> 00:08:36,500 a gwneud y nôd blaenorol cyfeirio at y nod nesaf. 183 00:08:36,500 --> 00:08:40,510 Felly, gadewch i ni ddweud ein bod ceisio cymryd allan bump 184 00:08:40,510 --> 00:08:43,059 yn fy arlunio anniben iawn dros yma. 185 00:08:43,059 --> 00:08:47,530 Rydym eisiau gwneud yn siŵr bod pedwar awr yn cyfeirio at chwech. 186 00:08:47,530 --> 00:08:49,590 Four pwyntiau nesaf i chwech. 187 00:08:49,590 --> 00:08:52,150 A chwech o bwyntiau blaenorol i bedwar. 188 00:08:52,150 --> 00:08:53,960 Dyna ein nod yma, dde? 189 00:08:53,960 --> 00:08:56,150 Mae hyn yn hyn yr wyf yn meddwl eich newydd ei ddweud dros yno. 190 00:08:56,150 --> 00:08:58,450 >> Iawn, felly gadewch i ni gael y darn cyntaf. 191 00:08:58,450 --> 00:09:02,300 Gadewch i ni wneud y cael y pwyntydd blaenorol blaenorol. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Felly dylai pedwar yn nesaf yn tynnu sylw at yr hyn? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Yn union, yn yr achos hwn, chwech. 196 00:09:14,900 --> 00:09:18,470 Felly, dylem ddweud pwyntydd, nesaf. 197 00:09:18,470 --> 00:09:20,600 OK? 198 00:09:20,600 --> 00:09:21,150 Mae pob hawl. 199 00:09:21,150 --> 00:09:24,870 Felly gadewch i ni gael gwared ar y llun hyll hwn a cheisio i dynnu un ychydig yn brafiach. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Rydym wedi ein rhestr pen yma. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 A bod yn cyfeirio at y nod cyntaf mewn ein rhestr cysylltiedig, a oedd yn dweud ein bod yn bedair. 204 00:09:42,740 --> 00:09:45,620 Dyma ein hail nod, pump. 205 00:09:45,620 --> 00:09:47,307 Ac mae ein trydydd nod, chwech. 206 00:09:47,307 --> 00:09:50,265 Dim ond yn ceisio tynnu union un fath llun, dim ond ychydig yn fwy lân. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 Iawn, felly pedwar yn nesaf pwyntiau yn wreiddiol i bump. 209 00:09:56,280 --> 00:09:58,620 Five pwyntiau nesaf i chwech. 210 00:09:58,620 --> 00:10:00,170 Chwe o bwyntiau blaenorol i bump. 211 00:10:00,170 --> 00:10:02,470 A phump o bwyntiau blaenorol i bedwar. 212 00:10:02,470 --> 00:10:03,360 Cymaint brafiach! 213 00:10:03,360 --> 00:10:04,530 OK, oer. 214 00:10:04,530 --> 00:10:07,770 >> Felly nawr, hyn a wnaethom yn unig yma, y ​​llinell hon o god, 215 00:10:07,770 --> 00:10:12,680 sy'n dweud pwyntydd blaenorol nesaf, felly beth mae hynny'n ei olygu? 216 00:10:12,680 --> 00:10:17,540 Mae hynny'n golygu os ydym yn edrych ar pump, ewch i'r nod blaenorol, 217 00:10:17,540 --> 00:10:21,970 ac mae'n ddylai nesaf nawr pwynt i bump yn nesaf. 218 00:10:21,970 --> 00:10:27,840 Felly y bôn, yr hyn y mae hynny'n ei wneud yw hynny wedi dileu saeth hon 219 00:10:27,840 --> 00:10:29,640 ac yn ei gwneud yn sgipio dde dros bump. 220 00:10:29,640 --> 00:10:31,360 A yw hynny'n glir? 221 00:10:31,360 --> 00:10:33,200 Rwy'n gwybod y gall hynny fod ychydig yn fras. 222 00:10:33,200 --> 00:10:34,480 Rwy'n gweld rhai nods pen. 223 00:10:34,480 --> 00:10:35,390 Mae hynny'n dda. 224 00:10:35,390 --> 00:10:36,670 OK, oer. 225 00:10:36,670 --> 00:10:39,590 Yn awr, beth yw'r cam nesaf? 226 00:10:39,590 --> 00:10:42,060 >> Rwyf wedi ailosod y nesaf. 227 00:10:42,060 --> 00:10:45,297 Yn awr, a oedd yn saeth arall mae angen i mi newid? 228 00:10:45,297 --> 00:10:46,130 Mae hyn yn un iawn yma. 229 00:10:46,130 --> 00:10:47,560 Chwe yn gynt. 230 00:10:47,560 --> 00:10:50,620 Nid ydym am chwech yn flaenorol i dynnu sylw at bump anymore. 231 00:10:50,620 --> 00:10:54,580 Rydym am iddo bwyntio at bedwar. 232 00:10:54,580 --> 00:10:56,190 A yw hynny'n gwneud synnwyr llun? 233 00:10:56,190 --> 00:10:58,370 Felly nawr, gallwn mewn gwirionedd yn cymryd pum allan. 234 00:10:58,370 --> 00:10:59,370 Felly gadewch i ni gael y darn. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Beth y dylwn i ei wneud cyn i mi ailosod chwech o blaenorol i bedwar? 237 00:11:11,180 --> 00:11:14,360 Unrhyw syniadau yno? 238 00:11:14,360 --> 00:11:17,369 >> GYNULLEIDFA: Am ddim y nôd rhwng nhw drwy osod iddo null? 239 00:11:17,369 --> 00:11:17,910 HANNAH: Cool. 240 00:11:17,910 --> 00:11:21,100 Yn bendant, mae ein nod terfynol yw mynd i fod i ryddhau y nôd. 241 00:11:21,100 --> 00:11:22,490 Felly, gallwn wneud hynny yn iawn yma. 242 00:11:22,490 --> 00:11:23,540 Pwyntydd am ddim. 243 00:11:23,540 --> 00:11:24,810 Yn hollol. 244 00:11:24,810 --> 00:11:29,160 Ond hyd yn oed cyn hynny, gadewch i ni just-- ein hawl nod 245 00:11:29,160 --> 00:11:38,730 yma yw gosod pwyntydd nesaf blaenorol cyfartal i bwyntydd blaenorol. 246 00:11:38,730 --> 00:11:40,760 Rwy'n gwybod hyn yn cael ei gynnwys i fyny. 247 00:11:40,760 --> 00:11:45,440 OK, gadewch i ni take-- oer. 248 00:11:45,440 --> 00:11:46,990 Gall pawb weld y llinell waelod? 249 00:11:46,990 --> 00:11:47,840 Neu a yw'n super bach? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Felly, cyn i ni gweithredu llinell hon yma, rydym am 252 00:11:54,300 --> 00:11:58,375 i wneud yn siŵr bod pwyntydd Nid nesaf yw null. 253 00:11:58,375 --> 00:12:00,500 Oherwydd os pwyntydd nesaf yw null, pa fath o wall 254 00:12:00,500 --> 00:12:02,727 Byddaf yn ei gael pan rwy'n ceisio cyfeirio pwyntydd nwl? 255 00:12:02,727 --> 00:12:03,560 GYNULLEIDFA: Seg fai. 256 00:12:03,560 --> 00:12:05,660 HANNAH: A fai SEG, hardd. 257 00:12:05,660 --> 00:12:09,690 Iawn, felly os nad yw hynny'n null, yna gallwn ailosod. 258 00:12:09,690 --> 00:12:14,420 Ac mae gennym chwe phwynt eto i bedwar. 259 00:12:14,420 --> 00:12:17,440 Cwestiynau hyd nes y pwynt hwn? 260 00:12:17,440 --> 00:12:17,940 Ie? 261 00:12:17,940 --> 00:12:19,814 >> GYNULLEIDFA: Yn eich tro cyntaf os datganiad, wnaethoch chi 262 00:12:19,814 --> 00:12:23,817 yn ei olygu i gael y saeth nesaf, neu [Anghlywadwy]? 263 00:12:23,817 --> 00:12:25,150 HANNAH: Yr wyf yn golygu saeth pwyntydd n. 264 00:12:25,150 --> 00:12:30,270 Felly y bôn, yr hyn yr wyf i'n ceisio ei wneud yn dweud, y nôd o bryd fy mod 265 00:12:30,270 --> 00:12:34,100 ailadrodd drosodd, y nod ar hyn o bryd sy'n Rwy'n edrych ar, rwy'n storio mewn pwyntydd. 266 00:12:34,100 --> 00:12:37,630 Ac yr wyf am wybod pwyntydd yn gwerth, sydd yn yr achos hwn yn n. 267 00:12:37,630 --> 00:12:39,500 Ac yr wyf am ei weld, yw y nôd rwy'n edrych 268 00:12:39,500 --> 00:12:42,790 ar gyfer yr nôd Im 'yn anelu at ddileu? 269 00:12:42,790 --> 00:12:47,657 Felly dyna pam gennym yma pwyntydd n. 270 00:12:47,657 --> 00:12:49,857 >> GYNULLEIDFA: Felly y saeth yn mynd i n, byddwch yn gosod gwerth 271 00:12:49,857 --> 00:12:52,058 ac yn ei storio mewn nod a elwir n? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> HANNAH: Felly mae fel os wyf yn mynd drwy'r rhestr cysylltiedig 274 00:12:58,820 --> 00:13:00,310 ac yn pwyntio at bump. 275 00:13:00,310 --> 00:13:03,600 Os wyf am gael y gwerth hwnnw, os Rwyf am gael y nifer hwnnw, 5, 276 00:13:03,600 --> 00:13:06,400 Rhaid i mi wneud pwyntydd saeth n. 277 00:13:06,400 --> 00:13:06,900 Cool? 278 00:13:06,900 --> 00:13:07,900 Yeah. 279 00:13:07,900 --> 00:13:11,200 >> GYNULLEIDFA: A yw n enw'r newidyn? 280 00:13:11,200 --> 00:13:11,700 HANNAH: Ydw. 281 00:13:11,700 --> 00:13:14,870 Felly, os ydym yn troi yn ôl un llithren, n yw'r enw 282 00:13:14,870 --> 00:13:18,660 o werth y tu mewn i'r nod yn ein rhestr cysylltiedig. 283 00:13:18,660 --> 00:13:21,510 Ac yr wyf yn gwybod y gall gael ychydig ychydig yn ddryslyd oherwydd ein bod hefyd yn 284 00:13:21,510 --> 00:13:24,680 yn galw y peth ein bod am ddileu'r n. 285 00:13:24,680 --> 00:13:26,717 Felly dyna lle hwnnw Daw un llinell o. 286 00:13:26,717 --> 00:13:27,671 Yeah? 287 00:13:27,671 --> 00:13:31,010 >> GYNULLEIDFA: Beth sydd gennych chi [Anghlywadwy] sut maent yn gweithio? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 Mae pwyntydd [Anghlywadwy]? 290 00:13:35,780 --> 00:13:37,520 >> HANNAH: Cadarn. 291 00:13:37,520 --> 00:13:40,027 A ydych yn siarad about-- pa llinell? 292 00:13:40,027 --> 00:13:41,526 GYNULLEIDFA: Y llinell olaf [Anghlywadwy]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> HANNAH: Cadarn, OK. 295 00:13:45,250 --> 00:13:48,540 Felly, gadewch i ni edrych ar y darlun yn Er mwyn ceisio egluro hyn. 296 00:13:48,540 --> 00:13:51,030 Mae'n ddrwg gen i, ar gyfer y camera, y cwestiwn oedd 297 00:13:51,030 --> 00:13:54,580 gallwn esbonio pwyntydd arrow pwyntydd nesaf blaenorol. 298 00:13:54,580 --> 00:14:01,510 Iawn, felly gadewch i ni ddweud ein bod am bump ac mae ein nod yw dileu bump. 299 00:14:01,510 --> 00:14:07,240 Felly pwyntydd nesaf, pa un o'r rhain tri nodau y mae hynny'n ei roi i ni? 300 00:14:07,240 --> 00:14:10,840 Mae hynny'n dod â ni at y chweched nod, dde? 301 00:14:10,840 --> 00:14:16,490 >> Iawn, felly nawr rydym yn gofyn ar gyfer blaenorol y chwe yn. 302 00:14:16,490 --> 00:14:17,060 OK? 303 00:14:17,060 --> 00:14:20,210 Ac rydym yn ailosod hon i fod yn hafal i bedwar, 304 00:14:20,210 --> 00:14:23,214 a oedd yn digwydd bod pump yn flaenorol. 305 00:14:23,214 --> 00:14:25,180 Rwy'n gwybod, mae'n super galed i gadw golwg ar. 306 00:14:25,180 --> 00:14:29,286 Fi 'n sylweddol yn argymell eich bod yn tynnu lluniau os ydych yn cael cwestiwn fel hyn. 307 00:14:29,286 --> 00:14:30,242 Ie? 308 00:14:30,242 --> 00:14:32,617 >> GYNULLEIDFA: A yw'r rheswm y Nid oes gennym [Anghlywadwy]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> HANNAH: Yn union. 311 00:14:38,570 --> 00:14:44,800 Felly, y cwestiwn oedd, pam mae rydym oes angen i wirio yma? 312 00:14:44,800 --> 00:14:48,160 Pam nad oes angen i ni wirio bod Nid pwyntydd blaenorol yn hafal i null? 313 00:14:48,160 --> 00:14:50,070 Ac mae'n oherwydd ein bod i wedi eisoes gwahanu allan 314 00:14:50,070 --> 00:14:52,490 yr achos os bydd y pwyntydd yn ar y cychwyn cyntaf. 315 00:14:52,490 --> 00:14:54,060 Cwestiwn da iawn. 316 00:14:54,060 --> 00:14:56,880 Unrhyw beth arall ar hyn? 317 00:14:56,880 --> 00:14:57,380 OK, oer. 318 00:14:57,380 --> 00:14:58,360 Felly, gadewch i ni orffen i fyny. 319 00:14:58,360 --> 00:14:59,890 Rydym yn bron yno. 320 00:14:59,890 --> 00:15:01,310 >> Felly beth os yw ar ben? 321 00:15:01,310 --> 00:15:03,360 Beth os hytrach na ceisio dileu bump, 322 00:15:03,360 --> 00:15:06,240 rydym mewn gwirionedd yn awyddus i ddileu pedwar? 323 00:15:06,240 --> 00:15:07,270 Beth fyddai rhaid i mi ei wneud? 324 00:15:07,270 --> 00:15:09,610 Wel, yr wyf am i ailosod fy mhen i beth? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Gweiddi allan? 327 00:15:15,585 --> 00:15:16,710 GYNULLEIDFA: Yr un ar ei ôl. 328 00:15:16,710 --> 00:15:17,460 HANNAH: Beautiful. 329 00:15:17,460 --> 00:15:26,430 Iawn, felly rydym eisiau rhestru i fod yn pwyntio i beth bynnag y mae ein pwyntydd nod nesaf yw. 330 00:15:26,430 --> 00:15:29,040 Da. 331 00:15:29,040 --> 00:15:30,810 A dim ond er cyflawnrwydd yn fwyn, byddem 332 00:15:30,810 --> 00:15:35,590 am wirio hynny ar yr amod ein rhestr Nid yw null, ar yr amod nad yw ein rhestr yn 333 00:15:35,590 --> 00:15:42,730 yn wag, yna rydym yn awyddus i osod ein gyfartal blaenorol i null. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Cwestiwn hyd yn hyn? 336 00:15:50,230 --> 00:15:53,205 Un cam i ffwrdd from--? 337 00:15:53,205 --> 00:15:55,530 >> GYNULLEIDFA: A fyddai'n pe Nid rhestr yn hafal i null? 338 00:15:55,530 --> 00:15:56,950 >> HANNAH: Ie, rydych yn hollol gywir. 339 00:15:56,950 --> 00:15:58,130 Rydw i mor flin. 340 00:15:58,130 --> 00:16:00,040 Nid yw rhestr yn hafal i null. 341 00:16:00,040 --> 00:16:01,915 Awesome. 342 00:16:01,915 --> 00:16:04,245 Mae ceisio dod â hyn i gyd ar y sgrin. 343 00:16:04,245 --> 00:16:06,870 Mae wedi fath o syrthio oddi. 344 00:16:06,870 --> 00:16:07,730 Mae'n ddrwg gennym, guys. 345 00:16:07,730 --> 00:16:11,874 Ac yn olaf, ond nid y lleiaf, i gyd mae'n rhaid i ni ei wneud yw dychwelyd. 346 00:16:11,874 --> 00:16:12,840 OK. 347 00:16:12,840 --> 00:16:15,400 Dyna oedd llawer llawn dop yn gyflym iawn. 348 00:16:15,400 --> 00:16:16,800 Cymerwch eiliad i edrych dros hwn. 349 00:16:16,800 --> 00:16:18,216 Dywedwch wrthyf os oes gennych unrhyw gwestiynau. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Yeah? 352 00:16:20,732 --> 00:16:26,940 >> GYNULLEIDFA: Os rhestr wrth pen, then-- aros, Nevermind. 353 00:16:26,940 --> 00:16:27,700 >> HANNAH: OK, yn dda. 354 00:16:27,700 --> 00:16:30,987 Felly, mae hyn yw os y rhestr wrth ben, rydym yn tynnu i beth bynnag yr ydym yn mewnosod. 355 00:16:30,987 --> 00:16:31,486 Yeah? 356 00:16:31,486 --> 00:16:33,777 >> GYNULLEIDFA: Allwch chi egluro y cyntaf os bydd datganiad eto? 357 00:16:33,777 --> 00:16:36,149 Os bydd y pwyntydd i n yn hafal i n? 358 00:16:36,149 --> 00:16:36,690 HANNAH: Cadarn. 359 00:16:36,690 --> 00:16:42,780 Felly ein nod o swyddogaeth cyfan yn i ddileu'r nod sydd werth n. 360 00:16:42,780 --> 00:16:47,460 Felly, os ydym yn dod o hyd, fel yr ydym ni'n ailadrodd drwy ein rhestr, 361 00:16:47,460 --> 00:16:51,770 y nôd gyda gwerth n, dyna yr un yr ydym am ddileu. 362 00:16:51,770 --> 00:16:57,286 Felly pob un o'r dileu yn digwydd tu mewn hwnnw fawr pe datganiad. 363 00:16:57,286 --> 00:16:58,593 A yw hynny'n gwneud synnwyr? 364 00:16:58,593 --> 00:16:59,480 Cool. 365 00:16:59,480 --> 00:16:59,990 Yeah? 366 00:16:59,990 --> 00:17:02,864 >> GYNULLEIDFA: Efallai nad ydych yn gallu jyst yn gweld iddo, ond peidiwch â chi hefyd angen llinell 367 00:17:02,864 --> 00:17:06,024 i sgrolio drwy'r rhestr? 368 00:17:06,024 --> 00:17:06,690 HANNAH: Awesome. 369 00:17:06,690 --> 00:17:10,896 Gadewch i ni godi hyn ychydig bach, ac byddwn yn taflu hawl honno yn y gwaelod. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Efallai byddai'r bwrdd i wedi bod yn syniad ychydig yn well. 372 00:17:15,490 --> 00:17:17,829 Felly, sut y byddwn yn symud pwyntydd ymlaen? 373 00:17:17,829 --> 00:17:20,184 >> GYNULLEIDFA: Pointer yn cyfateb pwyntydd yn ogystal ag un. 374 00:17:20,184 --> 00:17:21,599 >> HANNAH: Beautiful. 375 00:17:21,599 --> 00:17:25,050 Felly dyna ein galluogi i parhau ailadrodd drwy. 376 00:17:25,050 --> 00:17:26,251 OK. 377 00:17:26,251 --> 00:17:27,750 GYNULLEIDFA: Oni fyddai yna arall? 378 00:17:27,750 --> 00:17:29,028 HANNAH: Un mwy o amser? 379 00:17:29,028 --> 00:17:32,444 GYNULLEIDFA: Ni fyddai mae arall ar ôl yr hen fawr os 380 00:17:32,444 --> 00:17:35,519 Datganiad [Anghlywadwy]? 381 00:17:35,519 --> 00:17:36,310 HANNAH: Pa ran? 382 00:17:36,310 --> 00:17:38,350 Mae'n ddrwg gen i. 383 00:17:38,350 --> 00:17:41,800 >> GYNULLEIDFA: Y groesi, Ni ddylid cael arall? 384 00:17:41,800 --> 00:17:43,550 HANNAH: Yr ydych yn hollol Gallai gael arall. 385 00:17:43,550 --> 00:17:46,930 Oherwydd bod gen i hawl dychwelyd yno, nid oes angen arall rydych. 386 00:17:46,930 --> 00:17:48,760 Ond ie, cwestiwn da. 387 00:17:48,760 --> 00:17:50,170 OK, ie? 388 00:17:50,170 --> 00:17:52,878 GYNULLEIDFA: A allwn ni feddwl am pwyntydd sy'n cael ei symud drwy'r rhestr 389 00:17:52,878 --> 00:17:56,610 â chymryd ar werth pob nod yn y rhestr? 390 00:17:56,610 --> 00:18:00,650 Neu a ddylem feddwl am y peth fel math o allanol at y rhestr? 391 00:18:00,650 --> 00:18:02,350 >> HANNAH: Naill ai un yn iawn, yr wyf yn meddwl. 392 00:18:02,350 --> 00:18:05,880 Y ffordd yr wyf yn dychmygu ei bod yn Mi ddweud, OK, yr wyf pwyntydd. 393 00:18:05,880 --> 00:18:06,520 Ac mae hyn yn fi. 394 00:18:06,520 --> 00:18:07,150 Mae hyn yn fy llaw. 395 00:18:07,150 --> 00:18:09,960 Rydw i'n mynd i dynnu sylw at y gwahanol pethau yr wyf am ei ailadrodd drwy. 396 00:18:09,960 --> 00:18:12,270 Yn gyntaf, yr wyf i'n mynd i bwynt i ben y rhestr. 397 00:18:12,270 --> 00:18:14,144 A bod yn dweud wrthyf fy mod mynd i bwyntio at bedwar. 398 00:18:14,144 --> 00:18:18,060 Ac felly mi, sef allanol i'r rhestr, Gallaf gyfeirio at bob un o'r elfennau hyn. 399 00:18:18,060 --> 00:18:19,520 Felly, yr wyf yn meddwl am fy hun fel pwyntydd. 400 00:18:19,520 --> 00:18:21,645 GYNULLEIDFA: Felly pan fyddwch yn dileu un o'r elfennau hynny, 401 00:18:21,645 --> 00:18:23,404 chi ddileu eich hun, fel petai. 402 00:18:23,404 --> 00:18:24,070 HANNAH: Yn union. 403 00:18:24,070 --> 00:18:25,920 Felly, byddwch yn dileu y peth rydych yn pwyntio at. 404 00:18:25,920 --> 00:18:28,340 Felly, yn yr enghraifft sy'n gwelsom lle rydym ni'n 405 00:18:28,340 --> 00:18:31,670 ceisio dileu bump, pan dwi'n pwyntio at bump, 406 00:18:31,670 --> 00:18:34,200 Rwyf eisiau dileu'r beth Im 'yn pwyntio at. 407 00:18:34,200 --> 00:18:35,870 Yn union i'r dde. 408 00:18:35,870 --> 00:18:36,577 Ie? 409 00:18:36,577 --> 00:18:39,410 GYNULLEIDFA: A ydym wedi cymryd gofal o'r achos lle nad yw n yn y rhestr? 410 00:18:39,410 --> 00:18:40,460 HANNAH: Os nad yw n yn y rhestr? 411 00:18:40,460 --> 00:18:43,501 Y cyfan sydd yn mynd i ddigwydd yw eich bod yn mynd i ailadrodd trwy ac ailadrodd 412 00:18:43,501 --> 00:18:47,616 drwy, ac yna, rydych yn mynd i fynd i'r pwyntydd nwl cael, 413 00:18:47,616 --> 00:18:48,990 ac yna rydych chi'n mynd i gael ei wneud. 414 00:18:48,990 --> 00:18:50,812 >> GYNULLEIDFA: Felly mae gennym i ddychwelyd unrhyw beth? 415 00:18:50,812 --> 00:18:51,520 HANNAH: Gallai ni. 416 00:18:51,520 --> 00:18:54,500 Mae'r ffordd, os y'i diffinnir hyn swyddogaeth, Fi jyst yn dweud ei fod yn dychwelyd 417 00:18:54,500 --> 00:18:55,770 ddi-rym beth bynnag. 418 00:18:55,770 --> 00:18:58,360 Ond gallai fod gennych rywbeth fel ddychwelyd yn gyfanrif, 419 00:18:58,360 --> 00:19:00,920 ac wedi iddo ddychwelyd negyddol 1 os bydd yn methu. 420 00:19:00,920 --> 00:19:03,070 Rhywbeth fel 'na. 421 00:19:03,070 --> 00:19:04,494 Cwestiynau with-- ie? 422 00:19:04,494 --> 00:19:05,410 GYNULLEIDFA: [Anghlywadwy]? 423 00:19:05,410 --> 00:19:05,993 HANNAH: Mae'n ddrwg gennyf? 424 00:19:05,993 --> 00:19:07,419 GYNULLEIDFA: [Anghlywadwy]? 425 00:19:07,419 --> 00:19:07,960 HANNAH: Cadarn. 426 00:19:07,960 --> 00:19:11,730 Felly dyna'r actual-- unwaith y byddwn i wedi gwneud yr holl waith hwn o symud 427 00:19:11,730 --> 00:19:16,530 yr holl saethau hyn o gwmpas, mae ein gyfan nod oedd cael gwared ar y nôd 428 00:19:16,530 --> 00:19:18,230 ein bod yn chwilio am. 429 00:19:18,230 --> 00:19:21,610 Felly, yn yr achos hwn, gan ryddhau pwyntydd, os ydw i'n pwyntio at bump, 430 00:19:21,610 --> 00:19:24,670 mae fel dileu y nod canol. 431 00:19:24,670 --> 00:19:27,250 Dyna yw'r rhad ac am ddim ran pwyntydd. 432 00:19:27,250 --> 00:19:29,090 Mae hynny'n gwneud synnwyr? 433 00:19:29,090 --> 00:19:31,390 >> GYNULLEIDFA: Felly yn meddwl hyd yn oed wnaethoch chi beidio [Anghlywadwy]? 434 00:19:31,390 --> 00:19:36,060 >> HANNAH: Felly, rydym yn cymryd yn ganiataol ar y dechrau roedd gennym rai rhestr a oedd already-- 435 00:19:36,060 --> 00:19:37,220 eu bod wedi rhoi hyn at ei gilydd. 436 00:19:37,220 --> 00:19:39,761 Felly, er mwyn adeiladu'r hyn rhestr, maent yn must've [Anghlywadwy]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Cool. 439 00:19:42,750 --> 00:19:44,490 Unrhyw beth arall gyda hyn? 440 00:19:44,490 --> 00:19:46,386 Ie? 441 00:19:46,386 --> 00:19:49,204 >> GYNULLEIDFA: Beth os yw'r rhestr nid yw'n gyfartal y llinell null? 442 00:19:49,204 --> 00:19:49,704 [Anghlywadwy]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 HANNAH: Hawl yma? 445 00:19:53,080 --> 00:19:53,840 GYNULLEIDFA: Yeah. 446 00:19:53,840 --> 00:19:57,370 HANNAH: OK, pob rydw i'n ei wneud yn Im 'jyst yn gwneud yn siŵr 447 00:19:57,370 --> 00:20:03,250 bod cyn i mi geisio rhestr dereference, cyn i mi ceisio cael mynediad i'r blaenorol, 448 00:20:03,250 --> 00:20:07,210 Rwyf am wneud yn siŵr nad yw'n null felly nid wyf yn cael nam SEG. 449 00:20:07,210 --> 00:20:08,400 Cool. 450 00:20:08,400 --> 00:20:10,820 >> OK, yr wyf yn gwybod hyn yn eithaf llawer i fynd drwodd. 451 00:20:10,820 --> 00:20:14,950 Felly, bydd sleid hwn ar gael i chi. 452 00:20:14,950 --> 00:20:17,341 Felly, gallwch fynd drwyddo yn fwy manwl. 453 00:20:17,341 --> 00:20:17,841 Ie? 454 00:20:17,841 --> 00:20:19,749 >> GYNULLEIDFA: Pam fod y rhestr [Anghlywadwy]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 HANNAH: Cadarn. 457 00:20:24,670 --> 00:20:27,390 Felly rhestr gwirionedd yn cyfeirio at elfen hon i'r dde yma, 458 00:20:27,390 --> 00:20:29,200 yr elfen gyntaf yn y rhestr. 459 00:20:29,200 --> 00:20:30,748 Felly ni ellir ei gael blaenorol. 460 00:20:30,748 --> 00:20:31,736 Ie? 461 00:20:31,736 --> 00:20:35,194 >> GYNULLEIDFA: A yw'r pwynt pwyntydd i'r un cyfeiriad mewn cof? 462 00:20:35,194 --> 00:20:38,404 A yw'n cyfeirio at yr un fath gyfeiriad yn y cof fel y nôd 463 00:20:38,404 --> 00:20:40,640 ei fod yn cyfeirio at? 464 00:20:40,640 --> 00:20:43,865 >> HANNAH: Ydy, mae pwyntiau i'r nod hwn mewn cof. 465 00:20:43,865 --> 00:20:47,190 >> GYNULLEIDFA: Iawn, felly pan fyddwch yn [Anghlywadwy]? 466 00:20:47,190 --> 00:20:50,580 >> HANNAH: Mewn ffordd, ie. 467 00:20:50,580 --> 00:20:51,280 OK. 468 00:20:51,280 --> 00:20:52,997 Mae pob hawl, gadewch i ni symud ynghyd â hyn. 469 00:20:52,997 --> 00:20:55,330 Ac os oes gennych fwy o gwestiynau, ffon o gwmpas ar y diwedd, 470 00:20:55,330 --> 00:20:57,130 a gallwn fynd drwyddo eto. 471 00:20:57,130 --> 00:20:58,120 OK, oer. 472 00:20:58,120 --> 00:21:00,490 Yn awr, rydym yn cael i symud ymlaen i hash tablau, geisiau, 473 00:21:00,490 --> 00:21:04,940 a choed, yr ydych got super gyfarwydd â hwy yn sillafu pump, a osodwyd-t. 474 00:21:04,940 --> 00:21:11,020 >> Felly tabl hash yn unig yw amrywiaeth gyda rhestrau cysylltiedig yn unigol 475 00:21:11,020 --> 00:21:14,050 neu restrau dod oddi ar ohono yn gysylltiedig ddwywaith. 476 00:21:14,050 --> 00:21:16,380 Felly, mae gennym ryw fath o amrywiaeth cysylltiadol. 477 00:21:16,380 --> 00:21:21,280 A sut rydym yn gwybod pa un o'r rhain araeau bwcedi i fynd i mewn, 478 00:21:21,280 --> 00:21:24,137 rydym yn defnyddio swyddogaeth hash. 479 00:21:24,137 --> 00:21:26,470 Felly, yn yr achos hwn, gall unrhyw un dyfalu beth y swyddogaeth hash 480 00:21:26,470 --> 00:21:28,636 Byddai yn unig yn seiliedig ar rai y mewnbwn a'r allbwn? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> GYNULLEIDFA: Rhif Llythyr o'r wyddor. 483 00:21:33,194 --> 00:21:33,860 HANNAH: Yn union. 484 00:21:33,860 --> 00:21:36,160 'I jyst yn eu rhoi yn nhrefn yr wyddor. 485 00:21:36,160 --> 00:21:39,280 Mae popeth sy'n dechrau gyda A yn cael ei roi yn y bwced cyntaf. 486 00:21:39,280 --> 00:21:43,340 Mae popeth gyda B yn cael ei roi yn y ail bwced, yn y blaen, ac yn y blaen. 487 00:21:43,340 --> 00:21:45,620 Awesome, OK. 488 00:21:45,620 --> 00:21:48,980 A swyddogaeth hash yw unrhyw swyddogaeth sy'n cymryd mewn gair 489 00:21:48,980 --> 00:21:51,910 a bydd yn dweud wrthych beth bwced mae'n perthyn yn. 490 00:21:51,910 --> 00:21:55,150 Felly, mae cofnod yn ein amrywiaeth mae'n perthyn i mewn. 491 00:21:55,150 --> 00:21:58,080 >> Felly, bob tro rwy'n rhoi fy hash swyddogaeth gair, 492 00:21:58,080 --> 00:22:00,660 dylai ddweud wrthyf yr un fath rhoi bob tro. 493 00:22:00,660 --> 00:22:03,270 Felly, os byddwn yn defnyddio'r swyddogaeth hash oddi wrth y sleid blaenorol 494 00:22:03,270 --> 00:22:05,950 lle rydym yn trefnu gan y llythyren gyntaf y wyddor, 495 00:22:05,950 --> 00:22:08,230 bob tro rwy'n rhoi fy swyddogaeth hash "afal," 496 00:22:08,230 --> 00:22:10,180 dylai bob amser yn rhoi i mi yn ôl 0. 497 00:22:10,180 --> 00:22:12,890 Felly, os oes gennyf afal i roi yn fy tabl hash, 498 00:22:12,890 --> 00:22:17,700 os byddaf yn rhoi "afal" i fy swyddogaeth hash, dylai ddweud, ewch roi mewn bwced 0. 499 00:22:17,700 --> 00:22:19,980 Os ydw i'n chwilio am afal yn fy tabl hash 500 00:22:19,980 --> 00:22:24,340 ac yr wyf yn dweud, lle gallai afal byw, byddwch yn gofyn i'ch swyddogaeth hash. 501 00:22:24,340 --> 00:22:26,900 Ac mae'n dweud, ewch i bwced 0. 502 00:22:26,900 --> 00:22:29,150 Mae pob hawl? 503 00:22:29,150 --> 00:22:32,660 Cwestiynau â swyddogaethau hash? 504 00:22:32,660 --> 00:22:34,570 Awesome. 505 00:22:34,570 --> 00:22:37,320 >> Dyma ychydig yn fwy esboniad manwl 506 00:22:37,320 --> 00:22:39,570 o'r hyn y gallai swyddogaeth hash edrych. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 Mae pob hawl. 509 00:22:42,960 --> 00:22:45,960 Yn awr, y broblem gyda hash swyddogaethau mewn byd delfrydol, 510 00:22:45,960 --> 00:22:48,870 byddem ond yn cael un beth ym mhob bwced. 511 00:22:48,870 --> 00:22:50,900 Ond mewn gwirionedd, mae nid yn unig yn un gair 512 00:22:50,900 --> 00:22:54,280 sy'n dechrau gyda A. Does dim dim ond un gair sy'n dechrau gyda B. Felly 513 00:22:54,280 --> 00:22:56,960 yn yr achos hwn, os ydym yn sydyn gael "aeron," 514 00:22:56,960 --> 00:22:58,710 ac rydym am ei roi i mewn i'n tabl hash, 515 00:22:58,710 --> 00:23:03,640 ac rydym yn gweld, oh, na, banana yn yno eisoes, yr hyn yr ydym yn gonna ei wneud? 516 00:23:03,640 --> 00:23:05,900 >> Wel, mae gennym ddau ddewis. 517 00:23:05,900 --> 00:23:07,990 Y dewis cyntaf yw linol treiddgar, a oedd yn 518 00:23:07,990 --> 00:23:11,100 jyst yn golygu mynd o hyd y bwced wag nesaf. 519 00:23:11,100 --> 00:23:14,100 Ewch ddod o hyd i'r cofnod amrywiaeth gwag nesaf. 520 00:23:14,100 --> 00:23:15,750 A dim ond rhoi "aeron" yno. 521 00:23:15,750 --> 00:23:18,880 Felly, yr wyf yn gwybod ei fod yn fod i fynd gyda banana mewn bwced un. 522 00:23:18,880 --> 00:23:22,155 Ond dim ond roi yn bwced tri, gan fod bwced tri yn wag. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Opsiwn arall yw yn ôl pob tebyg yr hyn yr ydych yn gweithredu 525 00:23:26,680 --> 00:23:29,220 yn eich p-set, lle rydych yn Roedd gan gadwyno ar wahân. 526 00:23:29,220 --> 00:23:33,990 Felly pob un o'ch bwcedi, pob un o'ch elfennau array, 527 00:23:33,990 --> 00:23:38,410 nid yn unig yn dal un geiriau, ond mewn gwirionedd dal pwyntydd i restr o eiriau. 528 00:23:38,410 --> 00:23:41,880 Felly, os oedd gennych fanana yn eich tabl hash 529 00:23:41,880 --> 00:23:44,740 ac rydych eisiau sydyn i ychwanegu aeron, dim problem. 530 00:23:44,740 --> 00:23:51,110 Dim ond ychwanegu aeron ar hyd y diwedd, neu i y dechrau, eich rhestr cysylltiedig. 531 00:23:51,110 --> 00:23:54,040 OK, awesome. 532 00:23:54,040 --> 00:23:58,490 Cwestiynau â hash tablau cyn i ni fynd ymlaen? 533 00:23:58,490 --> 00:23:59,850 >> Mae pob hawl. 534 00:23:59,850 --> 00:24:01,070 Coed a geisiau. 535 00:24:01,070 --> 00:24:07,980 Iawn, felly roedd hyn yn opsiwn arall ar gyfer gweithredu geiriadur. 536 00:24:07,980 --> 00:24:09,100 Gallech fod wedi gwneud cais. 537 00:24:09,100 --> 00:24:13,420 Felly mae'n fath arbennig o goeden sy'n ymddwyn fel tabl hash aml-lefel. 538 00:24:13,420 --> 00:24:16,862 Felly, byddwch yn gweld y llun lle mae gennych amrywiaeth sy'n 539 00:24:16,862 --> 00:24:19,320 yn cyfeirio at griw o araeau y pwynt hwnnw i griw o araeau 540 00:24:19,320 --> 00:24:20,390 y pwynt hwnnw i griw o araeau. 541 00:24:20,390 --> 00:24:23,140 A byddwn yn gweld yn union beth hwnnw Byddai edrych ar sleid yn y dyfodol. 542 00:24:23,140 --> 00:24:26,070 Ac yn fwy cyffredinol, coeden yn unig yw unrhyw strwythur data 543 00:24:26,070 --> 00:24:29,710 y mae'r data'n trefnu mewn rhyw hierarchaeth. 544 00:24:29,710 --> 00:24:32,610 Felly, lle y gwelsom mae gennym rhyw fath o ddealltwriaeth 545 00:24:32,610 --> 00:24:36,130 o lefel uchaf, lefel nesaf, lefel nesaf, lefel nesaf. 546 00:24:36,130 --> 00:24:39,690 Felly mae hyn yn ôl pob tebyg y rhan fwyaf o glir gyda rhai enghreifftiau penodol. 547 00:24:39,690 --> 00:24:40,880 Felly dyma ein coeden. 548 00:24:40,880 --> 00:24:42,970 Gallwch weld ei fod yn Mae lefelau penodol 549 00:24:42,970 --> 00:24:45,480 ein bod yn dechrau gyda'r nod gwraidd, un. 550 00:24:45,480 --> 00:24:47,640 A gallwn fynd i lawr drwy ein coeden. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> Mae coeden ddeuaidd yn math arbennig o goeden. 553 00:24:53,910 --> 00:24:56,770 A'r unig fanyleb am goeden ddeuaidd 554 00:24:56,770 --> 00:25:01,130 yw bod pob nod yn cael ar y mwyaf ddwy dail. 555 00:25:01,130 --> 00:25:03,960 Felly, nid ydych yn mynd i weld unrhyw o'r nodau hyn yn cael tri neu bedwar 556 00:25:03,960 --> 00:25:06,880 neu ryw nifer arall o ddail. 557 00:25:06,880 --> 00:25:11,310 Ac yna hyd yn oed mwy penodol yn goeden ddeuaidd chwilio 558 00:25:11,310 --> 00:25:18,010 lle mae pob nod ar ochr chwith y nod yn mynd i gael gwerth llai. 559 00:25:18,010 --> 00:25:21,180 A phob gwerth i'r i'r dde yn mynd i fod yn fwy. 560 00:25:21,180 --> 00:25:26,900 Felly, os ydych yn gweld 44 wrth ein gwreiddiau, ar y chwith, 11, 22, a 33 561 00:25:26,900 --> 00:25:28,940 i gyd yn llai na ein gwreiddiau. 562 00:25:28,940 --> 00:25:33,890 Ac ar y dde i gyd rhifau bigger-- 66, 55, a 77. 563 00:25:33,890 --> 00:25:37,380 Ac mae hyn yn wir eiddo ar bob lefel y goeden. 564 00:25:37,380 --> 00:25:42,690 >> Felly, pan fyddwn yn mynd i lawr i 22, 11, a 33, yn dal 11 565 00:25:42,690 --> 00:25:46,950 yn llai na 22 a 33 yn fwy na 22. 566 00:25:46,950 --> 00:25:50,160 Ac mae hyn yn ei gwneud yn haws i chwilio oherwydd os ydym yn chwilio am rif, 567 00:25:50,160 --> 00:25:53,877 rydym yn gwybod yn union pa gangen i ddilyn i lawr. 568 00:25:53,877 --> 00:25:56,210 Felly, dylai hyn rydych yn atgoffa ychydig bach o chwilio deuaidd. 569 00:25:56,210 --> 00:25:56,967 Yeah? 570 00:25:56,967 --> 00:25:58,835 >> GYNULLEIDFA: Felly pan fyddwch yn disgrifio deuaidd, 571 00:25:58,835 --> 00:26:00,587 dywedasoch mae wedi yn y rhan fwyaf dwy ddeilen? 572 00:26:00,587 --> 00:26:01,170 HANNAH: Mm-EM. 573 00:26:01,170 --> 00:26:02,580 GYNULLEIDFA: A allai cael llai? 574 00:26:02,580 --> 00:26:03,121 HANNAH: Yeah. 575 00:26:03,121 --> 00:26:06,720 Felly, gadewch i ni ddweud, er enghraifft, eich bod Nid oedd gan hyd yn oed nifer o bethau 576 00:26:06,720 --> 00:26:11,791 ac ni allai chi lenwi eich holl dail, mae'n iawn os oes un ganddo un. 577 00:26:11,791 --> 00:26:12,290 OK? 578 00:26:12,290 --> 00:26:12,789 Awesome. 579 00:26:12,789 --> 00:26:15,930 Unrhyw gwestiynau eraill ar goed? 580 00:26:15,930 --> 00:26:16,670 OK. 581 00:26:16,670 --> 00:26:20,110 >> Yn ôl at ein geisiau gan fy mod yn siarad am ychydig yn gynharach, 582 00:26:20,110 --> 00:26:23,900 sut yr ydym yn gael y rhain araeau aml-lefel. 583 00:26:23,900 --> 00:26:26,280 Felly, yn yr achos hwn, rydym yn dechrau ar y brig. 584 00:26:26,280 --> 00:26:29,030 A gallwn ddilyn unrhyw air a roddir i lawr. 585 00:26:29,030 --> 00:26:30,780 Felly, gadewch i ni ddweud ein bod eisiau i chwilio am Turing. 586 00:26:30,780 --> 00:26:34,380 Rydym yn dechrau am T, dilynwch i lawr i amrywiaeth sy'n cynnwys U, 587 00:26:34,380 --> 00:26:37,350 a'i ddilyn i lawr nes i ni cyrraedd delta bach hwn sy'n 588 00:26:37,350 --> 00:26:39,060 yn dweud wrthym, ie, byddwch yn dod o hyd i air. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Glir ar geisiau? 591 00:26:44,120 --> 00:26:48,138 Unrhyw beth i fynd dros yno? 592 00:26:48,138 --> 00:26:48,908 Ie? 593 00:26:48,908 --> 00:26:51,866 GYNULLEIDFA: A yw'r symbol o delta rhaid i feddiannu'r lle o fewn y cais? 594 00:26:51,866 --> 00:26:54,532 HANNAH: Yeah, felly nid yw'n gwneud o reidrwydd yn hyd yn oed angen i fod yn delta. 595 00:26:54,532 --> 00:26:57,760 Ond mae angen peth ffordd i ddweud wrth ein computer-- ddrwg gennym, 596 00:26:57,760 --> 00:27:01,130 fel ein bod yn gwybod nad yw TUR yn air. 597 00:27:01,130 --> 00:27:04,180 Oherwydd gadewch i ni ddweud nad oedd gennym cysyniad hwn o delta, cysyniad hwn 598 00:27:04,180 --> 00:27:09,850 o longyfarchiadau, byddwch yn dod o hyd i air, byddai'n mynd drwy'r ac yn ailadrodd T-U-R, 599 00:27:09,850 --> 00:27:11,300 ac yna dweud, anhygoel, yr wyf yn ei chael hi'n! 600 00:27:11,300 --> 00:27:12,670 Rhaid iddo fod yn air. 601 00:27:12,670 --> 00:27:13,720 Ond mae'n wirioneddol peidio. 602 00:27:13,720 --> 00:27:15,310 Rydym am Turing cyfan i fod yn air. 603 00:27:15,310 --> 00:27:17,760 Felly mae'n rhaid i ni gael rhywbeth yn y pen sy'n dweud, llongyfarchiadau, 604 00:27:17,760 --> 00:27:19,051 eich bod wedi dod o hyd i air dilys. 605 00:27:19,051 --> 00:27:21,680 GYNULLEIDFA: Felly, os oedd gennych yn hoffi 26 o lythyrau yn yr wyddor, 606 00:27:21,680 --> 00:27:24,560 Byddai gennych mewn gwirionedd 27 o allweddi yn eich cais? 607 00:27:24,560 --> 00:27:26,010 >> HANNAH: Awesome, yeah. 608 00:27:26,010 --> 00:27:28,210 Felly mewn gwirionedd, credaf fod fydd ar y sleid nesaf. 609 00:27:28,210 --> 00:27:29,440 Ta-da! 610 00:27:29,440 --> 00:27:32,880 Lle os oes gennych nod yn eich cais, rydych yn 611 00:27:32,880 --> 00:27:35,800 mynd i gael 27 o blant yn hytrach na 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Unrhyw gwestiynau â hynny? 614 00:27:40,050 --> 00:27:40,550 Yeah? 615 00:27:40,550 --> 00:27:44,569 GYNULLEIDFA: Pam geisiau yn cymryd i fyny fel llawer o le [Anghlywadwy] wrth i chi fynd? 616 00:27:44,569 --> 00:27:47,629 Pam ei fod ystyrir ei fod [yn anhyglyw]? 617 00:27:47,629 --> 00:27:48,170 HANNAH: Cadarn. 618 00:27:48,170 --> 00:27:48,790 Gadewch i ni fynd yn ôl. 619 00:27:48,790 --> 00:27:52,350 Y cwestiwn yw, pam yn geisiau gymaint mwy 620 00:27:52,350 --> 00:27:54,620 na rhywbeth fel tabl hash. 621 00:27:54,620 --> 00:27:57,790 Felly, ar gyfer pob un o'r lefelau hyn, hyd yn oed os nad ydynt yn tynnu yma, 622 00:27:57,790 --> 00:28:01,250 rhaid i chi gael yr holl 26 o gymeriadau. 623 00:28:01,250 --> 00:28:04,420 A'r rheswm nad ydych yn gallu dweud, oh, ond tebyg am Turing, yr wyf yn 624 00:28:04,420 --> 00:28:07,570 Nid oes angen i gael unrhyw rai o'r rheini un pethau ar lefel y U. Wel, 625 00:28:07,570 --> 00:28:11,390 os yn sydyn ydych eisiau ychwanegu rhywbeth a oedd fel T-H, 626 00:28:11,390 --> 00:28:14,800 byddai angen i chi gael y gallu ychwanegu fod gair. 627 00:28:14,800 --> 00:28:17,330 Felly, ar gyfer pob un llythyr, ydych yn mynd i gael 628 00:28:17,330 --> 00:28:19,730 i gael criw o araeau dod oddi ar ohono. 629 00:28:19,730 --> 00:28:24,060 Fel y gallwch weld sut y byddwn mae'n ei gael fawr iawn, yn gyflym iawn. 630 00:28:24,060 --> 00:28:26,560 Unrhyw gwestiynau eraill? 631 00:28:26,560 --> 00:28:28,980 Mae pob hawl. 632 00:28:28,980 --> 00:28:29,832 Yeah? 633 00:28:29,832 --> 00:28:33,210 >> GYNULLEIDFA: Pryd mae geisiau gyflymach na tablau hash? 634 00:28:33,210 --> 00:28:36,280 >> HANNAH: Pryd mae geisiau gyflymach na tablau hash? 635 00:28:36,280 --> 00:28:39,120 Felly, os ydych wedi cael 'n sylweddol swyddogaeth hash drwg. 636 00:28:39,120 --> 00:28:41,840 Felly, gadewch i ni ddweud fy mod yn hoffi, dyma'ch swyddogaeth hash. 637 00:28:41,840 --> 00:28:43,660 Ni waeth pa air byddwch yn rhoi i mi, Rwyf bob amser 638 00:28:43,660 --> 00:28:47,740 mynd i'w roi yn derbyn amrywiaeth 0. 639 00:28:47,740 --> 00:28:52,000 Ac felly rydym yn y pen draw gyda dim ond rhoi popeth mewn un rhestr cysylltiedig hir mawr. 640 00:28:52,000 --> 00:28:58,740 Ac felly byddai amser am-edrych yn cymryd ar y gwaethaf n os yw'n ar ddiwedd ein rhestr. 641 00:28:58,740 --> 00:29:03,150 Gyda'r cais, rydym yn unig rhaid i ni ailadrodd trwy y llythrennau yn y gair. 642 00:29:03,150 --> 00:29:07,080 Felly hyd yn oed os ydym yn ychwanegu bagad mwy o eiriau i'n cais, 643 00:29:07,080 --> 00:29:09,620 ni fyddai'n mynd â ni mwyach i ddod o hyd i air penodol. 644 00:29:09,620 --> 00:29:11,750 >> Mae pob mae'n rhaid i ni ei wneud yw, er enghraifft, yn yr achos hwn, 645 00:29:11,750 --> 00:29:17,170 gadewch i ni ddweud ein bod yn chwilio am chwyddo, byddem yn rhaid i ailadrodd drosodd 646 00:29:17,170 --> 00:29:19,840 Z-O-O-M, pedwar llythyr. 647 00:29:19,840 --> 00:29:22,250 Felly dyna dim ond y hyd y gair chwyddo. 648 00:29:22,250 --> 00:29:25,400 Does dim ots faint o mwy o eiriau yr ydym yn ei roi yn y cais hwn. 649 00:29:25,400 --> 00:29:30,225 Gallwn bob amser yn ei gael yn y rhai pedwar cam. 650 00:29:30,225 --> 00:29:31,215 Awesome. 651 00:29:31,215 --> 00:29:32,205 Ie? 652 00:29:32,205 --> 00:29:34,185 >> GYNULLEIDFA: Felly [Anghlywadwy] yn arae, dde? 653 00:29:34,185 --> 00:29:35,322 >> HANNAH: Mm-EM. 654 00:29:35,322 --> 00:29:37,155 GYNULLEIDFA: Os ydych yn chwilio am [Anghlywadwy], 655 00:29:37,155 --> 00:29:40,929 byddai'n rhaid i chi fynd drwy eich arae i ddod o hyd [Anghlywadwy]? 656 00:29:40,929 --> 00:29:41,470 HANNAH: Cadarn. 657 00:29:41,470 --> 00:29:44,000 GYNULLEIDFA: Nid yw'n yn cymryd mwy o amser? 658 00:29:44,000 --> 00:29:46,370 HANNAH: Os ydw i'n mynd i yn dweud bod fy amrywiaeth bob amser 659 00:29:46,370 --> 00:29:49,250 mynd i fod yn A, B, C, D, E, F, G, blah blah blah, 660 00:29:49,250 --> 00:29:51,630 felly os wyf bob amser yn gwybod ei fod yn yn yr un union drefn, 661 00:29:51,630 --> 00:29:53,880 os byddaf bob amser yn gwybod ei fod yn yn nhrefn yr wyddor, 662 00:29:53,880 --> 00:29:57,860 Gallaf ddweud O yn rhif felly ac felly yn yr wyddor. 663 00:29:57,860 --> 00:29:59,620 Dim ond neidio i'r lle hwnnw. 664 00:29:59,620 --> 00:30:01,860 Gan fod cofiwch, gyda araeau, gallwn gael gafael 665 00:30:01,860 --> 00:30:06,590 unrhyw elfen o'r amrywiaeth mewn gyson amser os ydym yn gwybod ble rydym yn edrych. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Yeah? 668 00:30:09,580 --> 00:30:12,005 >> GYNULLEIDFA: Ar y blaenorol sleid [Anghlywadwy] 27, 669 00:30:12,005 --> 00:30:14,430 ond 26 ar gyfer yr un cyntaf. 670 00:30:14,430 --> 00:30:15,400 >> HANNAH: Mae'n ddrwg gennyf? 671 00:30:15,400 --> 00:30:18,800 >> GYNULLEIDFA: Nid yw'r cyntaf un 0, felly ni fyddai'n 26? 672 00:30:18,800 --> 00:30:24,900 >> HANNAH: Cadarn, felly pan fyddwn yn dweud 27, dyna mynd i roi i ni mynegeion 0 drwy 26. 673 00:30:24,900 --> 00:30:28,220 Ond os ydych yn cyfrif mewn gwirionedd y rhai allan, mae'n mynd i fod yn 27. 674 00:30:28,220 --> 00:30:30,007 Cwestiwn da. 675 00:30:30,007 --> 00:30:30,590 Unrhyw beth arall? 676 00:30:30,590 --> 00:30:31,200 Yeah? 677 00:30:31,200 --> 00:30:34,420 >> GYNULLEIDFA: Felly mae geisiau arafach na'r tablau hash? 678 00:30:34,420 --> 00:30:37,920 >> HANNAH: Ceisiau yn mynd i fod, yn theori, tablau hash gyflymach na 679 00:30:37,920 --> 00:30:39,760 ond yn cymryd mwy o gof. 680 00:30:39,760 --> 00:30:40,534 Yeah? 681 00:30:40,534 --> 00:30:41,450 GYNULLEIDFA: [Anghlywadwy]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> HANNAH: Mae'n ddrwg gen i, ni chlywais i chi. 684 00:30:47,484 --> 00:30:48,400 GYNULLEIDFA: [Anghlywadwy]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0 i 25 oed yn rhoi i chi 26. 687 00:30:54,100 --> 00:30:56,958 >> HANNAH: 0 i 25 oed byddai rhoi 26 i chi, dde. 688 00:30:56,958 --> 00:30:58,457 >> GYNULLEIDFA: Ac yna [Anghlywadwy]. 689 00:30:58,457 --> 00:30:59,040 HANNAH: Iawn. 690 00:30:59,040 --> 00:31:04,760 Felly mae nifer yr ydym yn pennu'r yw mae nifer o bethau yn ein casgliad. 691 00:31:04,760 --> 00:31:07,260 Felly, os oes gennym 27 o, 'i' mynd i roi i ni 0 692 00:31:07,260 --> 00:31:10,620 drwy 26, a fydd yn rhoi Ystafell ni am, yn yr achos hwn, 693 00:31:10,620 --> 00:31:12,770 Dydw i ddim yn cynnwys collnod. 694 00:31:12,770 --> 00:31:17,040 Felly, rydym yn cael 0 drwy 25 yw 26 llythyr cyntaf y wyddor, 695 00:31:17,040 --> 00:31:18,990 neu bob 26 o llythrennau'r wyddor. 696 00:31:18,990 --> 00:31:21,190 Ac yna y diwethaf beth, yn derbyn 26, yn 697 00:31:21,190 --> 00:31:24,598 mynd i fod y siec marc, neu'r delta. 698 00:31:24,598 --> 00:31:26,960 Unrhyw beth arall? 699 00:31:26,960 --> 00:31:29,130 Awesome. 700 00:31:29,130 --> 00:31:30,020 Colli fy lle. 701 00:31:30,020 --> 00:31:31,020 OK, oer. 702 00:31:31,020 --> 00:31:33,240 >> Felly, rydym eisoes crybwyll hyn. 703 00:31:33,240 --> 00:31:37,430 Ond mae'r fasnach fawr i ffwrdd rhwng geisiau a thablau hash 704 00:31:37,430 --> 00:31:39,720 yw bod geisiau darparu, yn theori, yn edrych yn gyson i fyny 705 00:31:39,720 --> 00:31:42,890 weithiau ond yn defnyddio llawer gyfan o gof. 706 00:31:42,890 --> 00:31:46,495 Mae pob hawl, erbyn hyn mae gennym ychydig yn strwythurau llai cymhleth, 707 00:31:46,495 --> 00:31:49,640 a byddwn yn ei wneud gyda C, a byddwn yn symud i'r dde ar hyd. 708 00:31:49,640 --> 00:31:51,930 >> Felly staciau, gwelsom hyn mewn darlith lle rydych yn 709 00:31:51,930 --> 00:31:55,020 cael rhywbeth fel pentwr o hambyrddau lle 710 00:31:55,020 --> 00:31:57,330 y peth diwethaf i chi ei roi ar y pentwr yn mynd 711 00:31:57,330 --> 00:31:59,500 i fod y peth cyntaf y byddwch yn cymryd i ffwrdd. 712 00:31:59,500 --> 00:32:02,880 Felly dyna beth sydd wir yn diffinio pentwr yw bod y peth diwethaf i chi ei roi ar 713 00:32:02,880 --> 00:32:06,080 yn mynd i fod y cyntaf beth yr ydych yn cymryd i ffwrdd. 714 00:32:06,080 --> 00:32:09,279 A'r derminoleg a ddefnyddiwn os ydym yn mynd i roi rhywbeth, 715 00:32:09,279 --> 00:32:12,070 os ydym yn mynd i ychwanegu rhywbeth at ein stac, rydym yn galw bod gwthio. 716 00:32:12,070 --> 00:32:14,970 Ac os byddwn yn cymryd rhywbeth i ffwrdd, rydym yn galw ei popping. 717 00:32:14,970 --> 00:32:17,080 Ac os ydym yn mynd i gweithredu pentwr, rydym yn 718 00:32:17,080 --> 00:32:20,660 Mae angen i fod yn sicr i gadw golwg ar y maint a'r gallu. 719 00:32:20,660 --> 00:32:24,940 Felly, cyfanswm nifer o elfennau o fewn ein gallu dal a nifer presennol o elfennau 720 00:32:24,940 --> 00:32:27,880 ein bod yn cynnal. 721 00:32:27,880 --> 00:32:29,885 >> Ac yn yr un modd iawn, mae gennym ciwiau. 722 00:32:29,885 --> 00:32:34,510 A'r unig wahaniaeth yn hytrach na gyda staciau, 723 00:32:34,510 --> 00:32:37,630 dywedasom y peth olaf yr ydym yn ei roi ar yw'r peth cyntaf i ni gymryd i ffwrdd. 724 00:32:37,630 --> 00:32:40,940 Felly, gyda ciwiau, mae'r peth cyntaf yr ydym yn eu rhoi ar 725 00:32:40,940 --> 00:32:43,129 yn mynd i fod y peth cyntaf rydym yn cymryd allan. 726 00:32:43,129 --> 00:32:45,420 Felly, mae hyn yn debyg os ydych yn mewn gwirionedd yn leinin i fyny mewn siop 727 00:32:45,420 --> 00:32:48,140 ac rydych yn cael cymorth, yna bydd y person cyntaf yn unol 728 00:32:48,140 --> 00:32:50,880 ddylai fod y person cyntaf i gael eu helpu. 729 00:32:50,880 --> 00:32:52,220 Felly byddai hynny'n ciw. 730 00:32:52,220 --> 00:32:55,880 >> Felly mae angen i gadw golwg ar y maint, gallu, a phen ers i ni yn 731 00:32:55,880 --> 00:33:01,130 mynd i gymryd pawb oddi ar y tu blaen y rhestr yn hytrach na'r cefn. 732 00:33:01,130 --> 00:33:03,480 Cwestiynau ar hynny? 733 00:33:03,480 --> 00:33:06,330 Unrhyw gwestiynau C sy'n eich poeni? 734 00:33:06,330 --> 00:33:09,590 Strwythurau data, unrhyw un y pethau hwyl? 735 00:33:09,590 --> 00:33:10,530 Mae pob hawl, oer. 736 00:33:10,530 --> 00:33:14,120 Felly byddaf yn ei drosglwyddo i Alison i neidio i mewn i rai mwy o raglennu. 737 00:33:14,120 --> 00:33:15,965 >> ALISON: O, gawn ni weld. 738 00:33:15,965 --> 00:33:17,370 Byddwn yn gweld pa mor dda yr wyf yn ei wneud yma. 739 00:33:17,370 --> 00:33:21,410 OK, dw i'n mynd i geisio hedfan trwy'r pethau hyn, guys. 740 00:33:21,410 --> 00:33:24,540 Aeth Hannah iawn mewn dyfnder ar ei holl bethau. 741 00:33:24,540 --> 00:33:26,900 Rydw i'n mynd i geisio rhoi chi trosolwg cyflym chwyth 742 00:33:26,900 --> 00:33:31,290 fel y gallwn fynd i'r Davin gyda'r holl yr hwyl JavaScript a sicrwydd y pethau 743 00:33:31,290 --> 00:33:33,380 hynny efallai eich bod mewn gwirionedd eisiau clywed mwy am. 744 00:33:33,380 --> 00:33:36,600 >> OK, fel y dywedodd Hannah, os oes gennych unrhyw gwestiynau, 745 00:33:36,600 --> 00:33:39,170 Rydw i'n mynd yn rhy gyflym, os gwelwch yn dda, gadewch i mi wybod. 746 00:33:39,170 --> 00:33:42,114 Byddaf yn ateb cwestiynau yn ôl yr angen. 747 00:33:42,114 --> 00:33:45,280 Felly, i ddechrau, rydym yn mynd i ddechrau gyda debyg, un o'r pethau cyntaf 748 00:33:45,280 --> 00:33:48,730 a ddysgoch gyda gwe rhaglennu, caniatâd. 749 00:33:48,730 --> 00:33:52,720 Dylai Felly chmod, rydych guys wedi bod meistri ar hyn gyda'r holl we 750 00:33:52,720 --> 00:33:54,870 rhaglennu eich bod i wedi bod yn ei wneud yn ddiweddar. 751 00:33:54,870 --> 00:33:57,320 Mae'n bôn dim ond gorchymyn sy'n newid y caniatadau 752 00:33:57,320 --> 00:34:00,779 neu'r caniatâd mynediad o'n hamcanion system ffeiliau. 753 00:34:00,779 --> 00:34:02,570 Wrth gwrs, i mewn gwirionedd gweld hyn, os ydych yn 754 00:34:02,570 --> 00:34:04,910 cael unrhyw drafferth gyda'r rhain yn ystod eich setiau problem, 755 00:34:04,910 --> 00:34:11,460 efallai eich bod wedi defnyddio ls -L, sydd yn hir, i gael y math o olygfa fel hyn, 756 00:34:11,460 --> 00:34:14,209 lle rydych mewn gwirionedd yn gweld yr holl y caniatâd i ffeil. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> Ac yn wir, rydym yn jyst yn mynd i fynd drwy 'n bert yn gyflym yn unig' n bert 759 00:34:20,732 --> 00:34:21,940 llawer hyn y mae pob un o'r rhain yn ei olygu. 760 00:34:21,940 --> 00:34:24,481 Felly, rydym wedi d iawn yma, a oedd yn jyst yn sefyll am y cyfeiriadur. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Yn amlwg dde yma, gwelwn rwx, a oedd yn yn ddarllenadwy, ysgrifenadwy, a gweithredadwy. 763 00:34:31,739 --> 00:34:37,090 Gallai'r rhain hefyd yn cael eu cynrychioli fel darnau, y byddwn yn mynd i mewn ar y dudalen nesaf. 764 00:34:37,090 --> 00:34:40,699 Felly mae gan bob triawd a welsom fan hyn, felly mae'n tri trioedd. 765 00:34:40,699 --> 00:34:48,120 Rydym wedi rwx, r dim x ac r dim x am y ffeil gyntaf. 766 00:34:48,120 --> 00:34:49,690 Mae'n strwythur cyffredinol hwn. 767 00:34:49,690 --> 00:34:50,940 >> Felly, mae gennym rai cyfeiriadur. 768 00:34:50,940 --> 00:34:53,999 Mae gennym rai grŵp defnyddwyr gyda caniatadau hyn. 769 00:34:53,999 --> 00:34:57,040 Mae rhai grwpiau sydd â caniatadau hyn, a byd sydd â chaniatâd. 770 00:34:57,040 --> 00:34:59,420 Gallwch feddwl am hyn fel triawd. 771 00:34:59,420 --> 00:35:01,130 Gallwch feddwl am hyn fel tri darnau. 772 00:35:01,130 --> 00:35:04,060 Fel y gallant ddal gwerthoedd yn unrhyw le o 0 i fyny 773 00:35:04,060 --> 00:35:07,350 i 7, a dyna pam weithiau'n cawsom chi ei wneud chmod 774 00:35:07,350 --> 00:35:17,510 600 yn lle chmod rw beth bynnag. 775 00:35:17,510 --> 00:35:19,170 Byddwn yn mynd i mewn enghraifft yno. 776 00:35:19,170 --> 00:35:24,260 Ond yn y bôn, gallwch feddwl o'r rhain naill ai fel unig rwx, 777 00:35:24,260 --> 00:35:28,520 neu gallwch feddwl amdanynt fel rhai Rhif lle mae hyn yn un cyntaf yma 778 00:35:28,520 --> 00:35:31,480 cynrychioli nifer rhwng 0 a 7, yr ail un 779 00:35:31,480 --> 00:35:33,970 cynrychioli nifer rhwng 0 a 7, a'r trydydd un 780 00:35:33,970 --> 00:35:38,245 cynrychioli nifer rhwng 0 a 7, OK? 781 00:35:38,245 --> 00:35:42,700 >> r werth o 4 w Mae gan werth 2, ac x 782 00:35:42,700 --> 00:35:49,230 Mae gwerth o 1, a dyna pam mae hyn Byddai caniatâd yma cael ei chmod 700. 783 00:35:49,230 --> 00:35:53,520 Gan fod yn yr achos yma, mae'n dweud ein bod wedi y darn cyntaf mae flipped ar. 784 00:35:53,520 --> 00:35:55,380 Felly mae gennym 4 ar gyfer darllen. 785 00:35:55,380 --> 00:35:58,730 Mae'r ail bit yn cael ei flipped ar gyfer w, sydd 2, felly erbyn hyn rydym wedi 6. 786 00:35:58,730 --> 00:36:02,070 A'r trydydd darn yn cael ei flipped ar ar gyfer x, sydd 1, felly rydym yn cael saith. 787 00:36:02,070 --> 00:36:04,820 Ac wrth gwrs, ein grŵp ac mae ein byd yn cael eu pob 0. 788 00:36:04,820 --> 00:36:07,770 Felly, mae hyn hefyd yn sy'n cyfateb i 700 o chmod. 789 00:36:07,770 --> 00:36:12,081 A Byddwn yn bendant yn ceisio deall y mapio rhwng y rhai. 790 00:36:12,081 --> 00:36:14,080 Dwi ddim yn siŵr os oes ganddo dod i fyny ar gwis o'r blaen, 791 00:36:14,080 --> 00:36:18,590 ond byddai'n gwestiwn y gallai wyf yn gofyn. 792 00:36:18,590 --> 00:36:22,110 >> Dim ond ychydig bach yn mynd hyd yn oed ymhellach i chmod yma, yma 793 00:36:22,110 --> 00:36:27,730 yw'r cyffredinol iawn strwythur galwad chmod. 794 00:36:27,730 --> 00:36:29,500 Felly, wrth gwrs, yr ydym wedi chmod yma. 795 00:36:29,500 --> 00:36:34,410 Cyfeiriadau, beth mae hyn yn cyfeirio at hwn yn sy'n cael eu ni'n rhoi caniatadau hyn i 796 00:36:34,410 --> 00:36:36,570 neu sy'n ni'n cymryd y rhain caniatâd i ffwrdd oddi wrth. 797 00:36:36,570 --> 00:36:44,330 Felly, mae gennym yma yn y caniatâd, fel yr ydym wedi ei roi i chi chmod yn fantais x, 798 00:36:44,330 --> 00:36:45,440 fel y byddwn yn gweld yn fuan. 799 00:36:45,440 --> 00:36:48,460 a dim ond yn golygu rhoi'r rhain penodol caniatâd i bawb. 800 00:36:48,460 --> 00:36:49,600 Rhowch nhw i gyd. 801 00:36:49,600 --> 00:36:55,370 Felly gallech yn dda iawn gennych u ynghyd x neu g yn ogystal x neu o plws x neu luosog 802 00:36:55,370 --> 00:36:55,870 o hynny. 803 00:36:55,870 --> 00:36:59,280 Felly, y rhan gyntaf bob amser mynd i fod yn gyfeiriadau. 804 00:36:59,280 --> 00:37:03,220 Pwy ydyn ni'n rhoi caniatâd hyn i, neu sy'n ni'n mynd â hwy i ffwrdd o? 805 00:37:03,220 --> 00:37:04,850 >> Yr ail un yw'r gweithredwr. 806 00:37:04,850 --> 00:37:07,350 Felly, rydych guys wedi ymdrin yn bennaf â plws. 807 00:37:07,350 --> 00:37:12,140 Mae hyn yn rhoi caniatâd i pwy bynnag yr ydych yn rhoi iddynt, 808 00:37:12,140 --> 00:37:14,840 tra minws, yn rhesymegol, yn eu gwared. 809 00:37:14,840 --> 00:37:16,880 Felly dim byd rhy ofnadwy yno. 810 00:37:16,880 --> 00:37:23,060 Ac yna moddau hyn yr ydym yn siarad am gyda darllen, ysgrifennu, neu'n gweithredu. 811 00:37:23,060 --> 00:37:29,070 Felly yn fantais x yn golygu rhoi gweithredadwy caniatâd i bawb. 812 00:37:29,070 --> 00:37:33,430 Ac yna, wrth gwrs, y mae ffeil neu cyfeiriadur penodol. 813 00:37:33,430 --> 00:37:33,980 OK? 814 00:37:33,980 --> 00:37:36,010 Mae pawb da gyda chmod? 815 00:37:36,010 --> 00:37:37,850 Ddim yn rhy ddrwg? 816 00:37:37,850 --> 00:37:42,417 >> Iawn, felly HTML, unrhyw un rydych yn hen ddigon i-- oedran MySpace? 817 00:37:42,417 --> 00:37:44,750 Anfonais hyn at fy adran, ac yn llythrennol hanner y bobl 818 00:37:44,750 --> 00:37:45,790 edrych ar mi fel fy mod yn wallgof. 819 00:37:45,790 --> 00:37:47,498 Ac yr wyf yn hoffi, guys, nid ydym yn hen. 820 00:37:47,498 --> 00:37:48,910 Dewch ar. 821 00:37:48,910 --> 00:37:53,360 Felly HyperText Markup Language, 'i' yn onest yn unig yn ffordd i chi 822 00:37:53,360 --> 00:37:57,990 i arddangos rhai pethau ar y we. 823 00:37:57,990 --> 00:37:59,210 Felly mae'n iaith markup. 824 00:37:59,210 --> 00:38:00,640 Dyw hi ddim yn iaith sgriptio. 825 00:38:00,640 --> 00:38:02,160 Does dim rhesymeg ynddo. 826 00:38:02,160 --> 00:38:05,710 Mae'n syml, newid y ffordd rhywbeth yn cael ei arddangos. 827 00:38:05,710 --> 00:38:07,670 Iawn, felly dyna un pwysig gwahaniaeth i'w gwneud. 828 00:38:07,670 --> 00:38:12,030 Mae wedi ystyried yn iaith marcio, Nid yw iaith sgriptio. 829 00:38:12,030 --> 00:38:15,100 >> Felly dyma ni wedi ein tagiau HTML. 830 00:38:15,100 --> 00:38:20,390 Ar y sleid hon yn ôl pob tebyg y rhan fwyaf o'r rhai y dylech chi fod yn gyfarwydd â 831 00:38:20,390 --> 00:38:22,390 a bod yn wirioneddol gyfforddus ag ef. 832 00:38:22,390 --> 00:38:25,700 Felly yn amlwg, mae gennym ein tag HTML, a oedd yn 833 00:38:25,700 --> 00:38:29,930 yn dynodi bod popeth yn Bydd rhwng y ddau fod yn HTML. 834 00:38:29,930 --> 00:38:33,070 Mae gennym rai gyswllt, a oedd yn Mae'n amlwg y bydd yn rhoi i chi 835 00:38:33,070 --> 00:38:34,990 dolen i dudalen gwe allanol. 836 00:38:34,990 --> 00:38:37,520 Mae rhai teitl, o fewn ein pen yma. 837 00:38:37,520 --> 00:38:40,020 Ac rydym wedi ein corff gyda h1, sy'n pennawd, 838 00:38:40,020 --> 00:38:42,260 felly bydd yn ei gwneud yn braf a beiddgar ac yn fwy. 839 00:38:42,260 --> 00:38:46,040 Ac yna, mae gennym rai p, sy'n paragraff. 840 00:38:46,040 --> 00:38:49,000 Dylai Mae'n debyg eich bod yn gwybod a bod yn gyfarwydd â phethau 841 00:38:49,000 --> 00:38:54,030 fel sut rydych fewnosod delwedd, yn cael eu A oes unrhyw ddosbarthiadau pennawd eraill? 842 00:38:54,030 --> 00:38:57,240 Byddwn yn bendant yn gyfforddus gyda div. 843 00:38:57,240 --> 00:39:00,840 Felly, mae'r rhain yn cael y rhan fwyaf o'r tagiau y dylech fod yn gyfarwydd â. 844 00:39:00,840 --> 00:39:04,370 Ond wrth gwrs, fel gyda phopeth yn CS 50, nid yw'r rhestr yn un gynhwysfawr. 845 00:39:04,370 --> 00:39:08,200 Felly, gwnewch yn siŵr eich loywi hynny. 846 00:39:08,200 --> 00:39:13,260 >> CSS, felly CSS, os bydd unrhyw un ydych yn gwylio fy seminar o bythefnos yn ôl, 847 00:39:13,260 --> 00:39:16,250 mewn gwirionedd dim ond ffordd i arddull eich tudalen ar y we? 848 00:39:16,250 --> 00:39:18,950 Iawn, felly mae gennym rai iaith marcio. 849 00:39:18,950 --> 00:39:23,220 HTML, sydd yn gofalu am dim ond y testun a lle y gallai fod ar y dudalen. 850 00:39:23,220 --> 00:39:25,760 Ond CSS yn wirioneddol yr hyn yn ei gwneud yn 'n bert. 851 00:39:25,760 --> 00:39:30,690 Gallech gael y rhain yn eich HTML ffeiliau, ond gan y byddwn yn siarad am yn ddiweddarach, 852 00:39:30,690 --> 00:39:32,660 Rwy'n eithaf siwr y gallai fod y sleid nesaf, mae'n 853 00:39:32,660 --> 00:39:35,620 yn arfer cyffredin, ac mewn gwirionedd arferion yr ydym yn wir yn annog, 854 00:39:35,620 --> 00:39:40,670 i chi eu cadw yn gwahanu pan fyddwn siarad am MVC a bod patrwm cyfan. 855 00:39:40,670 --> 00:39:42,490 Dyna wir yn beth mae hyn yn bwydo i mewn. 856 00:39:42,490 --> 00:39:46,110 >> Felly CSS yn unig yw ffordd i gwneud i bethau edrych yn bert. 857 00:39:46,110 --> 00:39:50,500 Y pethau yma, fel corff a #title a .info, 858 00:39:50,500 --> 00:39:54,340 gelwir y rhain yn dewiswyr a pha maent yn ei wneud yw eu bod yn dewis pethau penodol 859 00:39:54,340 --> 00:39:59,260 o fewn eich ffeil HTML a gwneud cais beth bynnag arddull, 860 00:39:59,260 --> 00:40:04,090 pa bynnag fath o bethau yr ydych am, at yr elfen penodol eich gwe 861 00:40:04,090 --> 00:40:04,590 dudalen. 862 00:40:04,590 --> 00:40:08,820 Felly dyma, mae gennym lliw cefndir a lliw 863 00:40:08,820 --> 00:40:12,450 a theulu ffont sy'n cael ei cymhwyso i beth bynnag sydd yn y corff. 864 00:40:12,450 --> 00:40:15,530 Felly, os ydym yn edrych yn ôl yma, mae'n Ni fyddai gymwys i'r teitl. 865 00:40:15,530 --> 00:40:22,340 Byddai ond yn berthnasol i'r hyn sydd yn y detholwyr corff yma, OK? 866 00:40:22,340 --> 00:40:25,250 >> Gyda teitl yma, mae hyn yn mynd i fod yr un peth, 867 00:40:25,250 --> 00:40:28,410 lliw y testun sef glas yn mynd yn unig 868 00:40:28,410 --> 00:40:33,870 i effeithio ar yr hyn yn dod o fewn y detholwyr teitl. 869 00:40:33,870 --> 00:40:36,580 Yn ogystal â gwybodaeth yma, Bydd y testun yn binc, 870 00:40:36,580 --> 00:40:38,600 beth bynnag ei ​​info, sydd yn iawn yma. 871 00:40:38,600 --> 00:40:40,860 Felly, yr unig beth sy'n Byddai fod yn binc ar y dudalen hon 872 00:40:40,860 --> 00:40:44,100 yw dyddiad, Dydd Llun 17 Tachwedd, 2014. 873 00:40:44,100 --> 00:40:48,770 Iawn, felly CSS yn unig yw ffordd i gael mwy o reolaeth over-- ie? 874 00:40:48,770 --> 00:40:51,850 >> GYNULLEIDFA: Pam oes gennych i ddefnyddio'r hash gyda theitl? 875 00:40:51,850 --> 00:40:55,170 >> HANNAH: sleid nesaf, addo! 876 00:40:55,170 --> 00:40:56,810 Byddwn yn cyrraedd yno. 877 00:40:56,810 --> 00:40:59,830 Felly dyma pam mae'n rhaid i ni ddefnyddio hash. 878 00:40:59,830 --> 00:41:03,429 Felly dewiswyr yn cymryd ar dri phrif ffurflenni yr ydym yn siarad â chi guys yn ei gylch. 879 00:41:03,429 --> 00:41:05,595 Fyou Rwyf eisiau dysgu mwy, mae digon i maes 'na. 880 00:41:05,595 --> 00:41:07,540 Mae dogfennaeth CSS mawr. 881 00:41:07,540 --> 00:41:12,680 Mae 'na enw tag, sydd wedi ei wneud gyda dim ond eich tagiau arferol mewn HTML. 882 00:41:12,680 --> 00:41:17,210 Felly h1, p, div, H2, mathau hynny o beth. 883 00:41:17,210 --> 00:41:20,320 A gallwn jyst enwi'r rhai hynny fel y mae. 884 00:41:20,320 --> 00:41:22,650 Felly, fel y gwelwn yma gyda corff, mae'n tag arferol. 885 00:41:22,650 --> 00:41:26,660 Felly, gallwn jyst corff yn rhoi pryd rydym yn siarad yn ein ffeiliau CSS. 886 00:41:26,660 --> 00:41:29,730 >> Gyda'r teitl, y rheswm cyfan yr ydym yn cael hash mae hyn yn mae gennym beth sy'n 887 00:41:29,730 --> 00:41:31,010 ystyried yn adnabod. 888 00:41:31,010 --> 00:41:35,400 Felly, dylai ID bob amser fod yn unigryw o fewn eich tudalen HTML 889 00:41:35,400 --> 00:41:37,930 felly pan fyddwch yn gyfeirio ato, yr ydych 890 00:41:37,930 --> 00:41:41,990 yn gwybod eich bod yn cyfeirio yn unig i un peth penodol. 891 00:41:41,990 --> 00:41:46,270 Felly, yn yr achos hwn yma, gyda'n h1 yma, CS 50 sesiwn adolygu, 892 00:41:46,270 --> 00:41:47,810 mae gennym id teitl. 893 00:41:47,810 --> 00:41:54,280 Felly, er mwyn jyst cyfeirio at hynny darn o o'n HTML, rydym yn gwneud teitl hash. 894 00:41:54,280 --> 00:41:58,080 Dim ond drwy confensiwn, IDs eu dynodi gyda hash o'u blaen. 895 00:41:58,080 --> 00:42:01,650 Yn yr un modd, yr ydym yn gweld wybodaeth yma yn ddosbarth. 896 00:42:01,650 --> 00:42:06,070 Ac felly y dosbarth gyda CSS yn ddynodwyd fel dosbarth dot 897 00:42:06,070 --> 00:42:08,895 neu dot beth bynnag y dosbarth yn. 898 00:42:08,895 --> 00:42:10,850 Felly, yn yr achos hwn yma, mae'n wybodaeth. 899 00:42:10,850 --> 00:42:13,090 >> Felly, yr wyf yn mynd yn ôl. 900 00:42:13,090 --> 00:42:16,200 Byddai'r ddau o'r rhain yn pinc ar gyfer ein CSS yma 901 00:42:16,200 --> 00:42:18,430 oherwydd eu bod yn ddau ddosbarth o wybodaeth. 902 00:42:18,430 --> 00:42:23,070 Ac yn ein ffeil CSS, rydym wedi dynodi bod unrhyw beth gyda dosbarth o wybodaeth 903 00:42:23,070 --> 00:42:24,120 bydd yn binc. 904 00:42:24,120 --> 00:42:25,968 A yw hynny'n gwneud synnwyr? 905 00:42:25,968 --> 00:42:27,435 Ie? 906 00:42:27,435 --> 00:42:30,731 >> GYNULLEIDFA: Pe baech yn gwneud popeth yn y corff gwyn, 907 00:42:30,731 --> 00:42:32,814 ac yna rydych ceisio gwneud rhywbeth y tu mewn iddo glas, 908 00:42:32,814 --> 00:42:34,770 fyddai'n achosi problemau? 909 00:42:34,770 --> 00:42:37,310 >> HANNAH: Felly CSS yw taflenni arddull rhaeadrol. 910 00:42:37,310 --> 00:42:40,730 Felly, beth bynnag sydd tuag at y Bydd gwaelod yn cael blaenoriaeth. 911 00:42:40,730 --> 00:42:44,080 Felly, os ydych yn gwneud rhywbeth gyda chorff, ac yr ydych yn gwneud popeth yn wyn, 912 00:42:44,080 --> 00:42:49,300 ac yna yn ddiweddarach ar chi newid y teitl neu os ydych yn newid y testun o fewn corff, 913 00:42:49,300 --> 00:42:50,560 mae'n overwrites hynny. 914 00:42:50,560 --> 00:42:55,360 Felly unrhyw beth tuag at y Bydd gwaelod yn cael blaenoriaeth. 915 00:42:55,360 --> 00:42:56,730 Ie? 916 00:42:56,730 --> 00:42:59,627 >> GYNULLEIDFA: A IDs yn unigryw, ond gall dosbarthiadau fod yn fwy? 917 00:42:59,627 --> 00:43:00,210 HANNAH: Iawn. 918 00:43:00,210 --> 00:43:06,320 Felly dylai IDs fod yn unigryw, a gall dosbarthiadau cyfeirio at gymaint o bethau ag yr hoffech. 919 00:43:06,320 --> 00:43:07,580 Unrhyw gwestiynau eraill? 920 00:43:07,580 --> 00:43:09,800 Ydw. 921 00:43:09,800 --> 00:43:11,210 >> GYNULLEIDFA: [Anghlywadwy]. 922 00:43:11,210 --> 00:43:13,509 Rydw i'n meddwl tybed a sy'n gwneud gwahaniaeth. 923 00:43:13,509 --> 00:43:15,217 HANNAH: Mae'n ddrwg gen i, beth oedd y cwestiwn? 924 00:43:15,217 --> 00:43:18,960 GYNULLEIDFA: Mae fach "F" a chyfalaf "F." 925 00:43:18,960 --> 00:43:21,440 HANNAH: Felly y gwahaniaeth rhwng bach "f" a chyfalaf "F" 926 00:43:21,440 --> 00:43:22,606 Ni ddylai wneud gwahaniaeth. 927 00:43:22,606 --> 00:43:26,330 Felly, "f" yn 15 o naill ffordd neu'r llall. 928 00:43:26,330 --> 00:43:28,130 Cool, unrhyw beth arall? 929 00:43:28,130 --> 00:43:29,930 Mae pawb yn dda, CSS? 930 00:43:29,930 --> 00:43:30,850 Ie? 931 00:43:30,850 --> 00:43:31,790 >> GYNULLEIDFA: Mae'n ddrwg gennyf. 932 00:43:31,790 --> 00:43:35,550 Gallwch gael dosbarth ac yn adnabod? 933 00:43:35,550 --> 00:43:38,030 >> HANNAH: Ydy, gallwch. 934 00:43:38,030 --> 00:43:40,420 Gall pethau gael y ddau ddosbarth a adnabod. 935 00:43:40,420 --> 00:43:44,670 Ac yr wyf yn argymell profi y rhain ar eich pen eich hun. 936 00:43:44,670 --> 00:43:50,480 CSS byddwch yn dysgu orau yn unig drwy wneud rhywbeth, tudalen ar y we syml iawn, 937 00:43:50,480 --> 00:43:53,440 llunio rhywfaint CSS, a dim ond weld sut y maent yn rhyngweithio. 938 00:43:53,440 --> 00:43:56,970 A byddwch yn ennill da iawn, synnwyr greddfol ar gyfer sut y mae'n gweithio. 939 00:43:56,970 --> 00:43:58,810 >> OK, mae pawb da gyda CSS? 940 00:43:58,810 --> 00:44:01,280 Rydych yn gyd yn mynd i wneud Gwefannau hardd gyda CSS nawr. 941 00:44:01,280 --> 00:44:05,460 OK, arferion gorau, dim ond pethau i'w cadw mewn cof, pethau 942 00:44:05,460 --> 00:44:09,810 that-- dyma pam rydym doc i chi am dylunydd a whatnot. 943 00:44:09,810 --> 00:44:11,820 Felly cau eich pob tag HTML. 944 00:44:11,820 --> 00:44:14,840 Felly os oes gennych corff agored, dylid cael corff agos. 945 00:44:14,840 --> 00:44:18,180 Os oes gennych paragraff agored, dylid cael paragraff agos. 946 00:44:18,180 --> 00:44:19,555 Edrychwch i weld eich tudalen yn dilysu. 947 00:44:19,555 --> 00:44:23,330 Dylech guys fod yn gyfarwydd iawn gyda hyn o saith set-p 948 00:44:23,330 --> 00:44:26,350 gyda CS 50 o chyllid gyda'r dilysydd W3. 949 00:44:26,350 --> 00:44:28,340 Ac fel y dywedais o'r blaen, un o'n patrymau mawr 950 00:44:28,340 --> 00:44:33,780 yn gwahanu eich steil gyda CSS gan eich markup, sef HTML. 951 00:44:33,780 --> 00:44:36,900 Ac yna, wrth gwrs, yr ydym wedi mae hyn XKCD mawr i lawr yma. 952 00:44:36,900 --> 00:44:38,280 Yay, rhyddhad comig! 953 00:44:38,280 --> 00:44:41,340 >> OK, TCP / IP. 954 00:44:41,340 --> 00:44:44,650 Rhwng y rhain a HTTP, yn y bôn maent yn ddau protocolau. 955 00:44:44,650 --> 00:44:46,810 Felly gallech jyst yn meddwl ohonynt fel set o reolau 956 00:44:46,810 --> 00:44:50,110 sy'n rheoli sut mae pethau'n symud ar draws y rhyngrwyd. 957 00:44:50,110 --> 00:44:53,410 Felly rheoli trosglwyddo protocol, neu protocol rhyngrwyd, 958 00:44:53,410 --> 00:44:57,280 yn unig yw ffordd i wneud yn siŵr data sy'n cael lle mae'n mynd 959 00:44:57,280 --> 00:45:00,030 a'n bod yn gwybod os rydym yn byth yn colli data. 960 00:45:00,030 --> 00:45:03,520 Felly, os ydych yn meddwl guys yn ôl i ddarlith cwpl o wythnosau yn ôl gyda David 961 00:45:03,520 --> 00:45:06,980 lle'r oedd gennym bedwar amlenni, maent yn eu rhifo fel un o bedwar i gyd, 962 00:45:06,980 --> 00:45:11,300 dau o bedwar, tri o bedwar, pedwar o pedwar, mae hyn yn unig yw set o reolau. 963 00:45:11,300 --> 00:45:13,830 Dywedasom, OK, pryd bynnag rydym yn anfon mwy nag un pecyn, 964 00:45:13,830 --> 00:45:16,610 rydym yn mynd i rhifo 'i ag pa rif y mae 965 00:45:16,610 --> 00:45:19,040 a faint o gyfanswm y dylai'r defnyddiwr ei gael. 966 00:45:19,040 --> 00:45:22,540 >> Ac mae hyn yn unig yw dweud pwy bynnag yn derbyn y data a ydynt 967 00:45:22,540 --> 00:45:26,120 wedi gotten popeth, neu os rhywbeth mynd ar goll ar hyd y ffordd. 968 00:45:26,120 --> 00:45:28,840 Ac mae angen iddynt ofyn amdano eto. 969 00:45:28,840 --> 00:45:31,140 Mae hyn yn wir yn unig yw set o reolau. 970 00:45:31,140 --> 00:45:33,650 Dyna sut y gallwch chi feddwl am y peth, OK? 971 00:45:33,650 --> 00:45:37,700 A hefyd, mae'n nodi y porthladd, a oedd yn chi guys can-- i'n gwybod yn ystod y ddarlith, 972 00:45:37,700 --> 00:45:39,170 roedd ganddynt restr cyfan o borthladdoedd. 973 00:45:39,170 --> 00:45:41,630 Ond nid oes gennym nhw yma ar hyn o bryd. 974 00:45:41,630 --> 00:45:45,290 >> Protocol trosglwyddo Felly hyperdestun yw, unwaith eto, mae'n protocol arall. 975 00:45:45,290 --> 00:45:48,630 Felly mae'n set arall o reolau sy'n rheoli, yn yr achos hwn, 976 00:45:48,630 --> 00:45:51,130 sut hyperdestun yn cael ei drosglwyddo. 977 00:45:51,130 --> 00:45:54,340 Felly, 'i jyst yn caniatáu i porwyr i siarad â gweinyddwyr gwe. 978 00:45:54,340 --> 00:45:56,910 Ac wrth i ni ddweud yma, 'i' fel ysgwyd llaw ddynol. 979 00:45:56,910 --> 00:46:00,480 Dim ond ffordd i lywodraethu sut y gweinydd we yn 980 00:46:00,480 --> 00:46:02,690 mynd i ryngweithio gyda eich porwr. 981 00:46:02,690 --> 00:46:05,660 Ac rydym wedi dim ond ychydig o enghreifftiau. 982 00:46:05,660 --> 00:46:09,100 Mae gennym rai ceisiadau yma lle mae GET yw'r dull. 983 00:46:09,100 --> 00:46:13,760 Mae gennym HTTP 1.1, sef Fersiwn protocol i ni. 984 00:46:13,760 --> 00:46:17,230 Ac yna, y llu, sef yr hyn rydym yn mewn gwirionedd yn ceisio cael mynediad. 985 00:46:17,230 --> 00:46:21,800 Ac yna, fel y gwelwch yma, rydym yn cael rhywfaint o ymateb gyda hyn 200 986 00:46:21,800 --> 00:46:25,032 OK fel ein cod ymateb HTTP. 987 00:46:25,032 --> 00:46:27,240 Mae gennym restr fawr Rydw i'n mynd i dynnu i fyny mewn un eiliad 988 00:46:27,240 --> 00:46:29,430 y dylech guys fod yn gyfarwydd â. 989 00:46:29,430 --> 00:46:35,750 Ac mae gennym y math o gynnwys testun / HTML, a dim ond yn dweud pa fath o ddata 990 00:46:35,750 --> 00:46:39,990 ydym yn ei gael gan y gweinydd, OK? 991 00:46:39,990 --> 00:46:44,230 Mae hyn yn llu ac mae hyn yn math o gynnwys yn rhan o'r penawdau HTTP. 992 00:46:44,230 --> 00:46:49,610 Gallwch gael cyn lleied neu gyn lleied ag angenrheidiol ar gyfer cyd-destun yr hyn 993 00:46:49,610 --> 00:46:50,580 rydych yn delio â hwy. 994 00:46:50,580 --> 00:46:53,371 Weithiau byddwch yn cael llawer o Gwybodaeth yn dod oddi wrth eich gweinydd. 995 00:46:53,371 --> 00:46:56,040 Efallai eu bod yn gofyn llawer gwybodaeth gan y defnyddiwr. 996 00:46:56,040 --> 00:46:57,600 Mae'n amrywio yn dibynnu ar y cyd-destun. 997 00:46:57,600 --> 00:47:01,144 Os ydych yn edrych ar CS 50 Astudiaeth, mae llawer mwy ar hynny. 998 00:47:01,144 --> 00:47:03,060 Ond mae gennym lawer i'w gael drwy, felly dwi'n mynd 999 00:47:03,060 --> 00:47:05,760 i fynd i'r dde ymlaen os mae hynny'n iawn gyda chi guys? 1000 00:47:05,760 --> 00:47:07,960 Cool. 1001 00:47:07,960 --> 00:47:08,460 Dal ymlaen. 1002 00:47:08,460 --> 00:47:11,182 Yn bendant wedi bod rhestr gyfan o- huh! 1003 00:47:11,182 --> 00:47:13,140 Nid wyf yn gwybod pam mae hyn yn yr holl ffordd dros yma. 1004 00:47:13,140 --> 00:47:15,660 Roeddwn i'n meddwl i mi symud yn llythrennol tra oeddwn sitting-- 1005 00:47:15,660 --> 00:47:16,540 >> DAVIN: Ydych chi eisiau ei ddysgu? 1006 00:47:16,540 --> 00:47:17,420 Neu ydych chi am i mi ei ddysgu? 1007 00:47:17,420 --> 00:47:20,010 >> GYNULLEIDFA: Roeddwn i'n meddwl y gallem dim ond dangos iddynt i ddechrau. 1008 00:47:20,010 --> 00:47:22,210 Yr wyf yn golygu, gallwch fynd i mewn i ymhellach, ond yr wyf yn 1009 00:47:22,210 --> 00:47:26,030 meddwl ei gwneud mwy o synnwyr ers i mi yn unig oedd yn siarad am statws HTTP. 1010 00:47:26,030 --> 00:47:28,200 Felly dyma y rhestr gyfan. 1011 00:47:28,200 --> 00:47:31,730 Amcana beth sy'n mynd i ddigwydd yn Davin yn mynd i fynd i mewn iddynt yn nes ymlaen. 1012 00:47:31,730 --> 00:47:35,330 Ond mae 'na restr cyfan, mae rhagolwg o'r blas i ddod. 1013 00:47:35,330 --> 00:47:41,640 OK, rydym yn mynd i blow-- hyn yn mynd i fod yn gwrs carlam PHP fel dim arall. 1014 00:47:41,640 --> 00:47:44,874 >> Felly PHP, Preprocessor hyperdestun, mae'n backronym ailadroddus, 1015 00:47:44,874 --> 00:47:46,540 sy'n golygu y cafodd ei enwi rhywbeth arall. 1016 00:47:46,540 --> 00:47:49,050 Ac yna roeddent yn hoffi, mae hyn yn nid yw'n wir yn gwneud synnwyr. 1017 00:47:49,050 --> 00:47:52,210 Felly, maent yn unig a enwir iddo-- ac yr oedd yn acronym, 1018 00:47:52,210 --> 00:47:54,840 fel eu bod yn jyst yn ei gwneud yn PHP Preprocessor hyperdestun, a oedd yn 1019 00:47:54,840 --> 00:47:55,980 jyst yn gwneud unrhyw synnwyr. 1020 00:47:55,980 --> 00:47:57,714 Stori hwyl. 1021 00:47:57,714 --> 00:47:58,880 Mae'n iaith raglennu. 1022 00:47:58,880 --> 00:48:02,360 Felly, gymaint ag yr wyf yn pwysleisio bod Nid HTML yn iaith raglennu, 1023 00:48:02,360 --> 00:48:05,350 mae'n iaith marcio, PHP yn iaith raglennu. 1024 00:48:05,350 --> 00:48:07,422 Sut ydych chi'n gwybod hyn yn oherwydd bod rhesymeg. 1025 00:48:07,422 --> 00:48:08,380 Mae conditionals. 1026 00:48:08,380 --> 00:48:12,750 Mae gennym newidynnau, ond yr ydym ni yn cael yr un o'r pethau hynny yn HTML. 1027 00:48:12,750 --> 00:48:16,960 >> Mae pob hawl, yna mae gennym ychydig hwn bit yma y mae fel blas o PHP. 1028 00:48:16,960 --> 00:48:20,510 Felly pethau sylfaenol, enwau amrywiol yn dechrau gyda arwydd doler. 1029 00:48:20,510 --> 00:48:21,500 Mae llawer o bobl yn ei hoffi. 1030 00:48:21,500 --> 00:48:22,371 Atgoffa o ohonom arian. 1031 00:48:22,371 --> 00:48:22,995 Mae hyn i gyd wych. 1032 00:48:22,995 --> 00:48:25,280 Yr ydym i gyd am PHP. 1033 00:48:25,280 --> 00:48:28,020 Felly, nid ydym yn pennu Math newidyn yn anymore. 1034 00:48:28,020 --> 00:48:29,995 Mae'n cael ei benderfynu ar adeg rhedeg. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Bydd y cyfieithydd yn debyg, oh, byddwn yn jyst yn rhedeg drwy, 1037 00:48:35,890 --> 00:48:39,565 ac yn ôl y cyd-destun, gawn ni weld pa fathau o fathau 1038 00:48:39,565 --> 00:48:41,560 Mae angen i newidynnau hyn gael. 1039 00:48:41,560 --> 00:48:42,815 Does dim brif swyddogaeth. 1040 00:48:42,815 --> 00:48:43,690 Bydd Pethau jyst yn rhedeg. 1041 00:48:43,690 --> 00:48:47,851 Rydych guys gyda'ch mewnforio yn eich set-p olaf, byddwch yn sylwi hyn. 1042 00:48:47,851 --> 00:48:49,350 Nid oedd mewn gwirionedd yn brif swyddogaeth. 1043 00:48:49,350 --> 00:48:52,070 Yr ydych newydd ei ysgrifennu yr hyn y yr ydych eisiau ei weld yn digwydd. 1044 00:48:52,070 --> 00:48:53,280 Ac mae'n jyst fath o ddigwydd. 1045 00:48:53,280 --> 00:48:56,760 Felly dyna PHP i chi. 1046 00:48:56,760 --> 00:48:59,180 >> Araeau yn debyg iawn. 1047 00:48:59,180 --> 00:49:01,270 Mae gennym braced hwn. 1048 00:49:01,270 --> 00:49:05,940 Yma, mae gennym rai newidyn Gelwir tr, ac mae'n gyfartal 1049 00:49:05,940 --> 00:49:08,540 i-- rydym wedi ein arferol nodiant braced. 1050 00:49:08,540 --> 00:49:10,630 Ac mae gennym rhywfaint o werth allweddol. 1051 00:49:10,630 --> 00:49:14,630 A'r gwahaniaeth mawr rhwng araeau C a PHP 1052 00:49:14,630 --> 00:49:19,330 yw y gallwn gael associate-- hwn gallwn gysylltu gwerthoedd i allweddi. 1053 00:49:19,330 --> 00:49:22,440 Felly, yn hytrach na dim ond cael amrywiaeth sy'n cael ei mynegeio 1054 00:49:22,440 --> 00:49:26,630 gan y nifer neu os yw'r swydd o'r elfen honno yn y casgliad, 1055 00:49:26,630 --> 00:49:29,060 gallwn mewn gwirionedd yn ei gysylltu gydag allwedd. 1056 00:49:29,060 --> 00:49:36,700 Ble gallwn ddweud, OK, yr wyf am beth bynnag gwerth yn gysylltiedig â ffrwythau. 1057 00:49:36,700 --> 00:49:39,280 Ac efallai rydym wedi mynd ffrwythau i banana. 1058 00:49:39,280 --> 00:49:41,760 Felly, byddwn yn dychwelyd banana i ni. 1059 00:49:41,760 --> 00:49:44,100 >> Ond yn y bôn, y mwyaf beth pwerus am hyn 1060 00:49:44,100 --> 00:49:47,960 yw os ydych yn guys yn cofio'r demo o ddarlith lle rydym yn y bôn 1061 00:49:47,960 --> 00:49:53,050 sillafu rewrote yn PHP, ac mae'n am-edrych was-- yn wirioneddol yn union fel, 1062 00:49:53,050 --> 00:49:55,007 mae allwedd hon yn bodoli? 1063 00:49:55,007 --> 00:49:56,590 Mae hynny'n wir yn fath o rym iddo. 1064 00:49:56,590 --> 00:49:58,560 Nid oes angen i chi ailadrodd drwy eich casgliad. 1065 00:49:58,560 --> 00:50:00,311 Nid oes angen i chi ei wybod pa le 'i' yn. 1066 00:50:00,311 --> 00:50:01,976 Gallai fod ar y diwedd neu y dechrau. 1067 00:50:01,976 --> 00:50:04,790 Cyn belled ag y byddwch yn gwybod yr allwedd mae hynny'n gysylltiedig â'r gwerth, 1068 00:50:04,790 --> 00:50:09,740 Gall PHP yn unig poeri bod gwerth i'r dde yn ôl allan ar chi, OK? 1069 00:50:09,740 --> 00:50:12,960 >> Ac yna, rydym hefyd yn unig wedi dim ond oherwydd ein bod 1070 00:50:12,960 --> 00:50:16,750 Gall gael parau gwerth allweddol nid yw'n golygu rhaid i chi. 1071 00:50:16,750 --> 00:50:19,180 Gallwch hefyd jyst yn creu amrywiaeth arferol fel yma, 1072 00:50:19,180 --> 00:50:21,540 ar y gwaelod, lle y mae'n dim ond un, dau, tri, pedwar. 1073 00:50:21,540 --> 00:50:22,510 Mae'r rhai yw ein gwerthoedd. 1074 00:50:22,510 --> 00:50:25,320 Ac yn wir, eu allweddi yw'r mynegeion. 1075 00:50:25,320 --> 00:50:26,830 Felly byddai'r allweddol ar gyfer un fod yn sero. 1076 00:50:26,830 --> 00:50:28,610 Byddai'r allweddol ar gyfer dau fod yn un. 1077 00:50:28,610 --> 00:50:31,910 Yn y blaen ac yn y blaen, oni bai byddwch yn aseinio allwedd benodol, 1078 00:50:31,910 --> 00:50:34,630 gallech dybio bod y gwerth yn unig yw eu mynegai. 1079 00:50:34,630 --> 00:50:37,290 A yw hynny'n gwneud synnwyr i bawb? 1080 00:50:37,290 --> 00:50:38,070 Dim cwestiynau? 1081 00:50:38,070 --> 00:50:38,930 Awesome. 1082 00:50:38,930 --> 00:50:44,420 >> OK, foreach yn ffordd o ailadrodd drwy eich araeau. 1083 00:50:44,420 --> 00:50:47,490 Felly mae gennym rywbeth yma, dim ond y strwythur cyffredinol. 1084 00:50:47,490 --> 00:50:51,020 Felly foreach, enw'r ein array, fel beth bynnag 1085 00:50:51,020 --> 00:50:53,930 ydych am ei alw bob elfen yn eich array, 1086 00:50:53,930 --> 00:50:57,270 a gallwn wneud rhywbeth gyda yr elfen honno neu gyda y gwerth hwnnw. 1087 00:50:57,270 --> 00:50:58,680 Felly, mae gennym enghraifft yma. 1088 00:50:58,680 --> 00:51:05,770 Mae gennym cysylltiadol arae â'r dau gofnod 1089 00:51:05,770 --> 00:51:10,080 gyda bar yn gysylltiedig â foo ac qux yn gysylltiedig â Baz. 1090 00:51:10,080 --> 00:51:12,180 Felly allweddi yn foo a Baz. 1091 00:51:12,180 --> 00:51:13,650 Gwerthoedd yw bar a qux. 1092 00:51:13,650 --> 00:51:18,560 Felly foreach, rydym wedi ein amrywiaeth yma, gan fod y pâr gwerth allweddol. 1093 00:51:18,560 --> 00:51:21,560 Mae hyn yn ein galluogi i fynediad yn yr allwedd a gwerth. 1094 00:51:21,560 --> 00:51:23,680 Efallai eich bod dim ond eisiau i'r gwerth, ac os felly 1095 00:51:23,680 --> 00:51:27,640 gallech jyst ddim yn hoffi arr fel $ werth, ac yna rydych 1096 00:51:27,640 --> 00:51:30,640 yn unig gael mynediad at y gwerth wrth i chi ailadrodd drwy'r. 1097 00:51:30,640 --> 00:51:32,600 Ond efallai, ar gyfer rhai rheswm, ydych am i'r allweddol, 1098 00:51:32,600 --> 00:51:35,460 a dyna pam y dewisais enghraifft hon yn lle hynny. 1099 00:51:35,460 --> 00:51:40,240 Er mwyn i chi drin mewn gwirionedd allweddol a gwerth yn yr achos hwn. 1100 00:51:40,240 --> 00:51:41,070 OK? 1101 00:51:41,070 --> 00:51:41,905 Cwestiwn? 1102 00:51:41,905 --> 00:51:44,279 >> GYNULLEIDFA: Os ydych yn dymuno dim ond trin y allweddol, byddai 1103 00:51:44,279 --> 00:51:45,910 rhaid i chi wneud foreach-- 1104 00:51:45,910 --> 00:51:47,360 >> ALISON: Iawn. 1105 00:51:47,360 --> 00:51:50,560 Felly, os ydych eisiau trin dim ond y allweddol, 1106 00:51:50,560 --> 00:51:53,680 Byddai angen hyn i chi cystrawen oherwydd os ydych yn unig 1107 00:51:53,680 --> 00:51:56,930 cael tr fel rhywbeth, fel un peth, 'i' 1108 00:51:56,930 --> 00:52:00,070 mynd i gymryd yn ganiataol eich bod am gwerth, nid yw'r allwedd. 1109 00:52:00,070 --> 00:52:06,780 Felly, os ydych chi erioed gen union fel tr fel, efallai mae hyn yn debyg $ elfen, 1110 00:52:06,780 --> 00:52:11,670 mae'n mynd i gymryd yn ganiataol eich bod yn gofyn am ddim ond gwerth ar bob pwynt. 1111 00:52:11,670 --> 00:52:13,879 Os ydych chi eisiau benodol at gwneud rhywbeth gyda'r allweddol, 1112 00:52:13,879 --> 00:52:16,170 hyd yn oed os nad ydych yn mynd i gwneud unrhyw beth â'r gwerth, 1113 00:52:16,170 --> 00:52:18,430 ydych angen strwythur hwn sydd gennym yma 1114 00:52:18,430 --> 00:52:22,330 ble rydych yn gofyn yn benodol ar gyfer y allweddol a'r gwerth. 1115 00:52:22,330 --> 00:52:24,170 Cwestiwn mawr. 1116 00:52:24,170 --> 00:52:25,940 Unrhyw beth arall? 1117 00:52:25,940 --> 00:52:27,490 Cool. 1118 00:52:27,490 --> 00:52:29,911 >> Mae pob hawl, PHP a HTML. 1119 00:52:29,911 --> 00:52:31,410 O, rydym yn ôl i saith eto set-t. 1120 00:52:31,410 --> 00:52:35,380 Felly, dylai hyn edrych ychydig yn gyfarwydd. 1121 00:52:35,380 --> 00:52:41,760 Felly mae hyn yn rhyw fath HTML syml sydd â rhyw enw mewnbwn helo. 1122 00:52:41,760 --> 00:52:43,820 Ac rydym yn gweld ein bod wedi ein dull o GET. 1123 00:52:43,820 --> 00:52:47,430 Ac os ydym yn cofio o'n p-set, pan fydd y ffurflen hon ei chyflwyno, 1124 00:52:47,430 --> 00:52:58,130 bydd yn anfon amrywiaeth o'r enw $ _GET sydd wedi pob un o'r mewnbynnau hyn neu newidyn o 1125 00:52:58,130 --> 00:53:00,490 y ffurflen a ddylai fod yn trin yn ein PHP. 1126 00:53:00,490 --> 00:53:03,320 Felly, yn yr achos hwn, y defnyddiwr Byddai rhoi yn eu henw. 1127 00:53:03,320 --> 00:53:04,370 Maent yn ei gyflwyno. 1128 00:53:04,370 --> 00:53:07,810 Ac rydym yn gweld ein bod yn cael rhywfaint o amrywiaeth yma. 1129 00:53:07,810 --> 00:53:09,080 Rydym wedi ein amrywiaeth GET. 1130 00:53:09,080 --> 00:53:11,510 Ac rydym yn cael mynediad yr enw. 1131 00:53:11,510 --> 00:53:15,070 >> Felly sy'n dweud, OK, yn rhoi i mi y gwerth sy'n cael ei sy'n gysylltiedig â enw, 1132 00:53:15,070 --> 00:53:16,550 enwi sef yr allwedd yma. 1133 00:53:16,550 --> 00:53:21,400 A bod mapiau yn uniongyrchol i'r hyn dywedasom ein henw mewnbwn yn. 1134 00:53:21,400 --> 00:53:28,960 Felly, mae hyn yn rhoi allwedd i chi beth yn mynd i fod yn eich amrywiaeth yma. 1135 00:53:28,960 --> 00:53:31,220 A yw hynny'n gwneud synnwyr i bawb? 1136 00:53:31,220 --> 00:53:32,070 Ie? 1137 00:53:32,070 --> 00:53:36,240 >> GYNULLEIDFA: A oes gan yr enw yn cyfeirio GET at y llinell borffor yn [Anghlywadwy]? 1138 00:53:36,240 --> 00:53:37,740 >> ALISON: Mae'n cyfeirio at hyn yma. 1139 00:53:37,740 --> 00:53:43,840 Felly, y maes hwn yn iawn yma, mae'n cyfeirio at yr enw hwn yma. 1140 00:53:43,840 --> 00:53:47,800 Felly gallai hyn fod wedi cael ei enwi fel rhif ffôn, neu beth bynnag. 1141 00:53:47,800 --> 00:53:51,790 Mae hyn yn enw yn dweud mewn gwirionedd, yr hyn y a ydych yn galw y maes hwn? 1142 00:53:51,790 --> 00:53:53,600 Sut ydych chi'n mynd i cyfeirio at y maes hwn? 1143 00:53:53,600 --> 00:53:57,670 Ac mae enw hwn mewn gwirionedd yn ei hoffi, rydym yn y gelwir enw yn dweud y maes hwn. 1144 00:53:57,670 --> 00:53:59,224 Dyna sut yr ydym yn mynd i gael gafael arno. 1145 00:53:59,224 --> 00:54:02,070 >> GYNULLEIDFA: Felly a yw'n ei hoffi, Enw mewnbwn yn hafal i Bob, ac-- 1146 00:54:02,070 --> 00:54:04,380 >> ALISON: Iawn, yna rydych Byddai cael Bob lawr yno. 1147 00:54:04,380 --> 00:54:06,090 Yn union. 1148 00:54:06,090 --> 00:54:07,800 Mae pawb yn oer? 1149 00:54:07,800 --> 00:54:10,990 Mae pob hawl, felly GET yn erbyn POST, mae'r rhain yn y ddwy brif ffordd 1150 00:54:10,990 --> 00:54:14,880 ein bod yn pasio data mewn cais HTTP. 1151 00:54:14,880 --> 00:54:17,370 Dylech guys wedi gweld y ddau o'r rhain, gobeithio. 1152 00:54:17,370 --> 00:54:20,940 Felly, gyda GET, mae'r wybodaeth ei basio drwy'r URL. 1153 00:54:20,940 --> 00:54:23,490 Felly, os ydych chi erioed yn ei wneud Google chwiliadau, YouTube, wnewch chi helpu 1154 00:54:23,490 --> 00:54:25,130 yn ôl pob tebyg yn sylwi ar rai marc cwestiwn. 1155 00:54:25,130 --> 00:54:28,230 Ac yna, y geiriau i gyd eich bod dim ond eu rhoi i mewn 'na. 1156 00:54:28,230 --> 00:54:31,410 Ac SWYDD pasio data yn y corff neges HTTP. 1157 00:54:31,410 --> 00:54:36,922 Felly yn wahanol i GET, rydych fath o ystyried bod y data yn cael ei guddio oddi wrth y defnyddiwr. 1158 00:54:36,922 --> 00:54:38,630 Ond yr hyn sy'n wir yn bwysig deall 1159 00:54:38,630 --> 00:54:44,040 yw bod hyn yn dal i fod yn yr un mor ansicr â GET. 1160 00:54:44,040 --> 00:54:48,780 Mae'r gyfatebiaeth Rwy'n hoffi defnyddio yw os mae gennych eich rhif cyfrif banc 1161 00:54:48,780 --> 00:54:52,795 ac rydych yn ei ysgrifennu ar y tu allan amlen, mae hynny'n eithaf anniogel. 1162 00:54:52,795 --> 00:54:55,920 Pe baech yn ysgrifennu ar ddarn o papur a'i roi y tu mewn i'r amlen, 1163 00:54:55,920 --> 00:54:58,850 mae'n dal i fod mewn gwirionedd yn anniogel oherwydd bod i gyd yn rhaid i chi ei wneud yw agor bod hyd 1164 00:54:58,850 --> 00:55:03,480 ac edrych ar y cynnwys gwirioneddol y neges i weld hynny. 1165 00:55:03,480 --> 00:55:08,310 Felly, mae hyn yn "cudd", a phobl fel i meddwl ei fod yn ddiogel, ond mae'n wirioneddol peidio. 1166 00:55:08,310 --> 00:55:11,000 Ac rwy'n siŵr y bydd Davin fynd i mewn y bydd mwy, efallai. 1167 00:55:11,000 --> 00:55:12,850 Ond ei fod yn bwysig gwahaniaeth i wneud 1168 00:55:12,850 --> 00:55:15,820 ac yn rhywbeth gwirioneddol dda i'w deall. 1169 00:55:15,820 --> 00:55:19,220 >> OK, SQL, Iaith Ymholiad Strwythuredig. 1170 00:55:19,220 --> 00:55:22,220 Mae pob un o'r pethau sy'n rydym wedi gweld mor ddiweddar! 1171 00:55:22,220 --> 00:55:25,400 Felly, mae'n bôn yn unig gynllunio, yn amlwg, ar gyfer rheoli data. 1172 00:55:25,400 --> 00:55:30,560 Yr oedd gennych guys lawer o brofiad gyda hyn yn eich tablau gyda MyAdmin PHP. 1173 00:55:30,560 --> 00:55:34,100 Ac mae pedwar ymholiadau cyffredin ein bod am i chi guys wybod. 1174 00:55:34,100 --> 00:55:37,304 Felly mae diweddariad, mewnosoder, dethol, ac yn dileu. 1175 00:55:37,304 --> 00:55:38,970 Felly, gwnewch yn siŵr eich bod yn gwybod y rhai yn dda iawn. 1176 00:55:38,970 --> 00:55:40,960 Rydym yn mynd i fynd drwyddynt yn gyflym iawn. 1177 00:55:40,960 --> 00:55:44,340 >> Felly diweddaru, mewn gwirionedd, gan fod yr hyn y efallai y byddwch yn meddwl y mae'n ei wneud, 1178 00:55:44,340 --> 00:55:46,740 'i jyst yn diweddaru data yn eich cronfa ddata. 1179 00:55:46,740 --> 00:55:48,750 Felly, mae gennym rai enghraifft yma. 1180 00:55:48,750 --> 00:55:53,310 Mae hyn yn y cyffredinol Strwythur o ymholiad diweddaru. 1181 00:55:53,310 --> 00:55:56,150 Felly, rydym yn diweddaru'r tabl ein bod yn sôn amdano. 1182 00:55:56,150 --> 00:56:00,520 Ac rydym am osod rhai gwerthoedd, rhai colofnau 1183 00:56:00,520 --> 00:56:02,600 cyfartal i werthoedd penodol. 1184 00:56:02,600 --> 00:56:07,500 Felly, mae hyn yn unig yn diweddaru'r tabl, sy'n newid gwerthoedd ym mhob rhes yn yr achos hwn. 1185 00:56:07,500 --> 00:56:13,690 Felly, yn yr un yma i lawr fan hyn, mae gwir enghraifft, mae gennym insert-- n chwith. 1186 00:56:13,690 --> 00:56:17,630 Bod sleid uwch heb i mi sylweddoli. 1187 00:56:17,630 --> 00:56:22,230 >> Felly tabl diweddariadau hwn yn gosod col1 cyfartal i val1 lle mae tŷ hafal "lledrwr." 1188 00:56:22,230 --> 00:56:25,300 Beth mae hyn yn un ei wneud yw dim ond yn newid, dim ond 1189 00:56:25,300 --> 00:56:28,130 yn diweddaru gwerthoedd hyn mewn mannau penodol. 1190 00:56:28,130 --> 00:56:32,300 Felly, yn yr un cyntaf, mae'n newid y rhain gwerthoedd ar gyfer popeth yn eich tabl, 1191 00:56:32,300 --> 00:56:32,860 OK? 1192 00:56:32,860 --> 00:56:35,820 Mae'n mynd i newid hyn colofn ar gyfer pob un mynediad, 1193 00:56:35,820 --> 00:56:37,020 ar gyfer pob un rhes. 1194 00:56:37,020 --> 00:56:40,840 Ond lle mae hyn, gallech meddwl am y peth fel rhagbrofol. 1195 00:56:40,840 --> 00:56:44,020 Felly, mae'n dim ond yn mynd i newid mewn mannau penodol iawn. 1196 00:56:44,020 --> 00:56:47,840 Felly mewn saith, pan fyddwch yn gosod-p efallai Diweddarwyd y swm o arian parod 1197 00:56:47,840 --> 00:56:53,050 bod eich defnyddiwr wedi, mae'n debyg roedd gan rhai lle mae ID hafal sesiwn adnabod, dde? 1198 00:56:53,050 --> 00:56:55,280 >> Oherwydd nad oeddech am yn newid y swm o arian parod 1199 00:56:55,280 --> 00:56:57,630 ar gyfer pob person sydd yn defnyddio eich gwefan. 1200 00:56:57,630 --> 00:57:00,480 Roeddech am ei newid am un berson penodol, y person hwnnw yn cael 1201 00:57:00,480 --> 00:57:02,410 pwy bynnag oedd yn ei ddefnyddio ar y pryd. 1202 00:57:02,410 --> 00:57:04,320 Iawn? 1203 00:57:04,320 --> 00:57:07,510 Iawn, felly mewnosod, mewnosoder gwerthoedd penodol mewn tablau. 1204 00:57:07,510 --> 00:57:11,650 Mae hyn yn debyg pan fyddwch yn creu defnyddiwr newydd sbon. 1205 00:57:11,650 --> 00:57:14,240 Mae'r strwythur cyffredinol yma yn cael ei mewnosod i mewn i beth bynnag y tabl 1206 00:57:14,240 --> 00:57:15,680 rydym yn sôn am. 1207 00:57:15,680 --> 00:57:18,910 Gwerthoedd, sef y gwerthoedd sy'n rydym mewn gwirionedd yn awyddus i fewnosod. 1208 00:57:18,910 --> 00:57:23,060 Iawn, felly wrth i ni weld yma, rydym yn wedi mewnosod i mewn i dabl. 1209 00:57:23,060 --> 00:57:27,790 Mae hyn yn golofnau penodol gyda eu gwerthoedd cyfateb. 1210 00:57:27,790 --> 00:57:29,940 Felly, mae hyn yn dweud, mewnosodwch rhes newydd sy'n cynnwys 1211 00:57:29,940 --> 00:57:33,660 Gwerthoedd val1 a val2 dan colofnau penodol hyn. 1212 00:57:33,660 --> 00:57:39,240 >> Felly, efallai mai dim ond am ei llenwi allan hanner y pethau yn y rhes hon. 1213 00:57:39,240 --> 00:57:41,150 Dyna beth y rhan hon yma yn gadael i chi ei wneud. 1214 00:57:41,150 --> 00:57:43,280 Mae'n gadael i chi mewn gwirionedd penderfynu pa ran. 1215 00:57:43,280 --> 00:57:44,244 Ie? 1216 00:57:44,244 --> 00:57:52,150 >> GYNULLEIDFA: Allwch chi yn unig [Anghlywadwy] celloedd yn y rhes [Anghlywadwy]? 1217 00:57:52,150 --> 00:57:55,000 >> ALISON: Os mai dim ond llenwi rhannau penodol o'ch rhes, 1218 00:57:55,000 --> 00:57:57,480 gweddill y celloedd hynny yn unig wag. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Cyn belled ag y byddwch yn eu caniatáu i fod yn wag, nid yw'n broblem. 1221 00:58:05,660 --> 00:58:09,570 Os ydych yn ceisio i gael gafael arnynt, 'i' mynd i ddychwelyd rhyw elfen gwag. 1222 00:58:09,570 --> 00:58:13,850 Ond mae'n bwysig gwybod hynny mewn tablau penodol, 1223 00:58:13,850 --> 00:58:16,690 maent wedi cael eu caniatáu i fod yn null. 1224 00:58:16,690 --> 00:58:18,890 Efallai eich bod wedi rhedeg i mewn i problem yn ystod eich p-set 1225 00:58:18,890 --> 00:58:21,320 oherwydd doedden ni ddim yn gadael i unrhyw o'ch gwerthoedd null fod. 1226 00:58:21,320 --> 00:58:26,110 Ond gallwch benodi Gwerth dewisol yn eich tabl. 1227 00:58:26,110 --> 00:58:29,640 >> OK, dewis, felly mae hyn yn dim ond ffordd o gael 1228 00:58:29,640 --> 00:58:33,790 data penodol o dabl yn rhyw dynodwr 'ch angen. 1229 00:58:33,790 --> 00:58:37,990 Felly dewiswch seren o dabl lle col hafal rhywbeth yn unig yn golygu, 1230 00:58:37,990 --> 00:58:43,820 roi'r holl ddata cysylltiedig i mi lle mae hyn golofn penodol yn wir. 1231 00:58:43,820 --> 00:58:49,020 Felly, mae'r seren yn yr achos hwn bydd dychwelyd y rhes cyfan i chi, iawn? 1232 00:58:49,020 --> 00:58:54,880 >> Ac yna, yn yr achos hwn, dewiswch seren o tabl jyst yn rhoi y tabl cyfan i chi. 1233 00:58:54,880 --> 00:58:58,940 Ac yna, dileu yn amlwg, 'i jyst yn dileu y rhes o'r tabl. 1234 00:58:58,940 --> 00:59:01,320 Felly dileu o dabl, beth bynnag tabl rydym yn 1235 00:59:01,320 --> 00:59:06,830 cyfeirnodi, lle mae rhai penodol dynodwr neu ryw gyflwr yn wir. 1236 00:59:06,830 --> 00:59:07,720 Ie? 1237 00:59:07,720 --> 00:59:08,700 >> GYNULLEIDFA: Cwestiwn. 1238 00:59:08,700 --> 00:59:10,699 Pam yr ydych yn defnyddio dwbl dyfyniadau, ac a ydych 1239 00:59:10,699 --> 00:59:13,600 gwneud dyfynodau dwbl neu sengl dyfyniadau, a yw'n gwneud gwahaniaeth? 1240 00:59:13,600 --> 00:59:18,235 >> ALISON: dyfyniadau Dwbl neu dyfynodau sengl nid yw'n gwneud gwahaniaeth yn SQL. 1241 00:59:18,235 --> 00:59:19,610 Roeddwn i'n meddwl i mi weld cwestiwn arall. 1242 00:59:19,610 --> 00:59:20,814 Ie? 1243 00:59:20,814 --> 00:59:25,070 >> GYNULLEIDFA: Nid yw'n effeithio ar yr hyn y yn cael dianc o'r ymholiad? 1244 00:59:25,070 --> 00:59:27,945 >> ALISON: Rob? 1245 00:59:27,945 --> 00:59:31,410 >> ROB: Beth ydych chi'n ei olygu wrth dianc o'r ymholiad? 1246 00:59:31,410 --> 00:59:36,870 >> GYNULLEIDFA: Os oes gan rywun sengl ymholiad yn y ffurflen o- 1247 00:59:36,870 --> 00:59:39,862 >> ROB: Os bydd rhywun yn cael rhoi dyfyniad sengl mewn, 1248 00:59:39,862 --> 00:59:43,560 Yna, ar yr amod eich bod yn glanweithio eich mewnbwn, yna does dim ots. 1249 00:59:43,560 --> 00:59:46,205 Ond os ydych yn defnyddio un quote ac rydych yn anghywir 1250 00:59:46,205 --> 00:59:47,914 dianc eich mewnbynnau, yna ie, arnynt eu hangen 1251 00:59:47,914 --> 00:59:51,079 i roi dyfyniad sengl er mwyn torri eich cod. os ydych yn defnyddio dyfynodau dwbl, 1252 00:59:51,079 --> 00:59:53,580 mae angen iddynt roi dwbl dyfynnu i dorri eich cod. 1253 00:59:53,580 --> 00:59:56,163 Ond cyn belled ag y byddwch yn dianc pethau yn gywir, does dim ots. 1254 00:59:56,163 --> 00:59:59,220 Dim ond mae'n mynd i gael eu cyfieithu at y symbol cywir beth bynnag. 1255 00:59:59,220 --> 01:00:02,332 >> GYNULLEIDFA: Beth mae dianc yn ei olygu? 1256 01:00:02,332 --> 01:00:04,040 ALISON: Wel, fel glanweithio a dianc. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 Mae'r arholiad sydd gennym, mae'r XKCD mawr comig eu bod yn tynnu i fyny lle mae gennych, 1259 01:00:13,820 --> 01:00:15,629 oh-- 1260 01:00:15,629 --> 01:00:16,670 ROB: Mae'n y sleid olaf. 1261 01:00:16,670 --> 01:00:18,500 ALISON: Mae'n y sleid olaf, mewn gwirionedd? 1262 01:00:18,500 --> 01:00:20,200 O fy duw. 1263 01:00:20,200 --> 01:00:21,780 Dyna ni, perffaith. 1264 01:00:21,780 --> 01:00:27,900 Iawn, felly y bôn, gallwch chwistrellu rhywbeth i mewn i hyn SQL query 1265 01:00:27,900 --> 01:00:30,560 lle mae'n torri eich cod, neu fel y dangosodd David 1266 01:00:30,560 --> 01:00:38,460 yn y dosbarth, os oes gennym rai sengl dyfyniad 1 hafal i 1 ac os yn ein cod, 1267 01:00:38,460 --> 01:00:41,230 rydym yn unig yn uniongyrchol adysgrifia hynny i mewn, a mae gennym dod i ben dyfynbris sengl, 1268 01:00:41,230 --> 01:00:44,740 yr hyn sy'n digwydd yw ein bod yn cael rhyw mynegiant hwnnw 1269 01:00:44,740 --> 01:00:48,680 gwerthuso i gwir a fydd yn gadael i rywun fynd i mewn ein cronfa ddata 1270 01:00:48,680 --> 01:00:51,720 ac yn cael data sydd gennym ddim eisiau iddyn nhw gael. 1271 01:00:51,720 --> 01:00:54,240 Felly glanweithio mewnbynnau dim ond yn golygu gwneud yn siŵr 1272 01:00:54,240 --> 01:00:57,680 ein bod yn dianc rhag y rhain cymeriadau ac yn eu dynodi 1273 01:00:57,680 --> 01:01:01,720 fel chars ac nid yw pethau y dylid eu caniatáu 1274 01:01:01,720 --> 01:01:04,990 i'w cymryd yn llythrennol fel ein datganiad SQL. 1275 01:01:04,990 --> 01:01:09,980 >> Felly, y peth mawr sy'n dweud ein y dylech guys fod yn defnyddio 1276 01:01:09,980 --> 01:01:13,650 Roedd chars arbennig HTML, sy'n rhywbeth 1277 01:01:13,650 --> 01:01:15,730 efallai y byddwch am gymryd golwg ar. 1278 01:01:15,730 --> 01:01:17,240 OK, dileu. 1279 01:01:17,240 --> 01:01:19,450 Mathau data, bydd hyn i gyd fod ar-lein. 1280 01:01:19,450 --> 01:01:23,510 Ers i ni wedi 15 munud ar ôl, rwy'n jyst yn mynd i fynd i'r dde drwy hyn. 1281 01:01:23,510 --> 01:01:28,500 PHP a SQL, yn y bôn mae hyn yn dim ond cawsom swyddogaeth ymholiad sy'n 1282 01:01:28,500 --> 01:01:31,520 wedi helpu amddiffyn yn erbyn ymosodiadau maleisus hyn. 1283 01:01:31,520 --> 01:01:33,970 Felly, pryd bynnag y byddwch yn defnyddio ymholiad, rydym yn gwneud yn siwr 1284 01:01:33,970 --> 01:01:36,560 bod pethau'n cael eu glanweithio a whatnot. 1285 01:01:36,560 --> 01:01:41,070 >> Dim ond patrwm dylunio MVC yw, felly model, gweld, rheolwr. 1286 01:01:41,070 --> 01:01:44,200 Dim ond yn ffordd i gadw pethau 'n glws a gwahanu yn yr un ffordd 1287 01:01:44,200 --> 01:01:47,100 ein bod yn tueddu i ffactor Cod allan i'r swyddogaethau. 1288 01:01:47,100 --> 01:01:53,390 Mae hyn yn unig fframwaith dylunio gwe yn sy'n eich galluogi i wneud yr un peth. 1289 01:01:53,390 --> 01:01:54,760 Rydw i'n mynd i hepgor hyn. 1290 01:01:54,760 --> 01:01:58,530 >> Mae hyn yn rhywbeth yr wyf yn fyddai super gyfforddus gyda. 1291 01:01:58,530 --> 01:02:01,132 Mae'n tabl bach gwych yno. 1292 01:02:01,132 --> 01:02:03,090 Mae'n rhoi i chi y swyddogaeth enghraifft o'r model. 1293 01:02:03,090 --> 01:02:05,473 Im 'jyst yn mynd trwy hyn am fy mod wir eisiau Davin i fod yn gallu siarad. 1294 01:02:05,473 --> 01:02:07,140 Os oes gennych unrhyw gwestiynau, croeso. 1295 01:02:07,140 --> 01:02:07,931 'N annhymerus' fod yma ar ôl. 1296 01:02:07,931 --> 01:02:10,360 Dim ond yn dod yn siarad â mi. 1297 01:02:10,360 --> 01:02:13,380 Gyda hynny, mae gennym statws HTTP. 1298 01:02:13,380 --> 01:02:16,270 Ac Davin yn mynd i chwythu drwy hyn mewn 15 munud. 1299 01:02:16,270 --> 01:02:17,560 Mae hyn yn mynd i fod yn wych. 1300 01:02:17,560 --> 01:02:18,893 >> DAVIN: OK. 1301 01:02:18,893 --> 01:02:20,312 Uh, eich meic? 1302 01:02:20,312 --> 01:02:22,210 Yeah. 1303 01:02:22,210 --> 01:02:23,336 Mae'n ddrwg gennym. 1304 01:02:23,336 --> 01:02:24,460 ALISON: Ffordd i fod yn barod. 1305 01:02:24,460 --> 01:02:25,335 DAVIN: Na, rwy'n barod. 1306 01:02:25,335 --> 01:02:25,860 Rwy'n barod. 1307 01:02:25,860 --> 01:02:28,790 Gadewch i ni wneud hyn. 1308 01:02:28,790 --> 01:02:29,290 Mae'n barod. 1309 01:02:29,290 --> 01:02:30,041 OK. 1310 01:02:30,041 --> 01:02:30,540 Mae'n ddrwg gennym. 1311 01:02:30,540 --> 01:02:31,664 Yr wyf yn sarnu coffi ar fy hun. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Nid wyf yn gwybod os ydw i'n fwy cynhyrfu fy mod yn edrych yn wirion, 1314 01:02:38,210 --> 01:02:40,600 neu nad oes gennyf coffi anymore. 1315 01:02:40,600 --> 01:02:44,480 Beth bynnag, dim ond gyhoeddiad cyflym am y daflen i chi guys gennych. 1316 01:02:44,480 --> 01:02:47,994 Felly, nid yw daflen hon i chi guys yn cael ei y swyddog beth sydd ar y cwis. 1317 01:02:47,994 --> 01:02:49,660 Mae hyn yn y swyddogol beth sydd ar y cwis. 1318 01:02:49,660 --> 01:02:52,520 Hefyd, ar y wefan, byddwn yn dweud chi, OK, bydd hyn ar y cwis. 1319 01:02:52,520 --> 01:02:55,020 Felly, yn y daflen twyllo bach sydd gennych, nid yn swyddogol. 1320 01:02:55,020 --> 01:02:56,690 Ac mae gamgymeriadau arno. 1321 01:02:56,690 --> 01:03:01,490 Felly well peidio â dim ond blindly ddefnyddio. 1322 01:03:01,490 --> 01:03:04,390 Felly ie, dyna hynny. 1323 01:03:04,390 --> 01:03:05,980 Felly gadewch i ni fynd i mewn i hyn yn gyflym go iawn. 1324 01:03:05,980 --> 01:03:07,420 >> Felly statws HTTP. 1325 01:03:07,420 --> 01:03:10,430 Felly beth sy'n digwydd pan fydd y gwefan, mae popeth yn iawn. 1326 01:03:10,430 --> 01:03:11,144 OK popeth yn. 1327 01:03:11,144 --> 01:03:13,310 Daw popeth yn ôl at chi y ffordd yr ydych am iddo. 1328 01:03:13,310 --> 01:03:15,370 Byddwch yn cael OK 200. 1329 01:03:15,370 --> 01:03:19,250 301, lle y gwelsom bod 301 o'r blaen? 1330 01:03:19,250 --> 01:03:20,890 Arhoswch, beth sydd i fyny? 1331 01:03:20,890 --> 01:03:23,250 Mae'n ddrwg gennym. 1332 01:03:23,250 --> 01:03:24,980 Gwelsom darlith tun ff yn ystod diogelwch. 1333 01:03:24,980 --> 01:03:30,690 Felly yn ystod diogelwch, felly os Dafydd teipio mewn http ac yna ceisio mynd i'r cs50.net, 1334 01:03:30,690 --> 01:03:31,940 rydych chi'n mynd i weld 301 symudodd. 1335 01:03:31,940 --> 01:03:32,440 Pam? 1336 01:03:32,440 --> 01:03:35,570 Oherwydd ei fod yn mynd i ailgyfeirio chi yn awtomatig at ein HTTPS. 1337 01:03:35,570 --> 01:03:38,649 >> Felly 301 symudodd, dim ond ei fod yn bôn yn ailgyfeirio. 1338 01:03:38,649 --> 01:03:40,190 A gallwch feddwl am y peth fel hyn. 1339 01:03:40,190 --> 01:03:43,790 Unrhyw un o'r statws sy'n dechrau gyda 2, y rhai yn debyg, OK, OK popeth yn. 1340 01:03:43,790 --> 01:03:46,530 Unrhyw un o'r statws sy'n dechrau gyda 3, y rhai yn ailgyfeirio. 1341 01:03:46,530 --> 01:03:49,571 Statws sy'n dechrau gyda 4, mae hynny'n ei olygu mae rhyw fath o wall cleient. 1342 01:03:49,571 --> 01:03:52,440 Statws sy'n dechrau gyda 5, dyna rhyw fath o wall gweinydd. 1343 01:03:52,440 --> 01:03:54,680 Felly rydych fath o dorri i fyny mae'r statws fel 'na. 1344 01:03:54,680 --> 01:03:59,120 Felly 304 Nid yw nid yn haddasu, felly yn eich server.c p-setiau, felly gadewch i ni ddweud eich 1345 01:03:59,120 --> 01:04:00,600 cat.html llwytho. 1346 01:04:00,600 --> 01:04:03,360 Daw popeth yn ôl, byddwch yn cael 200s, OK, gwych. 1347 01:04:03,360 --> 01:04:04,540 >> Lets 'ddeud eich bod adnewyddu ei. 1348 01:04:04,540 --> 01:04:07,310 Wel, y tu mewn hwnnw cat.html, mae gennych JPEG. 1349 01:04:07,310 --> 01:04:09,520 Wel, nid yw JPEG yw mynd i gael eu hail-lwytho. 1350 01:04:09,520 --> 01:04:12,140 Nid ydych yn mynd i bostio un arall GET cais at 'r gweinyddwr, 1351 01:04:12,140 --> 01:04:13,980 ac yna yn cael yr holl wybodaeth sydd yn ôl. 1352 01:04:13,980 --> 01:04:17,560 Mae'n mynd i jyst be-- y ddelwedd yn mynd i gael ei cached ar eich peiriant. 1353 01:04:17,560 --> 01:04:19,540 Ac felly y bydd ddelwedd yn 304. 1354 01:04:19,540 --> 01:04:20,720 Felly, nid yw'n cael ei haddasu. 1355 01:04:20,720 --> 01:04:24,600 Os byddwch wedyn yn cau allan, yn glir cwcis, ac yna adnewyddu 1356 01:04:24,600 --> 01:04:27,490 a cheisio i lwytho y dudalen eto, rydych chi'n mynd i weld 200s. 1357 01:04:27,490 --> 01:04:28,910 Nad ydych yn mynd i weld bod 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, cais drwg, go iawn gyflym, fel os ydych yn 1359 01:04:32,340 --> 01:04:34,880 yn mynd i anfon JSON gwrthrych at 'r gweinyddwr 1360 01:04:34,880 --> 01:04:38,090 a bod eich gwrthrych JSON yn anghywir, byddwch yn gweld rhywbeth fel 'na. 1361 01:04:38,090 --> 01:04:39,000 403, gwahardd. 1362 01:04:39,000 --> 01:04:40,330 Pryd y byddech yn gweld gwaharddedig? 1363 01:04:40,330 --> 01:04:41,394 Mwy na thebyg na thebyg? 1364 01:04:41,394 --> 01:04:42,060 GYNULLEIDFA: chmod. 1365 01:04:42,060 --> 01:04:42,950 DAVIN: chmod, yeah. 1366 01:04:42,950 --> 01:04:44,730 Felly, nid ydych wedi gosod caniatadau yn gywir. 1367 01:04:44,730 --> 01:04:45,577 404, nid yw dod o hyd. 1368 01:04:45,577 --> 01:04:46,410 Mae'n dim ond nid yno. 1369 01:04:46,410 --> 01:04:48,670 Felly, os ydych deipio i mewn 'r URL anghywir. 1370 01:04:48,670 --> 01:04:53,500 500, gwall gweinydd mewnol, y gweinydd Nid yw yn ôl pob tebyg yn ffurfweddu'n gywir. 1371 01:04:53,500 --> 01:04:56,260 Rhywbeth nad ydynt ar eich pen, ond rhywbeth ar ochr y gweinydd. 1372 01:04:56,260 --> 01:04:57,240 A 503? 1373 01:04:57,240 --> 01:04:59,502 Mae llawer o bobl yn gweld 503s yn yr olaf p-set. 1374 01:04:59,502 --> 01:05:00,460 Pryd y byddai hynny'n digwydd? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Clywais sibrwd. 1377 01:05:05,660 --> 01:05:07,767 >> GYNULLEIDFA: Pryd Google yn penderfynu eich bod yn robot. 1378 01:05:07,767 --> 01:05:10,350 DAVIN: Yeah, pan Google yn penderfynu ydych yn robot, byddwch yn cael 503s. 1379 01:05:10,350 --> 01:05:11,560 Felly dyna 'an gorlwytho. 1380 01:05:11,560 --> 01:05:14,620 Os ydych wedi gofyn o'r gweinydd gormod, 'i' fel arfer dros dro. 1381 01:05:14,620 --> 01:05:15,560 Ac yn y rhan fwyaf ohonoch wedi sylwi arno. 1382 01:05:15,560 --> 01:05:16,185 Felly, rydych yn gweld 503. 1383 01:05:16,185 --> 01:05:19,282 Efallai eich bod wedi cymryd ychydig egwyl, yna bydd y 503s mynd i ffwrdd, 1384 01:05:19,282 --> 01:05:20,490 ac roedd popeth yn iawn. 1385 01:05:20,490 --> 01:05:26,640 >> Gabe: Real gyflym, pryd ydych chi'n guys cael 500 yn ôl pob tebyg broblem diwethaf hwn yn gosod? 1386 01:05:26,640 --> 01:05:27,954 Ie? 1387 01:05:27,954 --> 01:05:30,906 >> GYNULLEIDFA: Fel arfer, os yw'r gweinyddwr Mae ffeil anghywir 1388 01:05:30,906 --> 01:05:34,650 neu [Anghlywadwy] eu peiriant [Anghlywadwy]. 1389 01:05:34,650 --> 01:05:38,870 >> Gabe: Felly gallai fod yn ffurfweddiad mater yn eich PHP ar eich gweinydd. 1390 01:05:38,870 --> 01:05:42,250 Ond gallai fod yn rhywbeth fel hanner colon bod eich anghofio. 1391 01:05:42,250 --> 01:05:44,130 Os ydych yn teipio PHP, rhywfaint o gystrawen anghywir 1392 01:05:44,130 --> 01:05:46,000 Gallai cael rhywbeth fel 'na chi. 1393 01:05:46,000 --> 01:05:46,960 OK? 1394 01:05:46,960 --> 01:05:48,610 >> DAVIN: Cool. 1395 01:05:48,610 --> 01:05:51,180 Ydych chi am i mi wneud yr union hyd nes AJAX? 1396 01:05:51,180 --> 01:05:52,950 >> Gabe: [Anghlywadwy]. 1397 01:05:52,950 --> 01:05:53,450 DAVIN: OK. 1398 01:05:53,450 --> 01:05:54,230 Felly beth yw'r DOM? 1399 01:05:54,230 --> 01:05:55,290 Beth mae DOM sefyll am? 1400 01:05:55,290 --> 01:05:56,990 >> GYNULLEIDFA: model gwrthrych y ddogfen. 1401 01:05:56,990 --> 01:05:57,490 DAVIN: Nice. 1402 01:05:57,490 --> 01:06:00,775 A pham rydyn ni'n ei hoffi? 1403 01:06:00,775 --> 01:06:02,670 Awesome. 1404 01:06:02,670 --> 01:06:06,651 Iawn, felly mae'n dim ond yn ein galluogi i fynediad y HTML, mynediad i'n tudalen yn gyflym iawn. 1405 01:06:06,651 --> 01:06:07,150 Pam? 1406 01:06:07,150 --> 01:06:09,980 Oherwydd ein bod ni'n trin ein tudalen, gan drin ein tagiau HTML, 1407 01:06:09,980 --> 01:06:11,730 trin popeth fel os ydynt yn gwrthwynebu. 1408 01:06:11,730 --> 01:06:13,710 Os ydym yn eu trin fel eu bod yn gwrthrychau, yna beth allwn ni ei wneud? 1409 01:06:13,710 --> 01:06:15,210 Wel, gallwn alw swyddogaethau yn eu cylch. 1410 01:06:15,210 --> 01:06:16,460 Ac mae hyn yn bwysig pam? 1411 01:06:16,460 --> 01:06:19,200 Wel, oherwydd ein bod yn mynd i ddefnyddio JavaScript i ddiweddaru ein HTML, 1412 01:06:19,200 --> 01:06:20,500 diweddaru'r gwrthrychau hyn. 1413 01:06:20,500 --> 01:06:23,869 Felly, os byddwn yn eu trin fel gwrthrychau, gallwn wedyn yn galw swyddogaethau arnynt. 1414 01:06:23,869 --> 01:06:26,660 Rydw i'n mynd i fynd i mewn i hyn ychydig yn mwy pan fyddaf yn mynd i mewn i JavaScript, 1415 01:06:26,660 --> 01:06:30,510 ond eich bod wedi gweld yr holl hoffi document.getElementByID. 1416 01:06:30,510 --> 01:06:32,870 Felly ddogfen yw eich elfen, yn cael elfen gan adnabod, 1417 01:06:32,870 --> 01:06:35,087 felly rydych yn mynd i edrych ar gyfer rhai ID mewn tag HTML. 1418 01:06:35,087 --> 01:06:36,920 Ac yna, gallwch chi ei wneud rhywbeth arall i hynny. 1419 01:06:36,920 --> 01:06:40,089 Er enghraifft, fel document.body, yna gallwch atodi plentyn. 1420 01:06:40,089 --> 01:06:41,630 Felly, rydych chi'n mynd i ddod o hyd i'r ddogfen. 1421 01:06:41,630 --> 01:06:42,340 Mae gennych y ddogfen. 1422 01:06:42,340 --> 01:06:43,629 Rydych yn mynd i ddod o hyd i'r corff. 1423 01:06:43,629 --> 01:06:44,420 Rydych yn dod o hyd i'r corff. 1424 01:06:44,420 --> 01:06:46,545 Ac yna, rydych chi'n mynd i ffoniwch rhywfaint o swyddogaeth arno. 1425 01:06:46,545 --> 01:06:50,312 Felly atodi plentyn, a gallwch atodi rhywfaint o HTML ar y pen y tu mewn i'ch corff. 1426 01:06:50,312 --> 01:06:52,520 Felly y bôn, rydych yn unig drin fel gwrthrych. 1427 01:06:52,520 --> 01:06:54,515 Rydych yn trin HTML tagiau fel gwrthrych. 1428 01:06:54,515 --> 01:06:57,071 Ac mae'n ei gwneud yn hawdd iawn ac yn gyflym i fynd drwyddynt. 1429 01:06:57,071 --> 01:06:59,070 Ond mae hefyd yn caniatáu i chi i alw swyddogaethau arnynt 1430 01:06:59,070 --> 01:07:04,410 er mwyn i chi drin a newid yr elfennau. 1431 01:07:04,410 --> 01:07:10,162 >> Gabe: O ystyried hyn, pam mae JavaScript o'r fath iaith braf i ryngweithio â HTML? 1432 01:07:10,162 --> 01:07:12,870 Groes yn, pan oedd pobl yn dewis yr iaith ar gyfer y porwr, 1433 01:07:12,870 --> 01:07:14,990 i ochr y cleient, JavaScript yn neis iawn, 1434 01:07:14,990 --> 01:07:16,765 'i' 'n sylweddol yn dda yn trin gwrthrychau. 1435 01:07:16,765 --> 01:07:20,620 Ac mae'r amcanion yn cael eu math o hoffi y gwrthrychau sy'n ymddangos yn y HTML, 1436 01:07:20,620 --> 01:07:23,940 felly mae'n hawdd iawn i JavaScript i wneud y math hwnnw o drin. 1437 01:07:23,940 --> 01:07:24,440 DAVIN: Nice. 1438 01:07:24,440 --> 01:07:25,670 Felly dyma unig enghraifft. 1439 01:07:25,670 --> 01:07:29,020 Felly, yr wyf yn meddwl ar y cwis y llynedd, neu efallai ddwy flynedd yn ôl, rydym yn 1440 01:07:29,020 --> 01:07:30,840 gofyn i chi greu coeden. 1441 01:07:30,840 --> 01:07:32,660 Felly, mae hyn yn union yr hyn y byddech yn ei wneud. 1442 01:07:32,660 --> 01:07:34,255 Felly, byddwch yn dechrau allan gyda ddogfen. 1443 01:07:34,255 --> 01:07:36,130 Ac yna rydych yn y bôn dim ond yn edrych ar y tagiau. 1444 01:07:36,130 --> 01:07:38,100 Felly, os ydych yn edrych, rydym yn yn dechrau gyda tag HTML. 1445 01:07:38,100 --> 01:07:41,660 Ac yna, byddwch yn cael cliwiau am sut i gwneud hyn yn seiliedig ar y mewnoliad. 1446 01:07:41,660 --> 01:07:43,870 Felly pennaeth fath o ganghennau i ffwrdd. 1447 01:07:43,870 --> 01:07:46,242 Y tu mewn pen, rydym wedi tag arall ar gyfer teitl. 1448 01:07:46,242 --> 01:07:47,450 Felly, yna, mae gennym tag teitl. 1449 01:07:47,450 --> 01:07:49,760 Ac y tu mewn hynny, mae gennym rai llinyn. 1450 01:07:49,760 --> 01:07:52,210 Ac felly rydym yn cynrychioli llinyn mewn cylch. 1451 01:07:52,210 --> 01:07:54,010 A'r holl dagiau mewn sgwariau. 1452 01:07:54,010 --> 01:07:56,270 >> Ac os ydych yn edrych, os ydym feddwl am hyn fel coeden, 1453 01:07:56,270 --> 01:07:58,730 a gadewch i ni yn dweud bod HTML yn rhiant, yna pen a'r corff 1454 01:07:58,730 --> 01:07:59,772 yn mynd i fod brodyr a chwiorydd. 1455 01:07:59,772 --> 01:08:01,813 Maent yn ddau yn mynd i fod blant y rhiant hwnnw. 1456 01:08:01,813 --> 01:08:03,620 Felly, oherwydd eu bod yn y ddau frodyr a chwiorydd, eu bod yn 1457 01:08:03,620 --> 01:08:06,590 mynd i fod yn fath o ymyl ein gilydd yn ein model coeden. 1458 01:08:06,590 --> 01:08:08,590 Ac yna, rydych yn y bôn yn gwneud yr un peth yn union. 1459 01:08:08,590 --> 01:08:13,512 Felly nid anodd, ond rydym wedi gofyn cwestiynau fel hyn o'r blaen ar y cwis. 1460 01:08:13,512 --> 01:08:15,220 Gabe: A oes gan unrhyw un gwestiynau hyd yn hyn? 1461 01:08:15,220 --> 01:08:16,357 A yw'n dda? 1462 01:08:16,357 --> 01:08:16,856 DAVIN: Cool. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 JavaScript, OK, y pethau da. 1465 01:08:21,600 --> 01:08:24,069 Felly JavaScript, beth yw JavaScript? 1466 01:08:24,069 --> 01:08:28,370 Wel, JavaScript yw-- 'i' gymhleth, ond mae'r rhain 1467 01:08:28,370 --> 01:08:30,727 rai o'r uchafbwyntiau y dylech gadw mewn cof. 1468 01:08:30,727 --> 01:08:31,810 Yn gyntaf, mae'n deipio llac. 1469 01:08:31,810 --> 01:08:33,529 Beth yw ystyr hynny? 1470 01:08:33,529 --> 01:08:35,596 Felly PHP was-- ie, beth sydd i fyny? 1471 01:08:35,596 --> 01:08:39,854 >> GYNULLEIDFA: Nid oes rhaid i chi benodol cyflwr pa fath o amrywiol ydyw. 1472 01:08:39,854 --> 01:08:40,479 DAVIN: Perffaith. 1473 01:08:40,479 --> 01:08:43,270 Felly dywedodd nid oes rhaid i chi datgan yn glir y math o amrywiol. 1474 01:08:43,270 --> 01:08:44,160 Dyna'n union gywir. 1475 01:08:44,160 --> 01:08:49,700 Felly, yn C, os oedd gennyf int i yn hafal i 50, Yna, yn PHP, 'i' jyst fel hyn, $ i, 1476 01:08:49,700 --> 01:08:50,550 yn hafal i 50. 1477 01:08:50,550 --> 01:08:54,319 Yna ym JavaScript, beth fyddai'r alwad fod? 1478 01:08:54,319 --> 01:08:55,260 Var, dde? 1479 01:08:55,260 --> 01:08:56,566 Byddai'n hoffi i var hafal 50. 1480 01:08:56,566 --> 01:08:58,649 Ond nid oes rhaid i chi fod fel, OK, mae hwn yn int. 1481 01:08:58,649 --> 01:09:00,350 OK, mae hyn yn llinyn. 1482 01:09:00,350 --> 01:09:01,731 Nid oes angen i wneud hynny. 1483 01:09:01,731 --> 01:09:02,939 Mae'n iaith dehongli. 1484 01:09:02,939 --> 01:09:04,904 Felly beth mae hynny'n ei olygu? 1485 01:09:04,904 --> 01:09:06,340 >> GYNULLEIDFA: Heb ei llunio. 1486 01:09:06,340 --> 01:09:10,470 >> DAVIN: Nid yw Beth mae llunio ei olygu? 1487 01:09:10,470 --> 01:09:11,392 Yeah? 1488 01:09:11,392 --> 01:09:15,336 >> GYNULLEIDFA: Nid oes rhaid i chi i ailstrwythuro'r cod 1489 01:09:15,336 --> 01:09:18,294 i'w gael yn barod ar gyfer y cyfrifiadur i redeg. 1490 01:09:18,294 --> 01:09:23,144 Mae wedi newydd gymryd ar adeg gweithredu a y cyfrifiadur [Anghlywadwy]. 1491 01:09:23,144 --> 01:09:25,560 DAVIN: Yeah, felly mae'n mynd i pasio drwy gyfieithydd. 1492 01:09:25,560 --> 01:09:26,750 Ond eich bod yn union gywir. 1493 01:09:26,750 --> 01:09:28,319 Felly, nad ydych erioed yn mynd i lunio iddo, dde? 1494 01:09:28,319 --> 01:09:30,399 Pan fyddwch yn gwneud eich PHP a chod JavaScript, 1495 01:09:30,399 --> 01:09:31,365 chi byth a elwir yn crynhoi. 1496 01:09:31,365 --> 01:09:33,779 Dydych chi byth yn enw rhywbeth fel gwneud neu unrhyw beth fel 'na. 1497 01:09:33,779 --> 01:09:34,800 Mae hynny oherwydd ei fod yn dehongli. 1498 01:09:34,800 --> 01:09:37,319 Felly, bob tro y mae'n mynd drwy borwr, mae'n mynd drwy gyfieithydd. 1499 01:09:37,319 --> 01:09:40,370 Ac mae hynny'n mynd i ddehongli dim ond mewn amser real yn syth i chi. 1500 01:09:40,370 --> 01:09:43,770 Felly beth yw rhai cadarnhaol a negyddol i gael iaith dehongli 1501 01:09:43,770 --> 01:09:45,258 a chael iaith luniwyd? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Felly compiling-- ie, beth sydd i fyny? 1504 01:09:50,540 --> 01:09:52,444 >> GYNULLEIDFA: Dehongledig yn arafach. 1505 01:09:52,444 --> 01:09:53,319 DAVIN: Ym mha ystyr? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> GYNULLEIDFA: Ar ôl i chi llunio, nid oes rhaid i chi 1508 01:09:59,091 --> 01:10:04,400 i wneud unrhyw gamau ychwanegol i weithredu iddo, tra bod hyn [Anghlywadwy]. 1509 01:10:04,400 --> 01:10:05,570 >> DAVIN: Iawn, berffaith. 1510 01:10:05,570 --> 01:10:08,386 Felly, hyn a ddywedasoch yn bôn hwnnw lunio, 1511 01:10:08,386 --> 01:10:10,760 pan fyddwch yn llunio, mae gennych llawer o gostau ymlaen llaw, dde? 1512 01:10:10,760 --> 01:10:11,760 Rydych yn mynd i lunio iddo. 1513 01:10:11,760 --> 01:10:13,750 Ond ar ôl i chi gasglu iddo, mae'r compiler yn mynd i wneud y gorau iddo. 1514 01:10:13,750 --> 01:10:14,840 Mae'n mynd i fod yn gyflym. 1515 01:10:14,840 --> 01:10:16,170 Mae'n mynd i yn y bôn fod mor gyflym ag y gall fod. 1516 01:10:16,170 --> 01:10:18,830 Gyda dehongli, fyddwch byth gael y gost ymlaen llaw. 1517 01:10:18,830 --> 01:10:22,260 Yn hytrach, mae'n mynd i fod ychydig yn arafach bob tro y byddwch yn ei dehongli. 1518 01:10:22,260 --> 01:10:24,940 Ac rydych yn mynd i gael i dehongli bob tro. 1519 01:10:24,940 --> 01:10:27,114 Felly, yn hytrach na gorfod hon un cost amser, yn awr eich bod yn 1520 01:10:27,114 --> 01:10:29,530 mynd i gael i ddehongli bob tro y dudalen renders. 1521 01:10:29,530 --> 01:10:31,890 >> Felly dehonglwyr yn dda oherwydd Nid oes rhaid i chi i lunio ei, 1522 01:10:31,890 --> 01:10:33,980 ond maen nhw'n drwg yn bod pob amser y llwythi dudalen, 'i' 1523 01:10:33,980 --> 01:10:35,771 mynd i gael i dehongli JavaScript hwn. 1524 01:10:35,771 --> 01:10:40,520 Ac mae'n mynd i redeg ychydig yn arafach na phe baech yn llunio ei. 1525 01:10:40,520 --> 01:10:43,044 Yn eich galluogi i communicate-- oh, aros. 1526 01:10:43,044 --> 01:10:44,960 Fe'i defnyddir i drin y cynnwys a golwg. 1527 01:10:44,960 --> 01:10:46,043 Rydym yn unig yn siarad am hynny. 1528 01:10:46,043 --> 01:10:47,250 Mae'n defnyddio'r DOM. 1529 01:10:47,250 --> 01:10:49,930 AJAX, byddwn yn mynd i mewn AJAX mewn ychydig bach. 1530 01:10:49,930 --> 01:10:51,520 Ac yna, mae'n ochr y cleient. 1531 01:10:51,520 --> 01:10:53,110 Felly PHP yn ochr y gweinydd. 1532 01:10:53,110 --> 01:10:54,360 JavaScript yn ochr y cleient. 1533 01:10:54,360 --> 01:10:57,780 Beth yn gadarnhaol i hynny? 1534 01:10:57,780 --> 01:10:58,280 Mae'n dweud ei fod. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 Mae'n gyflymach, dde? 1537 01:11:02,780 --> 01:11:05,282 Oherwydd nid oes rhaid i chi i-- ei fod yn gyflymach. 1538 01:11:05,282 --> 01:11:07,490 Nid oes rhaid i chi gyfathrebu gyda rhywfaint o ddyfais arall. 1539 01:11:07,490 --> 01:11:08,790 Os ydych yn unig ar eich cleient, fyddwch byth yn 1540 01:11:08,790 --> 01:11:11,280 mynd i gael i fynd a weld beth sydd ar y gweinydd 1541 01:11:11,280 --> 01:11:13,150 ac yna adrodd yn ôl neu rywbeth fel 'na. 1542 01:11:13,150 --> 01:11:15,410 Felly ochr y cleient yn tueddu i fod ychydig yn gyflymach. 1543 01:11:15,410 --> 01:11:17,910 >> Gabe: Yeah, ond mae hyn nid yw'n golygu PHP yn 1544 01:11:17,910 --> 01:11:20,440 gyflymach na JavaScript neu unrhyw beth o'r blaen. 1545 01:11:20,440 --> 01:11:23,270 Maent yn rhedeg fath o yn yr un cyflymder oherwydd eu bod yn y ddau 1546 01:11:23,270 --> 01:11:24,490 ieithoedd dehongli. 1547 01:11:24,490 --> 01:11:26,680 Y peth sy'n araf dyma yw'r cais. 1548 01:11:26,680 --> 01:11:28,870 Felly, rydych chi'n mynd mewn gwirionedd yr holl ffordd draw i Frasil 1549 01:11:28,870 --> 01:11:31,460 i gael rhywfaint o wybodaeth sy'n byw yno. 1550 01:11:31,460 --> 01:11:34,590 Ond PHP a JavaScript, maent yn math o rhedeg yn yr un cyflymder. 1551 01:11:34,590 --> 01:11:37,930 Dyw hi ddim yn bod un yn gyflymach na'r llall. 1552 01:11:37,930 --> 01:11:40,600 Mae hyn, hefyd, cwestiwn tric yma. 1553 01:11:40,600 --> 01:11:47,338 Felly JavaScript byth yn mynd yn cod peiriant, yn wir neu'n anwir? 1554 01:11:47,338 --> 01:11:48,590 >> GYNULLEIDFA: Anghywir. 1555 01:11:48,590 --> 01:11:49,090 Gabe: Anghywir. 1556 01:11:49,090 --> 01:11:51,298 Mae'n rhaid iddo fod yn beiriant Cod oherwydd Cod peiriant yn 1557 01:11:51,298 --> 01:11:53,210 yr unig beth y peiriant yn deall. 1558 01:11:53,210 --> 01:11:55,800 Er nad yw'n llunio, mae'n dal yn dod cod peiriant 1559 01:11:55,800 --> 01:11:59,120 oherwydd bod y cyfieithydd yn unig rhaglen sy'n mynd fesul llinell 1560 01:11:59,120 --> 01:12:02,170 ac yn trawsnewid y llinell i mewn rhywbeth y cyfrifiadur yn deall. 1561 01:12:02,170 --> 01:12:02,825 OK? 1562 01:12:02,825 --> 01:12:03,325 Cool. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> DAVIN: Dyma yn unig yw sylfaenol iawn helo Rhaglen JavaScript byd. 1565 01:12:12,890 --> 01:12:15,590 Felly, nid wyf yn gwybod Os-- ydych chi wedi gweld hyn. 1566 01:12:15,590 --> 01:12:17,630 Ond 'ch jyst yn cael HTML yma. 1567 01:12:17,630 --> 01:12:21,020 Ac yn hytrach na rhoi mewn gwirionedd yr Javascript yn y tagiau sgript, 1568 01:12:21,020 --> 01:12:22,810 felly byddech fel arfer yn ei roi mewn ben. 1569 01:12:22,810 --> 01:12:24,030 Mae gennych tagiau sgript. 1570 01:12:24,030 --> 01:12:24,870 Rydych yn galw heibio yno. 1571 01:12:24,870 --> 01:12:28,350 Yr unig beth rydym wedi ei wneud yma yw ein bod wedi cysylltu in-- felly rydym wedi cysylltu mewn ffeil JavaScript 1572 01:12:28,350 --> 01:12:29,137 fel hyn. 1573 01:12:29,137 --> 01:12:30,470 Ac rydych wedi gwneud hyn i gyd, dde? 1574 01:12:30,470 --> 01:12:34,740 Felly pan fyddwch yn defnyddio jQuery a underscore.js yn yr olaf p-set, 1575 01:12:34,740 --> 01:12:38,700 Nid oes rhaid i chi tunnell o cod fyny yn eich tagiau sgript, i fyny yn eich pen. 1576 01:12:38,700 --> 01:12:41,415 Gallech wneud hynny, ond yn lle hynny ydych ond yn ei gysylltu i mewn. 1577 01:12:41,415 --> 01:12:43,540 Ac rydych yn ei gysylltu mewn yn union fel chi ei wneud gyda CSS. 1578 01:12:43,540 --> 01:12:50,186 Felly, 'i jyst yn ei gwneud yn haws i'w ddarllen fel eich cod Nid yw yn hoffi 1,000 llinellau hir 1579 01:12:50,186 --> 01:12:52,310 gyda tunnell o swyddogaethau sy'n Efallai na fyddwch yn eu defnyddio. 1580 01:12:52,310 --> 01:12:53,518 >> Yn lle hynny, 'ch jyst yn cysylltu i mewn. 1581 01:12:53,518 --> 01:12:55,050 Mae'n compartmentalizes hynny. 1582 01:12:55,050 --> 01:13:00,110 Mae fel ysgrifennu rhai ffeiliau pennawd, ac Yna, gan gynnwys y ffeil pennawd yn C. 1583 01:13:00,110 --> 01:13:01,620 Meddyliwch amdano yn union fel hyn. 1584 01:13:01,620 --> 01:13:02,680 Felly beth mae hyn yn ei wneud? 1585 01:13:02,680 --> 01:13:04,560 Wel, mae hyn yn mynd i redeg. 1586 01:13:04,560 --> 01:13:05,410 Mae'n mynd i roi gwybod. 1587 01:13:05,410 --> 01:13:08,020 Felly, rydych yn mynd i gael ychydig pop i fyny a elwir yn y byd helo. 1588 01:13:08,020 --> 01:13:11,420 Cwestiwn cyflym, gwirio bwyll yn unig, felly byddwch yn gweld yma yn y corff, 1589 01:13:11,420 --> 01:13:13,160 dweud corff, HTML yma. 1590 01:13:13,160 --> 01:13:14,080 Beth sy'n dod gyntaf? 1591 01:13:14,080 --> 01:13:16,864 Ydw i'n gweld corff, HTML yma, neu ydw i'n gweld y rhybudd yn gyntaf? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> GYNULLEIDFA: Rhybudd. 1594 01:13:20,820 --> 01:13:21,470 >> DAVIN: Iawn. 1595 01:13:21,470 --> 01:13:22,110 Mae'n dweud effro. 1596 01:13:22,110 --> 01:13:22,610 Pam? 1597 01:13:22,610 --> 01:13:24,470 >> GYNULLEIDFA: Oherwydd eich bod mynd o'r top i'r gwaelod. 1598 01:13:24,470 --> 01:13:25,600 >> DAVIN: Ydw. 1599 01:13:25,600 --> 01:13:26,100 Perffaith. 1600 01:13:26,100 --> 01:13:29,207 Felly mae'n dweud, byddwch yn mynd o'r top i'r gwaelod, sydd yn hollol gywir. 1601 01:13:29,207 --> 01:13:30,790 Rydych yn mynd i fynd o'r top i'r gwaelod. 1602 01:13:30,790 --> 01:13:34,790 Ac yn JavaScript, jQuery, mae gennych swyddogaeth sy'n onload tebyg, neu yn barod, 1603 01:13:34,790 --> 01:13:38,030 ac sy'n dweud, OK, arhoswch nes i gyd HTML hyn wedi llwytho. 1604 01:13:38,030 --> 01:13:39,580 Ac yna, ffoniwch y JavaScript. 1605 01:13:39,580 --> 01:13:42,190 Oherwydd nad oes gennym hynny yma, mae'r peth cyntaf sy'n mynd i ddigwydd 1606 01:13:42,190 --> 01:13:43,920 yn mae'n mynd i fynd o'r top i'r gwaelod. 1607 01:13:43,920 --> 01:13:46,310 Mae'n mynd i daro hynny JS alw, mae'n mynd i rybuddio. 1608 01:13:46,310 --> 01:13:49,510 Ar ôl hynny i chi glicio OK, bod yn effro yn mynd i ffwrdd. 1609 01:13:49,510 --> 01:13:53,600 Yna, mae'n mynd i ddangos chi y corff HTML yma. 1610 01:13:53,600 --> 01:13:54,590 Nice. 1611 01:13:54,590 --> 01:14:00,880 >> Iawn, felly dim ond go gyflym, ysgrifennu yn JavaScript yn super gyflym. 1612 01:14:00,880 --> 01:14:02,710 Er mwyn datgan a, enw var amrywiol. 1613 01:14:02,710 --> 01:14:07,070 Felly, yn C, mae gennych i int, mae gennych i ddatgan pa fath o fath ydyw. 1614 01:14:07,070 --> 01:14:08,040 PHP, $. 1615 01:14:08,040 --> 01:14:08,755 JavaScript, var. 1616 01:14:08,755 --> 01:14:09,630 Buom yn siarad am hyn. 1617 01:14:09,630 --> 01:14:11,020 Mae pob hawl, gadewch i ni fynd. 1618 01:14:11,020 --> 01:14:12,510 >> Dolenni, un peth. 1619 01:14:12,510 --> 01:14:14,230 Un peth. 1620 01:14:14,230 --> 01:14:18,165 Datganiadau Swyddogaeth, felly yn union fel chi wedi ei weld yn C. 1621 01:14:18,165 --> 01:14:21,290 Yr unig beth gwahanol mor pryd byddwch yn cael i ieithoedd rhaglennu eraill, 1622 01:14:21,290 --> 01:14:24,780 fel pan fyddwch yn cymryd 51 semester nesaf ac rydych yn ei wneud gyda OCAML, 1623 01:14:24,780 --> 01:14:26,690 gallwch ddelio â swyddogaethau dienw. 1624 01:14:26,690 --> 01:14:28,240 Felly dyna'n union yr hyn sydd gennych yma. 1625 01:14:28,240 --> 01:14:31,560 Felly rydych eisiau ei roi yn y swm, rhyw fath o werth swm. 1626 01:14:31,560 --> 01:14:33,870 Ond efallai y byddwch ond yn cael gwneud hynny yr un pryd. 1627 01:14:33,870 --> 01:14:37,310 Felly, nad ydych am ei alw swyddogaeth swm, rhowch gynnig datganiad swyddogaeth. 1628 01:14:37,310 --> 01:14:39,830 Yn lle hynny, 'ch jyst yn ei ddefnyddio fel swyddogaeth dienw. 1629 01:14:39,830 --> 01:14:42,469 Ac ydych chi wedi gweld hyn yn llawer. 1630 01:14:42,469 --> 01:14:44,510 Byddwch yn gweld enghraifft o hyn mewn cwpl sleidiau. 1631 01:14:44,510 --> 01:14:45,597 Yeah, gawn ni weld. 1632 01:14:45,597 --> 01:14:46,430 Gabe: Cwestiwn da. 1633 01:14:46,430 --> 01:14:50,660 Pryd efallai y byddwch am ddefnyddio swyddogaeth dienw yma? 1634 01:14:50,660 --> 01:14:54,111 Yn y bôn, pan fyddwch eisiau rhywbeth, fel digwyddiad, i ddigwydd. 1635 01:14:54,111 --> 01:14:55,860 Felly, pan fydd y llygoden yn clicio, er enghraifft, 1636 01:14:55,860 --> 01:14:57,790 ydych chi eisiau rhywfaint o swyddogaeth i gael ei alw. 1637 01:14:57,790 --> 01:15:00,570 Felly, byddwch yn mynd heibio i'r digwyddiad triniwr, byddwch yn mynd heibio i'r digwyddiad, 1638 01:15:00,570 --> 01:15:02,870 math o, y swyddogaeth sydd ydych am ei alw. 1639 01:15:02,870 --> 01:15:04,710 A beth ydych yn pasio yn debyg, ar y diwedd 1640 01:15:04,710 --> 01:15:08,757 y dydd, dim ond pwyntydd i y cyfarwyddyd, i'r swyddogaeth. 1641 01:15:08,757 --> 01:15:11,090 Felly, nid yw'n debyg eich bod yn pasio y cod cyfan, yn union fel 1642 01:15:11,090 --> 01:15:12,173 pwyntydd i'r swyddogaeth. 1643 01:15:12,173 --> 01:15:17,871 Ac yna, pan fydd rhywun yn clicio y llygoden, yna swyddogaeth honno yn cael ei alw. 1644 01:15:17,871 --> 01:15:22,340 >> DAVIN: Araeau, er mwyn i chi gael datganiad arae. 1645 01:15:22,340 --> 01:15:23,990 Yna, amrywiaeth i roi pethau mewn. 1646 01:15:23,990 --> 01:15:25,769 Real gyflym, beth fydd hyn yn argraffu? 1647 01:15:25,769 --> 01:15:27,060 Beth fydd y drydedd elfen fod? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> GYNULLEIDFA: "JS". 1650 01:15:32,450 --> 01:15:33,940 >> DAVIN: Iawn, byddai'n "JS." 1651 01:15:33,940 --> 01:15:35,760 Arhoswch, ewch yn ôl. 1652 01:15:35,760 --> 01:15:37,100 Beth yw hyd? 1653 01:15:37,100 --> 01:15:38,117 >> GYNULLEIDFA: Tri. 1654 01:15:38,117 --> 01:15:38,950 DAVIN: Tri, dde? 1655 01:15:38,950 --> 01:15:40,210 Yn union beth yw eich barn. 1656 01:15:40,210 --> 01:15:42,072 OK, yn awr yn mynd. 1657 01:15:42,072 --> 01:15:43,530 Araeau, gallwch ychwanegu pethau iddynt. 1658 01:15:43,530 --> 01:15:45,395 Fel y gallwch fynd y tu hwnt eu ffiniau cychwynnol. 1659 01:15:45,395 --> 01:15:46,740 Dim ond rhywbeth i gadw mewn cof. 1660 01:15:46,740 --> 01:15:49,760 PHP, JavaScript, maen nhw'n ychydig ychydig yn fwy maddeugar o ran pethau 1661 01:15:49,760 --> 01:15:50,570 fel 'na. 1662 01:15:50,570 --> 01:15:54,260 Gwrthrychau, yn debyg iawn structs yn C, yn fawr iawn 1663 01:15:54,260 --> 01:15:56,590 fel araeau cysylltiadol yn PHP. 1664 01:15:56,590 --> 01:15:58,720 Yr ydych i gyd wedi cael profiad gyda hyn. 1665 01:15:58,720 --> 01:16:01,880 Felly JSON, pan fyddwch yn pasio JSON yn ôl ac ymlaen mewn wyth set-p, 1666 01:16:01,880 --> 01:16:03,260 dyna eich gwrthrych. 1667 01:16:03,260 --> 01:16:06,290 >> Felly ie, enghraifft, enghraifft gyflym go iawn. 1668 01:16:06,290 --> 01:16:07,880 Dyma gwrthrych. 1669 01:16:07,880 --> 01:16:12,700 Mae'r ffordd yr ydych yn cyfeirio at hyn gwrthrych, felly dim ond go gyflym, 1670 01:16:12,700 --> 01:16:18,630 gadewch i ni ddweud roeddwn i eisiau dod o hyd i allan, OK, beth yw'r cwrs? 1671 01:16:18,630 --> 01:16:20,681 Ac felly yr enw gwrthrych yma yw CS50. 1672 01:16:20,681 --> 01:16:23,180 Ac yna os cefais cysylltiadol array, sut y byddwn yn gwneud hynny? 1673 01:16:23,180 --> 01:16:24,580 Byddaf yn defnyddio allwedd, dde? 1674 01:16:24,580 --> 01:16:26,030 Felly mae gen i enw'r y rhesi. 1675 01:16:26,030 --> 01:16:30,160 Mae gen i braced, dyfyniadau, allweddol, dyfyniadau pen, pen braced, 1676 01:16:30,160 --> 01:16:33,610 a fydd yn cyfeirio hwnnw elfen y tu mewn fy amrywiaeth cysylltiadol. 1677 01:16:33,610 --> 01:16:37,646 Sut ydw i'n cyfeirir cwrs y tu mewn fy gwrthwynebu? 1678 01:16:37,646 --> 01:16:39,170 Unrhyw un yn gwybod? 1679 01:16:39,170 --> 01:16:40,622 >> GYNULLEIDFA: [Anghlywadwy]. 1680 01:16:40,622 --> 01:16:41,784 >> DAVIN: Beth sydd i fyny? 1681 01:16:41,784 --> 01:16:42,700 GYNULLEIDFA: CS50.course. 1682 01:16:42,700 --> 01:16:43,510 DAVIN: Iawn, ie. 1683 01:16:43,510 --> 01:16:45,320 Felly CS50.course. 1684 01:16:45,320 --> 01:16:48,770 Felly, y ffordd yr ydych yn cyfeirio pethau y tu mewn i gwrthrych JSON yw gyda dot. 1685 01:16:48,770 --> 01:16:53,114 >> GYNULLEIDFA: Gallwch hefyd ddefnyddio cystrawen arae. 1686 01:16:53,114 --> 01:16:54,050 >> DAVIN: OK, dirwy. 1687 01:16:54,050 --> 01:16:57,544 >> Gabe: Gallwch hefyd ddefnyddio CS50 braced, llinyn, fel dyfynodau. 1688 01:16:57,544 --> 01:16:59,210 GYNULLEIDFA: Rwy'n credu ei fod union yr un fath PHP. 1689 01:16:59,210 --> 01:17:00,293 Gabe: Mae'n yr un peth. 1690 01:17:00,293 --> 01:17:02,487 DAVIN: Gain! 1691 01:17:02,487 --> 01:17:03,945 Ond byddwch yn gweld hyn yn lleoedd eraill. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Yeah, felly cadwch i fynd. 1694 01:17:10,480 --> 01:17:13,330 Mae hyn yn hyn yr wyf newydd ei ddweud. 1695 01:17:13,330 --> 01:17:17,840 Felly, i mewn i enghraifft JavaScript jQuery. 1696 01:17:17,840 --> 01:17:19,440 Felly, mae hyn yn fy DOM, dde? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Real gyflym, felly mae gen i pen, helo byd, corff. 1699 01:17:25,410 --> 01:17:26,160 Mae gen i botwm. 1700 01:17:26,160 --> 01:17:27,870 Mae'n dweud "gwthio i mi," felly rwyf am wthio. 1701 01:17:27,870 --> 01:17:29,745 Ac yr wyf yn awyddus i wneud rhywbeth pan gaiff ei glicio. 1702 01:17:29,745 --> 01:17:31,220 Iawn, nesaf. 1703 01:17:31,220 --> 01:17:34,630 >> Iawn, felly mae hwn yn fy JavaScript. 1704 01:17:34,630 --> 01:17:37,790 Felly jQuery yn unig yw haws ffordd i ysgrifennu JavaScript. 1705 01:17:37,790 --> 01:17:40,920 Felly, mae hyn, a'r hyn yr wyf i'n mynd i ddangos rydych nesaf, yn mynd i fod jQuery, 1706 01:17:40,920 --> 01:17:41,930 yn union yr un. 1707 01:17:41,930 --> 01:17:43,990 Felly, byddant yn gwneud yr un pethau. 1708 01:17:43,990 --> 01:17:45,974 Dim ond jQuery yn tueddu i fod ychydig yn haws. 1709 01:17:45,974 --> 01:17:47,140 Mae pobl yn tueddu i hoffi mwy. 1710 01:17:47,140 --> 01:17:48,390 Mae ganddo lawer o functionality. 1711 01:17:48,390 --> 01:17:49,830 Felly, mae pobl yn tueddu i ddefnyddio jQuery. 1712 01:17:49,830 --> 01:17:53,270 Chi i gyd eu defnyddio jQuery yn yr olaf p-set. 1713 01:17:53,270 --> 01:17:54,270 Felly, beth fydd hyn yn ei wneud? 1714 01:17:54,270 --> 01:17:56,580 Beth fydd JavaScript-- hwn fel mae hyn yn unig yw plaen JavaScript. 1715 01:17:56,580 --> 01:17:57,430 Beth fydd hyn yn ei wneud? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Beth fydd yn ei wneud? 1718 01:18:03,450 --> 01:18:04,890 >> Felly yn gyntaf, byddwch yn gweld onload ffenestr. 1719 01:18:04,890 --> 01:18:05,390 Iawn? 1720 01:18:05,390 --> 01:18:06,640 Felly nid oeddem yn gweld hynny o'r blaen. 1721 01:18:06,640 --> 01:18:09,380 Felly, mae hyn yn mynd i aros nes bod y llwythi ffenestr gyfan. 1722 01:18:09,380 --> 01:18:12,770 Felly, mae'n mynd i aros nes y llwyth HTML, yr holl ddelweddau 1723 01:18:12,770 --> 01:18:13,770 cyn y mae'n ei wneud unrhyw beth. 1724 01:18:13,770 --> 01:18:16,050 Felly, gadewch i ni ddweud ein DOM wedi llwytho. 1725 01:18:16,050 --> 01:18:17,270 Mae popeth yno. 1726 01:18:17,270 --> 01:18:19,080 Yna, yr hyn sy'n mynd i ddigwydd? 1727 01:18:19,080 --> 01:18:19,922 Yeah? 1728 01:18:19,922 --> 01:18:22,880 >> GYNULLEIDFA: Button yn ymddangos. 1729 01:18:22,880 --> 01:18:25,201 >> DAVIN: Y botwm yno yn barod. 1730 01:18:25,201 --> 01:18:26,700 Yeah, felly y botwm yno eisoes. 1731 01:18:26,700 --> 01:18:31,190 Ond mae hyn yn mynd i ddweud, OK, os wyf cliciwch y botwm, 1732 01:18:31,190 --> 01:18:33,650 felly y botwm eisoes yno, fel 'na tag HTML. 1733 01:18:33,650 --> 01:18:35,980 Arhoswch, ewch yn ôl go gyflym. 1734 01:18:35,980 --> 01:18:39,470 Mae hyn yn tag cywir i'r dde yma yw mynd i fod yn botwm barod. 1735 01:18:39,470 --> 01:18:40,810 Mae eisoes botwm. 1736 01:18:40,810 --> 01:18:44,120 Ond yna, mae'r JavaScript tag, dde yma, 1737 01:18:44,120 --> 01:18:46,160 y mae'n ei ddweud, OK, yr wyf am i gael elfen gan adnabod, 1738 01:18:46,160 --> 01:18:50,300 felly botwm chwilio jyst yn dweud, OK, yr wyf am i fapio newidyn hwn i'r botwm. 1739 01:18:50,300 --> 01:18:53,120 Felly dyna newidyn yn unig yw ffordd haws i gael gafael ar y botwm. 1740 01:18:53,120 --> 01:18:57,300 Ac yr wyf yn ei ddweud, OK, os wyf cliciwch y botwm, felly os wyf cliciwch yr elfen honno, 1741 01:18:57,300 --> 01:18:59,560 ac yr elfen hon yn cyfeirio at y botwm, os wyf cliciwch arno, 1742 01:18:59,560 --> 01:19:00,875 Yna, yr wyf am i alw swyddogaeth. 1743 01:19:00,875 --> 01:19:03,500 Dyma un o'r rhai dienw swyddogaethau yr oeddem yn sôn amdano. 1744 01:19:03,500 --> 01:19:04,840 >> Ffoniwch rhywfaint o swyddogaeth. 1745 01:19:04,840 --> 01:19:08,840 Y tu mewn y swyddogaeth honno, yn y bôn rhywbeth yr ydym wedi gweld llawer, yn effro. 1746 01:19:08,840 --> 01:19:10,477 Rydych yn cliciwch y botwm chwilio. 1747 01:19:10,477 --> 01:19:12,060 Mae'n mynd i yn y bôn yn cael botwm. 1748 01:19:12,060 --> 01:19:13,040 I chi glicio arno. 1749 01:19:13,040 --> 01:19:14,040 Byddwch yn cael hysbysiad hwnnw. 1750 01:19:14,040 --> 01:19:14,850 X allan. 1751 01:19:14,850 --> 01:19:15,754 Dyna ni. 1752 01:19:15,754 --> 01:19:16,254 Yeah? 1753 01:19:16,254 --> 01:19:21,980 >> GYNULLEIDFA: Felly, os ydych yn rhoi y sgript [Anghlywadwy], tag sgript yn eich HTML? 1754 01:19:21,980 --> 01:19:24,300 >> DAVIN: Gallwch roi y sgript syth tag yn y pen 1755 01:19:24,300 --> 01:19:30,667 oherwydd bod gennych onload hwn. 1756 01:19:30,667 --> 01:19:32,000 Mae hefyd yn eich bod yn cael clic. 1757 01:19:32,000 --> 01:19:34,166 Felly, mae'n mynd i aros nes chi glicio am rywbeth. 1758 01:19:34,166 --> 01:19:37,470 Ond onload yn unig i fod yn ddiogel, er mwyn gwneud siwr llwythi popeth i mewn i'ch HTML 1759 01:19:37,470 --> 01:19:38,170 ymlaen llaw. 1760 01:19:38,170 --> 01:19:39,247 Yeah? 1761 01:19:39,247 --> 01:19:40,330 Byddwch am ddweud rhywbeth? 1762 01:19:40,330 --> 01:19:41,080 >> Gabe: [Anghlywadwy]. 1763 01:19:41,080 --> 01:19:42,485 DAVIN: Yeah. 1764 01:19:42,485 --> 01:19:45,426 >> GYNULLEIDFA: Osgoi Felly onload diffinio'r botwm chwilio amrywiol 1765 01:19:45,426 --> 01:19:49,930 at jyst ddweud document.getElementByID Chwilio botwm dot [Anghlywadwy]. 1766 01:19:49,930 --> 01:19:52,320 >> DAVIN: Yn bendant, ond yna eich llinyn yn mynd yn enfawr. 1767 01:19:52,320 --> 01:19:55,553 Yn union, felly mae hyn yn unig i gwneud yn haws i chi, ie. 1768 01:19:55,553 --> 01:19:56,053 Ie? 1769 01:19:56,053 --> 01:19:57,886 >> GYNULLEIDFA: Ble wnaethom creu window.onload? 1770 01:19:57,886 --> 01:19:58,951 Neu document.ready? 1771 01:19:58,951 --> 01:20:00,590 >> DAVIN: Oes, mae. 1772 01:20:00,590 --> 01:20:02,094 Oes, mae, yr wyf yn gwirio. 1773 01:20:02,094 --> 01:20:03,710 >> Gabe: Ddim ar eu cyfer i ofalu amdanynt. 1774 01:20:03,710 --> 01:20:06,970 >> DAVIN: Iawn, felly dwi'n mynd i ddweud wrthych beth bynnag. 1775 01:20:06,970 --> 01:20:11,005 Felly y bôn, dim ond yn gyffredinol, felly window.onload aros nes bydd eich DOM, i gyd 1776 01:20:11,005 --> 01:20:12,180 eich HTML, llwythi. 1777 01:20:12,180 --> 01:20:13,513 Mae'n aros nes bydd eich llwyth delweddau. 1778 01:20:13,513 --> 01:20:14,930 Mae'n aros nes bod llwythi popeth. 1779 01:20:14,930 --> 01:20:18,410 document.ready, 'i jyst aros nes bod eich llwythi DOM. 1780 01:20:18,410 --> 01:20:22,190 Unwaith y bydd y HTML yn gyd yno, unwaith eich DOM yno, yn dechrau rhedeg. 1781 01:20:22,190 --> 01:20:23,400 Dyna'r unig wahaniaeth. 1782 01:20:23,400 --> 01:20:24,700 >> Gabe: bwyll Cyflym wirio yma. 1783 01:20:24,700 --> 01:20:29,060 Felly, gall hyn gael ei weld math o fel llinell o god, dde? 1784 01:20:29,060 --> 01:20:33,600 Oherwydd ei fod window.onload yn gyfartal bagad o bethau. 1785 01:20:33,600 --> 01:20:39,030 Pan JavaScript yn darllen hyn, yn wir neu ffug, y swyddogaeth yn cael ei ddienyddio. 1786 01:20:39,030 --> 01:20:40,020 Anghywir. 1787 01:20:40,020 --> 01:20:40,920 OK? 1788 01:20:40,920 --> 01:20:44,470 Beth sy'n digwydd yma, eich bod newydd fynd heibio swyddogaeth hon fel swyddogaethau anhysbys 1789 01:20:44,470 --> 01:20:45,300 i window.onload. 1790 01:20:45,300 --> 01:20:48,480 Ac yna pan mae'n mynd i mewn gwirionedd yn cael eu gweithredu? 1791 01:20:48,480 --> 01:20:49,600 Pan fydd y llwythi ffenestr. 1792 01:20:49,600 --> 01:20:50,420 Dyna ddigwyddiad. 1793 01:20:50,420 --> 01:20:52,460 Felly dyna jus t beth rydym yn siarad am gynharach, dde? 1794 01:20:52,460 --> 01:20:54,580 Felly, pan fydd y digwyddiad yn digwydd, y swyddogaeth yn digwydd. 1795 01:20:54,580 --> 01:20:55,746 Yr un peth â'r onclick. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> DAVIN: Iawn, felly cymerodd rhywun ymaith y document.ready. 1798 01:21:03,130 --> 01:21:04,698 Ond bydd hyn yn union same-- 1799 01:21:04,698 --> 01:21:06,864 GYNULLEIDFA: Mae'r arwydd doler, hynny yw document.ready. 1800 01:21:06,864 --> 01:21:07,710 Dyna a shortcut. 1801 01:21:07,710 --> 01:21:08,501 >> DAVIN: O, dyna? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 Iawn, felly mae hyn yn golygu document.ready, llwybr byr. 1804 01:21:15,500 --> 01:21:19,660 Ond mae hyn yr un fath â window.onload ac eithrio ar gyfer y gwahaniaeth bach 1805 01:21:19,660 --> 01:21:20,680 Dywedais wrthych am. 1806 01:21:20,680 --> 01:21:21,870 Ac mae hyn yn jQuery. 1807 01:21:21,870 --> 01:21:25,190 Felly, mae hyn yn union yr un thing-- mae hyn yn JavaScript. 1808 01:21:25,190 --> 01:21:29,500 Mae hyn yn just-- rhai pobl yn feddwl am y peth fel pwysau mwy o olau, fersiwn 'n llyfn 1809 01:21:29,500 --> 01:21:32,370 sydd â llawer o functionality y mae'n debyg y byddwch yn eu defnyddio. 1810 01:21:32,370 --> 01:21:34,500 Felly, mae hyn yn gwneud yr un peth yn union. 1811 01:21:34,500 --> 01:21:37,110 >> Felly bethau i fath o dynnu sylw. 1812 01:21:37,110 --> 01:21:40,364 Felly, yn yr enghraifft arall, rydym Roedd gan document.getElementByID, 1813 01:21:40,364 --> 01:21:42,280 felly roedd hyn yn hir llinyn sy'n mynd i gael 1814 01:21:42,280 --> 01:21:44,290 yr elfen drwy ba bynnag ID ganddo. 1815 01:21:44,290 --> 01:21:46,470 Dyna disodli gan alwad hon yn iawn yma. 1816 01:21:46,470 --> 01:21:50,860 Felly, byddwch yn gweld yr arwydd doler, Yna byddwch yn gweld dyfyniad, hashtag. 1817 01:21:50,860 --> 01:21:52,370 Hashtag yn dewisydd bob amser. 1818 01:21:52,370 --> 01:21:54,730 Y mae'n ei ddweud, OK, mae hyn wedi ei wneud gyda ID. 1819 01:21:54,730 --> 01:21:56,120 Beth yw'r dewisydd ar gyfer dosbarth? 1820 01:21:56,120 --> 01:21:57,190 >> GYNULLEIDFA: Dot. 1821 01:21:57,190 --> 01:21:57,960 >> DAVIN: Dot, ar y dde. 1822 01:21:57,960 --> 01:22:01,950 Os ydych ond yn mynd i dewiswch tag, beth ydyw? 1823 01:22:01,950 --> 01:22:03,310 Dim ond y tag, yn union. 1824 01:22:03,310 --> 01:22:05,560 A allech chi ddefnyddio hynny yma, yn ogystal. 1825 01:22:05,560 --> 01:22:08,560 >> Gabe: A thrwy tag, rydym yn golygu yn hoffi div, er enghraifft, neu bennaeth. 1826 01:22:08,560 --> 01:22:11,500 >> DAVIN: Neu corff neu p neu unrhyw beth fel 'na, yeah. 1827 01:22:11,500 --> 01:22:14,390 Felly dyma, OK, yn hytrach na dweud document.getElementByID, 1828 01:22:14,390 --> 01:22:16,500 mae hyn yn unig yw yr un peth yn union. 1829 01:22:16,500 --> 01:22:17,990 Dim ond yn jQuery, mae'n fyrrach. 1830 01:22:17,990 --> 01:22:19,860 Felly mae'n symlach. 1831 01:22:19,860 --> 01:22:23,420 Felly, yna, dim mwy onclick, cliciwch. 1832 01:22:23,420 --> 01:22:26,320 swyddogaeth jQuery, ffoniwch swyddogaeth hon. 1833 01:22:26,320 --> 01:22:27,580 Rhybudd yn union un fath. 1834 01:22:27,580 --> 01:22:29,452 Felly mae'n ychydig llai, neu ychydig bach 1835 01:22:29,452 --> 01:22:32,410 byrrach, ychydig o bobl yn meddwl bit-- 'i' ychydig yn haws i ysgrifennu allan, 1836 01:22:32,410 --> 01:22:34,600 ychydig bach yn haws i'w deall. 1837 01:22:34,600 --> 01:22:35,640 Ond mae hyn yn jQuery. 1838 01:22:35,640 --> 01:22:37,887 Mae llawer o bobl yn cael ychydig bit ddryslyd ac yn poeni 1839 01:22:37,887 --> 01:22:40,220 ac maent yn meddwl, OK, jQuery yn wahanol nag JavaScript. 1840 01:22:40,220 --> 01:22:42,136 Mae'n rhaid i mi gofio hyn ddau beth gwahanol. 1841 01:22:42,136 --> 01:22:42,740 Nid yw'n. 1842 01:22:42,740 --> 01:22:45,315 Yr wyf yn golygu, mae'n wahanol gystrawennau. 1843 01:22:45,315 --> 01:22:46,970 Ond jQuery yw JavaScript. 1844 01:22:46,970 --> 01:22:50,050 'I' jyst yn ymddangos yn gwell fersiwn hwnnw 1845 01:22:50,050 --> 01:22:51,967 allai fod yn haws deall bod pobl yn defnyddio. 1846 01:22:51,967 --> 01:22:53,716 Gabe: Yeah, i fod yn onest, hynny arwydd doler 1847 01:22:53,716 --> 01:22:57,240 eich bod yn gweld yn jQuery, dyna dim ond y enwi swyddogaeth sy'n jQuery diffinio. 1848 01:22:57,240 --> 01:22:58,614 Nid oes ganddo unrhyw beth arbennig. 1849 01:22:58,614 --> 01:23:03,140 Ydy Dim ond enw'r swyddogaeth, yn union fel y gallech ddiffinio arwydd doler. 1850 01:23:03,140 --> 01:23:05,670 >> DAVIN: Yeah, felly yn siarad am hyn. 1851 01:23:05,670 --> 01:23:06,680 Rhai pethau defnyddiol. 1852 01:23:06,680 --> 01:23:10,414 Yr oeddwn yn edrych yn ôl ar yr hen cwisiau. 1853 01:23:10,414 --> 01:23:13,080 Yn y cwisiau cwpl diwethaf, maent i wedi gorfod defnyddio pethau fel hyn. 1854 01:23:13,080 --> 01:23:15,230 Felly document.ready, felly sicrhau bod popeth yn 1855 01:23:15,230 --> 01:23:17,410 llwytho cyn i chi ddechrau gwneud pethau. 1856 01:23:17,410 --> 01:23:20,120 Dewiswch ID, neu ddewis dosbarth, mae'n Byddai'n well jyst 1857 01:23:20,120 --> 01:23:24,020 fod dyfynbris dot rhywfaint dosbarth, dyfyniad diwedd. 1858 01:23:24,020 --> 01:23:26,580 Cyflwyno, felly os ydych chi'n cyflwyno ffurflen a galwad 1859 01:23:26,580 --> 01:23:28,830 swyddogaeth hon ar ôl y ffurflen yn cyflwyno. 1860 01:23:28,830 --> 01:23:34,210 Gwerth, felly gadewch i ni ddweud Cefais ffurflen cyflwyno, fel enw defnyddiwr, e-bost, 1861 01:23:34,210 --> 01:23:34,950 beth bynnag. 1862 01:23:34,950 --> 01:23:36,010 Roedd gen i blwch testun. 1863 01:23:36,010 --> 01:23:37,670 Felly dw i'n teipio i mewn i'r blwch testun. 1864 01:23:37,670 --> 01:23:42,170 Wel, os ydych chi am gael y gwerth allan o'r blwch testun, byddwch yn defnyddio dot Val. 1865 01:23:42,170 --> 01:23:44,050 Ac yna, i lawr fan hyn, dot HTML yr un fath 1866 01:23:44,050 --> 01:23:47,710 yn debyg ddogfen dot getElementByID dot innerHTML. 1867 01:23:47,710 --> 01:23:50,890 Felly mae hynny'n mynd i ddychwelyd chi yw'r HTML o'r adnabod. 1868 01:23:50,890 --> 01:23:55,080 Yma, 'ch jyst defnyddio rhai ID neu beth bynnag dot HTML. 1869 01:23:55,080 --> 01:23:56,930 Bydd hynny'n cael y HTML gan yr elfen honno. 1870 01:23:56,930 --> 01:24:00,130 Os ydych eisiau, yna newid hynny HTML, gallwch basio rhywbeth. 1871 01:24:00,130 --> 01:24:05,600 Felly, byddech yn hoffi dot HTML, ac yna tu mewn, dyfyniadau, HTML newydd neu rywbeth. 1872 01:24:05,600 --> 01:24:07,490 >> Gabe: Iawn, felly AJAX. 1873 01:24:07,490 --> 01:24:10,347 Fi 'n sylweddol hoffi ddeall AJAX yn dda iawn. 1874 01:24:10,347 --> 01:24:12,430 Felly, rwyf am i chi guys deall AJAX yn dda iawn. 1875 01:24:12,430 --> 01:24:14,221 Oherwydd os gwnewch hynny, rydych yn mynd 'n bert lawer 1876 01:24:14,221 --> 01:24:16,810 deall popeth a wedi ei wneud gyda HTTP, PHP, 1877 01:24:16,810 --> 01:24:21,080 JavaScript oherwydd ei fod i gyd yn dod at ei gilydd mewn AJAX. 1878 01:24:21,080 --> 01:24:25,130 Nid AJAX yn iaith. 1879 01:24:25,130 --> 01:24:27,000 AJAX yn dechneg. 1880 01:24:27,000 --> 01:24:31,690 Ac mae'n defnyddio llawer o offer gwahanol. 1881 01:24:31,690 --> 01:24:35,090 AJAX yn sefyll am XML JavaScript asynchronous. 1882 01:24:35,090 --> 01:24:36,730 Felly, y dull, yr iaith, mae'r data. 1883 01:24:36,730 --> 01:24:40,610 >> Felly brif iaith a ddefnyddiwn yn AJAX i sbarduno popeth 1884 01:24:40,610 --> 01:24:42,830 ac i ymdrin â phopeth yn nes ymlaen yw JavaScript. 1885 01:24:42,830 --> 01:24:45,160 Dyna pam y mae'n ymwneud ag ef yn agos iawn at JavaScript. 1886 01:24:45,160 --> 01:24:49,810 Ac yna asynchronous yn am nad ydym yn gwneud hynny 1887 01:24:49,810 --> 01:24:51,980 i gyd ar unwaith pan rydym yn lwytho'r dudalen. 1888 01:24:51,980 --> 01:24:57,190 Dyma'r peth a allwn gwneud pethau fath o yn gyfochrog. 1889 01:24:57,190 --> 01:24:59,725 Y prif syniad y tu ôl AJAX yw eich bod eisiau 1890 01:24:59,725 --> 01:25:02,170 iddo gael rhywfaint o wybodaeth benodol. 1891 01:25:02,170 --> 01:25:06,450 Er enghraifft, pan fyddwch yn teipio newydd enw defnyddiwr pan fyddwch yn cofrestru enw defnyddiwr, 1892 01:25:06,450 --> 01:25:08,520 fy enw defnyddiwr yn abc123. 1893 01:25:08,520 --> 01:25:11,671 Ac yna, ar ddiwedd y ffurflen, rhaid i chi glicio Cyflwyno. 1894 01:25:11,671 --> 01:25:14,420 Ac mae'n rhaid iddo fynd at 'r gweinyddwr, ac yna gwirio os yn y gronfa ddata, 1895 01:25:14,420 --> 01:25:15,594 abc123 sydd yno eisoes. 1896 01:25:15,594 --> 01:25:18,510 Ac os ei fod yno eisoes, y mae'n ei ddweud, enw defnyddiwr eisoes yn y gronfa ddata. 1897 01:25:18,510 --> 01:25:21,010 Ac maent, rhaid i chi lenwi y ffurflen gyfan eto. 1898 01:25:21,010 --> 01:25:23,110 Ac yr oedd mewn gwirionedd, yn wael iawn. 1899 01:25:23,110 --> 01:25:25,440 >> Ac yna pobl yn dweud, OK, pam na allwn ni ond 1900 01:25:25,440 --> 01:25:29,560 yn gwneud cais HTTP bach i ddim ond wirio i weld a yw defnyddiwr hwn yn y gronfa ddata 1901 01:25:29,560 --> 01:25:32,080 cyn y defnyddiwr yn gorfod cyflwyno'r ffurflen cyfan? 1902 01:25:32,080 --> 01:25:36,350 Felly, er enghraifft, pan fydd y defnyddiwr gorffen teipio abc123, 1903 01:25:36,350 --> 01:25:39,660 gadewch i jyst yn mynd at y gweinydd ychydig bit a dim ond yn cael gwir neu gau 1904 01:25:39,660 --> 01:25:43,080 o'r gweinydd i weld a oes dyna enw defnyddiwr dilys ai peidio. 1905 01:25:43,080 --> 01:25:49,250 Iawn, felly dyna un o'r prif defnyddio o AJAX dyddiau hyn yn dal. 1906 01:25:49,250 --> 01:25:52,130 >> DAVIN: Felly real gyflym, yn galwad Ajax yn jQuery, 1907 01:25:52,130 --> 01:25:54,770 gallech yn arwyddo bod chi am iddo fod cydamserol. 1908 01:25:54,770 --> 01:25:56,330 Ni ddylech wneud hyn. 1909 01:25:56,330 --> 01:25:57,640 Ond gallwch wneud hynny. 1910 01:25:57,640 --> 01:25:59,277 Ac os wnaethoch chi hynny, beth fyddai'n digwydd? 1911 01:25:59,277 --> 01:26:01,610 Wel, er enghraifft, pan fyddwch yn cael newyddion neu beth bynnag, 1912 01:26:01,610 --> 01:26:05,464 eich porwr yn jyst yn mynd i aros hyd nes y cyfan galwad yn gyflawn 1913 01:26:05,464 --> 01:26:08,130 yn hytrach na gadael i chi wneud eraill pethau'n iawn ar ôl i chi glicio arno. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> Gabe: Dyw hi ddim yn pasio anymore. 1916 01:26:17,115 --> 01:26:19,681 O fy duw. 1917 01:26:19,681 --> 01:26:20,180 Mae'n ddrwg gennym! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Yup. 1920 01:26:23,601 --> 01:26:25,350 "Yn y gorffennol, mae'r cleient sydd ei angen i gais 1921 01:26:25,350 --> 01:26:26,840 holl gynnwys gwefan. " 1922 01:26:26,840 --> 01:26:28,210 Dyna beth a ddywedais. 1923 01:26:28,210 --> 01:26:30,070 Mae'n caniatáu i ni anfon GET neu POST ychwanegol 1924 01:26:30,070 --> 01:26:32,140 ceisiadau heb orfod i ail-lwytho ein porwr. 1925 01:26:32,140 --> 01:26:34,806 Felly, ar ddiwedd y dydd, rydym yn mewn gwirionedd yn gwneud ceisiadau HTTP 1926 01:26:34,806 --> 01:26:35,740 yma gan ddefnyddio'ch JavaScript. 1927 01:26:35,740 --> 01:26:39,700 Oherwydd o'r blaen, dim ond defnyddio JavaScript i newid y HTML a ddaeth yn barod. 1928 01:26:39,700 --> 01:26:43,110 Ac yn awr, gallwn ddefnyddio i ryngwynebu gyda'r gweinyddwyr gwe yn ogystal. 1929 01:26:43,110 --> 01:26:46,140 Y ffordd hyn yn digwydd yw gennym y cleient. 1930 01:26:46,140 --> 01:26:47,340 Davin yn gleient. 1931 01:26:47,340 --> 01:26:50,797 Ac efe wedi holl JavaScript rhedeg oherwydd HTML yn fud. 1932 01:26:50,797 --> 01:26:51,630 JavaScript yn smart. 1933 01:26:51,630 --> 01:26:54,690 Felly Davin Davin wedi ei smart rhan ac yn ei ran fud. 1934 01:26:54,690 --> 01:26:57,590 Mae'n mynd i ddefnyddio ei ran smart nawr. 1935 01:26:57,590 --> 01:27:00,860 Mae'n mynd i ddefnyddio JavaScript i gais, er enghraifft, 1936 01:27:00,860 --> 01:27:04,340 boed abc123 mewn y gronfa ddata neu beidio. 1937 01:27:04,340 --> 01:27:08,450 >> Felly Davin, os gwelwch yn dda, 'ch jyst anfon cais HTTP mi. 1938 01:27:08,450 --> 01:27:09,197 Diolch yn fawr. 1939 01:27:09,197 --> 01:27:10,530 Felly efe jyst anfon cais HTTP. 1940 01:27:10,530 --> 01:27:11,270 Byddwch yn gweld hynny? 1941 01:27:11,270 --> 01:27:14,700 A dyna yn union yr un ffordd bod unrhyw gais HTTP ei anfon. 1942 01:27:14,700 --> 01:27:16,830 Mae'r porwr, Google Chrome neu rywbeth, yn 1943 01:27:16,830 --> 01:27:19,570 mynd i weld bod Davin yn ceisio anfon cais HTTP, 1944 01:27:19,570 --> 01:27:20,930 mynd i helpu ei Mawrhydi ychydig. 1945 01:27:20,930 --> 01:27:23,950 Ac mae hynny'n mynd i fynd yr holl ffordd at 'r gweinyddwr. 1946 01:27:23,950 --> 01:27:27,370 Yn awr, mae'r gweinydd yn mynd i gael PHP yma, neu unrhyw iaith arall. 1947 01:27:27,370 --> 01:27:29,990 Yn union fel mewn cais HTTP arferol. 1948 01:27:29,990 --> 01:27:31,950 Mae'n 'n bert lawer cais HTTP arferol. 1949 01:27:31,950 --> 01:27:33,658 >> Ac yna, y gweinydd yn mynd i ddweud, OK, 1950 01:27:33,658 --> 01:27:37,270 Davin am i mi i weld a abc123 hyn yn y gronfa ddata. 1951 01:27:37,270 --> 01:27:38,310 Ewch sgwrs i'r model. 1952 01:27:38,310 --> 01:27:41,310 Mae'r model yn dweud nad yw'n. abc123 yw enw defnyddiwr da. 1953 01:27:41,310 --> 01:27:47,940 Ac yna, mae'r gweinydd gwe yn mynd i yn defnyddio PHP i rendro rhyw fath o ffeil. 1954 01:27:47,940 --> 01:27:52,280 Gallai fod yn llythrennol yn unig ffeil sy'n cynnwys "ie" mewn iddo, neu "na, 1955 01:27:52,280 --> 01:27:53,315 neu rywbeth fel 'na. 1956 01:27:53,315 --> 01:27:54,190 Gallai fod yn unrhyw ffeil. 1957 01:27:54,190 --> 01:27:57,080 >> Gallai fod yn debyg Rydw i'n mynd i anfon llun o hwyaden Davin 1958 01:27:57,080 --> 01:28:01,200 os yw'n yn y gronfa ddata a anfon llun o bochdew 1959 01:28:01,200 --> 01:28:02,420 os nad yw'n yn y gronfa ddata. 1960 01:28:02,420 --> 01:28:04,294 Byddai hynny'n fath o fud, ond bydd yn gweithio. 1961 01:28:04,294 --> 01:28:07,030 Iawn, felly yr wyf yn anfon hwyaden i Davin. 1962 01:28:07,030 --> 01:28:08,150 Davin got a hwyaden. 1963 01:28:08,150 --> 01:28:13,330 Ac yn awr, pwy sy'n mynd i drin y hwyaden? 1964 01:28:13,330 --> 01:28:16,390 Rhan smart Davin unwaith eto, felly JavaScript, dde? 1965 01:28:16,390 --> 01:28:18,620 Anfon JavaScript yr cais, a JavaScript 1966 01:28:18,620 --> 01:28:22,300 yn mynd i dderbyn y cais a'i ddehongli mewn rhyw ffurf. 1967 01:28:22,300 --> 01:28:26,630 >> Ac yn yr ystyr hwn, mae'n mynd i dweud, OK, os hwyaden yna rwy'n dda. 1968 01:28:26,630 --> 01:28:30,770 Os bochdew, yna dwi'n mynd i ddweud, na, enw defnyddiwr eisoes 1969 01:28:30,770 --> 01:28:31,970 yn bodoli yn y gronfa ddata. 1970 01:28:31,970 --> 01:28:33,845 Ond fel arfer, nad ydych yn mynd i anfon hwyaden. 1971 01:28:33,845 --> 01:28:36,740 Rydych yn mynd i anfon rhywbeth ychydig yn fwy craff. 1972 01:28:36,740 --> 01:28:40,320 A beth rydym yn ei ddefnyddio yw XML. 1973 01:28:40,320 --> 01:28:42,690 Ac yn fwy diweddar, rydym yn defnyddio JSON. 1974 01:28:42,690 --> 01:28:45,629 JSON yn unig yw JavaScript Nodiant gwrthrych, a oedd yn 1975 01:28:45,629 --> 01:28:47,670 yn y bôn byddwch yn cael gyfan gwrthrych JavaScript. 1976 01:28:47,670 --> 01:28:50,820 A ydych yn ei roi mewn ffeil, yn union fel y gwrthrych CS50 a welodd chi guys. 1977 01:28:50,820 --> 01:28:53,090 Rydych yn ei roi mewn ffeil, a chi ei anfon drosodd i Davin. 1978 01:28:53,090 --> 01:28:55,850 >> Felly, yn yr achos hwn, yr wyf byddai gwneud gwrthrych JavaScript 1979 01:28:55,850 --> 01:28:59,570 a dim ond dweud, defnyddiwr yn bodoli, ie. 1980 01:28:59,570 --> 01:29:01,630 Neu ddefnyddiwr yn bodoli, dim. 1981 01:29:01,630 --> 01:29:02,810 A'i hanfon yn ôl ato. 1982 01:29:02,810 --> 01:29:03,830 A pham JSON? 1983 01:29:03,830 --> 01:29:07,330 Oherwydd bod y person pwy sy'n derbyn hyn yn 1984 01:29:07,330 --> 01:29:10,030 mynd i ddefnyddio JavaScript i drin yr ymateb. 1985 01:29:10,030 --> 01:29:14,970 Ac JavaScript yn gweithio cystal oherwydd fe'i gelwir JavaScript Nodiant Gwrthrych. 1986 01:29:14,970 --> 01:29:15,470 Iawn? 1987 01:29:15,470 --> 01:29:19,660 Felly gall ffoniwch swyddogaeth a chael y gwrthrych 'n glws o'r ymateb. 1988 01:29:19,660 --> 01:29:22,890 Ac yna, mae'n mynd i wybod a bod y defnyddiwr yn y gronfa ddata neu beidio. 1989 01:29:22,890 --> 01:29:25,230 >> Felly, byddwch yn gweld, y cyfan ohono yn dod gyda'i gilydd yn y gweinydd gwe, 1990 01:29:25,230 --> 01:29:28,450 ac yna mae un HTTP i gais ac un ymateb HTTP a phopeth. 1991 01:29:28,450 --> 01:29:30,600 Felly, gwnewch yn siŵr eich bod guys deall hyn AJAX ffoniwch 1992 01:29:30,600 --> 01:29:37,260 oherwydd ei fod yn eich helpu i ddeall gyd o'r cysyniadau rydym yn sôn am. 1993 01:29:37,260 --> 01:29:40,260 >> Felly dyma enghraifft o AJAX gyda jQuery. 1994 01:29:40,260 --> 01:29:42,130 Ac yma, rydym yn ei wneud gyda JSON get. 1995 01:29:42,130 --> 01:29:45,660 Felly, nid ydym yn ceisio cael delwedd o gath yma, neu hwyaden. 1996 01:29:45,660 --> 01:29:48,110 Rydym yn ceisio cael ffeil JSON. 1997 01:29:48,110 --> 01:29:51,184 Ac yna rydym yn aros tan mae'n ei wneud, dot wneud. 1998 01:29:51,184 --> 01:29:52,850 Mae hynny'n golygu fy mod yn aros am yr ymateb. 1999 01:29:52,850 --> 01:29:54,180 Gallai fod yn cymryd ychydig o amser. 2000 01:29:54,180 --> 01:29:56,360 Yna, byddwch yn gweld ychydig o llwytho. 2001 01:29:56,360 --> 01:29:59,340 Os ydych am wneud hynny yn eich gwefan. 2002 01:29:59,340 --> 01:30:01,440 Felly dot wneud, ac yna beth yn digwydd pan mae'n ei wneud? 2003 01:30:01,440 --> 01:30:04,040 Byddwch yn mynd heibio mewn dienw swyddogaeth, yn union fel y gwelsom o'r blaen. 2004 01:30:04,040 --> 01:30:07,800 Oherwydd ei wneud yn ddigwyddiad, dim ond fel glicio llygoden neu beth bynnag, 2005 01:30:07,800 --> 01:30:08,710 ar gyfer jQuery. 2006 01:30:08,710 --> 01:30:13,710 Felly, byddwch yn pasio yn y swyddogaeth hon â data, testun, statws, a jqXHR. 2007 01:30:13,710 --> 01:30:15,790 Ac yn y bôn, dyna dim ond rhai newidynnau 2008 01:30:15,790 --> 01:30:22,160 y gallwch eu defnyddio yn nes ymlaen i gael statws y cais HTTP, 2009 01:30:22,160 --> 01:30:24,470 y data ei fod yn mynd i anfon yn ôl i chi. 2010 01:30:24,470 --> 01:30:28,740 Felly, yna gallwch yn nes ymlaen dehongli ac yn gwneud rhywbeth ystyrlon ag ef. 2011 01:30:28,740 --> 01:30:30,240 Ac os bydd yn methu, pryd y gallai fethu? 2012 01:30:30,240 --> 01:30:33,780 Wel, pan fydd y cais HTTP yn rhoi A ydych yn 500 neu rywbeth fel 'na. 2013 01:30:33,780 --> 01:30:37,420 Yna, mae'n mynd i ddweud wrthych y statws, pa fath o fethiant a oedd, 2014 01:30:37,420 --> 01:30:38,420 a phob math o bethau. 2015 01:30:38,420 --> 01:30:40,630 Mae'n rhaid i chi wneud yn siŵr i drin y ddau achos, 2016 01:30:40,630 --> 01:30:42,770 fel arall mae'r rhaglen yn mynd yn wallgof. 2017 01:30:42,770 --> 01:30:45,820 >> DAVIN: Felly ie, mae hyn yn union yr hyn a welsoch ar eich ddiwethaf p-set. 2018 01:30:45,820 --> 01:30:49,720 Y gwir AJAX alwad yn y JSON get. 2019 01:30:49,720 --> 01:30:50,587 Dyna'r alwad. 2020 01:30:50,587 --> 01:30:52,920 Ac yna, dot wneud yn debyg mae'n gwirio os yw'n llwyddiannus. 2021 01:30:52,920 --> 01:30:55,620 Os yw'n llwyddiannus, yr ydych am i wneud rhywbeth gyda'r data. 2022 01:30:55,620 --> 01:30:59,290 Rydych yn cael yn ôl o hynny Data cais JSON. 2023 01:30:59,290 --> 01:31:00,600 Dyna beth yr ydych yn mynd yn ôl. 2024 01:31:00,600 --> 01:31:04,470 Felly, os ydych yn cofio o'ch p-set, llawer ohonoch yn hoffi braced data ff 2025 01:31:04,470 --> 01:31:06,302 neu beth bynnag, dot cyswllt neu deitl. 2026 01:31:06,302 --> 01:31:08,260 Beth bynnag sy'n dod yn ôl o'r JSON, beth bynnag 2027 01:31:08,260 --> 01:31:11,020 y caeau yn y gwrthrych JSON, dyna beth ydych yn ei gael yn ôl. 2028 01:31:11,020 --> 01:31:12,394 Mae data ar yr hyn yr ydych yn ei gael yn ôl. 2029 01:31:12,394 --> 01:31:15,510 Statws Testun, dim ond rhywbeth y yn gadael i chi wybod beth a ddigwyddodd. 2030 01:31:15,510 --> 01:31:20,570 Ac yna, mae'r jqXHR, dyna'n union y cais HTTP XML jQuery. 2031 01:31:20,570 --> 01:31:21,990 Dyna union fel gwrthrych. 2032 01:31:21,990 --> 01:31:23,932 Ac yna yn methu, yn union fel y dywedodd Gabe. 2033 01:31:23,932 --> 01:31:27,140 Gabe: Yn ein henghraifft bach o abc123 dim ond i wirio os dyna sydd yn y gronfa ddata 2034 01:31:27,140 --> 01:31:32,260 neu beidio, byddai'r data'n cael rhywbeth i chi Byddai ei wneud, os enw defnyddiwr data dot yn bodoli, 2035 01:31:32,260 --> 01:31:37,720 sef yr hyn yw eich PHP a gynhyrchir ar gyfer chi, os Enw`r dot defnyddiwr yn bodoli, yna 2036 01:31:37,720 --> 01:31:40,880 Rydw i'n mynd i rybuddio, defnyddiwr enw sydd eisoes yn bodoli. 2037 01:31:40,880 --> 01:31:44,300 Else, Im 'jyst yn mynd i adael i'r defnyddiwr symud ymlaen lenwi'r ffurflen. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 OK, diogelwch, oer. 2040 01:31:50,820 --> 01:31:52,060 >> DAVIN: Eisiau i mi? 2041 01:31:52,060 --> 01:31:54,500 >> Gabe: Rwy'n hoffi hwn. 2042 01:31:54,500 --> 01:31:57,680 Felly rhywbeth sy'n edrych yn gyfarwydd. 2043 01:31:57,680 --> 01:31:59,750 Rydym yn gwneud bron. 2044 01:31:59,750 --> 01:32:02,670 Felly, mae hyn yn unig yw yr enghraifft Gwelodd chi guys yn y dosbarth. 2045 01:32:02,670 --> 01:32:04,860 Rydych yn defnyddio argv1 yma. 2046 01:32:04,860 --> 01:32:06,460 Mae hynny'n debyg i ymresymiad llinell orchymyn. 2047 01:32:06,460 --> 01:32:09,270 Ac rydym yn MEM copïo hwnnw i mewn i byffer o faint 12. 2048 01:32:09,270 --> 01:32:12,560 Beth yw'r broblem yma? 2049 01:32:12,560 --> 01:32:13,660 Clustogi gorlifo! 2050 01:32:13,660 --> 01:32:15,400 Gan fod gennym byffer o faint 12. 2051 01:32:15,400 --> 01:32:18,400 argv1 allai fod â faint o ddau biliwn. 2052 01:32:18,400 --> 01:32:19,960 Nid ydym yn gwneud unrhyw gwirio ffin. 2053 01:32:19,960 --> 01:32:24,970 Felly efallai y byddwn yn copïo llawer o gof. 2054 01:32:24,970 --> 01:32:28,630 A byddwn yn enwedig drwg am hyn. 2055 01:32:28,630 --> 01:32:32,600 Beth allwn ni ei wneud dyna iawn, yn golygu iawn yn yr achos hwn? 2056 01:32:32,600 --> 01:32:33,278 Ie? 2057 01:32:33,278 --> 01:32:36,528 GYNULLEIDFA: Rhan o'r ddau biliwn o beth yn cynnwys cod cyflawnadwy sy'n dychwelyd 2058 01:32:36,528 --> 01:32:38,127 [Anghlywadwy]. 2059 01:32:38,127 --> 01:32:38,710 Gabe: Yn union. 2060 01:32:38,710 --> 01:32:41,110 Felly dyna'r math o beth y mae pobl yn eu defnyddio 2061 01:32:41,110 --> 01:32:43,344 i jailbreak iPhone, er enghraifft. 2062 01:32:43,344 --> 01:32:44,260 Felly y math yna o beth. 2063 01:32:44,260 --> 01:32:48,610 Oherwydd gallwch jyst yn gwneud y ddyfais gweithredu unrhyw god yr ydych yn hoffi. 2064 01:32:48,610 --> 01:32:50,247 Mae'r atgyweiria, felly mae'r ateb yn hawdd. 2065 01:32:50,247 --> 01:32:51,330 Dim ond edrychwch am y terfynau. 2066 01:32:51,330 --> 01:32:53,455 Rydych yn edrych am null oherwydd rydym bob amser yn edrych am null 2067 01:32:53,455 --> 01:32:54,940 pan fyddwn yn delio â llinynnau. 2068 01:32:54,940 --> 01:32:57,840 Ac yna, byddwch yn cymryd y hyd llinyn o'r blaen. 2069 01:32:57,840 --> 01:33:00,150 Ac os y llinyn hyd yn llinyn dilys 2070 01:33:00,150 --> 01:33:03,700 hyd, sydd o fewn 0 a 12, yna rydym yn dda. 2071 01:33:03,700 --> 01:33:07,144 >> DAVIN: Os nad ydych yn gwirio am null, go gyflym, beth fydd yn digwydd? 2072 01:33:07,144 --> 01:33:07,810 Bydd yn SEG fai. 2073 01:33:07,810 --> 01:33:10,850 Pam y bydd SEG ei fai? 2074 01:33:10,850 --> 01:33:12,510 Oherwydd ydych yn ffonio strlen ar null. 2075 01:33:12,510 --> 01:33:13,010 Gabe: Yeah. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Gwir neu gau, gan ddefnyddio un cyfrinair yn syniad da. 2078 01:33:19,630 --> 01:33:20,430 >> GYNULLEIDFA: Anghywir. 2079 01:33:20,430 --> 01:33:21,150 >> Gabe: Anghywir. 2080 01:33:21,150 --> 01:33:23,870 Defnyddiwch llawer cyfrineiriau, a rhai mawr, hir. 2081 01:33:23,870 --> 01:33:26,050 Eiconau clo clap yn sicrhau diogelwch. 2082 01:33:26,050 --> 01:33:27,080 >> GYNULLEIDFA: Anghywir. 2083 01:33:27,080 --> 01:33:27,749 >> Gabe: Anghywir. 2084 01:33:27,749 --> 01:33:28,790 Nid yw'n golygu unrhyw beth. 2085 01:33:28,790 --> 01:33:30,480 Dim ond eicon. 2086 01:33:30,480 --> 01:33:32,824 SSL yn amddiffyn yn erbyn dyn yn yr ymosodiad canol. 2087 01:33:32,824 --> 01:33:33,490 GYNULLEIDFA: Anghywir. 2088 01:33:33,490 --> 01:33:34,110 Gabe: Anghywir. 2089 01:33:34,110 --> 01:33:35,355 Iawn, felly pawb yn ffug. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Nice. 2092 01:33:39,490 --> 01:33:40,220 [Anghlywadwy] 2093 01:33:40,220 --> 01:33:42,500 Eisiau siarad am hyn? 2094 01:33:42,500 --> 01:33:43,259 Eich tro. 2095 01:33:43,259 --> 01:33:45,050 DAVIN: Mathau o ymosodiadau, dyn yn y canol. 2096 01:33:45,050 --> 01:33:47,134 Beth yw dyn yn yr ymosodiad canol? 2097 01:33:47,134 --> 01:33:48,050 GYNULLEIDFA: [Anghlywadwy]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 DAVIN: Os ydych yn anfon HTTP cais, gallent wneud hyn, dde? 2100 01:33:54,020 --> 01:33:57,890 Ond os ydych yn anfon HTTPS, maent yn Mae'n debyg na fydd yn gallu gwneud hyn. 2101 01:33:57,890 --> 01:33:59,952 Mae llawer o bwyntiau ar hyd eich cysylltiad. 2102 01:33:59,952 --> 01:34:00,660 Mae gennych llwybryddion. 2103 01:34:00,660 --> 01:34:01,746 Mae gennych gweinyddwyr DNS. 2104 01:34:01,746 --> 01:34:04,120 Os yw rhywun yn gallu corfforol gweld yr hyn rydych yn ei anfon, 2105 01:34:04,120 --> 01:34:06,140 felly bydd rhywun yn gallu mewn gwirionedd yn cael rhyngoch chi, 2106 01:34:06,140 --> 01:34:08,840 y cleient, a 'r gweinyddwr, ac mae'n gallu gweld yr hyn rydych yn ei anfon, 2107 01:34:08,840 --> 01:34:10,298 mae hyn yn ddyn yn yr ymosodiad canol. 2108 01:34:10,298 --> 01:34:14,287 Felly, er mwyn gweld yr hyn yr ydych yn ceisio cael gan y gweinydd, neu yn gallu see-- waeth, 2109 01:34:14,287 --> 01:34:16,620 efallai y byddwch yn gallu gweld cwcis neu rywbeth fel 'na. 2110 01:34:16,620 --> 01:34:19,290 >> Felly, er enghraifft, os Nid ydych yn defnyddio SSL, efe a 2111 01:34:19,290 --> 01:34:21,900 Efallai yn gallu gweld eich cwcis ID sesiwn. 2112 01:34:21,900 --> 01:34:25,460 Ac mae gelwir hyn yn sesiwn herwgipio oherwydd ei fod yn gweld eich cwcis adnabod, 2113 01:34:25,460 --> 01:34:28,317 ac yna mae'n gallu mynd i'r un a gwefan a esgus bod yn chi. 2114 01:34:28,317 --> 01:34:31,150 Gan fod yn union fel yn PHP, cofiwch pan fyddwn yn logio i mewn, beth ydym yn ei wneud? 2115 01:34:31,150 --> 01:34:33,340 Rydym yn gosod ID sesiwn cyfartal i adnabod. 2116 01:34:33,340 --> 01:34:34,810 Felly sy'n nodi i chi. 2117 01:34:34,810 --> 01:34:38,300 Dyna pam y gallwch weld eich portffolio a phortffolio Nid yw pawb arall. 2118 01:34:38,300 --> 01:34:42,320 >> Wel, os ydw i'n gallu cael y cwci, yna gallaf fewngofnodi ar y dudalen honno. 2119 01:34:42,320 --> 01:34:45,380 Ac yna, gallaf weld eich stwff a dechrau prynu a gwerthu pethau. 2120 01:34:45,380 --> 01:34:46,800 Felly dyna sesiwn herwgipio. 2121 01:34:46,800 --> 01:34:50,810 Ond ni ddylech fod yn gallu i-- er mwyn i chi Gall ddefnyddio'r dyn yn yr ymosodiad canol 2122 01:34:50,810 --> 01:34:52,290 hyd yn oed os ydynt yn defnyddio SSL. 2123 01:34:52,290 --> 01:34:53,520 Ond ni ddylech fod yn gallu. 2124 01:34:53,520 --> 01:34:56,580 Os ydynt yn defnyddio SSL, na allwch sesiwn herwgipio. 2125 01:34:56,580 --> 01:34:58,927 Pam? 2126 01:34:58,927 --> 01:35:01,135 Oherwydd ei fod yn gyd wedi'i amgryptio, iawn? os caiff ei amgryptio, 2127 01:35:01,135 --> 01:35:03,509 ac rwy'n dal i fod yn ddyn yn y canol, yr wyf yn dal i gael eich data. 2128 01:35:03,509 --> 01:35:04,279 Mae hynny'n iawn. 2129 01:35:04,279 --> 01:35:05,070 Ond mae'n amgryptio. 2130 01:35:05,070 --> 01:35:07,750 Felly, ni all Fi 'n sylweddol yn ei ddefnyddio. 2131 01:35:07,750 --> 01:35:09,840 Felly dyna dau. 2132 01:35:09,840 --> 01:35:11,544 >> Real gyflym, traws safle cais ffugio. 2133 01:35:11,544 --> 01:35:13,960 Dyna dim ond os oes cysylltiad a bod y ddolen yn gwneud rhywbeth 2134 01:35:13,960 --> 01:35:14,890 nad ydych yn meddwl y dylai wneud. 2135 01:35:14,890 --> 01:35:18,150 Felly, er enghraifft, os yw'r cysylltiad yn mynd i brynu stociau neu werthu stociau, 2136 01:35:18,150 --> 01:35:19,360 ac nad oeddech yn gwybod hynny. 2137 01:35:19,360 --> 01:35:22,040 Rydych yn clicio ar y ddolen, Anfonwyd cais, a brynwyd 2138 01:35:22,040 --> 01:35:24,240 neu eu gwerthu rhywbeth y na wnaethoch ei olygu i'w wneud. 2139 01:35:24,240 --> 01:35:25,120 Dyna hynny. 2140 01:35:25,120 --> 01:35:30,720 >> Sgriptio traws safle, felly dyma, eich bod yn pasio mewn trwy amrywiol q, 2141 01:35:30,720 --> 01:35:33,510 yn hytrach na pasio mewn rhyw fath o werth, efallai q yn debyg i enw. 2142 01:35:33,510 --> 01:35:36,560 Felly, yn hytrach na pasio q gyfartal Davin neu rywbeth fel 'na, 2143 01:35:36,560 --> 01:35:38,740 os nad ydych yn defnyddio HTML chars arbennig, os ydych 2144 01:35:38,740 --> 01:35:43,100 peidiwch â dianc hyn i wneud yn siŵr ei fod yn OK, yna gallwn i basio yn lle hynny, 2145 01:35:43,100 --> 01:35:46,910 gadewch i ni ddweud yn fan hyn i ddim yn dweud print neu rywbeth fel 'na, 2146 01:35:46,910 --> 01:35:51,070 Yna gallwn i basio i mewn yma galwad sgript. 2147 01:35:51,070 --> 01:35:53,140 >> Felly, yna, yn hytrach na dim ond cael newidiol, 2148 01:35:53,140 --> 01:35:54,960 Byddwn wedyn yn gweithredu sgript yma alwad. 2149 01:35:54,960 --> 01:35:57,065 Felly, y tu mewn y sgript yn galw, yr hyn y mae'n ei wneud? 2150 01:35:57,065 --> 01:36:00,190 Dogfen dot lleoliad, mae hynny'n mynd i newid lleoliad y ddogfen. 2151 01:36:00,190 --> 01:36:02,290 Felly, yr wyf i'n mynd i ailgyfeirio i rywle arall. 2152 01:36:02,290 --> 01:36:08,170 Mae'n cael ei alw dyn drwg mewn yr enghraifft hon, yn dda iawn. 2153 01:36:08,170 --> 01:36:10,536 Methu meddwl am y gair. 2154 01:36:10,536 --> 01:36:12,410 Ac yna, beth sydd hyd yn oed waeth yw fy mod i'n mynd 2155 01:36:12,410 --> 01:36:16,832 yna gosod cookie, sef rhai newidyn gen i yn y wefan hon. 2156 01:36:16,832 --> 01:36:19,040 Rydw i'n mynd i osod gyfartal i'r ddogfen dot cwci. 2157 01:36:19,040 --> 01:36:20,660 Felly, dw i'n mynd i ddwyn eich cwci. 2158 01:36:20,660 --> 01:36:22,951 Ac yr wyf i'n mynd i ailgyfeirio rhywfaint o wybodaeth i wefan 2159 01:36:22,951 --> 01:36:25,120 na ddylech fod yn cael mynediad. 2160 01:36:25,120 --> 01:36:29,250 Ac mae hyn i gyd yn digwydd oherwydd eich bod yn Nid yw dianc yr hyn yr ydych wedi ei weld. 2161 01:36:29,250 --> 01:36:29,910 Yeah? 2162 01:36:29,910 --> 01:36:32,160 >> GYNULLEIDFA: Felly dim ond i gwneud hynny'n glir, 'i' 2163 01:36:32,160 --> 01:36:37,550 vulnerable.com bod yn agored i hyn. 2164 01:36:37,550 --> 01:36:39,300 Fel y gall cyswllt ymddangos ar unrhyw dudalen a roddir. 2165 01:36:39,300 --> 01:36:42,200 Rhywun yn clicio arno, yn mynd i'r vulnerable.com. 2166 01:36:42,200 --> 01:36:43,700 Mae gennych cwci i vulnerable.com. 2167 01:36:43,700 --> 01:36:46,670 Lets 'ddeud Facebook yn agored i niwed, felly facebook.com. 2168 01:36:46,670 --> 01:36:48,310 Mae gennych eich cwci Facebook. 2169 01:36:48,310 --> 01:36:50,925 Beth mae hyn yn ei wneud, rydych yn mynd i facebook.com, 2170 01:36:50,925 --> 01:36:53,990 unwaith mae'n ailgyfeirio chi badguy.com, 2171 01:36:53,990 --> 01:36:57,182 ond gan gynnwys eich gwybodaeth cwci. 2172 01:36:57,182 --> 01:36:59,310 Felly mae'n ailgyfeirio cyflym, ond bod eich cwci Facebook 2173 01:36:59,310 --> 01:37:02,572 yn cael ei gynnwys gyda'r ailgyfeirio, a dyna sut y maent [Anghlywadwy]. 2174 01:37:02,572 --> 01:37:04,280 Gabe: Yeah, mae rhai pethau cymedrig iawn 2175 01:37:04,280 --> 01:37:06,070 y gall pobl wneud os oes hon. 2176 01:37:06,070 --> 01:37:09,190 Er enghraifft, os caniateir Facebook pawb i newid eich enw defnyddiwr, 2177 01:37:09,190 --> 01:37:11,680 ac nid oeddent yn gwneud unrhyw gwiriadau callineb, er mwyn i chi 2178 01:37:11,680 --> 01:37:16,810 Gallai mewnosod yn beth JavaScript bod newid eich delwedd i bochdew. 2179 01:37:16,810 --> 01:37:22,590 A bod yn mewnosod yr un fath JavaScript i bawb sydd yn gweld eich tudalen. 2180 01:37:22,590 --> 01:37:26,400 Felly pawb sy'n gweld eich tudalen yr un peth yn yr enw defnyddiwr. 2181 01:37:26,400 --> 01:37:30,104 Ac am ei fod yn firws, mae'n lledaenu'n gynt a chynt. 2182 01:37:30,104 --> 01:37:32,270 DAVIN: Byddwn yn hepgor yr olaf un, ac yna rydym yn ei wneud. 2183 01:37:32,270 --> 01:37:34,120 Felly, mae hyn yn unig yw enghraifft arall. 2184 01:37:34,120 --> 01:37:36,120 Felly mae hyn yn dydyn nhw ddim dianc eu bwrdd SQL. 2185 01:37:36,120 --> 01:37:37,090 Felly rydych yn gallu ollwng. 2186 01:37:37,090 --> 01:37:38,805 Felly, yr ydych am i ddianc pethau. 2187 01:37:38,805 --> 01:37:44,010 Dyna oedd yr enghraifft flaenorol gyda'r sgriptio traws safle. 2188 01:37:44,010 --> 01:37:45,430 Mae'n ddrwg gennym rydym yn rhedeg ychydig yn hwyr. 2189 01:37:45,430 --> 01:37:46,870 Yfory, sori! 2190 01:37:46,870 --> 01:37:48,560 Yfory, mae gennym oriau swyddfa. 2191 01:37:48,560 --> 01:37:50,870 Felly oriau swyddfa yn Cabbot 8:00-11:00. 2192 01:37:50,870 --> 01:37:55,240 Mae'r oriau swyddfa yn llym ar gyfer cwestiynau cwis. 2193 01:37:55,240 --> 01:37:56,587