1 00:00:00,000 --> 00:00:05,616 2 00:00:05,616 --> 00:00:07,030 >> HANNAH Blumberg: Helo bawb. 3 00:00:07,030 --> 00:00:09,530 Rydym yn mynd i ddechrau arni dim ond ychydig o funudau yn gynnar 4 00:00:09,530 --> 00:00:11,738 gan fod gennym lawer cyfan o ddeunydd i gael drwy. 5 00:00:11,738 --> 00:00:12,790 Rwy'n Hannah. 6 00:00:12,790 --> 00:00:13,865 Rwy'n TF. 7 00:00:13,865 --> 00:00:16,239 Maria yn mynd i fod yn ymuno ni mewn dim ond cwpl o funudau. 8 00:00:16,239 --> 00:00:17,560 Mae'n dysgu adran dde cyn. 9 00:00:17,560 --> 00:00:19,351 Rwy'n dysgu adran hawl ar ôl, felly rydym yn mynd 10 00:00:19,351 --> 00:00:21,200 i'w gadw'n i'r awr a hanner. 11 00:00:21,200 --> 00:00:25,490 >> Felly, fel y gwelwch yma, mae gennym gryn ychydig o bynciau mae angen i ni i gael drwy, 12 00:00:25,490 --> 00:00:27,200 felly byddwn yn mynd ychydig yn gyflym. 13 00:00:27,200 --> 00:00:31,140 Ond os ar unrhyw adeg rydym yn dweud rhywbeth yn rhy gyflym neu os nad ydych yn ei ddeall, 14 00:00:31,140 --> 00:00:33,170 croeso i dorri ar draws gyda chwestiynau. 15 00:00:33,170 --> 00:00:36,610 Rydym am fod yn gallu gwneud hyn Sesiwn mor ddefnyddiol adolygu i bob un ohonoch 16 00:00:36,610 --> 00:00:37,973 ag y bo modd. 17 00:00:37,973 --> 00:00:38,920 Awesome. 18 00:00:38,920 --> 00:00:41,650 >> Felly gadewch i ni neidio i'r dde gyda rhai pynciau yr ydym mewn gwirionedd 19 00:00:41,650 --> 00:00:46,980 iawn, a gwmpesir yn fyr iawn ar gyfer y cwis 0 yn y sesiwn adolygu cwis 0. 20 00:00:46,980 --> 00:00:48,840 Felly gan ddechrau gyda rhestrau cysylltiedig. 21 00:00:48,840 --> 00:00:52,090 Felly, dim ond gwnewch yn siŵr eich bod wedi rhywfaint o gwybodaeth sylfaenol am restrau cysylltiedig 22 00:00:52,090 --> 00:00:55,110 ac maent yn gyfforddus yn gwneud rhai o'r gweithrediadau sylfaenol. 23 00:00:55,110 --> 00:00:58,560 >> Felly, dim ond i adolygu, yn gysylltiedig rhestrau yn well na araeau 24 00:00:58,560 --> 00:01:01,020 oherwydd y gallant dyfu ddynamig. 25 00:01:01,020 --> 00:01:03,300 Felly, rydym wedi bod fantais enfawr. 26 00:01:03,300 --> 00:01:06,031 Rydym wedi gweld eu defnyddio mewn tablau hash pan fyddwn 27 00:01:06,031 --> 00:01:08,280 ddim yn gwybod yn union faint o pethau rydyn ni'n mynd i eisiau 28 00:01:08,280 --> 00:01:10,900 i fewnosod i mewn i'n strwythur data. 29 00:01:10,900 --> 00:01:15,700 Yn anffodus, mae gennym darnau o y rhestr cysylltiedig i gyd dros gof, 30 00:01:15,700 --> 00:01:20,820 felly ni fyddwn o anghenraid yn gallu gwneud mynediad amser yn gyson 31 00:01:20,820 --> 00:01:22,502 i unrhyw elfen yn y rhestr cysylltiedig. 32 00:01:22,502 --> 00:01:24,210 Er mwyn dod o hyd i elfen benodol, rydym yn 33 00:01:24,210 --> 00:01:26,510 rhaid i ailadrodd yr holl ffordd o'r dechrau. 34 00:01:26,510 --> 00:01:30,610 Felly cadw mewn cof bod y rhan fwyaf o'r gweithrediadau sylfaenol omega o 1. 35 00:01:30,610 --> 00:01:32,130 Felly mewnosod yn unig yw mynd i gymryd 1. 36 00:01:32,130 --> 00:01:37,520 Dileu yn mynd i gymryd n ers i ni rhaid i chi fynd yn ei chael yn oddi ar y rhestr. 37 00:01:37,520 --> 00:01:39,260 A gallai chwilio cymryd, ar y gwaethaf, n. 38 00:01:39,260 --> 00:01:42,330 Ni allwn wneud rhywbeth fel chwilio deuaidd ar restr cysylltiedig 39 00:01:42,330 --> 00:01:45,101 gan na allwn yn unig ar hap neidio i'r canol. 40 00:01:45,101 --> 00:01:45,600 Cwl. 41 00:01:45,600 --> 00:01:48,160 42 00:01:48,160 --> 00:01:48,960 Awesome. 43 00:01:48,960 --> 00:01:50,270 >> Mae ychydig bach o staciau. 44 00:01:50,270 --> 00:01:53,980 Mae hyn, unwaith eto, daeth i fyny ar gwis 0, er mwyn i chi Dylai fod yn super yn gyfforddus ag ef. 45 00:01:53,980 --> 00:01:57,210 Ond ar gyfer staciau, rydym yn gofyn i chi i gofio pentwr o hambyrddau. 46 00:01:57,210 --> 00:01:59,940 Ac mae'n mynd i fod yn gyntaf yn, bara allan. 47 00:01:59,940 --> 00:02:02,272 Felly rydym yn dal dŵr pethau i fyny yn y pentwr, ac yna 48 00:02:02,272 --> 00:02:04,980 os ydym yn ceisio cymryd rhywbeth off-- yr ydym ffoniwch popping off 49 00:02:04,980 --> 00:02:06,581 y stack-- rydym yn dod oddi ar y brig. 50 00:02:06,581 --> 00:02:09,289 Ac os ydym am roi rhywbeth yn y pentwr, rydym yn galw ei gwthio. 51 00:02:09,289 --> 00:02:13,170 Felly, mae bob amser yn mynd i fod yn tyfu i fyny o'r gwaelod fel pentwr o hambyrddau. 52 00:02:13,170 --> 00:02:14,540 Awesome. 53 00:02:14,540 --> 00:02:17,607 >> Rydym wedi staciau a welwyd ar waith gyda'r ddau rhestrau cysylltiedig a arrays. 54 00:02:17,607 --> 00:02:19,440 Os ydych yn gweithredu gyda arrays, yr ydych am 55 00:02:19,440 --> 00:02:22,350 i wneud yn siŵr i gadw golwg ar y maint a gallu. 56 00:02:22,350 --> 00:02:27,540 Felly maint yn mynd i fod y cerrynt nifer o bethau yn eich stac, 57 00:02:27,540 --> 00:02:32,900 tra bod capasiti yw cyfanswm y o bethau y gallwch storio yn eich pentwr. 58 00:02:32,900 --> 00:02:34,220 Cwl. 59 00:02:34,220 --> 00:02:35,767 >> Yn yr un modd iawn, mae gennym ciwiau. 60 00:02:35,767 --> 00:02:38,850 Yn yr achos hwn, yn hytrach na meddwl am pentwr o hambyrddau, yn meddwl am linell. 61 00:02:38,850 --> 00:02:40,697 Mae hyn yn mynd i fod yn gyntaf i mewn, cyntaf allan. 62 00:02:40,697 --> 00:02:42,780 Felly os ydych yn leinin i fyny ar gyfer rhywbeth yn y siop, 63 00:02:42,780 --> 00:02:46,920 rydym yn gobeithio y bydd y person yn gyntaf yn llinell yn mynd i gael help yn gyntaf. 64 00:02:46,920 --> 00:02:49,350 >> Yn hytrach na dweud gwthio a pop fel rydym yn ei wneud ar gyfer stac, 65 00:02:49,350 --> 00:02:52,000 rydym yn unig yn dweud enqueue a dequeue. 66 00:02:52,000 --> 00:02:54,970 Ac eto, os ydych yn gweithredu hyn gydag amrywiaeth, 67 00:02:54,970 --> 00:02:56,720 mae angen i ni gadw golwg nid yn unig y maint 68 00:02:56,720 --> 00:03:02,390 a gallu, ond hefyd y pen, a oedd yn yn mynd i fod ar flaen ein ciw. 69 00:03:02,390 --> 00:03:03,010 Cwl. 70 00:03:03,010 --> 00:03:05,770 Unrhyw gwestiynau am unrhyw un o hynny? 71 00:03:05,770 --> 00:03:06,320 Awesome. 72 00:03:06,320 --> 00:03:07,640 Symud i'r dde ar hyd. 73 00:03:07,640 --> 00:03:08,564 >> OK, tablau hash. 74 00:03:08,564 --> 00:03:10,605 Dyma lle mae'n dechrau cael yn ddiddorol iawn. 75 00:03:10,605 --> 00:03:14,150 Felly tabl hash yn un gweithredu o amrywiaeth cysylltiadol. 76 00:03:14,150 --> 00:03:16,700 Felly, yn y bôn yr hyn a ddigwyddodd yn gennym yr holl mewnbwn hwn, 77 00:03:16,700 --> 00:03:18,750 ac yr ydym yn ei roi i hash swyddogaeth sy'n dweud, 78 00:03:18,750 --> 00:03:21,840 OK, dyma lle yn y tabl hash mae'n perthyn. 79 00:03:21,840 --> 00:03:24,860 >> Felly y swyddogaeth hash symlaf ein bod wedi gweld yn cael ei dim ond dweud, 80 00:03:24,860 --> 00:03:28,170 OK, mae'n debyg ein bod am roi llinynnau yn ein tabl hash. 81 00:03:28,170 --> 00:03:30,870 A syniad syml iawn allai fod i ddweud, OK, 82 00:03:30,870 --> 00:03:34,350 gadewch i ni dim ond trefnu yn ôl y lythyren gyntaf y gair. 83 00:03:34,350 --> 00:03:37,570 Fel y gallwch weld yma, rydym yn cymryd banana, rydym yn ei roi trwy swyddogaeth hash, 84 00:03:37,570 --> 00:03:40,190 ac y mae'n ei ddweud, hey, bod Dylai mynd ar fynegai 1. 85 00:03:40,190 --> 00:03:45,120 >> Felly, gallwn ei hanfod feddwl am hash bwrdd fel criw o wahanol bwcedi. 86 00:03:45,120 --> 00:03:49,880 Ac mae pob un o'r bwcedi rhai yn mynd i ddal y pennaeth rhestr cysylltiedig. 87 00:03:49,880 --> 00:03:55,030 Ac yn y rhestr honno cysylltiedig yw lle y gallwn mewn gwirionedd yn rhoi gwahanol ddarnau o ddata. 88 00:03:55,030 --> 00:03:57,820 >> Felly deifio ychydig bach yn fwy i mewn i swyddogaeth hash, dyma 89 00:03:57,820 --> 00:03:59,870 yr enghraifft Fi jyst Disgrifiodd lle rydym yn unig yn dweud, 90 00:03:59,870 --> 00:04:02,460 OK, yn cymryd y llythyr cyntaf y gair ac rydym yn 91 00:04:02,460 --> 00:04:03,990 mynd i ddatrys i mewn i'r bwcedi. 92 00:04:03,990 --> 00:04:08,490 Felly yn ôl pob tebyg, bydd yna 26 o bwcedi, un ar gyfer pob llythyren o'r wyddor. 93 00:04:08,490 --> 00:04:10,090 Pam nad yw hyn yn swyddogaeth hash fawr? 94 00:04:10,090 --> 00:04:13,461 Beth sy'n gwneud hyn heb fod yn ddelfrydol? 95 00:04:13,461 --> 00:04:13,960 Yeah. 96 00:04:13,960 --> 00:04:15,790 >> GYNULLEIDFA: Rydych chi'n mynd i gael gwrthdrawiadau. 97 00:04:15,790 --> 00:04:16,390 >> HANNAH Blumberg: Yeah, yn union. 98 00:04:16,390 --> 00:04:18,000 Rydych yn mynd i gael gwrthdrawiadau. 99 00:04:18,000 --> 00:04:18,954 Felly dyna un peth. 100 00:04:18,954 --> 00:04:21,620 A byddwn yn siarad am sut y gallwn atgyweiria gwrthdrawiadau mewn dim ond eiliad. 101 00:04:21,620 --> 00:04:23,980 Problem arall gyda hyn swyddogaeth hash arbennig 102 00:04:23,980 --> 00:04:25,980 yw bod ein gwahanol bwcedi yn mynd i fod 103 00:04:25,980 --> 00:04:28,960 o eithaf sylweddol wahanol feintiau. 104 00:04:28,960 --> 00:04:33,840 >> Rydym yn gwybod bod yna llawer gyfan mwy o eiriau sy'n dechrau gyda A na X, 105 00:04:33,840 --> 00:04:38,980 felly rydym yn mynd i gael iawn bwcedi anghytbwys yn ein tabl hash. 106 00:04:38,980 --> 00:04:40,050 Cwl. 107 00:04:40,050 --> 00:04:41,340 Felly ie, gadewch i ni fynd yn ôl at pwynt y gwrthdrawiadau. 108 00:04:41,340 --> 00:04:42,900 Beth ydym yn ei wneud os oes gwrthdrawiad? 109 00:04:42,900 --> 00:04:44,490 >> Mae gennym gwpl opsiynau gwahanol. 110 00:04:44,490 --> 00:04:47,600 Felly un, felly mae'n debyg ein bod yn ceisio i roi aeron yn ein tabl hash. 111 00:04:47,600 --> 00:04:50,370 Ac rydym yn gweld, o, yr ydym am i'w roi yn mynegai 1, 112 00:04:50,370 --> 00:04:52,070 ond banana eisoes yn byw yno. 113 00:04:52,070 --> 00:04:53,110 Beth ydym yn mynd i'w wneud? 114 00:04:53,110 --> 00:04:54,560 Mae gennym ddau brif ddewis. 115 00:04:54,560 --> 00:04:58,050 >> Rhif un yw y gallwn ddweud, OK, does dim lle yn fynegai 1, 116 00:04:58,050 --> 00:05:03,210 ond gadewch i ni jyst cadw edrych drwy hyd nes y gallwn ddod o hyd fan agored arall. 117 00:05:03,210 --> 00:05:08,490 Felly, byddwn yn dweud, OK, gadewch i ni ei roi yn y fan a'r lle 3. 118 00:05:08,490 --> 00:05:09,240 Dyna un opsiwn. 119 00:05:09,240 --> 00:05:11,470 Mae hynny'n cael ei alw llinol treiddgar. 120 00:05:11,470 --> 00:05:15,500 >> Ac ail ddewis yn ei ddweud, OK, wel, gadewch i jyst yn gwneud pob un o'r bwcedi hyn 121 00:05:15,500 --> 00:05:17,470 fod penaethiaid rhestrau cysylltiedig. 122 00:05:17,470 --> 00:05:21,910 Ac mae'n iawn os mae mwy nag un peth mewn bwced. 123 00:05:21,910 --> 00:05:23,820 Rydym yn jyst yn mynd i atodi iddo ar y tu blaen. 124 00:05:23,820 --> 00:05:26,032 Felly dyma y gallwch weld, OK, pan fyddwn yn mewnosod aeron, rydym yn 125 00:05:26,032 --> 00:05:28,240 dim ond yn cymryd banana, math o gwthio dros ychydig 126 00:05:28,240 --> 00:05:29,842 a thaflu aeron i mewn 'na. 127 00:05:29,842 --> 00:05:31,050 A dyna gwbl iawn hefyd. 128 00:05:31,050 --> 00:05:32,830 Gelwir hyn yn gadwyno ar wahân. 129 00:05:32,830 --> 00:05:38,100 Gallwch feddwl am hyn fel math o fel amrywiaeth o benaethiaid i restrau cysylltiedig. 130 00:05:38,100 --> 00:05:41,950 Unrhyw gwestiynau am hash tablau, swyddogaethau hash? 131 00:05:41,950 --> 00:05:44,290 Awesome. 132 00:05:44,290 --> 00:05:45,470 >> Coed a geisiau. 133 00:05:45,470 --> 00:05:47,287 Felly coeden yn unrhyw fath o strwythur data 134 00:05:47,287 --> 00:05:49,453 lle mae rhyw fath o hierarchaeth neu ryw fath 135 00:05:49,453 --> 00:05:51,247 o Safle i'ch gwahanol wrthrychau. 136 00:05:51,247 --> 00:05:53,580 A bydd hyn yn dod yn super glir pan fyddwn yn gweld enghraifft. 137 00:05:53,580 --> 00:05:56,960 Ac rydym yn gweld ceisiau, ynghyd gyda byrddau hash, yn pset5-- 138 00:05:56,960 --> 00:06:00,700 sydd, unwaith eto, gêm hollol deg ar gyfer hyn quiz-- fel data arall 139 00:06:00,700 --> 00:06:03,110 strwythurau sydd o fewn ein gallu storio pethau gwahanol. 140 00:06:03,110 --> 00:06:06,782 Yn achos geiriadur, rydym yn storio bwnsied o eiriau. 141 00:06:06,782 --> 00:06:08,240 Felly, gadewch i ni edrych ar rai coed. 142 00:06:08,240 --> 00:06:10,190 Felly, mae hyn yn enghraifft o goeden. 143 00:06:10,190 --> 00:06:13,105 Mae ganddo fath o strwythur, bod strwythur hierarchaidd, 144 00:06:13,105 --> 00:06:15,920 lle gallwch weld bod mae hyn 1 nod ar y brig 145 00:06:15,920 --> 00:06:20,750 Mae rhyw fath o safle uwch na 2 a 3, sydd yn uwch na 4, 5, a 6 a 7, 146 00:06:20,750 --> 00:06:22,860 sydd yn uwch na 8 a 9. 147 00:06:22,860 --> 00:06:25,210 Felly dyna i gyd yn ei olygu i coed, er mwyn i chi yn unig fath 148 00:06:25,210 --> 00:06:26,660 o'r llun hwn yn eich pen. 149 00:06:26,660 --> 00:06:29,050 >> Yn awr, mae gennym un neu ddau o coed mwy arbenigol. 150 00:06:29,050 --> 00:06:31,070 Felly, un enghraifft yn goeden ddeuaidd. 151 00:06:31,070 --> 00:06:33,290 A choeden deuaidd yw, unwaith eto, dim ond yn mynd i fod yn 152 00:06:33,290 --> 00:06:37,040 strwythur data gyda rhyw fath o hierarchaeth, ond mae pob un o'r nodau 153 00:06:37,040 --> 00:06:38,650 Gall gael ar y mwyaf ddau o blant. 154 00:06:38,650 --> 00:06:41,530 Dyna lle y gair deuaidd yn dod. 155 00:06:41,530 --> 00:06:43,410 Felly, mae hyn yn enghraifft o goeden deuaidd. 156 00:06:43,410 --> 00:06:45,720 Felly dyna categori llai o goed. 157 00:06:45,720 --> 00:06:48,960 >> Nawr, gadewch i ni gael hyd yn oed yn fwy penodol ac siarad am chwiliad deuaidd trees-- deuaidd 158 00:06:48,960 --> 00:06:51,310 coed, yn hytrach. 159 00:06:51,310 --> 00:06:56,430 Felly dyma mae'r syniad yn cael ei nid yn unig y mae pob nôd cael ar y mwyaf ddau o blant, 160 00:06:56,430 --> 00:07:00,300 ond mae pob un o'r plant i'r chwith yn mynd i fod yn llai 161 00:07:00,300 --> 00:07:03,450 a phob un o'r plant i'r iawn yn mynd i fod yn fwy. 162 00:07:03,450 --> 00:07:05,890 Felly sylwi mewn dim ond ein goeden ddeuol, mae ' 163 00:07:05,890 --> 00:07:08,650 dim perthynas rhwng y rhifau. 164 00:07:08,650 --> 00:07:12,990 Ond yn ein chwiliad deuaidd coeden, rydym yn gweld, OK, dyma 44. 165 00:07:12,990 --> 00:07:17,080 A phob rhif ar ochr chwith y 44 yw popeth yn llai ac i'r chwith 166 00:07:17,080 --> 00:07:17,920 yn fwy. 167 00:07:17,920 --> 00:07:20,130 >> A bod yn dal ar bob lefel y goeden. 168 00:07:20,130 --> 00:07:24,810 Felly dyma, mae hyn yn llai na'r 22 ac mae hyn yn fwy na 22. 169 00:07:24,810 --> 00:07:26,390 A dyna goeden chwiliad deuaidd. 170 00:07:26,390 --> 00:07:28,900 Pam rydym yn meddwl ei fod yn cael ei alw coeden chwiliad deuaidd? 171 00:07:28,900 --> 00:07:30,651 Pa algorithm mae'n ei yn eich atgoffa? 172 00:07:30,651 --> 00:07:31,650 GYNULLEIDFA: Chwilio Binary. 173 00:07:31,650 --> 00:07:32,480 HANNAH Blumberg: Chwilio Binary. 174 00:07:32,480 --> 00:07:35,150 Oherwydd os ydych yn chwilio am Rhif arbennig yn y goeden hon, 175 00:07:35,150 --> 00:07:38,800 ar bob pwynt, gallwch guro oddi ar hanner y goeden, sy'n wych. 176 00:07:38,800 --> 00:07:43,800 Ac felly mae hynny'n mynd i roi rhywbeth i ni sy'n edrych yn llawer fel chwiliad deuaidd. 177 00:07:43,800 --> 00:07:45,870 Unrhyw gwestiynau? 178 00:07:45,870 --> 00:07:47,570 Mae pob hawl, oer. 179 00:07:47,570 --> 00:07:48,560 >> Mae pob hawl, yn ceisio. 180 00:07:48,560 --> 00:07:49,657 Ffefryn ni i gyd. 181 00:07:49,657 --> 00:07:51,990 Felly, mae hyn yw'r enghraifft a rydym wedi gweld criw yn y dosbarth. 182 00:07:51,990 --> 00:07:54,710 Ac eto, mae hyn yn unig yw arall ffordd y gallwn storio data. 183 00:07:54,710 --> 00:07:57,530 Yn achos geiriadur, unwaith eto, mae hyn yn unig yw mynd i fod llinynnau. 184 00:07:57,530 --> 00:08:00,870 Felly, gadewch i ni weld beth mae hyn mewn gwirionedd edrych fel ar lefel ychydig yn is. 185 00:08:00,870 --> 00:08:03,690 >> Felly, gadewch i ni edrych mewn un nod mewn trie. 186 00:08:03,690 --> 00:08:07,532 Ac rydym yn gweld, OK, mae mynd i fod yn Boolean a nod, 187 00:08:07,532 --> 00:08:09,170 pwyntydd at nod. 188 00:08:09,170 --> 00:08:11,400 Ac rydym yn gweld bod y Gelwir Boolean is_word. 189 00:08:11,400 --> 00:08:13,490 Felly y bôn, dyna mynd i gyd-fynd 190 00:08:13,490 --> 00:08:16,750 i trionglau bach hyn, sy'n yn dweud, os ydych chi wedi gotten yma, 191 00:08:16,750 --> 00:08:19,100 eich bod wedi dod o hyd i air cyflawn. 192 00:08:19,100 --> 00:08:23,670 >> Rydym yn gwybod bod "weledol" dros dyma air gyflawn, 193 00:08:23,670 --> 00:08:28,030 ond dim ond T-U-R nid yn air oherwydd nid ydym yn gweld mai ychydig delta. 194 00:08:28,030 --> 00:08:31,440 A bod ychydig delta, unwaith eto, cyfateb i is_word hwn, 195 00:08:31,440 --> 00:08:34,480 is_word Boole hwn. 196 00:08:34,480 --> 00:08:36,320 Ac yna mae gennym amrywiaeth o blant. 197 00:08:36,320 --> 00:08:39,860 Felly, ar bob lefel, byddwch yn fod â nod penodol, 198 00:08:39,860 --> 00:08:42,470 ac y pwyntiau nod at amrywiaeth o wyddor cyfan. 199 00:08:42,470 --> 00:08:44,346 >> Fel y gallwch weld, unwaith eto, yn picture-- hwn rwy'n 200 00:08:44,346 --> 00:08:48,170 mynd i gadw neidio yn ôl ac forth-- bod y casgliad ar y brig 201 00:08:48,170 --> 00:08:51,640 Mae criw o wahanol nodau dod oddi ar ohono. 202 00:08:51,640 --> 00:08:57,140 Mae ganddo 26, neu 27 os ydych am i gynnwys gymeriad ychwanegol. 203 00:08:57,140 --> 00:09:01,320 Ac mae hyn yn rhoi i ni yn ffordd i storio ein data 204 00:09:01,320 --> 00:09:04,450 mewn modd y gellir ei edrych ar y gallwch edrych i fyny super gyflym. 205 00:09:04,450 --> 00:09:06,650 Beth yw'r amser am-edrych am trie? 206 00:09:06,650 --> 00:09:07,970 >> GYNULLEIDFA: [Anghlywadwy]. 207 00:09:07,970 --> 00:09:08,300 >> HANNAH Blumberg: Yeah. 208 00:09:08,300 --> 00:09:09,550 Mewn theori, mae'n amser cyson. 209 00:09:09,550 --> 00:09:13,230 Dim ond mynd i fod maint y gair yr ydych eisiau edrych i fyny. 210 00:09:13,230 --> 00:09:15,950 Hyd yn oed os byddwn yn ychwanegu zillion mwy o eiriau i'n trie, 211 00:09:15,950 --> 00:09:18,160 nid yw'n mynd i fynd â ni yn hwy i benderfynu 212 00:09:18,160 --> 00:09:19,690 os air a roddir yn y trie. 213 00:09:19,690 --> 00:09:21,412 Felly dyna neis iawn. 214 00:09:21,412 --> 00:09:23,697 >> GYNULLEIDFA: A wnaethoch chi jyst ymgychwyn y arae? 215 00:09:23,697 --> 00:09:24,780 Byddwch yn colli pwynt neu ddau. 216 00:09:24,780 --> 00:09:26,130 A allwch chi jyst siarad am hynny am eiliad? 217 00:09:26,130 --> 00:09:26,680 >> HANNAH Blumberg: Cadarn, yn hollol. 218 00:09:26,680 --> 00:09:27,590 Cwestiwn da. 219 00:09:27,590 --> 00:09:31,140 Y cwestiwn oedd, rydym yn cael amrywiaeth sy'n 220 00:09:31,140 --> 00:09:34,180 mynd i gael seren nôd fel hytrach na dim ond nod, dde? 221 00:09:34,180 --> 00:09:35,180 Cwl. 222 00:09:35,180 --> 00:09:37,990 Felly dyma beth yr ydym yn ei ddweud yw ein amrywiaeth yn unig 223 00:09:37,990 --> 00:09:40,035 mynd i fod yn awgrymiadau i araeau eraill. 224 00:09:40,035 --> 00:09:42,910 Felly, mae'n essentially-- ei fath o teimlo fel rhestr cysylltiedig yn y modd hwn 225 00:09:42,910 --> 00:09:46,620 lle mae pob un o'r plant hyn dim ond tynnu sylw at y nôd nesaf. 226 00:09:46,620 --> 00:09:49,030 >> A'r ffordd yr ydym yn mewn gwirionedd yn penderfynu, hey, OK, 227 00:09:49,030 --> 00:09:52,320 rydym wedi bwysleisiodd drwy cyfan air, yn y gair hwn yn y geiriadur, 228 00:09:52,320 --> 00:09:54,476 rydym yn unig yn gwirio is_word hwn. 229 00:09:54,476 --> 00:09:55,100 Cwestiwn mawr. 230 00:09:55,100 --> 00:09:55,675 Yeah. 231 00:09:55,675 --> 00:09:56,216 GYNULLEIDFA: OK. 232 00:09:56,216 --> 00:09:57,470 Felly beth oedd y Rhedeg gyfer y trie? 233 00:09:57,470 --> 00:09:58,386 >> HANNAH Blumberg: Cadarn. 234 00:09:58,386 --> 00:10:01,852 Felly mae'r Rhedeg am trie ar gyfer am-edrych yn mynd i fod amser yn gyson. 235 00:10:01,852 --> 00:10:04,310 Felly, 'i' jyst yn mynd i fod y nifer o lythyrau yn y gair. 236 00:10:04,310 --> 00:10:06,310 Nid yw'n ddibynnol ar y maint y geiriadur 237 00:10:06,310 --> 00:10:09,510 neu faint y strwythur data. 238 00:10:09,510 --> 00:10:12,170 Felly dyma enghraifft ychydig yn symlach. 239 00:10:12,170 --> 00:10:15,430 >> Yn yr achos hwn, gallwch weld bod y gair ystlumod yn y geiriadur 240 00:10:15,430 --> 00:10:18,900 a bod gennych chwyddo, ond i chi Nid oes rhaid i rhywbeth fel sw. 241 00:10:18,900 --> 00:10:20,050 Sut y byddem yn gwneud sw? 242 00:10:20,050 --> 00:10:24,276 Sut rydym yn ychwanegu at ein sw geiriadur, at ein trie? 243 00:10:24,276 --> 00:10:24,776 Yeah. 244 00:10:24,776 --> 00:10:27,014 >> GYNULLEIDFA: Gwneud is_word wir am y [Anghlywadwy]. 245 00:10:27,014 --> 00:10:27,930 HANNAH Blumberg: Da. 246 00:10:27,930 --> 00:10:31,731 Felly, byddem yn dweud Z-O-O, ac yna rydym Byddai'n well am wirio oddi ar y bocs hefyd. 247 00:10:31,731 --> 00:10:32,230 Great. 248 00:10:32,230 --> 00:10:35,160 249 00:10:35,160 --> 00:10:37,930 Gadewch i ni gymharu fyr iawn ceisio yn erbyn tablau hash. 250 00:10:37,930 --> 00:10:39,770 Ceisiau yn wirioneddol wych oherwydd, fel y dywedasom, 251 00:10:39,770 --> 00:10:41,610 maent yn darparu am-edrych cyson-amser. 252 00:10:41,610 --> 00:10:44,285 Ond anfantais enfawr yw eu bod humongous. 253 00:10:44,285 --> 00:10:46,160 Gallwch gael yr ystyr, hyd yn oed wrth edrych arno, 254 00:10:46,160 --> 00:10:48,454 ei fod yn mynd i gymryd llawer iawn o gof. 255 00:10:48,454 --> 00:10:50,620 Felly, maent yn mynd i fod yn llawer fwy na tablau hash, 256 00:10:50,620 --> 00:10:52,270 ond maen nhw'n mynd i roi ni amserau am-edrych yn gynt o lawer. 257 00:10:52,270 --> 00:10:54,478 Felly dyna fath o dy tradeoff, yr hyn yr ydych yn gofalu amdano, 258 00:10:54,478 --> 00:10:57,350 boed yn cyflymder neu gof. 259 00:10:57,350 --> 00:11:02,251 Unrhyw gwestiynau ar unrhyw un sydd, pob un o'r strwythurau data C. 260 00:11:02,251 --> 00:11:02,750 Beautiful. 261 00:11:02,750 --> 00:11:03,250 IAWN. 262 00:11:03,250 --> 00:11:07,322 Rydym yn mynd i symud ymlaen i ychydig ychydig o ddatblygiad ar y we gyda Maria. 263 00:11:07,322 --> 00:11:08,280 MARIA ZLATKOVA: Lovely. 264 00:11:08,280 --> 00:11:09,036 IAWN. 265 00:11:09,036 --> 00:11:10,380 >> HANNAH Blumberg: Gallwch ddefnyddio fy ngliniadur. 266 00:11:10,380 --> 00:11:11,255 >> MARIA ZLATKOVA: Nice. 267 00:11:11,255 --> 00:11:13,320 268 00:11:13,320 --> 00:11:14,912 OK, oer. 269 00:11:14,912 --> 00:11:17,120 Wrth i ni symud yn awr at y we datblygu, buom yn siarad ychydig 270 00:11:17,120 --> 00:11:20,680 am caniatadau newid o ffeiliau a chyfeiriaduron 271 00:11:20,680 --> 00:11:24,190 fel y gallant fod yn hygyrch i ddefnyddwyr eraill, i'r byd, 272 00:11:24,190 --> 00:11:28,640 ac fel y gallwn weld sut bôn gallwn eu cyfleu 273 00:11:28,640 --> 00:11:32,600 pan fyddwn yn datblygu pethau fel wefannau ein bod ni wedi bod yn ei wneud yn bennaf. 274 00:11:32,600 --> 00:11:36,400 >> Felly, rydym yn gweld y gorchymyn chmod, sydd yn newid modd, yn y bôn. 275 00:11:36,400 --> 00:11:39,300 Dyna gorchymyn Linux a mae'n newid caniatâd mynediad 276 00:11:39,300 --> 00:11:40,410 o system ffeiliau gwrthrychau. 277 00:11:40,410 --> 00:11:43,370 Ac gwrthrych system ffeiliau yn dim ond cyfeiriadur, ffeil, 278 00:11:43,370 --> 00:11:46,810 unrhyw beth y gallwch newid y caniatâd o. 279 00:11:46,810 --> 00:11:53,750 >> Felly, er mwyn gweld hawliau'r ffeil, rydym deipio 'r ls gorchymyn, rhestr, -L. 280 00:11:53,750 --> 00:11:56,500 A phan fyddwn deipio hynny, rydym yn fel arfer yn gweld rhai caniatadau 281 00:11:56,500 --> 00:11:59,660 sy'n edrych fath o fel hyn o flaen enw cyfeiriadur. 282 00:11:59,660 --> 00:12:01,260 Felly d yn cyfeirio at cyfeiriadur. 283 00:12:01,260 --> 00:12:05,930 Ac yna mae gennym dri Trioedd y bôn 284 00:12:05,930 --> 00:12:11,675 cyfeirio at y caniatadau naill ai defnyddiwr, grŵp, neu y byd. 285 00:12:11,675 --> 00:12:16,490 >> Mae'r mathau o ganiatadau a allwn gael ar gyfer y tri grŵp o bobl 286 00:12:16,490 --> 00:12:20,830 naill ai'n r ar gyfer darllen, w am ysgrifennu, a x ar gyfer gweithredu. 287 00:12:20,830 --> 00:12:23,650 A gallwn gael rhai ar gyfer y grŵp a byd yn ogystal. 288 00:12:23,650 --> 00:12:26,940 Y peth anodd yw bod weithiau pan fyddwn yn deipio 'r archa chmod, 289 00:12:26,940 --> 00:12:32,960 byddem yn teipio rhywfaint rhif a oedd yn cynnwys tri ddarnau. 290 00:12:32,960 --> 00:12:36,990 Felly, gallem ei wneud fel 777 a bod y bôn 291 00:12:36,990 --> 00:12:40,450 cyfeirio at y gwerth ychwanegol o bob un o'r trioedd hyn 292 00:12:40,450 --> 00:12:45,060 gan y byddai r cyfeirio at 4, byddai w cyfeirio at 2, a byddai x cyfeirio at 1, 293 00:12:45,060 --> 00:12:50,020 felly pan ei ychwanegu i fyny, bob un o'r rhifau yn dod i lawr i nifer cronnus 294 00:12:50,020 --> 00:12:52,750 at werth cronnus rhwng 0 a 7. 295 00:12:52,750 --> 00:12:55,150 Felly, gallem hefyd gael 0 nid ar gyfer unrhyw ganiatâd o gwbl. 296 00:12:55,150 --> 00:12:58,200 A byddai hynny yn y bôn ei roi i ni y caniatâd ar gyfer naill ai y defnyddiwr, 297 00:12:58,200 --> 00:13:00,450 y grŵp, neu'r byd. 298 00:13:00,450 --> 00:13:02,620 Unrhyw gwestiynau am hyn hyd yn hyn? 299 00:13:02,620 --> 00:13:05,331 >> GYNULLEIDFA: dywedodd chi ddarllen yn 4? 300 00:13:05,331 --> 00:13:06,164 MARIA ZLATKOVA: Ydw. 301 00:13:06,164 --> 00:13:07,568 GYNULLEIDFA: [Anghlywadwy]. 302 00:13:07,568 --> 00:13:08,504 HANNAH Blumberg: Yup. 303 00:13:08,504 --> 00:13:11,790 GYNULLEIDFA: Ac yna drwy ychwanegu bawb Byddai eraill yn dangos eich rhif. 304 00:13:11,790 --> 00:13:12,665 MARIA ZLATKOVA: Yeah. 305 00:13:12,665 --> 00:13:14,970 Yeah. 306 00:13:14,970 --> 00:13:17,810 Mae'r rhain yn gwestiynau mawr. 307 00:13:17,810 --> 00:13:20,490 Hyfryd. 308 00:13:20,490 --> 00:13:25,340 Nesaf, rydym yn neidio i mewn HTML ac yn ychydig mwy am ddatblygiad ar y we. 309 00:13:25,340 --> 00:13:27,990 Felly HTML yn unig yn golygu Iaith Arwyddnodi HyperText. 310 00:13:27,990 --> 00:13:30,460 A dyna y markup iaith sy'n safon 311 00:13:30,460 --> 00:13:32,720 ei fod yn a ddefnyddir i greu tudalennau gwe. 312 00:13:32,720 --> 00:13:35,750 >> Mae'n cael ei alw yn iaith markup oherwydd nid yw'n llunio mewn gwirionedd. 313 00:13:35,750 --> 00:13:40,310 Nid yw'n dweud sut y dylai rhywfaint cod gael eu gweithredu neu unrhyw beth fel 'na. 314 00:13:40,310 --> 00:13:44,800 'I jyst yn darlunio ac disgrifio sut y we 315 00:13:44,800 --> 00:13:46,840 Dylid dudalen yn cael ei sefydlu gyda phob un o'i elfennau 316 00:13:46,840 --> 00:13:48,460 a sut y dylent edrych i'r defnyddiwr. 317 00:13:48,460 --> 00:13:53,090 318 00:13:53,090 --> 00:13:57,110 >> Mae rhai o'r tagiau HTML i ni Aeth drosodd yn y canlynol. 319 00:13:57,110 --> 00:14:00,500 Mae ein holl ddogfennau HTML dechrau gyda'r html DOCTYPE. 320 00:14:00,500 --> 00:14:02,550 Yna, rydym bob amser yn cael y tag html. 321 00:14:02,550 --> 00:14:03,930 Mae gennym pen a chorff. 322 00:14:03,930 --> 00:14:07,890 Ac mae'n bwysig bod HTML wedi y math hwn o strwythur nythu 323 00:14:07,890 --> 00:14:09,280 am ei fod yn glir iawn. 324 00:14:09,280 --> 00:14:13,200 Ac yna mae'n dod yn amlwg iawn pan fyddwn yn Mae angen i agor a gwirionedd tagiau agos. 325 00:14:13,200 --> 00:14:18,400 Ac rydym bob amser angen i gau tagiau ein bod wedi agor. 326 00:14:18,400 --> 00:14:23,170 >> A dyma mae gennym rai o'r mathau o bethau i ddod yr ydym am eu cael. 327 00:14:23,170 --> 00:14:26,580 Felly, rydym wedi, er enghraifft, teitl CS50. 328 00:14:26,580 --> 00:14:31,980 Ac yna rydym mewn gwirionedd Gall gysylltu dalen arddull 329 00:14:31,980 --> 00:14:34,030 sy'n diffinio sut yr ydym yn arddull ein gwefan. 330 00:14:34,030 --> 00:14:35,650 Dyna CSS. 331 00:14:35,650 --> 00:14:39,320 Rydym yn mynd i fynd drosto yn y ddwy nesaf o sleidiau yn ogystal. 332 00:14:39,320 --> 00:14:42,580 >> O fewn y corff, rydym yn gosod rhai dosbarthiadau a rhifau adnabod. 333 00:14:42,580 --> 00:14:45,860 Ac fel nodyn atgoffa, unwaith eto, IDs yn unigryw a dosbarthiadau 334 00:14:45,860 --> 00:14:47,390 Gellir neilltuo i eitemau lluosog. 335 00:14:47,390 --> 00:14:52,110 Ac mae hynny'n ei olygu yw bod gallwn ddefnyddio dosbarthiadau a IDs 336 00:14:52,110 --> 00:14:55,860 o fewn structures-- arall felly, er enghraifft, o fewn ffeiliau CSS neu arddull 337 00:14:55,860 --> 00:15:00,940 sheets-- i gyfeirio at elfennau penodol ac yn y bôn yn dweud ein bod am steilio 338 00:15:00,940 --> 00:15:03,280 neu ddylunio rhyw elfen mewn rhyw ffordd benodol. 339 00:15:03,280 --> 00:15:06,440 Ac rydym yn cyfeirio atynt gan eu IDs a dosbarthiadau. 340 00:15:06,440 --> 00:15:09,870 A gallwn hefyd gyfeirio at bethau gwahanol gan dagiau yn ogystal, 341 00:15:09,870 --> 00:15:13,830 ond IDs a dosbarthiadau dim ond rhoi i ni rai amryddawn a beth yn benodol yr ydym yn 342 00:15:13,830 --> 00:15:15,850 am gyfeirio at. 343 00:15:15,850 --> 00:15:19,620 >> Felly, dim ond yn enghraifft. 344 00:15:19,620 --> 00:15:22,730 Rydym yn gallu, unwaith eto, o fewn ffeil CSS lle rydym 345 00:15:22,730 --> 00:15:25,770 yn awyddus i ddiffinio rhai style-- felly lliwiau, ffontiau, 346 00:15:25,770 --> 00:15:30,340 a phethau fel that-- ein gallu diffinio'r arddull ar gyfer corff. 347 00:15:30,340 --> 00:15:32,640 Felly byddai hynny'n ei ddiffinio ar gyfer yr tag corff cyfan. 348 00:15:32,640 --> 00:15:36,160 Ond yna gallwn hefyd ddiffinio arddull ar gyfer #title. 349 00:15:36,160 --> 00:15:40,390 Ac eto, mae'r hashtag yn cyfeirio at ein ID a'r dot yn cyfeirio at ein dosbarth. 350 00:15:40,390 --> 00:15:44,760 >> Ac yna ar gyfer yr .info, rydym yn Gall hefyd osod rhai priodoleddau. 351 00:15:44,760 --> 00:15:49,750 A thrachefn, pan fyddwn yn mynd yn ôl, rydym wedi cael ein dosbarth o'r enw info a'n theitl adnabod. 352 00:15:49,750 --> 00:15:53,422 A gallwn weld ein bod yn cyfeirio iddynt gan #title a .info. 353 00:15:53,422 --> 00:15:55,380 GYNULLEIDFA: A fyddech yn dweud hashtag [? mabwysiadu i mi? ?] 354 00:15:55,380 --> 00:15:55,725 MARIA ZLATKOVA: Mae'n ddrwg gennyf? 355 00:15:55,725 --> 00:15:58,120 GYNULLEIDFA: A fyddech yn dweud hashtag [? mabwysiadu i mi? ?] 356 00:15:58,120 --> 00:16:01,400 MARIA ZLATKOVA: hashtag golygu ID, felly #title 357 00:16:01,400 --> 00:16:07,890 yn cyfeirio at ba bynnag elfennau wedi adnabod hwn a elwir teitl. 358 00:16:07,890 --> 00:16:10,735 Ac yna y dot yn cyfeirio at ddosbarth. 359 00:16:10,735 --> 00:16:14,590 Felly .info yn cyfeirio at yr elfen hon oherwydd mae wedi y wybodaeth y dosbarth. 360 00:16:14,590 --> 00:16:15,090 Yup. 361 00:16:15,090 --> 00:16:17,905 >> GYNULLEIDFA: Pam ydych chi'n eu gwahaniaethu yn y HTML? 362 00:16:17,905 --> 00:16:20,985 Pam ydych chi'n dweud pethau penodol yn cael eu IDs a rhai pethau yn y dosbarth? 363 00:16:20,985 --> 00:16:22,610 MARIA ZLATKOVA: Dyna i fyny i you-- 364 00:16:22,610 --> 00:16:24,151 HANNAH Blumberg: Ailadrodd y cwestiwn. 365 00:16:24,151 --> 00:16:25,370 MARIA ZLATKOVA: O, sori. 366 00:16:25,370 --> 00:16:29,480 Pam rydym yn gwahaniaethu rhwng rhai elfennau fel IDs ac elfennau eraill fel dosbarthiadau? 367 00:16:29,480 --> 00:16:34,760 Dyna dim ond am ei fod yn 'n sylweddol yn aml yn ddewis dylunio. 368 00:16:34,760 --> 00:16:38,520 Mae'n rhoi llawer ohonoch hyblygrwydd mewn bod 369 00:16:38,520 --> 00:16:43,250 gallu dweud fy mod am i'r eitem benodol i gael ID hwn oherwydd eu bod am 370 00:16:43,250 --> 00:16:45,300 i wneud llawer o bethau ag ef, ac yr wyf yn unig 371 00:16:45,300 --> 00:16:50,010 eisiau i ddiffinio arddull, arddull penodol neu liw beth bynnag ar gyfer yr eitem honno. 372 00:16:50,010 --> 00:16:52,630 A'r ffordd o wneud hynny yn unig gan roi ei wneud yn adnabod. 373 00:16:52,630 --> 00:16:55,060 >> Ac yna os wyf am gael un neu ddau o eitemau gwahanol 374 00:16:55,060 --> 00:16:58,940 cael, yn lle mynd a gosod their-- 375 00:16:58,940 --> 00:17:03,840 yn hytrach na gwneud iddo gan tag oherwydd byddai'r tag 376 00:17:03,840 --> 00:17:07,369 gosod y gell ar gyfer y tag cyfan am bob tro y tag yn cael ei ddefnyddio, 377 00:17:07,369 --> 00:17:09,740 gallwch chi osod dosbarth i eitemau lluosog. 378 00:17:09,740 --> 00:17:15,109 Ac yna dim ond mynediad i'r dosbarth ac yn dweud Rwyf am arddull y dosbarth hwn y ffordd honno. 379 00:17:15,109 --> 00:17:17,579 >> Ac eto, gall y dosbarth fod yn wahanol eitemau lluosog 380 00:17:17,579 --> 00:17:21,150 ac mae'r ID rhaid iddo fod yn unigryw. 381 00:17:21,150 --> 00:17:21,849 Cwestiynau Great. 382 00:17:21,849 --> 00:17:25,339 Unrhyw gwestiynau eraill? 383 00:17:25,339 --> 00:17:26,220 OK, awesome. 384 00:17:26,220 --> 00:17:30,680 385 00:17:30,680 --> 00:17:35,330 Unwaith eto, dyma sut y dewiswyr hyn wedi'u cyfeirio yn CSS, gyda hashtag, 386 00:17:35,330 --> 00:17:40,031 gyda dot, neu heb unrhyw beth am aseinio arddull rhyw tag, 387 00:17:40,031 --> 00:17:40,530 fel corff. 388 00:17:40,530 --> 00:17:43,500 389 00:17:43,500 --> 00:17:47,860 A dyma mae gennym y cyffredinol cystrawen o sut mae hyn yn cael ei wneud. 390 00:17:47,860 --> 00:17:52,830 391 00:17:52,830 --> 00:17:55,680 >> I ailadrodd rhai gorau arferion ar gyfer HTML a CSS, 392 00:17:55,680 --> 00:17:59,170 mae angen i ni, unwaith eto, yn agos i gyd y tagiau HTML yr ydym yn agor. 393 00:17:59,170 --> 00:18:03,950 A beth rydym yn argymell eich wneud ar gyfer eich prosiectau terfynol, 394 00:18:03,950 --> 00:18:10,560 yn ogystal ag ar gyfer CS50 Cyllid, yw gwneud yn siwr bod pob un o'ch HTML dilysu. 395 00:18:10,560 --> 00:18:12,920 Ac mae hynny'n ei wneud gyda'r W3 Dilysydd. 396 00:18:12,920 --> 00:18:16,940 >> Ac yna hyn a wnaethom a yr hyn rydym yn argymell yn ei wneud 397 00:18:16,940 --> 00:18:19,790 yn gwahanu arddull, felly CSS rhag HTML markup. 398 00:18:19,790 --> 00:18:24,210 Felly unrhyw beth sy'n ymwneud â pha mor eich tudalen yn mynd i edrych ar eu golwg 399 00:18:24,210 --> 00:18:27,330 a sut y mae'n mynd i gael eu haddasu Dylai fynd i mewn i ddogfen CSS. 400 00:18:27,330 --> 00:18:33,880 Ac yna eich markup yn dweud sut mae pethau mewn perthynas â'i gilydd yn HTML, 401 00:18:33,880 --> 00:18:37,550 a ddylai fynd i mewn o'ch dogfennau HTML. 402 00:18:37,550 --> 00:18:38,590 Unrhyw gwestiynau? 403 00:18:38,590 --> 00:18:39,226 MHM. 404 00:18:39,226 --> 00:18:42,628 >> GYNULLEIDFA: Beth yn union sy'n digwydd ymlaen â'r dudalen dilysu 405 00:18:42,628 --> 00:18:47,945 pan fyddwn ni'n dilysu'r HTML sy'n [Anghlywadwy] creu? 406 00:18:47,945 --> 00:18:49,850 >> MARIA ZLATKOVA: Felly what-- meddwl eich. 407 00:18:49,850 --> 00:18:53,020 Felly beth yn union sy'n digwydd ymlaen gyda dudalen ddilysu 408 00:18:53,020 --> 00:18:55,570 a pham y mae angen i ni wneud hynny? 409 00:18:55,570 --> 00:18:59,180 Yn y bôn, mae angen inni wneud hynny am fod llawer o weithiau, eich porwr, 410 00:18:59,180 --> 00:19:01,390 os nad ydych yn cau tag neu rywbeth fel 'na, 411 00:19:01,390 --> 00:19:05,680 eich porwr yn dal i fynd i rendr tudalen ac efallai yn dal i weithio, 412 00:19:05,680 --> 00:19:10,840 ond mae'n arfer da i wneud yn siŵr bod rydych wedi, unwaith eto, ar gau dy pob tag, 413 00:19:10,840 --> 00:19:13,190 bod eich pob elfen yn y ffordd y dylent fod, 414 00:19:13,190 --> 00:19:18,470 ac yn y bôn ei bod yn erbyn y confensiynau sydd wedi eu rhagosod. 415 00:19:18,470 --> 00:19:21,970 >> Mae'n, unwaith eto, dim ond beth y dylech 416 00:19:21,970 --> 00:19:24,040 yn dysgu i fod yn ei wneud, yn hytrach na chael 417 00:19:24,040 --> 00:19:25,696 cod sloppier a phethau fel 'na. 418 00:19:25,696 --> 00:19:26,688 Yeah. 419 00:19:26,688 --> 00:19:27,680 O, sori. 420 00:19:27,680 --> 00:19:29,221 Roeddwn i'n meddwl eich bod yn codi eich llaw. 421 00:19:29,221 --> 00:19:31,240 GYNULLEIDFA: Na, yr wyf yn unig oedd [Anghlywadwy]. 422 00:19:31,240 --> 00:19:33,800 >> MARIA ZLATKOVA: OK. 423 00:19:33,800 --> 00:19:34,640 >> GYNULLEIDFA: Diolch yn fawr. 424 00:19:34,640 --> 00:19:36,181 >> MARIA ZLATKOVA: Wrth gwrs, diolch i chi. 425 00:19:36,181 --> 00:19:41,680 Felly unwaith eto, yn mynd ymlaen i sut gwybodaeth yn cael ei throsglwyddo 426 00:19:41,680 --> 00:19:44,630 a modelau cyfathrebu i drosglwyddo gwybodaeth. 427 00:19:44,630 --> 00:19:45,730 TCP / IP. 428 00:19:45,730 --> 00:19:48,600 TCP yn unig yn golygu Trosglwyddo Protocol Rheoli a IP 429 00:19:48,600 --> 00:19:51,260 yn cyfeirio at Protocol Rhyngrwyd. 430 00:19:51,260 --> 00:19:54,275 Ac mai dim ond yn cyfeirio at y ffordd y caiff data ei gyflwyno. 431 00:19:54,275 --> 00:19:59,470 432 00:19:59,470 --> 00:20:02,710 >> Os byddwn yn cael rhywfaint o ddata sy'n Mae angen cyflwyno i you-- felly 433 00:20:02,710 --> 00:20:06,770 byddwch yn gwneud cais am weinydd penodol. 434 00:20:06,770 --> 00:20:09,800 Er enghraifft, pan fyddwn yn ceisiwch gael gafael ar cs50.net, 435 00:20:09,800 --> 00:20:12,420 rydym yn gwneud cais i y gweinydd CS50 ac rydym yn 436 00:20:12,420 --> 00:20:14,720 weld ein bod am gael y math hwn o wybodaeth. 437 00:20:14,720 --> 00:20:19,294 Ac yna yn seiliedig ar y protocol hwn am sut mae'r wybodaeth hon yn cael ei chyflwyno, 438 00:20:19,294 --> 00:20:21,460 y gweinydd yn rhoi gwybodaeth yn ôl i ni, y cleient. 439 00:20:21,460 --> 00:20:25,590 Ac yna rydym yn gallu gweld yr wybodaeth ar gyfer y dudalen 440 00:20:25,590 --> 00:20:26,390 ac, defnyddiwch hi. 441 00:20:26,390 --> 00:20:29,300 442 00:20:29,300 --> 00:20:33,050 >> Felly, yna Protocol Trosglwyddo Hyperdestun yn unig yw protocol arall neu osod 443 00:20:33,050 --> 00:20:37,470 o gonfensiynau sy'n diffinio sut y porwr gwe a'r gweinydd gwe 444 00:20:37,470 --> 00:20:38,890 Dylai cyfathrebu. 445 00:20:38,890 --> 00:20:43,730 Ac yn rhoi hyn i gyd gyda'i gilydd, HTTP, unwaith eto, 446 00:20:43,730 --> 00:20:50,960 dim ond diffinio sut hyperdestun hwn a ddiffinnir gan y HTML ein bod wedi bod yn gweithio iddo, 447 00:20:50,960 --> 00:20:59,500 sut y dylid ei gyflwyno i chi a sut mae bod data sy'n cael ei ddarparu i chi 448 00:20:59,500 --> 00:21:00,540 yn cael i chi. 449 00:21:00,540 --> 00:21:05,990 >> A dyna pam, os ydych yn guys yn cofio o ddosbarth, cawsom lawer o geisiadau 450 00:21:05,990 --> 00:21:08,970 a chawsom lawer o gystrawennau ar gyfer ceisiadau hyn ein bod 451 00:21:08,970 --> 00:21:10,250 mynd i fynd dros hyn o bryd. 452 00:21:10,250 --> 00:21:13,270 Felly eto, pan fyddwn yn anfon cais i weinydd, 453 00:21:13,270 --> 00:21:15,920 mae'n rhaid i ni ddiffinio un neu ddau o bethau. 454 00:21:15,920 --> 00:21:18,520 Felly, mae angen i ni ddod o hyd i'r math o gais yr ydym yn gosod. 455 00:21:18,520 --> 00:21:22,180 Ac eto, yr ydym, er enghraifft, GET yn un math o ddull 456 00:21:22,180 --> 00:21:25,290 sydd gennym yn ein cais. 457 00:21:25,290 --> 00:21:31,710 >> Ac yna HTTP / 1.1 yn unig yw protocol yr ydym yn ei ddefnyddio ar hyn o bryd. 458 00:21:31,710 --> 00:21:34,224 459 00:21:34,224 --> 00:21:36,890 Mae'r rhan fwyaf o'r amser, sy'n mynd at y protocol yr ydym yn ei ddefnyddio. 460 00:21:36,890 --> 00:21:40,290 Felly os oes gennych gwestiwn fel 'na ar eich cwis. 461 00:21:40,290 --> 00:21:43,120 Dyna y confensiynau fod gennym hyd yn hyn. 462 00:21:43,120 --> 00:21:46,580 >> Slaes yn cyfeirio at pa fath o bethau rydym yn gofyn. 463 00:21:46,580 --> 00:21:52,810 Yna, mae ein gwesteiwr yw, er enghraifft, yn hyn achos, yr ydym yn ceisio mynd i'r google.com. 464 00:21:52,810 --> 00:21:57,070 Felly, mae hyn yw gwerth am lu. 465 00:21:57,070 --> 00:21:59,330 Mae hwn yn fath o gais a allai gael ei anfon. 466 00:21:59,330 --> 00:22:02,890 >> Ac yna yn fath o ymateb a allai yn cael ei anfon, unwaith eto, yn seiliedig ar y protocol hwn, 467 00:22:02,890 --> 00:22:05,190 unwaith eto, HTTP / 1.1. 468 00:22:05,190 --> 00:22:07,150 Felly dyna y fersiwn HTTP eto. 469 00:22:07,150 --> 00:22:09,730 200 OK yn unig yw y cod statws. 470 00:22:09,730 --> 00:22:12,860 A dyna OK yn unig yw ymadrodd yn seiliedig ar y cod hwnnw statws. 471 00:22:12,860 --> 00:22:15,520 >> Ac yna y Cynnwys-Type yn cyfeirio at y math 472 00:22:15,520 --> 00:22:20,295 sy'n cael ei ddychwelyd atoch sy'n am y dudalen gwefan eich bod yn derbyn 473 00:22:20,295 --> 00:22:22,570 a bod eich porwr Gall rendro ar ôl hynny. 474 00:22:22,570 --> 00:22:24,401 A dyna text / html. 475 00:22:24,401 --> 00:22:26,660 >> GYNULLEIDFA: Beth mae 1.1 yn ei olygu? 476 00:22:26,660 --> 00:22:29,910 >> MARIA ZLATKOVA: Dyna dim ond y Fersiwn o- oh, beth yw 1.1 yn ei olygu? 477 00:22:29,910 --> 00:22:37,075 Dyna dim ond y fersiwn, mae'r HTTP fersiwn o'r protocol yr ydym yn ei ddefnyddio. 478 00:22:37,075 --> 00:22:37,700 Cwestiwn mawr. 479 00:22:37,700 --> 00:22:38,366 Cwestiynau eraill? 480 00:22:38,366 --> 00:22:41,222 481 00:22:41,222 --> 00:22:45,080 >> GYNULLEIDFA: A allech crynhoi Cynnwys-Type gyflym go iawn? 482 00:22:45,080 --> 00:22:48,150 >> MARIA ZLATKOVA: Er mwyn i yw'r hyn y gweinydd. 483 00:22:48,150 --> 00:22:51,020 y math o information-- beth yw math o gynnwys oedd y cwestiynau. 484 00:22:51,020 --> 00:22:53,400 Felly yr oedd y math o wybodaeth yr ydych yn mynd yn ôl 485 00:22:53,400 --> 00:22:58,200 o'r gweinydd, y math o data y gall y porwr, yna 486 00:22:58,200 --> 00:23:00,604 rendrad eich bod yn ei ddefnyddio. 487 00:23:00,604 --> 00:23:03,020 GYNULLEIDFA: A yw bod yr hyn y mae hyn protocol yn dweud i chi ei wneud? 488 00:23:03,020 --> 00:23:03,390 MARIA ZLATKOVA: Mae'n ddrwg gennyf? 489 00:23:03,390 --> 00:23:05,380 GYNULLEIDFA: A yw bod yr hyn y mae'r protocol yn ei ddweud? 490 00:23:05,380 --> 00:23:05,915 MARIA ZLATKOVA: Y protocol-- 491 00:23:05,915 --> 00:23:07,940 GYNULLEIDFA: --what y Cynnwys-Type yn cael neu what-- 492 00:23:07,940 --> 00:23:12,040 MARIA ZLATKOVA: Y protocol hwn yn seiliedig on-- beth yw'r protocol ddweud wrthych? 493 00:23:12,040 --> 00:23:16,070 Dyna dim ond y ffordd bod y wybodaeth hon 494 00:23:16,070 --> 00:23:18,610 ei gyflwyno i chi yn seiliedig ar ba fath o brotocol 495 00:23:18,610 --> 00:23:21,830 Roedd y wybodaeth hon yn cael ddosbarthu yn ôl atoch. 496 00:23:21,830 --> 00:23:23,500 A yw hynny'n gwneud synnwyr fath o? 497 00:23:23,500 --> 00:23:28,320 498 00:23:28,320 --> 00:23:30,070 HANNAH Blumberg: Chi gallu meddwl am brotocol 499 00:23:30,070 --> 00:23:33,300 fel a-- Rwy'n credu Athro Disgrifiodd Malan ei 500 00:23:33,300 --> 00:23:36,910 yn y dosbarth fel math o fel a-- mae fel sy'n cyfateb i ysgwyd llaw ddynol. 501 00:23:36,910 --> 00:23:44,930 Dweud, fel, hey, rwy'n cais ac yr wyf yn gwybod sut i drin HTTP o fersiwn 1.1. 502 00:23:44,930 --> 00:23:48,770 Ac yna y gweinydd yn dweud, oh, OK, I-- a'r ddau yn bodoli. 503 00:23:48,770 --> 00:23:51,337 Rwyf hefyd yn gwybod sut i ddelio â HTTP / 1.1. 504 00:23:51,337 --> 00:23:53,170 Ac yr wyf i'n mynd i roi rydych yn ôl rhywfaint o gynnwys. 505 00:23:53,170 --> 00:23:56,230 Yn yr achos hwn, mae'n mynd i fod o fath text / html. 506 00:23:56,230 --> 00:23:58,480 Felly mae'n fath o dim ond ffordd ohonynt am communicating-- 507 00:23:58,480 --> 00:24:00,480 >> MARIA ZLATKOVA: 'I' jyst cadarnhau eich bod yn 508 00:24:00,480 --> 00:24:03,290 y ddau yn dilyn yr un fath protocol a bod y ddwy 509 00:24:03,290 --> 00:24:06,620 y cleient a'r server-- felly eich porwr ac mae'r server-- 510 00:24:06,620 --> 00:24:09,280 fath o yn gwybod beth rydych chi'n siarad am a chael 511 00:24:09,280 --> 00:24:12,557 y confensiwn am basio mewn data. 512 00:24:12,557 --> 00:24:17,022 >> GYNULLEIDFA: Felly mae'r Content-Type Rhan honno-- testun Cynnwys-Type / html-- dyna 513 00:24:17,022 --> 00:24:18,521 rhan ar wahân o'r un neges? 514 00:24:18,521 --> 00:24:20,509 Neu a yw'n rhan o gadewch i ni ddweud, 200? 515 00:24:20,509 --> 00:24:22,010 A yw 200 yn dweud wrthynt bod neu yw-- 516 00:24:22,010 --> 00:24:23,770 >> MARIA ZLATKOVA: 200 yn dweud y cyfan yn mynd yn iawn. 517 00:24:23,770 --> 00:24:27,900 Ac yna math o gynnwys yn fath o rhan ar wahân o'r un neges, 518 00:24:27,900 --> 00:24:34,274 a dweud y peth yr wyf yn wedi dychwelyd y math hwn o destun / html. 519 00:24:34,274 --> 00:24:35,690 Dim ond ei fod yn rhoi mwy o wybodaeth. 520 00:24:35,690 --> 00:24:38,700 521 00:24:38,700 --> 00:24:39,995 Unrhyw beth i'w ychwanegu? 522 00:24:39,995 --> 00:24:40,495 IAWN. 523 00:24:40,495 --> 00:24:43,590 524 00:24:43,590 --> 00:24:46,530 >> Unrhyw gwestiynau eraill am hyn? 525 00:24:46,530 --> 00:24:48,370 Awesome. 526 00:24:48,370 --> 00:24:54,070 Felly, mae rhai Statws HTTP eraill sy'n gallem gael yn ychwanegol at 200 OK, 527 00:24:54,070 --> 00:24:59,500 rhai yr ydym wedi gweld efallai o bosibl yn llawer yn 403 a 404. 528 00:24:59,500 --> 00:25:05,190 Felly 404, os ydych yn ceisio rhywbeth mynediad nad yw'n bodoli. 529 00:25:05,190 --> 00:25:10,460 Felly, er enghraifft, yn eich Psets CS50 Cyllid, 530 00:25:10,460 --> 00:25:15,640 os ydych chi wedi bod yn rendro quote.html ac nid oedd gan y ffeil i chi, 531 00:25:15,640 --> 00:25:19,740 ond yn lle hynny oedd gennych quote.php, bod yn arwain at 404 Ni chafodd ei darganfod 532 00:25:19,740 --> 00:25:21,600 oherwydd efallai na fydd y ffeil yn bodoli. 533 00:25:21,600 --> 00:25:25,690 >> Am 403 gwahardd, bod yn cyfeirio at y caniatâd. 534 00:25:25,690 --> 00:25:31,150 Felly os bydd rhai ffeil nad yw'n ddarllenadwy gan y byd, efallai y byddwch yn cael o 403 ddychwelyd. 535 00:25:31,150 --> 00:25:34,510 536 00:25:34,510 --> 00:25:37,810 Mae rhai eraill eich bod allai get-- 301, Wedi symud yn barhaol; 537 00:25:37,810 --> 00:25:41,300 302, wedi ei ddarganfod; 304, Modified; 400, Cais Drwg; 538 00:25:41,300 --> 00:25:47,330 ac Gwall Gweinydd yna Mewnol ar gyfer 500 a 503, y Gwasanaeth Ddim ar gael. 539 00:25:47,330 --> 00:25:48,140 Ydw. 540 00:25:48,140 --> 00:25:51,490 >> GYNULLEIDFA: Byddwn yn disgwyl i ar gof yr holl Statws hynny? 541 00:25:51,490 --> 00:25:53,739 MARIA ZLATKOVA: Byddai gennyf nhw ar eich taflen twyllo. 542 00:25:53,739 --> 00:25:55,146 [Chwerthin] 543 00:25:55,146 --> 00:25:59,954 GYNULLEIDFA: A ydym yn disgwyl i gwybod beth mae pob un sbarduno? 544 00:25:59,954 --> 00:26:00,995 MARIA ZLATKOVA: A ydynt? 545 00:26:00,995 --> 00:26:03,870 HANNAH Blumberg: Ar gyfer rhai yr ydym i wedi rhedeg into-- felly y cwestiwn was-- 546 00:26:03,870 --> 00:26:08,010 MARIA ZLATKOVA: A ydynt yn disgwyl i gwybod beth mae pob un o'r rhain statws 547 00:26:08,010 --> 00:26:09,330 Efallai y codau gael ei sbarduno gan? 548 00:26:09,330 --> 00:26:13,240 Felly, ar gyfer y rhai yr ydym wedi defnyddio ac yn rhedeg i mewn, byddwn yn dweud, ie. 549 00:26:13,240 --> 00:26:16,610 Felly, rydym yn bendant wedi gweld 200 OK ac yn darlithio mewn psets. 550 00:26:16,610 --> 00:26:19,071 Rydym wedi gweld 403, 404. 551 00:26:19,071 --> 00:26:20,550 Ar gyfer rhai eraill? 552 00:26:20,550 --> 00:26:22,690 >> HANNAH Blumberg: Hoffwn dweud 500 yn ymddangos yn gêm deg. 553 00:26:22,690 --> 00:26:23,330 >> MARIA ZLATKOVA: 500, yeah. 554 00:26:23,330 --> 00:26:24,246 >> HANNAH Blumberg: Yeah. 555 00:26:24,246 --> 00:26:27,006 Dim ond yn meddu ar synnwyr cyffredinol o'r hyn sy'n eu hachosi. 556 00:26:27,006 --> 00:26:28,880 A hefyd yn unig gan y rhain enwau, gallwch fath o 557 00:26:28,880 --> 00:26:32,890 fel gwneud ddyfalu'n fel at yr hyn mewn gwirionedd yn achosi iddynt. 558 00:26:32,890 --> 00:26:36,919 Er enghraifft, yn symud yn barhaol, yn ôl pob tebyg yw'r ffeil wedi symud yn barhaol. 559 00:26:36,919 --> 00:26:39,328 >> GYNULLEIDFA: Ond ar blaenorol arholiad, roedd hynny 560 00:26:39,328 --> 00:26:41,050 sut ydych chi'n disgwyl i ni ateb hynny? 561 00:26:41,050 --> 00:26:42,883 >> HANNAH Blumberg: Bod yn werth sero pwynt. 562 00:26:42,883 --> 00:26:45,870 Mae'r cwestiwn ar 418 ar y tebot yn dechnegol statws HTTP, 563 00:26:45,870 --> 00:26:47,090 ond roedd yn werth sero pwynt. 564 00:26:47,090 --> 00:26:48,320 Yn amlwg, nid ydych yn disgwyl iddo wybod iddynt. 565 00:26:48,320 --> 00:26:49,670 >> GYNULLEIDFA: A yw'n un go iawn? 566 00:26:49,670 --> 00:26:51,970 >> HANNAH Blumberg: Mae'n go iawn un, ond nid yw'n golygu unrhyw beth. 567 00:26:51,970 --> 00:26:52,700 'I' jyst yn jôc. 568 00:26:52,700 --> 00:26:55,480 569 00:26:55,480 --> 00:26:57,010 Pobl Rhyngrwyd yn ddoniol. 570 00:26:57,010 --> 00:26:59,680 >> MARIA ZLATKOVA: Cwestiynau Fawr, guys. 571 00:26:59,680 --> 00:27:01,452 Unrhyw gwestiynau eraill? 572 00:27:01,452 --> 00:27:04,891 >> GYNULLEIDFA: Beth yw gwall gweinydd mewnol? 573 00:27:04,891 --> 00:27:06,640 MARIA ZLATKOVA: Mewnol Gwall gweinydd yn unig 574 00:27:06,640 --> 00:27:10,050 yn golygu eich bod wedi bod gallu cyfathrebu 575 00:27:10,050 --> 00:27:13,400 gyda'r gweinydd am ryw reswm. 576 00:27:13,400 --> 00:27:15,400 Felly nid yw'n reidrwydd rhywbeth sydd wedi ei wneud 577 00:27:15,400 --> 00:27:19,170 gyda'r cleient neu rywbeth fel 'na. 578 00:27:19,170 --> 00:27:22,170 Nid wyf yn gwybod am unrhyw enghraifft benodol ein bod wedi mynd drosodd i egluro, 579 00:27:22,170 --> 00:27:23,000 ond yeah. 580 00:27:23,000 --> 00:27:23,250 >> HANNAH Blumberg: Cadarn. 581 00:27:23,250 --> 00:27:25,625 Felly, er enghraifft, fel gadewch i ni dweud oeddech yn gweithio ar mashup 582 00:27:25,625 --> 00:27:30,440 ac aeth gweinydd Google i lawr ar gyfer rhai rheswm, outage, gadewch i ni ddweud. 583 00:27:30,440 --> 00:27:33,400 Byddai hynny'n gweinydd mewnol wall neu o- ryw fath hoffi i chi 584 00:27:33,400 --> 00:27:34,630 Ni fyddai cael ymateb yn ôl. 585 00:27:34,630 --> 00:27:35,260 >> MARIA ZLATKOVA: Yeah. 586 00:27:35,260 --> 00:27:37,050 'I' jyst pan fyddwch chi'n gallu cyfathrebu 587 00:27:37,050 --> 00:27:40,299 gyda'r gweinydd am ryw reswm oherwydd ohono'n mynd i lawr neu ryw reswm arall. 588 00:27:40,299 --> 00:27:44,430 589 00:27:44,430 --> 00:27:47,690 Felly neidio i mewn PHP. 590 00:27:47,690 --> 00:27:49,930 PHP, yn wahanol i HTML, yn iaith raglennu. 591 00:27:49,930 --> 00:27:54,820 Ac rydym yn dechrau ei ddefnyddio oherwydd ei fod yn ddefnyddiol iawn ar gyfer datblygu ar y we. 592 00:27:54,820 --> 00:27:56,940 >> Rydym yn ei ddefnyddio gyntaf yn CS50 Cyllid. 593 00:27:56,940 --> 00:28:02,240 Ac yn y bôn yn ein helpu i ddod ynghyd markup hwn, y dyluniad, 594 00:28:02,240 --> 00:28:07,460 a sut yr ydym mewn gwirionedd yn defnyddio gwybodaeth i arddangos pethau ar dudalen we. 595 00:28:07,460 --> 00:28:11,870 Felly PHP ei hun yn golygu PHP Hypertext Preprocessor, 596 00:28:11,870 --> 00:28:15,360 felly mae'n backnorym ailadroddus ei ben ei hun. 597 00:28:15,360 --> 00:28:22,330 Ac agor tagiau ar gyfer PHP ydym y chwith a saethau i'r dde gyda'r marciau cwestiwn 598 00:28:22,330 --> 00:28:23,060 a php. 599 00:28:23,060 --> 00:28:25,890 >> Felly, rydym eisoes wedi gweld criw ohono. 600 00:28:25,890 --> 00:28:29,150 Yn awr, rydym yn jyst yn mynd i fynd dros rai o'r pethau sylfaenol am y peth. 601 00:28:29,150 --> 00:28:32,280 Felly, gyda PHP, y newidyn henwau yn dechrau gyda'r arwydd doler. 602 00:28:32,280 --> 00:28:35,660 Nid ydym yn pennu, unwaith eto, newidyn teipiwch anymore. 603 00:28:35,660 --> 00:28:38,450 Yn union fel y gwnaethom gyda C, Nid oes angen i ni wneud hynny. 604 00:28:38,450 --> 00:28:41,670 605 00:28:41,670 --> 00:28:44,490 >> Gallwn wneud griw o wahanol stwff gyda newidynnau. 606 00:28:44,490 --> 00:28:47,750 Rydym yn gallu eu rhoi at ei gilydd drwy eu gydgadwyno'r 607 00:28:47,750 --> 00:28:52,900 gyda'r dot nodiant, a oedd yn Ni allem wneud yn C eto. 608 00:28:52,900 --> 00:28:57,490 Unwaith eto, mae gennym ychydig yn fwy amryddawn gyda PHP yn nhermau newidynnau. 609 00:28:57,490 --> 00:29:00,080 Unwaith eto, nid oes gennym brif swyddogaeth. 610 00:29:00,080 --> 00:29:03,370 >> A PHP Dehonglir yn hytrach na llunio, 611 00:29:03,370 --> 00:29:09,970 Felly, dim ond sut yr ydym yn gwneud ar gyfer ffeiliau C, nid oes gennym i wneud hynny ar gyfer PHP. 612 00:29:09,970 --> 00:29:15,440 Ond yn hytrach, y modd y mae'r iaith yn cael ei redeg gan ei hun, mae'n cael ei ddehongli. 613 00:29:15,440 --> 00:29:18,550 Ac yna teipio llac dim ond yn golygu ein bod 614 00:29:18,550 --> 00:29:22,490 Nid oes rhaid i bennu newidyn math a mathau amrywiol 615 00:29:22,490 --> 00:29:25,415 yn cael eu deall yn Rhedeg. 616 00:29:25,415 --> 00:29:29,185 >> GYNULLEIDFA: Ond beth wnaethoch chi olygu wrth dot concatenation? 617 00:29:29,185 --> 00:29:30,060 MARIA ZLATKOVA: Cadarn. 618 00:29:30,060 --> 00:29:37,660 Pan fyddwn eisiau rhoi pethau together-- felly os oedd gennym ryw newidyn sy'n 619 00:29:37,660 --> 00:29:41,500 Roedd gwerth 3 ac roedd un arall yr ydym yn newidyn nad oedd gan y gwerth llinyn, 620 00:29:41,500 --> 00:29:45,920 gallem roi'r newidynnau at ei gilydd trwy roi dot yn rhyngddynt 621 00:29:45,920 --> 00:29:46,970 ac yn eu gydgadwyno'r. 622 00:29:46,970 --> 00:29:52,670 Neu gallem greu Enw a elwir newidyn 623 00:29:52,670 --> 00:29:56,900 ac yn ei roi at ei gilydd gan gydgadwyno'r dau llinynnau. 624 00:29:56,900 --> 00:30:00,680 >> Felly, os oedd gennym llinyn yn dwbl dyfyniadau ac rydym yn rhoi dot ar ôl iddo, 625 00:30:00,680 --> 00:30:03,660 ac yna cawsom llinyn arall, bod Byddai creu llinyn yn gyfan gwbl. 626 00:30:03,660 --> 00:30:05,242 >> GYNULLEIDFA: OK. 627 00:30:05,242 --> 00:30:06,450 MARIA Latfia: A oedd hynny yn eglur? 628 00:30:06,450 --> 00:30:07,099 GYNULLEIDFA: Yeah. 629 00:30:07,099 --> 00:30:07,890 MARIA ZLATKOVA: OK. 630 00:30:07,890 --> 00:30:08,766 Ydw. 631 00:30:08,766 --> 00:30:11,146 >> GYNULLEIDFA: Pan fyddwch yn dweud dehongli yn hytrach na llunio, 632 00:30:11,146 --> 00:30:14,160 Nid ydych chi'n siarad am i chi ei wneud Mae angen i fod mor benodol wrth 633 00:30:14,160 --> 00:30:15,906 mae'n dod at PHP yn erbyn C? 634 00:30:15,906 --> 00:30:18,085 635 00:30:18,085 --> 00:30:20,710 MARIA ZLATKOVA: Pan fyddwn yn dweud ddehongli yn hytrach na llunio, 636 00:30:20,710 --> 00:30:21,850 beth ydym yn ei olygu? 637 00:30:21,850 --> 00:30:26,220 Felly mae hynny'n golygu nad oes angen i ni ffeiliau gweithredadwy i redeg PHP. 638 00:30:26,220 --> 00:30:29,870 Mae'n golygu ei fod yn rhedeg ag y mae'n mynd. 639 00:30:29,870 --> 00:30:31,650 A yw hynny'n gwneud synnwyr? 640 00:30:31,650 --> 00:30:32,495 Mae ychydig yn fwy. 641 00:30:32,495 --> 00:30:34,620 HANNAH Blumberg: Felly yr ydych gallu meddwl am cyfieithydd 642 00:30:34,620 --> 00:30:38,980 fel rhaglen arall sy'n gyfrifol am fynd fesul llinell drwy PHP 643 00:30:38,980 --> 00:30:42,745 ac mewn gwirionedd yn gweithredu arno, yn hytrach na i lunio cyfan i lawr i deuaidd. 644 00:30:42,745 --> 00:30:46,050 Nid yw'n mewn gwirionedd yn golygu unrhyw beth am y ffordd benodol mae angen i ni fod. 645 00:30:46,050 --> 00:30:49,470 Mae angen i ni fod yn fanwl, ac nid ydynt anghofio'ch hanner colon, a gwneud yn siŵr 646 00:30:49,470 --> 00:30:51,470 eich bod wedi eich arwydd doler, a phethau fel 'na. 647 00:30:51,470 --> 00:30:52,240 Cwestiwn da. 648 00:30:52,240 --> 00:30:53,115 >> MARIA ZLATKOVA: Yeah. 649 00:30:53,115 --> 00:30:55,590 Felly fesul llinell, fel hytrach na gyda ffeiliau C, 650 00:30:55,590 --> 00:30:59,100 rhaid i ni wneud y rownd derfynol i gyd cyn y gallwn mewn gwirionedd yn rhedeg. 651 00:30:59,100 --> 00:31:00,360 Dyna'r prif wahaniaeth. 652 00:31:00,360 --> 00:31:02,655 Ond unwaith eto, ni allwn mewn gwirionedd fod yn llai penodol. 653 00:31:02,655 --> 00:31:08,760 654 00:31:08,760 --> 00:31:13,950 Felly araeau yn PHP yn cynrychioli mewn gwirionedd map harchebu. 655 00:31:13,950 --> 00:31:17,550 >> Felly gwerthoedd araeau cysylltiol i allweddi. 656 00:31:17,550 --> 00:31:23,350 Roedd y ddwy ffordd ddatgan array, yn seiliedig ar gystrawen hon, 657 00:31:23,350 --> 00:31:26,380 gallwn fod yn fwy eglur wrth ddweud gennym amrywiaeth 658 00:31:26,380 --> 00:31:31,010 ac yr ydym wedi key1 hwn sy'n mapio i value1 hwn, key2 sy'n mapio value2. 659 00:31:31,010 --> 00:31:34,660 Neu gallwn jyst greu amrywiaeth sy'n cynnwys y gwerthoedd hun 660 00:31:34,660 --> 00:31:38,360 ac yna yr allweddi yn cael eu deall mewn ffordd. 661 00:31:38,360 --> 00:31:40,000 Unrhyw gwestiynau am hyn? 662 00:31:40,000 --> 00:31:42,500 >> GYNULLEIDFA: Beth fyddai yr allweddi fod yn yr ail enghraifft? 663 00:31:42,500 --> 00:31:47,100 664 00:31:47,100 --> 00:31:47,920 0, 1, 2, 3? 665 00:31:47,920 --> 00:31:50,650 666 00:31:50,650 --> 00:31:55,780 >> MARIA ZLATKOVA: Er enghraifft, 'i' jyst Nid yw yr allweddi yn y yn ei wneud o reidrwydd 667 00:31:55,780 --> 00:31:56,550 gwneud gwahaniaeth. 668 00:31:56,550 --> 00:32:01,720 Maent yn unig yn diffinio sut y gallwch Defnyddiwch y gwerthoedd tu mewn iddo. 669 00:32:01,720 --> 00:32:08,660 Felly, os oedd gennym foreach dolen yn PHP a fyddai 670 00:32:08,660 --> 00:32:14,760 yn ein galluogi i fynd drwy'r holl werthoedd, gallwn fynd trwy'r holl werthoedd, 671 00:32:14,760 --> 00:32:19,570 hyd yn oed os oedd gennym ai peidio wedi diffinio allwedd penodol o fewn y safle 672 00:32:19,570 --> 00:32:20,820 cystrawen blaenorol. 673 00:32:20,820 --> 00:32:23,460 >> Felly, hyd yn oed gyda'r math hwn o amrywiaeth, gallem dal 674 00:32:23,460 --> 00:32:26,260 gael dolen foreach sy'n mynd drwy bob 675 00:32:26,260 --> 00:32:31,240 o'r gwerthoedd yn yr allwedd yn y rhesi. 676 00:32:31,240 --> 00:32:36,180 Felly, y gystrawen o foreach dolen, rydym yn dechrau gydag amrywiaeth. 677 00:32:36,180 --> 00:32:38,720 678 00:32:38,720 --> 00:32:43,900 Mae'r newidyn $ arr yw ein amrywiaeth gwirioneddol ein bod yn y diffinnir yn y sleid flaenorol 679 00:32:43,900 --> 00:32:47,550 fel gwerth sy'n mynd llythrennol drwy bob un o'r gwerthoedd, 680 00:32:47,550 --> 00:32:50,122 waeth a cawsom allweddol neu beidio. 681 00:32:50,122 --> 00:32:53,080 Ac yna gallwn wneud rhywbeth gyda werth tu mewn i'r ddolen foreach. 682 00:32:53,080 --> 00:32:57,730 Felly eto, pe bai gennym amrywiaeth fel hyn yma created-- 683 00:32:57,730 --> 00:33:03,270 felly mae gennym y allweddol y foo a gwerth bar, yr allwedd Baz a gwerth qux-- 684 00:33:03,270 --> 00:33:09,730 gallwn gael dolen foreach sy'n yn mynd trwy amrywiaeth fel gwerth allweddol 685 00:33:09,730 --> 00:33:11,900 ac yna gwneud rhywbeth gyda'r allwedd a / neu werth. 686 00:33:11,900 --> 00:33:15,980 Ond nid ydym yn ei wneud o reidrwydd bob amser rhaid cael foreach dolenni bod 687 00:33:15,980 --> 00:33:19,410 yn mynd trwy amrywiaeth fel map allweddol i werth. 688 00:33:19,410 --> 00:33:26,060 Gallwn fynd drwy'r array dolen foreach fel gwerth. 689 00:33:26,060 --> 00:33:28,990 >> HANNAH Blumberg: Ac yr wyf yn meddwl canlynol-- oedd eich cwestiwn, beth 690 00:33:28,990 --> 00:33:31,229 yw'r mynegai ymhlyg? 691 00:33:31,229 --> 00:33:31,895 GYNULLEIDFA: Kinda. 692 00:33:31,895 --> 00:33:32,240 MARIA ZLATKOVA: Oh. 693 00:33:32,240 --> 00:33:33,406 HANNAH Blumberg: Yeah, yeah. 694 00:33:33,406 --> 00:33:36,150 Felly y bôn, os nad ydych yn pennu allwedd, mae'n mynd i fod yn 01. 695 00:33:36,150 --> 00:33:37,140 >> MARIA ZLATKOVA: Yeah. 696 00:33:37,140 --> 00:33:41,718 Yn union fel gyda C, 'i' sero mynegeio os nad ydych yn pennu allweddol. 697 00:33:41,718 --> 00:33:42,384 GYNULLEIDFA: Mae'n ddrwg gennyf. 698 00:33:42,384 --> 00:33:43,827 Allech chi roi cynnig ar siarad ychydig bach yn uwch? 699 00:33:43,827 --> 00:33:45,270 Rwy'n cael ychydig o trafferth clywed popeth. 700 00:33:45,270 --> 00:33:46,478 >> MARIA ZLATKOVA: Rydw i mor flin. 701 00:33:46,478 --> 00:33:48,439 Yeah, wrth gwrs. 702 00:33:48,439 --> 00:33:50,230 Felly, ydych chi eisiau i mi i fynd dros hyn eto? 703 00:33:50,230 --> 00:33:51,680 Neu a yw this-- 704 00:33:51,680 --> 00:33:54,930 GYNULLEIDFA: Felly ar y slide-- blaenorol os gallech fynd yn ôl am eiliad. 705 00:33:54,930 --> 00:33:57,313 MARIA ZLATKOVA: Wrth gwrs, mae'n ddrwg gennyf. 706 00:33:57,313 --> 00:33:59,237 GYNULLEIDFA: Felly yr ail Nid yw amrywiaeth yma yn gwneud 707 00:33:59,237 --> 00:34:04,135 ymddangos i fod â gwerth i allweddol, fath o [? achosiaeth. ?] 708 00:34:04,135 --> 00:34:05,343 MARIA ZLATKOVA: Iawn, ar y dde. 709 00:34:05,343 --> 00:34:07,608 GYNULLEIDFA: Felly sut mae hynny'n gweithio pan fyddwch yn dweud ei fod yn gyd neu ddim un. 710 00:34:07,608 --> 00:34:08,969 I mi, sy'n edrych fel a [? foo?] yn barod. 711 00:34:08,969 --> 00:34:10,093 >> MARIA ZLATKOVA: Yeah, yeah. 712 00:34:10,093 --> 00:34:12,969 Felly unwaith eto, mae hwn yn map archebu yn yr ystyr hwn 713 00:34:12,969 --> 00:34:15,639 bod yn cael eu deall, er enghraifft, y mynegeion 714 00:34:15,639 --> 00:34:20,159 Gellir yma eu deall fel 0, 1, 2, 3. 715 00:34:20,159 --> 00:34:25,929 Unwaith eto, mae hynny'n cael rhai mynegeion yw ein gyfwerth 716 00:34:25,929 --> 00:34:28,980 o gael allweddi wedi'u mapio ar werthoedd. 717 00:34:28,980 --> 00:34:34,710 Felly os yw ein allweddol oedd 0-- n chwith. 718 00:34:34,710 --> 00:34:36,524 >> HANNAH Blumberg: Na, mae 'sialc i fyny fan hyn. 719 00:34:36,524 --> 00:34:36,929 Mae'n mewn gwirionedd neis iawn. 720 00:34:36,929 --> 00:34:37,460 >> MARIA ZLATKOVA: Mae hynny'n wych. 721 00:34:37,460 --> 00:34:38,260 IAWN. 722 00:34:38,260 --> 00:34:49,489 Felly unwaith eto, byddai $ arr 0 fod yn yr allwedd ar gyfer y gwerth 1. 723 00:34:49,489 --> 00:34:51,138 Byddai 0 fod yn allweddol ar gyfer y gwerth 1. 724 00:34:51,138 --> 00:34:51,971 GYNULLEIDFA: Mae'n ddrwg gen i. 725 00:34:51,971 --> 00:34:53,190 Mae'n anweledig. 726 00:34:53,190 --> 00:34:53,659 >> HANNAH Blumberg: pob hawl, Nevermind. 727 00:34:53,659 --> 00:34:54,980 Roedd Chalk yn syniad drwg. 728 00:34:54,980 --> 00:34:58,030 Yr wyf yn cymryd yn ôl. 729 00:34:58,030 --> 00:35:01,425 Gallwch chi feddwl am yr allweddi fel 0 fapiau i werth 1. 730 00:35:01,425 --> 00:35:02,300 MARIA ZLATKOVA: Yeah. 731 00:35:02,300 --> 00:35:04,630 Felly, mae hyn yn 0, mae hyn yn 1, 2, 3. 732 00:35:04,630 --> 00:35:05,760 Gall y rhain fod yn eich allweddi. 733 00:35:05,760 --> 00:35:10,020 Gallwch feddwl amdanynt as-- yeah. 734 00:35:10,020 --> 00:35:12,740 Felly, yn lle cael allweddi penodol, eu bod yn 735 00:35:12,740 --> 00:35:17,180 math o ddeall fel bod mynegeion yn dechrau ar 0. 736 00:35:17,180 --> 00:35:21,630 737 00:35:21,630 --> 00:35:24,820 Nid oedd y sialc oedd yn helpu. 738 00:35:24,820 --> 00:35:25,722 Yeah. 739 00:35:25,722 --> 00:35:30,914 >> GYNULLEIDFA: Ar gyfer y ddolen foreach, pe baem am weld y fel gwerth, 740 00:35:30,914 --> 00:35:33,245 byddai'n jyst yn awtomatig mynegai i 0? 741 00:35:33,245 --> 00:35:34,120 MARIA ZLATKOVA: Yeah. 742 00:35:34,120 --> 00:35:35,745 Byddai'n mynd drwy bob un o'r gwerthoedd. 743 00:35:35,745 --> 00:35:39,130 GYNULLEIDFA: [Anghlywadwy] fel 0 neu a fyddai ddim ond yn ei wneud 0? 744 00:35:39,130 --> 00:35:43,710 >> MARIA ZLATKOVA: Byddai gennych i ddweud wrth arwydd doler ac yna 745 00:35:43,710 --> 00:35:46,266 rhywfaint o enw amrywiol, gwerth. 746 00:35:46,266 --> 00:35:47,182 GYNULLEIDFA: [Anghlywadwy]. 747 00:35:47,182 --> 00:35:50,048 748 00:35:50,048 --> 00:35:50,964 MARIA ZLATKOVA: Mae'n ddrwg gennyf? 749 00:35:50,964 --> 00:35:52,839 GYNULLEIDFA: Mae'n ddrwg gennym, rwy'n dim ond ceisio cofio. 750 00:35:52,839 --> 00:35:57,190 Sut fyddech chi ddim os ydych yn gallu gwneud hynny awtomatig mynegeio yn unig 0 o? 751 00:35:57,190 --> 00:36:00,780 >> MARIA ZLATKOVA: Felly sut y byddech yn gwneud hynny os na wnaethoch enwau allweddol penodol? 752 00:36:00,780 --> 00:36:01,710 >> GYNULLEIDFA: Yeah. 753 00:36:01,710 --> 00:36:07,820 >> MARIA ZLATKOVA: Byddwch byddai dim ond define-- dim ond dweud eich hun fel rhyw enw. 754 00:36:07,820 --> 00:36:17,950 Felly efallai yn eich psets, rydych guys cofiwch foreach $ rhes â $ rhesi, 755 00:36:17,950 --> 00:36:24,610 rydym yn creu ein hunain hwn $ rhes dweud rydym am fynd drwy res â $ rhesi. 756 00:36:24,610 --> 00:36:28,360 Hyd yn oed er nad oedd gennym y $ benodol rhesi diffiniedig, 757 00:36:28,360 --> 00:36:31,990 gallem dim ond yn mynd a dweud y gall hyn fod yn ein allweddol, 758 00:36:31,990 --> 00:36:33,615 a dim ond yn mynd drwy bob un o'r gwerthoedd. 759 00:36:33,615 --> 00:36:37,295 760 00:36:37,295 --> 00:36:41,660 >> GYNULLEIDFA: Felly mae gwerth newidyn newydd rydym yn creu i storio [Anghlywadwy]? 761 00:36:41,660 --> 00:36:46,820 762 00:36:46,820 --> 00:36:49,990 >> MARIA ZLATKOVA: Felly nid yw'n hanfod newidyn newydd. 763 00:36:49,990 --> 00:37:00,310 Mae'n newidyn sy'n cyfeirio at y tu mewn y rhesi i bob un ohonynt. 764 00:37:00,310 --> 00:37:02,060 HANNAH Blumberg: Mae'n enw newidyn newydd. 765 00:37:02,060 --> 00:37:04,018 MARIA ZLATKOVA: Yeah, mae'n enw newidyn newydd, 766 00:37:04,018 --> 00:37:06,680 ond nid yw'n inherently-- yeah. 767 00:37:06,680 --> 00:37:08,950 Mae'n dim ond newidyn newydd y gallwch wneud hynny. 768 00:37:08,950 --> 00:37:12,680 Felly, dim ond sut ydych gwnaethom $ Rhwyfo â $ rhesi, rhesi 769 00:37:12,680 --> 00:37:17,980 Roedd enw newidyn newydd yr ydym Gallai creu yn ein dolen foreach. 770 00:37:17,980 --> 00:37:22,065 Nid oes rhaid iddo i preexist cyn hynny. 771 00:37:22,065 --> 00:37:25,777 >> GYNULLEIDFA: A allech chi fynd trwy'r rhesymeg ar gyfer pob un, gan ddefnyddio'r enghraifft yno? 772 00:37:25,777 --> 00:37:26,610 MARIA ZLATKOVA: MHM. 773 00:37:26,610 --> 00:37:31,240 774 00:37:31,240 --> 00:37:32,080 O, sori. 775 00:37:32,080 --> 00:37:33,780 Dyma enghraifft. 776 00:37:33,780 --> 00:37:34,280 Cadarn. 777 00:37:34,280 --> 00:37:38,950 Felly, ar gyfer pob un array-- felly mae hynny'n golygu mynd i'r casgliad hwn 778 00:37:38,950 --> 00:37:43,930 yn allweddol value-- sy'n mynd i fynd drwy'r amrywiaeth hon 779 00:37:43,930 --> 00:37:49,480 ac yn mynd yn gyntaf ac yn cael foo, mae'r foo allweddol a'r bar gwerth. 780 00:37:49,480 --> 00:37:51,570 Ac yna ar yr ail ailadroddiad o'r ddolen ar gyfer, 781 00:37:51,570 --> 00:37:55,090 mae'n mynd i fynd drwy'r ac yn cymryd y Baz allweddol a'r qux gwerth. 782 00:37:55,090 --> 00:38:00,512 Ac yna gallwch chi wneud rhywbeth gyda naill neu'r llall ohonynt neu'r ddau ohonynt. 783 00:38:00,512 --> 00:38:03,488 >> GYNULLEIDFA: Felly, y syniad y tu ôl bod â bwynt allweddol i werth, 784 00:38:03,488 --> 00:38:07,470 beth ydych chi'n pen draw gael mynediad? 785 00:38:07,470 --> 00:38:10,680 >> MARIA ZLATKOVA: Beth yw'r syniad o gael pwyntio allweddol i werthfawrogi? 786 00:38:10,680 --> 00:38:16,400 Dim ond confensiwn arall, un arall ffordd o fynd drwy'r amrywiaeth 787 00:38:16,400 --> 00:38:22,600 a bod yn gallu cael mynediad at naill ai'r allweddol neu werth neu ddau ac yn eu defnyddio. 788 00:38:22,600 --> 00:38:27,100 >> GYNULLEIDFA: Beth yw'r rôl i'r orchymyn bod y foreach yn rhedeg i mewn? 789 00:38:27,100 --> 00:38:29,250 Felly, pe baem yn ychwanegu elfen i'r amrywiaeth yn ddiweddarach, 790 00:38:29,250 --> 00:38:32,140 Byddai hynny yn y rhai cyntaf galw i mewn yr amrywiaeth foreach, 791 00:38:32,140 --> 00:38:33,750 neu a fyddai'n nes ymlaen? 792 00:38:33,750 --> 00:38:37,770 >> MARIA ZLATKOVA: Felly beth yw y drefn y mae'r foreach 793 00:38:37,770 --> 00:38:39,210 ddolen yn mynd trwy amrywiaeth i mewn? 794 00:38:39,210 --> 00:38:42,220 Mae'n mynd drwy'r cyntaf elfen i'r elfen olaf, 795 00:38:42,220 --> 00:38:43,400 at yr elfen ychwanegu diwethaf. 796 00:38:43,400 --> 00:38:48,020 Os ydych yn ychwanegu elfennau yn nes ymlaen, byddent fod yn accessed-- elfennau cyntaf y byddai 797 00:38:48,020 --> 00:38:51,410 cael mynediad fel y cyntaf elfennau o'r array, 798 00:38:51,410 --> 00:38:57,620 ac yna byddech yn mynd drwy bob un o'r yr elfennau fel math o ordered-- 799 00:38:57,620 --> 00:39:02,930 Nid yw harchebu, ond mae'r ffordd y mae maent wedi cael eu rhoi yn y rhesi. 800 00:39:02,930 --> 00:39:06,855 >> GYNULLEIDFA: Felly elfennau newydd yn cael eu hychwanegu yn nes ymlaen? 801 00:39:06,855 --> 00:39:10,680 Felly maen nhw'n added-- byddant yn y rhai olaf yn y [? ailadrodd. ?] 802 00:39:10,680 --> 00:39:14,280 >> MARIA ZLATKOVA: Elfennau Newydd can-- yn y bôn, pan fydd elfennau newydd yn cael eu hychwanegu, 803 00:39:14,280 --> 00:39:16,520 maen nhw'n cael eu hychwanegu at ddiwedd y rhesi? 804 00:39:16,520 --> 00:39:17,632 >> GYNULLEIDFA: Yeah. 805 00:39:17,632 --> 00:39:18,840 MARIA ZLATKOVA: Yr wyf yn credu hynny. 806 00:39:18,840 --> 00:39:20,850 Ydw. 807 00:39:20,850 --> 00:39:24,330 Ac yna gyda'ch dolen foreach, ar ôl i chi wedi ychwanegu elfennau newydd 808 00:39:24,330 --> 00:39:26,790 a byddwch yn mynd drwyddynt, yr elfennau newydd fyddai 809 00:39:26,790 --> 00:39:30,930 fod accessed-- yr elfen newydd, os yw'n Ychwanegodd ddiwethaf, byddai'n cael mynediad ddiwethaf. 810 00:39:30,930 --> 00:39:34,416 >> GYNULLEIDFA: Allwch chi jyst roi enghraifft o rywbeth a fyddai [Anghlywadwy] 811 00:39:34,416 --> 00:39:37,404 gyda rhywbeth gyda gwerth fel [Anghlywadwy] neu werth, 812 00:39:37,404 --> 00:39:38,910 hoffi sut y byddech yn fformadu hynny? 813 00:39:38,910 --> 00:39:39,785 >> MARIA ZLATKOVA: Cadarn. 814 00:39:39,785 --> 00:39:42,340 815 00:39:42,340 --> 00:39:46,410 A allaf roi enghraifft o'r hyn y byddem yn ei wneud gyda'r gwerth? 816 00:39:46,410 --> 00:39:52,440 Felly, beth y gallech guys fod yn gyfarwydd â yw ein bod yn wedi mynd drwy amrywiaeth 817 00:39:52,440 --> 00:39:55,380 a'i argraffu yn y bôn pob un o'r elfennau, 818 00:39:55,380 --> 00:40:00,910 er enghraifft, fel rhan o rhestr neu rywbeth sy'n harchebu. 819 00:40:00,910 --> 00:40:02,674 A yw hynny'n gwneud synnwyr neu ydyn ni eisiau i'r canlynol-- 820 00:40:02,674 --> 00:40:04,340 GYNULLEIDFA: A allwn ni argraffu'r gwerthoedd hyn allan? 821 00:40:04,340 --> 00:40:13,220 MARIA ZLATKOVA: Yeah, gallem argraffu ac yna y bôn $ werth oherwydd ar 822 00:40:13,220 --> 00:40:16,570 hynny werth penodol, byddem yn argraffu werth tu mewn iddo. 823 00:40:16,570 --> 00:40:20,150 Felly, os oeddem ar ein iteriad cyntaf ohono ac rydym hargraffu $ gwerth, 824 00:40:20,150 --> 00:40:23,775 byddem yn argraffu bar. 825 00:40:23,775 --> 00:40:27,020 >> GYNULLEIDFA: A oes yna hefyd am dolenni yn PHP neu dim ond ddolenni foreach? 826 00:40:27,020 --> 00:40:30,430 >> MARIA ZLATKOVA: Mae hefyd ar gyfer dolenni ym PHP. 827 00:40:30,430 --> 00:40:33,399 Ac mae eu rhesymeg yn bennaf y un fath â'r hyn yr ydych wedi bod yn ei ddefnyddio i. 828 00:40:33,399 --> 00:40:34,690 GYNULLEIDFA: Felly ei werth yn null. 829 00:40:34,690 --> 00:40:35,090 MARIA ZLATKOVA: Mae fel yr un fath. 830 00:40:35,090 --> 00:40:35,590 Yeah. 831 00:40:35,590 --> 00:40:37,747 GYNULLEIDFA: Im 'jyst yn mynd i ofyn. 832 00:40:37,747 --> 00:40:39,695 Felly pan fyddwch yn datgan array, nid oes angen i chi 833 00:40:39,695 --> 00:40:42,617 i ddweud pa faint mae'n mynd i fod, sy'n golygu eich bod yn gallu jyst 834 00:40:42,617 --> 00:40:44,417 adio a chymryd ymaith elfennau [Anghlywadwy]. 835 00:40:44,417 --> 00:40:45,250 MARIA ZLATKOVA: Yup. 836 00:40:45,250 --> 00:40:45,750 Yup. 837 00:40:45,750 --> 00:40:46,251 Yn union. 838 00:40:46,251 --> 00:40:48,875 Pan fyddwn yn datgan amrywiaeth, rydym yn Nid oes angen i ddweud pa faint y mae, 839 00:40:48,875 --> 00:40:51,022 er mwyn i ni dim ond ychwanegu elfennau arno nes ymlaen hefyd. 840 00:40:51,022 --> 00:40:55,075 841 00:40:55,075 --> 00:40:55,700 Mwy o gwestiynau? 842 00:40:55,700 --> 00:40:59,870 843 00:40:59,870 --> 00:41:05,950 Felly dod â PHP a HTML gyda'i gilydd, hyn yr ydym wedi seen-- yn dda, 844 00:41:05,950 --> 00:41:15,130 er enghraifft, yn yr enghraifft hon, mae gennym ffurflen HTML sydd â maes mewnbwn. 845 00:41:15,130 --> 00:41:18,830 >> A'r cae mewnbwn yn enwi dim ond ac yna mae ganddo botwm Anfon. 846 00:41:18,830 --> 00:41:26,040 A phan fyddwch yn pwyswch y Submit botwm, yn ein ffeil hello.php, 847 00:41:26,040 --> 00:41:32,130 oherwydd bod y dull ar gyfer y ffurflen yn cael, gallwn gael mynediad beth bynnag sydd wrth enw 848 00:41:32,130 --> 00:41:40,360 gan hyn yn cael newidyn byd-eang sy'n yw-- y gystrawen ar ei gyfer yn $ _GET. 849 00:41:40,360 --> 00:41:44,520 Ac yna gallwn gael mynediad beth bynnag fo'r mewnbwn defnyddwyr tu mewn y ffurflen ar gyfer enw 850 00:41:44,520 --> 00:41:47,410 trwy nodi enw'r y maes hwnnw. 851 00:41:47,410 --> 00:41:51,480 852 00:41:51,480 --> 00:41:55,060 >> Unrhyw gwestiynau eraill neu unrhyw cwestiynau ar yr enghraifft benodol? 853 00:41:55,060 --> 00:41:58,275 >> GYNULLEIDFA: Ble mae'r PHP? 854 00:41:58,275 --> 00:41:59,150 MARIA ZLATKOVA: Yma. 855 00:41:59,150 --> 00:42:01,150 Felly dyma ein tag agoriadol ar gyfer yr PHP. 856 00:42:01,150 --> 00:42:01,530 >> GYNULLEIDFA: O, iawn. 857 00:42:01,530 --> 00:42:02,363 >> MARIA ZLATKOVA: Ydw. 858 00:42:02,363 --> 00:42:05,320 859 00:42:05,320 --> 00:42:09,609 >> HANNAH Blumberg:? Y = yn llaw-fer am hyn yw PHP a dim ond adlais. 860 00:42:09,609 --> 00:42:10,150 GYNULLEIDFA: Oh. 861 00:42:10,150 --> 00:42:10,720 MARIA ZLATKOVA: Yeah, mae'n ddrwg gennyf. 862 00:42:10,720 --> 00:42:12,040 Dylwn fod wedi gwneud hynny'n glir. 863 00:42:12,040 --> 00:42:13,759 >> HANNAH Blumberg: Print. 864 00:42:13,759 --> 00:42:16,800 MARIA ZLATKOVA: Mae'n dim ond y swyddogaeth sy'n ein galluogi i argraffu rhywbeth. 865 00:42:16,800 --> 00:42:19,795 866 00:42:19,795 --> 00:42:20,420 Cwestiwn mawr. 867 00:42:20,420 --> 00:42:24,140 868 00:42:24,140 --> 00:42:25,495 Felly going-- ie. 869 00:42:25,495 --> 00:42:31,940 >> GYNULLEIDFA: A oes yn mynd i fod yn eithaf ychydig o codio â llaw o PHP a HTML 870 00:42:31,940 --> 00:42:33,450 ar gwis 1? 871 00:42:33,450 --> 00:42:36,310 872 00:42:36,310 --> 00:42:38,810 MARIA ZLATKOVA: Gall fod cryn dipyn o ddehongliad 873 00:42:38,810 --> 00:42:43,330 o PHP a HTML, nid o reidrwydd fel llawer iawn o codio, 874 00:42:43,330 --> 00:42:46,960 er efallai bydd rhaid i chi ysgrifennu dolen foreach, fodd bynnag, mae ar gyfer dolen. 875 00:42:46,960 --> 00:42:49,790 Unrhyw un o'r dolenni sydd gennym cwmpasu yma yw gêm deg. 876 00:42:49,790 --> 00:42:51,889 A dyna yn bennaf iddo. 877 00:42:51,889 --> 00:42:53,430 HANNAH Blumberg: Byddwn yn cael ei baratoi. 878 00:42:53,430 --> 00:42:57,010 Yn yr un modd yr ydym yn gofyn i chi ysgrifennu criw o swyddogaethau C ar cwis 0, 879 00:42:57,010 --> 00:42:59,766 Byddwn yn barod i wneud y un peth yn PHP a JavaScript. 880 00:42:59,766 --> 00:43:00,640 MARIA ZLATKOVA: Yeah. 881 00:43:00,640 --> 00:43:03,210 HANNAH Blumberg: Byddwn yn dweud a little-- fel nad ydym yn 882 00:43:03,210 --> 00:43:06,251 mynd i wneud i chi ysgrifennu HTML anferth tudalen dim ond oherwydd mae hynny'n ychydig 883 00:43:06,251 --> 00:43:08,240 ddiflas, ond efallai y byddwch yn cael rhan. 884 00:43:08,240 --> 00:43:09,310 Dyna gêm hollol deg. 885 00:43:09,310 --> 00:43:11,082 Fel dudalen HTML bach, yn hollol deg. 886 00:43:11,082 --> 00:43:11,623 GYNULLEIDFA: OK. 887 00:43:11,623 --> 00:43:13,814 Beth am yn JavaScript hefyd? 888 00:43:13,814 --> 00:43:14,730 HANNAH Blumberg: Yeah. 889 00:43:14,730 --> 00:43:15,250 Gêm deg JavaScript ar. 890 00:43:15,250 --> 00:43:15,635 >> MARIA ZLATKOVA: Yeah. 891 00:43:15,635 --> 00:43:16,801 Dyna gêm hollol deg. 892 00:43:16,801 --> 00:43:19,280 HANNAH Blumberg: Byddwn yn cael at hynny yn debyg 10 munud. 893 00:43:19,280 --> 00:43:23,750 >> MARIA ZLATKOVA: SQL, unwaith eto, Iaith Ymholiad Strwythuredig. 894 00:43:23,750 --> 00:43:28,651 Mae'n bôn yn ein galluogi i reoli data mewn rheoli cronfa ddata berthynol 895 00:43:28,651 --> 00:43:29,150 system. 896 00:43:29,150 --> 00:43:31,149 Mai dim ond yn y bôn yn golygu bod gennym rywle 897 00:43:31,149 --> 00:43:37,980 i storio rhywfaint o ddata y gallai rydym am defnyddio mewn gwefan neu ar ryw ffurf arall. 898 00:43:37,980 --> 00:43:42,190 Ac yna mae gennym ymholiadau i gael gwybodaeth o'n cronfa ddata, 899 00:43:42,190 --> 00:43:44,320 neu i fewnosod gwybodaeth ynddynt. 900 00:43:44,320 --> 00:43:47,560 Mae llawer o'r comin ones-- DIWEDDARIAD, RHOWCH, SELECT, a DELETE. 901 00:43:47,560 --> 00:43:50,790 >> Felly, er DIWEDDARIAD, mae hyn yn y gystrawen am ddiweddaru data mewn cronfa ddata. 902 00:43:50,790 --> 00:43:53,330 903 00:43:53,330 --> 00:43:57,340 Diweddaru'r tabl hwn a elwir yn tabl trwy ddweud SET, 904 00:43:57,340 --> 00:44:04,170 gallwn osod rhai gwerthoedd yn yr holl rhesi i rywbeth cyfartal arall. 905 00:44:04,170 --> 00:44:09,410 Felly, gallwn hefyd nodi rhai penodol ceisiadau yr ydym am eu addasu 906 00:44:09,410 --> 00:44:11,240 a gall hynny fod yn defnyddio LLE. 907 00:44:11,240 --> 00:44:16,380 A gallwn nodi mai dim ond eisiau addasu rhai rhesi lle mae'r tŷ ar gyfer, 908 00:44:16,380 --> 00:44:19,830 pe bai gennym tabl o fyfyrwyr ac roedd pob un o'r myfyrwyr tŷ, 909 00:44:19,830 --> 00:44:24,890 felly byddem yn unig yn addasu rhai gwerthoedd lle bo tŷ hafal lledrwr, 910 00:44:24,890 --> 00:44:25,430 er enghraifft. 911 00:44:25,430 --> 00:44:29,120 912 00:44:29,120 --> 00:44:31,800 >> Ar gyfer RHOWCH, gallwn fewnosod gwerthoedd penodol mewn tabl. 913 00:44:31,800 --> 00:44:35,150 Felly INSERT I bwrdd, ac yna y gwerthoedd, 914 00:44:35,150 --> 00:44:39,080 ac yna mewn cromfachau, rydym yn nodi sy'n gwerthfawrogi yr hoffech ei fewnosod. 915 00:44:39,080 --> 00:44:43,220 Felly INSERT I bwrdd, col1 a col2, y gwerth yn val1 a val2. 916 00:44:43,220 --> 00:44:48,930 Felly, mae hyn yn mewnosod y bôn rhes newydd i mewn tabl cynnwys y gwerthoedd 1 a 2 917 00:44:48,930 --> 00:44:50,850 o dan y colofnau 1 a 2. 918 00:44:50,850 --> 00:44:54,760 >> Ac yna rydym yn mynd i fynd dros enghraifft cyflym o sut mae hyn yn edrych yn 919 00:44:54,760 --> 00:44:56,310 fel yn ein cronfa ddata ychydig. 920 00:44:56,310 --> 00:44:58,685 Ond mae ymholiad olaf hwn yr wyf credu ein bod ni'n mynd i fynd dros, 921 00:44:58,685 --> 00:45:01,450 SELECT, 'i jyst yn ein galluogi i ddewis data o dabl 922 00:45:01,450 --> 00:45:03,080 o bosibl ei ddefnyddio wedyn. 923 00:45:03,080 --> 00:45:05,830 A'r ffordd yr ydym yn gwneud hyn yw ein dim ond ei storio mewn rhyw newidyn. 924 00:45:05,830 --> 00:45:07,780 Ac yna gallwn o bosibl ei ddefnyddio eto. 925 00:45:07,780 --> 00:45:10,260 >> Felly seren SELECT yn golygu dewis pob. 926 00:45:10,260 --> 00:45:13,280 Dyna dim ond yn llaw-fer ar gyfer dewis bawb. 927 00:45:13,280 --> 00:45:19,760 O dabl BLE, yr ydym yn edrych ar gyfer rhai cyflyrau penodol, 928 00:45:19,760 --> 00:45:22,290 felly lle mae colofn yn dychwelyd rhywbeth, er enghraifft. 929 00:45:22,290 --> 00:45:24,410 Os ydym yn unig yn awyddus i dewis pob o dabl, 930 00:45:24,410 --> 00:45:28,400 mae hyn yn unig yn dewis yr holl golofnau a phob rhesi o dabl. 931 00:45:28,400 --> 00:45:32,040 >> Ac yna DILEU GAN bwrdd LLE col hafal rhywbeth, 932 00:45:32,040 --> 00:45:36,440 mae hyn yn unig yn dileu rhai rhes oddi wrth ein bwrdd 933 00:45:36,440 --> 00:45:38,860 lle mae gennym rai amodau penodol. 934 00:45:38,860 --> 00:45:41,870 Yn yr achos hwn, mae'r amodau yn golofn yn dychwelyd rhywbeth. 935 00:45:41,870 --> 00:45:43,460 Felly, dim ond yn enghraifft gyflym o hyn. 936 00:45:43,460 --> 00:45:49,100 Os oes gennym y tabl hwn yn iawn yma ac rydym yn mewnosod i mewn tabl, gwerthoedd hyn, 937 00:45:49,100 --> 00:45:50,400 a fyddai'n mewnosod rhes newydd. 938 00:45:50,400 --> 00:45:56,380 Ac os oedd gennym auto-cynyddiad, byddai hyn dim ond cynyddiad ein ID 0-1 to 2. 939 00:45:56,380 --> 00:46:00,010 >> Os byddwn yn dewis i gyd gan fyfyrwyr, mae'n dim ond yn dychwelyd yr holl feysydd a phob rhesi. 940 00:46:00,010 --> 00:46:02,430 Lle flwyddyn yn fwy na neu'n hafal i 2016, 941 00:46:02,430 --> 00:46:04,390 Byddai hynny yn unig yn dychwelyd Hannah a minnau. 942 00:46:04,390 --> 00:46:08,360 Ac yna os ydym yn unig a ddewiswyd id flwyddyn a blwyddyn GAN myfyrwyr 943 00:46:08,360 --> 00:46:11,710 lle mae'r tŷ yn Cabot House, bod Byddai, unwaith eto, yn dychwelyd Hannah a minnau. 944 00:46:11,710 --> 00:46:14,430 >> Yna, os ydym yn dileu gan fyfyrwyr lle mae enw yn hafal i Rob, 945 00:46:14,430 --> 00:46:16,760 a fyddai'n dileu y rhes gyfan. 946 00:46:16,760 --> 00:46:19,696 Ac yna os ydym yn gosod y enw, myfyrwyr DIWEDDARIAD 947 00:46:19,696 --> 00:46:21,570 Enw SET yn dychwelyd i Daven LLE tŷ yn hafal 948 00:46:21,570 --> 00:46:27,010 Cabot House, mae hynny'n mynd i fynd i rhesi hynny ac yna diweddaru'r enw. 949 00:46:27,010 --> 00:46:31,470 >> Ac yna ychydig o fathau o ddata SQL yn CHAR, VARCHAR, INT, a float. 950 00:46:31,470 --> 00:46:32,760 Mae'r rhain yn cael eu gêm deg. 951 00:46:32,760 --> 00:46:36,740 Byddwn yn mynd ar ôl tro a gwnewch yn siŵr eich bod yn gwybod 952 00:46:36,740 --> 00:46:40,930 ac yn eu cael ar eich taflen twyllo, ystyr pob un o'r cymeriadau hynny 953 00:46:40,930 --> 00:46:44,140 wedi cael eu defnyddio ar gyfer, beth ydych yn eu defnyddio ar eich psets, 954 00:46:44,140 --> 00:46:48,050 a gwnewch yn siŵr eich bod yn gyfarwydd a gyfforddus â gorfod dewis 955 00:46:48,050 --> 00:46:51,450 o wahanol fathau o ddata yn eich pset. 956 00:46:51,450 --> 00:46:51,950 Ydw. 957 00:46:51,950 --> 00:46:54,300 >> GYNULLEIDFA: Beth oedd y tabl hwnnw ei storio? 958 00:46:54,300 --> 00:46:57,119 Yeah, lle mae tabl hwn ei storio? 959 00:46:57,119 --> 00:46:59,160 MARIA ZLATKOVA: Wel, ar hyn o bryd, nid yw'n cael ei storio. 960 00:46:59,160 --> 00:47:00,700 Beth bynnag, lle mae tabl hwn ei storio? 961 00:47:00,700 --> 00:47:04,503 Ond gellir ei storio mewn cronfa ddata SQL. 962 00:47:04,503 --> 00:47:07,330 >> GYNULLEIDFA: A ble mae'r gronfa ddata SQL? 963 00:47:07,330 --> 00:47:11,200 Yn y cyfrifiadur, ar-lein rhywle, y gweinydd? 964 00:47:11,200 --> 00:47:15,000 >> MARIA ZLATKOVA: Gall fod yn nifer o bethau gwahanol. 965 00:47:15,000 --> 00:47:19,690 >> HANNAH Blumberg: Rydym wedi rhyngwynebu â Tablau SQL yn bennaf â phpMyAdmin. 966 00:47:19,690 --> 00:47:22,060 Felly, gallem ofyn gweinydd i'w storio ar ein cyfer. 967 00:47:22,060 --> 00:47:23,830 Gallem yn eu storio ar ein cyfrifiadur eich hun. 968 00:47:23,830 --> 00:47:27,950 >> MARIA ZLATKOVA: 'I jyst yn dibynnu ar sut yr ydych am ei wneud i chi eich hun. 969 00:47:27,950 --> 00:47:30,075 Ond rydym wedi bod yn storio iddynt, fel y crybwyllwyd Hannah, 970 00:47:30,075 --> 00:47:31,755 ar phpMyAdmin, sydd yn ar-lein. 971 00:47:31,755 --> 00:47:36,550 972 00:47:36,550 --> 00:47:39,280 Ac yna y ffordd yr ydym yn defnyddio PHP a SQL, rydym yn ei storio 973 00:47:39,280 --> 00:47:43,450 i mewn i rai newidyn yr hyn yr ydym wedi holi amdano. 974 00:47:43,450 --> 00:47:48,370 >> Felly, os ydym SELECT gyd O hanes lle user_id hafal i id SESIWN, 975 00:47:48,370 --> 00:47:53,900 Byddai bod yn dewis yr holl rhesi ar gyfer y person penodol sydd 976 00:47:53,900 --> 00:47:58,327 wedi mewngofnodi oddi hanes bwrdd a didoli i mewn rhesi. 977 00:47:58,327 --> 00:48:00,410 Peth cŵl i wybod yw swyddogaeth honno ymholiad CS50 yn 978 00:48:00,410 --> 00:48:02,180 amddiffyn yn erbyn tagiau pigiad SQL. 979 00:48:02,180 --> 00:48:07,420 Mai dim ond yn golygu ei fod yn gwneud yn siwr mewnbwn sy'n cael ei gofnodi yn gywir 980 00:48:07,420 --> 00:48:09,920 a bod y person sy'n yn mynd i mewn i'r mewnbwn 981 00:48:09,920 --> 00:48:15,100 Nid yn ceisio mewnbwn rhai maleisus cod naill ai i ollwng ein tablau 982 00:48:15,100 --> 00:48:17,305 neu ddileu popeth tu mewn ein cronfa ddata. 983 00:48:17,305 --> 00:48:20,060 984 00:48:20,060 --> 00:48:23,400 >> Mae trosolwg cyflym o'r Model Model View Rheolwr, 985 00:48:23,400 --> 00:48:27,360 'i' jyst yn ffordd o drefnu a meddwl am cod. 986 00:48:27,360 --> 00:48:29,100 Mae'n eto, patrwm dylunio. 987 00:48:29,100 --> 00:48:33,380 Yr hyn mae hynny'n ei olygu yw ein bod yn can-- ac mae'n arfer da 988 00:48:33,380 --> 00:48:37,790 i wahanu gwahanol rannau o'n cod a'r hyn y maent 989 00:48:37,790 --> 00:48:40,530 rheoli i mewn y tri patrymau. 990 00:48:40,530 --> 00:48:46,700 >> Felly mae ein barn ni yn fwyaf aml ein templedi, mae ein cynllun, y ffordd 991 00:48:46,700 --> 00:48:48,260 ein bod yn gosod sut y mae ein cod yn edrych. 992 00:48:48,260 --> 00:48:55,190 Mae hynny'n bennaf ein ffeiliau CSS a'r ffordd ein bod yn diffinio dyluniad ein cod, 993 00:48:55,190 --> 00:48:55,710 yn y bôn. 994 00:48:55,710 --> 00:48:59,280 Mae ein rheolwr yn bennaf yr hyn rydym wedi bod yn ei wneud gyda ffeiliau PHP. 995 00:48:59,280 --> 00:49:03,030 Felly unwaith eto, gan weithio gyda'r wybodaeth sydd gennym 996 00:49:03,030 --> 00:49:06,700 a diffinio sut y mae hynny'n gwybodaeth yn cael ei ddefnyddio, 997 00:49:06,700 --> 00:49:10,660 ac yna basio y wybodaeth naill ai ar yr olygfa neu'r model. 998 00:49:10,660 --> 00:49:13,880 Ac y model, y ffordd yr ydym i wedi bod yn defnyddio yw wedi bod yn ein cronfa ddata, 999 00:49:13,880 --> 00:49:17,510 felly lle mae ein gwybodaeth yn storio felly mae wedi rhywle 1000 00:49:17,510 --> 00:49:21,490 i fyw mewn, ac unrhyw rai o'r cod sy'n ymwneud â'r ffordd 1001 00:49:21,490 --> 00:49:25,410 ein bod yn cael y wybodaeth honno neu'r ffordd yr ydym yn diweddaru'r wybodaeth honno. 1002 00:49:25,410 --> 00:49:28,940 1003 00:49:28,940 --> 00:49:33,200 >> Felly, yn y model MVC, HTTP ceisiadau yn cael eu hanfon at weinydd y we. 1004 00:49:33,200 --> 00:49:36,220 Yna, mae'r dehongli rheolwr y cais gan y defnyddiwr 1005 00:49:36,220 --> 00:49:38,260 ac yna dilysu'r mewnbwn defnyddwyr. 1006 00:49:38,260 --> 00:49:41,580 Mae'n ddewisol bod gennym y rheolwr cyfathrebu 1007 00:49:41,580 --> 00:49:44,000 gyda model, felly rywbeth fel ein cronfa ddata 1008 00:49:44,000 --> 00:49:47,500 neu ryw swyddogaethau eraill hynny cyfleu gwybodaeth. 1009 00:49:47,500 --> 00:49:50,340 Ac yna yn olaf, y rheolwr yn pasio gwybodaeth ymlaen i'r olygfa 1010 00:49:50,340 --> 00:49:52,090 fel y gall fod yn rendro ac yn ei allu 1011 00:49:52,090 --> 00:49:55,860 yn dod yn weladwy i unrhyw berson mynediad at y dudalen we. 1012 00:49:55,860 --> 00:49:58,440 1013 00:49:58,440 --> 00:50:01,340 >> Unrhyw gwestiynau? 1014 00:50:01,340 --> 00:50:01,840 Awesome. 1015 00:50:01,840 --> 00:50:04,530 1016 00:50:04,530 --> 00:50:08,469 Felly eto, y model, ei swyddogaeth, unwaith eto, 1017 00:50:08,469 --> 00:50:11,260 yn storio parhaus o wybodaeth, rheoli a threfnu data. 1018 00:50:11,260 --> 00:50:13,890 A hyn yr ydym wedi ei weld hyd yn yn hyn yw'r gronfa ddata MySQL 1019 00:50:13,890 --> 00:50:16,200 ac unrhyw ffeiliau data a allai eu defnyddio. 1020 00:50:16,200 --> 00:50:20,580 >> View, cyflwyno gwybodaeth i y defnyddiwr, y UI, neu rhyngwyneb defnyddiwr. 1021 00:50:20,580 --> 00:50:22,350 Ac yr enghraifft o hyn yw HTML. 1022 00:50:22,350 --> 00:50:23,950 Ac yna gallai fod yn rhaid fach iawn PHP. 1023 00:50:23,950 --> 00:50:28,360 Felly mae am ddolen bod ailadrodd dros ddata sy'n cael eu hargraffu 1024 00:50:28,360 --> 00:50:30,720 yn rhan o'r olygfa, fel y gwrthwynebu i'r rheolwr. 1025 00:50:30,720 --> 00:50:35,660 Ac yna llawer o'n ffeiliau PHP dod o fewn y categori rheolwr. 1026 00:50:35,660 --> 00:50:38,410 'I jyst yn ymdrin â cheisiadau defnyddwyr a yn cael gwybodaeth oddi wrth y model. 1027 00:50:38,410 --> 00:50:42,880 1028 00:50:42,880 --> 00:50:45,590 >> Neidio i mewn i'r Ddogfen Model Gwrthrych, mae hyn yn unig 1029 00:50:45,590 --> 00:50:47,700 cyfeirio at y ffordd HTML dogfennau yn cael eu trefnu. 1030 00:50:47,700 --> 00:50:51,600 Ac maen nhw'n eu trefnu i mewn i goeden strwythur sydd â hierarchaeth. 1031 00:50:51,600 --> 00:50:56,720 Felly, os ydym yn cael mynediad i [Anghlywadwy] cynrychiolaeth o'r ddogfen, 1032 00:50:56,720 --> 00:51:02,750 gallwn weithio gyda'r ddogfen, fel rydym yn trin gwrthrychau yn y bôn. 1033 00:51:02,750 --> 00:51:06,630 >> Ac i wneud hyn ychydig bach yn gliriach, pan 1034 00:51:06,630 --> 00:51:10,540 mae gennym lawer o'n gwahanol tagiau ymateb 1035 00:51:10,540 --> 00:51:12,590 i wahanol lwybrau yn ein coeden. 1036 00:51:12,590 --> 00:51:17,070 Ac yna ar gyfer yr enghraifft hon, rydym yn yn cael y nôd ddogfen cychwyn. 1037 00:51:17,070 --> 00:51:20,010 Mae gennym, felly, ein nod HTML hynny rhannu'n pen a chorff. 1038 00:51:20,010 --> 00:51:22,810 Mae gan Pennaeth teitl ac yna teitl yn cynnwys helo, byd. 1039 00:51:22,810 --> 00:51:24,860 Ac mae ein corff yn unig yn cynnwys helo, byd yn ogystal. 1040 00:51:24,860 --> 00:51:28,700 1041 00:51:28,700 --> 00:51:31,900 >> Felly unrhyw gwestiynau ar unrhyw un o'r pethau yr ydym sylw hyd yma? 1042 00:51:31,900 --> 00:51:35,891 Ac os nad yw, bydd Hannah cymryd drosodd gyda JavaScript. 1043 00:51:35,891 --> 00:51:36,390 Awesome. 1044 00:51:36,390 --> 00:51:37,473 >> HANNAH Blumberg: OK, oer. 1045 00:51:37,473 --> 00:51:40,980 Os bydd unrhyw beth yn dod i fyny gyda PHP neu HTML, neu unrhyw un o'r pethau Maria a gwmpesir, 1046 00:51:40,980 --> 00:51:42,700 gallwn bob amser yn oedi. 1047 00:51:42,700 --> 00:51:46,430 Rydym yn gwneud yn well ar ar ôl tro, felly awesome. 1048 00:51:46,430 --> 00:51:48,770 A dim ond i fynd yn ôl yn gyflym iawn i hyn, 1049 00:51:48,770 --> 00:51:51,010 os edrychwch ar bob arholiad flwyddyn ddiwethaf, mae hyn 1050 00:51:51,010 --> 00:51:54,120 dod i fyny either-- yma yw rhai HTML, yn gwneud diagram hwn. 1051 00:51:54,120 --> 00:51:58,380 Neu dyma diagram hwn, yn gwneud rhai HTML, felly yn bendant ymarfer hynny. 1052 00:51:58,380 --> 00:52:01,500 Ac yna dyna un Gwarantedig gwestiwn y gallwch ei gael yn iawn. 1053 00:52:01,500 --> 00:52:02,000 Cwl. 1054 00:52:02,000 --> 00:52:04,510 Felly, gadewch i ni siarad am JavaScript a sut y mae'n ychydig 1055 00:52:04,510 --> 00:52:09,130 yn wahanol i ieithoedd fel PHP a C, y ddwy iaith a welsom ymlaen llaw. 1056 00:52:09,130 --> 00:52:10,780 Felly rhif un, mae wedi teipio llac. 1057 00:52:10,780 --> 00:52:14,630 Mae hynny fel PHP, ond yn wahanol i C. 1058 00:52:14,630 --> 00:52:15,890 >> Mae'n iaith dehongli. 1059 00:52:15,890 --> 00:52:19,870 Unwaith eto, mae hynny'n debyg PHP, yn wahanol i C. A hyn 1060 00:52:19,870 --> 00:52:24,630 yn mynd i'n galluogi i use-- ei yn gweithio 'n sylweddol' n glws gyda tudalennau gwe. 1061 00:52:24,630 --> 00:52:28,350 Mae'n mynd i ganiatáu i ni i drin cynnwys a sut y mae'n edrych 1062 00:52:28,350 --> 00:52:30,300 a'r hyn y mae'n ei wneud. 1063 00:52:30,300 --> 00:52:32,330 >> Rydym yn mynd i weld ychydig o Ajax. 1064 00:52:32,330 --> 00:52:36,140 Mae'n caniatáu i ni gyfathrebu asynchronously gyda gwahanol gweinyddwyr 1065 00:52:36,140 --> 00:52:37,950 a chael gwybodaeth. 1066 00:52:37,950 --> 00:52:42,820 Ac mae hyn yn beth sydd wir yn gwahanu oddi wrth JavaScript PHP a C 1067 00:52:42,820 --> 00:52:45,590 yw ei bod yn ar ochr cleientiaid. 1068 00:52:45,590 --> 00:52:49,860 Mae PHP a C yn fel arfer ochr y gweinydd. 1069 00:52:49,860 --> 00:52:51,960 >> Ar gyfer y rhan fwyaf a bron yn gyfan gwbl beth 1070 00:52:51,960 --> 00:52:53,900 rydym wedi gweld, o leiaf yn y dosbarth hwn, JavaScript 1071 00:52:53,900 --> 00:52:57,040 yn gweithredu ar ochr cleientiaid, sy'n golygu bod y porwr mewn gwirionedd 1072 00:52:57,040 --> 00:52:58,597 yn gyfrifol am redeg. 1073 00:52:58,597 --> 00:53:01,180 Ac mae hynny'n golygu nad ydym yn ei wneud Mae angen i ryngweithio gyda'r gweinydd. 1074 00:53:01,180 --> 00:53:04,380 Felly mae'n golygu y gall fod yn llawer cyflymach oherwydd ei fod mewn gwirionedd dim ond ei fod yn Chrome, 1075 00:53:04,380 --> 00:53:10,420 'i' Safari, 'i' Firefox, beth bynnag yr ydych defnyddiwch gwirionedd yn rhedeg eich JavaScript. 1076 00:53:10,420 --> 00:53:12,290 >> GYNULLEIDFA: Beth mae asynchronous yn ei olygu? 1077 00:53:12,290 --> 00:53:13,620 >> HANNAH Blumberg: Ah, beth yn golygu asynchronously? 1078 00:53:13,620 --> 00:53:14,250 Cwestiwn mawr. 1079 00:53:14,250 --> 00:53:17,890 Asynchronously yw-- yn dda, y cynnwys lle 1080 00:53:17,890 --> 00:53:22,140 rydym yn ei ddefnyddio y mae, OK, yr ydym yn creu tudalen ar y we 1081 00:53:22,140 --> 00:53:23,860 ac mae angen inni gael rhywfaint o wybodaeth. 1082 00:53:23,860 --> 00:53:28,250 Felly, gyda yr enghraifft o mashup, rhywfaint o wybodaeth y gallem ei eisiau 1083 00:53:28,250 --> 00:53:30,580 yw teitlau erthygl. 1084 00:53:30,580 --> 00:53:33,330 Nawr, rydym could-- un opsiwn yw i wneud hynny synchronously 1085 00:53:33,330 --> 00:53:37,940 ac mae hynny'n golygu gadewch i stopio, ewch cael yr erthygl, 1086 00:53:37,940 --> 00:53:41,275 cael yr erthygl cefn, ac yna rendro, ond byddai hynny'n wir yn araf. 1087 00:53:41,275 --> 00:53:44,150 Byddai hynny'n profiad y defnyddiwr gwael oherwydd byddai fyddwch chi ond yn eistedd 1088 00:53:44,150 --> 00:53:46,630 yno yn aros am rywbeth i ymateb. 1089 00:53:46,630 --> 00:53:50,020 >> Asynchronously golygu ein fe parhau i fynd am ein busnes, 1090 00:53:50,020 --> 00:53:52,529 gan wneud y dudalen, ac byddwn yn anfon oddi ar gais 1091 00:53:52,529 --> 00:53:54,570 math o hynny'n mynd i yn digwydd yn y cefndir. 1092 00:53:54,570 --> 00:53:57,610 Rwy'n credu ein bod yn defnyddio'r enghraifft mewn Darlith o alw Rob a dweud, 1093 00:53:57,610 --> 00:53:59,980 hey, gallwch edrych hyn i fyny i mi a dod yn ôl i mi, 1094 00:53:59,980 --> 00:54:02,870 yn hytrach na dim ond fi aros ar y ffôn. 1095 00:54:02,870 --> 00:54:07,020 Felly asynchronously golygu ei fod yn digwydd yn y cefndir i ffwrdd oddi wrthym 1096 00:54:07,020 --> 00:54:08,676 ochr yn ochr. 1097 00:54:08,676 --> 00:54:10,400 >> Cwestiwn mawr. 1098 00:54:10,400 --> 00:54:11,830 Unrhyw beth arall? 1099 00:54:11,830 --> 00:54:12,330 Great. 1100 00:54:12,330 --> 00:54:15,020 Byddwn yn neidio llawer mwy i mewn ceisiadau asynchronous gyda Ajax. 1101 00:54:15,020 --> 00:54:18,287 >> GYNULLEIDFA: A yw JavaScript-- lle mae yn disgyn gyda model-weld-reolydd? 1102 00:54:18,287 --> 00:54:19,620 HANNAH Blumberg: Cwestiwn Fawr. 1103 00:54:19,620 --> 00:54:23,320 Ble mae JavaScript disgyn gyda model-weld-reolydd? 1104 00:54:23,320 --> 00:54:23,930 Hm. 1105 00:54:23,930 --> 00:54:28,350 Amcana gall fall-- felly nid ydym yn ei wneud fel arfer 1106 00:54:28,350 --> 00:54:31,340 hoffi squish ag ef i'r patrwm, ond mae'n debyg byddwn yn dweud, 1107 00:54:31,340 --> 00:54:34,280 Iawn, felly JavaScript mewn gwirionedd yn mynd i ganiatáu 1108 00:54:34,280 --> 00:54:37,587 ni i gasglu data, dehongli data, mewn gwirionedd yn ei wneud 1109 00:54:37,587 --> 00:54:38,920 pethau ystyrlon gyda data. 1110 00:54:38,920 --> 00:54:41,100 Yn y ffordd honno, mae'n iawn o reolaeth-debyg. 1111 00:54:41,100 --> 00:54:43,900 >> Ond mae hefyd yn mynd i'n galluogi i arddangos pethau ac argraffu pethau. 1112 00:54:43,900 --> 00:54:47,021 Yn y ffordd honno, mae'n iawn olygfa-debyg. 1113 00:54:47,021 --> 00:54:47,520 Yeah. 1114 00:54:47,520 --> 00:54:51,710 Felly mae'n fath o fel PHP yn lle y gall fod yn fath o ddau. 1115 00:54:51,710 --> 00:54:53,330 Cwestiwn da. 1116 00:54:53,330 --> 00:54:55,209 Unrhyw beth arall? 1117 00:54:55,209 --> 00:54:56,000 Mae pob hawl, awesome. 1118 00:54:56,000 --> 00:54:57,120 Symud i'r dde ar hyd. 1119 00:54:57,120 --> 00:54:59,110 >> Felly, gadewch i ni weld enghraifft o sut y gallwn ddefnyddio 1120 00:54:59,110 --> 00:55:02,250 JavaScript yn un o'n rhaglenni ar y we. 1121 00:55:02,250 --> 00:55:05,680 Felly byddaf yn ystyried hyn index.html gyda criw o HTML. 1122 00:55:05,680 --> 00:55:08,800 A'r peth rwyf am i chi canolbwyntio ar a yw hyn yn tag script. 1123 00:55:08,800 --> 00:55:13,280 Ac mae hyn yn dweud, OK, yr wyf eisiau rhedeg rhai JavaScript a dyma lle mae'n byw. 1124 00:55:13,280 --> 00:55:15,400 Mae'n byw yn hello.js. 1125 00:55:15,400 --> 00:55:21,120 >> Ac yn debyg iawn CSS, gallem rhoi JavaScript fewn y HTML. 1126 00:55:21,120 --> 00:55:24,000 Pam y gallai rydym am i wahanu 'ii maes? 1127 00:55:24,000 --> 00:55:24,500 Yeah. 1128 00:55:24,500 --> 00:55:25,486 >> GYNULLEIDFA: Haws i ailysgrifennu? 1129 00:55:25,486 --> 00:55:26,402 >> HANNAH Blumberg: Yeah. 1130 00:55:26,402 --> 00:55:28,450 Mae'n haws i'w defnyddio ar draws tudalennau gwe gwahanol. 1131 00:55:28,450 --> 00:55:29,980 Mae'n cadw pethau glanach. 1132 00:55:29,980 --> 00:55:32,090 Mae'n arfer da yn unig. 1133 00:55:32,090 --> 00:55:32,590 Awesome. 1134 00:55:32,590 --> 00:55:33,930 Ateb da. 1135 00:55:33,930 --> 00:55:36,690 Felly da, felly mae hyn yn mynd i fod yn ein index.html. 1136 00:55:36,690 --> 00:55:39,430 Ac yna lawr yma yw ein ffeil JavaScript bach bach. 1137 00:55:39,430 --> 00:55:42,410 >> A'r holl mae'n ei ddweud yn effro Helo, byd. 1138 00:55:42,410 --> 00:55:46,040 Felly beth sy'n digwydd yw pan dudalen hon renders-- 1139 00:55:46,040 --> 00:55:49,680 felly os byddwch yn mynd i ba bynnag gwefan mae hyn yw-- cyfan sydd yn mynd i ddigwydd 1140 00:55:49,680 --> 00:55:53,330 a yw'n mynd i ddweud, OK, dwi'n mynd i redeg y cod JavaScript. 1141 00:55:53,330 --> 00:55:56,370 Ac mae hyn cod JavaScript dim ond dweud effro Helo, byd. 1142 00:55:56,370 --> 00:55:59,090 Felly, yr wyf i'n mynd i gael hyn Ychydig pop-up gyfeillgar. 1143 00:55:59,090 --> 00:56:00,360 >> Cwl? 1144 00:56:00,360 --> 00:56:04,746 Dyna fath o fel ein cyntaf JavaScript rhaglen, mae ein Helo, byd. 1145 00:56:04,746 --> 00:56:07,690 1146 00:56:07,690 --> 00:56:12,190 Gadewch i ni edrych ychydig yn fwy am yr hyn y cystrawen JavaScript yn edrych fel. 1147 00:56:12,190 --> 00:56:16,330 Ac yn benodol, gadewch i ni gymharu â C a PHP, yr ydym wedi gweld o'r blaen. 1148 00:56:16,330 --> 00:56:20,610 >> Yn JavaScript, rydym yn mynd i gael var, enw'r newidyn, ac yna 1149 00:56:20,610 --> 00:56:21,690 ei werth gwirioneddol. 1150 00:56:21,690 --> 00:56:26,170 Ac nid ydym yn pennu math, dim ond fel yn PHP, ond yn wahanol iawn yn C. 1151 00:56:26,170 --> 00:56:28,850 Felly er enghraifft, os oeddem am i storio gwerth 50, 1152 00:56:28,850 --> 00:56:32,490 yn C, byddai'n rhaid i ni ddweud, hey, C, yr wyf am yn gyfanrif, 1153 00:56:32,490 --> 00:56:35,076 Rydw i'n mynd i alw i, ac mae ei gwerth yn 50. 1154 00:56:35,076 --> 00:56:36,450 Yn PHP, mae'n ychydig yn haws. 1155 00:56:36,450 --> 00:56:41,880 Rydym yn dweud, hey, yr wyf am newidyn Gelwir ff ac mae ei gwerth yn 50. 1156 00:56:41,880 --> 00:56:45,890 Yn yr un modd iawn, yn JavaScript, rydym yn dweud hey, yr wyf am newidyn enw i, 1157 00:56:45,890 --> 00:56:47,080 ei werth yw 50. 1158 00:56:47,080 --> 00:56:52,140 Bob tro wedi hynny yr wyf yn ei ddefnyddio i, nid oes angen i mi ysgrifennu var. 1159 00:56:52,140 --> 00:56:53,810 Dim ond fi o'r pwynt hwnnw ymlaen. 1160 00:56:53,810 --> 00:56:58,660 Yn yr un modd, yn C, lle unwaith y byddwn yn dweud int i, rydym yn unig yn defnyddio i. 1161 00:56:58,660 --> 00:57:00,340 Cwl? 1162 00:57:00,340 --> 00:57:01,800 Iawn. 1163 00:57:01,800 --> 00:57:03,710 >> Gan symud ymlaen at dolenni, yn ffodus, mae'r rhain bron 1164 00:57:03,710 --> 00:57:06,720 edrych exactly-- Rwy'n credu eu bod yn union yr un fath â'r hyn a 1165 00:57:06,720 --> 00:57:09,799 dolenni yn mynd i edrych fel yn rhywbeth fel C lle mae eich am ddolen 1166 00:57:09,799 --> 00:57:11,840 yn mynd i gael tri parts-- yn initialization, 1167 00:57:11,840 --> 00:57:13,640 cyflwr, a'r wybodaeth ddiweddaraf. 1168 00:57:13,640 --> 00:57:15,340 Mae dolen tra, mae'n edrych yn union un fath. 1169 00:57:15,340 --> 00:57:16,390 Rydym yn unig yn rhoi yn amod. 1170 00:57:16,390 --> 00:57:18,264 >> A do tra dolen, unwaith eto, yn union yr un fath. 1171 00:57:18,264 --> 00:57:20,190 Rydym yn rhoi yn amod. 1172 00:57:20,190 --> 00:57:24,510 Lets 'ddeud fy mod i eisiau ailadrodd over-- Roeddwn i eisiau gwneud rhywbeth bum gwaith. 1173 00:57:24,510 --> 00:57:27,840 Yn C, efallai y byddwn yn ysgrifennu ar gyfer init ff yn dychwelyd 0. 1174 00:57:27,840 --> 00:57:30,480 ff yn llai na 5, fi ++. 1175 00:57:30,480 --> 00:57:34,240 Unig wahaniaeth, yn JavaScript, yn lle dweud int i dychwelyd 0, 1176 00:57:34,240 --> 00:57:36,820 yr ydym yn dweud ff var dychwelyd 0. 1177 00:57:36,820 --> 00:57:38,370 Beautiful. 1178 00:57:38,370 --> 00:57:41,320 Dyna yr unig wahaniaeth. 1179 00:57:41,320 --> 00:57:43,200 Unrhyw gwestiynau am unrhyw un o hynny? 1180 00:57:43,200 --> 00:57:44,160 Ydw. 1181 00:57:44,160 --> 00:57:48,480 >> GYNULLEIDFA: Felly, yn PHP, 'i' yr un fath beth, ac eithrio ond fel newidyn? 1182 00:57:48,480 --> 00:57:49,564 Neu oedd bod yn enghraifft var? 1183 00:57:49,564 --> 00:57:50,480 HANNAH Blumberg: Yeah. 1184 00:57:50,480 --> 00:57:52,310 Felly, yn PHP, mae'n mynd i fod yn arwydd doler. 1185 00:57:52,310 --> 00:57:59,450 Felly, mae'n mynd i $ ff gyfartal 0, $ ff yn llai na 5, $ i ++. 1186 00:57:59,450 --> 00:58:02,490 Cwestiwn mawr. 1187 00:58:02,490 --> 00:58:04,570 >> Nawr, gadewch i ni siarad am datganiadau swyddogaeth. 1188 00:58:04,570 --> 00:58:07,010 Yn C, pan fyddwn yn datgan swyddogaeth, rydym yn rhoddodd enw 1189 00:58:07,010 --> 00:58:08,490 ac rydym yn rhoddes rhai paramedrau. 1190 00:58:08,490 --> 00:58:10,670 Ac ar y dechrau, rydym yn ysgrifennu y math. 1191 00:58:10,670 --> 00:58:12,440 Ym JavaScript, cyfan yr ydym rhaid ei wneud yw ysgrifennu 1192 00:58:12,440 --> 00:58:15,080 y swyddogaeth gair allweddol sy'n yn dweud, hey, JavaScript, 1193 00:58:15,080 --> 00:58:16,570 Rwy'n ar fin i ddiffinio swyddogaeth. 1194 00:58:16,570 --> 00:58:18,520 >> Yn yr achos hwn, mae wedi enw swm. 1195 00:58:18,520 --> 00:58:20,820 Ac mae'n cymryd dwy ddadl, x ac y. 1196 00:58:20,820 --> 00:58:23,280 Sylwch nad ydym yn poeni am y mathau o x ac y. 1197 00:58:23,280 --> 00:58:26,280 Ac yn union fel C, yr ydym wedi dychwelyd gair allweddol hwn, 1198 00:58:26,280 --> 00:58:29,140 fel y gallwn wneud rhywbeth fel dychwelyd x ac y. 1199 00:58:29,140 --> 00:58:32,540 >> Ac yn awr ar ôl i ni wedi ysgrifennu hyn yn gyntaf swyddogaeth, gallwn ddefnyddio swm yn unrhyw le. 1200 00:58:32,540 --> 00:58:34,740 A dyna gwbl iawn. 1201 00:58:34,740 --> 00:58:37,530 Un peth 'n sylweddol oera am JavaScript sydd yn iawn yn wahanol i C 1202 00:58:37,530 --> 00:58:40,770 yw y gall swyddogaethau ei drin fel werthoedd. 1203 00:58:40,770 --> 00:58:43,895 Felly, gallwn wneud rhywbeth fel yma lle Mae'n debyg fy mod yn cwmpasu hyn up-- 1204 00:58:43,895 --> 00:58:46,400 Yr wyf yn gorchuddio swm var Rhan honno-- ac rydym newydd ei ddweud 1205 00:58:46,400 --> 00:58:49,850 xy ffwythiant yn dychwelyd dychwelyd x plws y. 1206 00:58:49,850 --> 00:58:52,140 >> Dyna beth fyddai'n cael ei alw swyddogaeth dienw. 1207 00:58:52,140 --> 00:58:53,920 Mae'n swyddogaeth heb enw. 1208 00:58:53,920 --> 00:58:56,290 Er bod hyn yn dweud swyddogaeth swm, blah, blah, blah, 1209 00:58:56,290 --> 00:58:59,340 byddai hyn dim ond dweud swyddogaeth. 1210 00:58:59,340 --> 00:59:02,020 Ond yn awr hyd yn oed er fy mod wedi swyddogaeth dienw hwn, 1211 00:59:02,020 --> 00:59:03,630 swyddogaeth honno mewn gwirionedd dim ond gwerth. 1212 00:59:03,630 --> 00:59:05,160 Gallwn drin fel gwerth. 1213 00:59:05,160 --> 00:59:10,180 >> Felly gallwn gadw mewn newidyn yr un fath ffordd y gallem storio 50 mewn newidyn. 1214 00:59:10,180 --> 00:59:13,870 Felly, gallwn ddweud, OK, Rwyf am gael amrywiol, fe'i gelwir yn swm, 1215 00:59:13,870 --> 00:59:16,011 ac mae'n swyddogaeth hon. 1216 00:59:16,011 --> 00:59:18,760 Felly y ddau beth mewn gwirionedd mynd i wneud yr un peth yn union, 1217 00:59:18,760 --> 00:59:21,576 ond y gystrawen yn ychydig gwahanol a math o nodyn hwyliog. 1218 00:59:21,576 --> 00:59:22,076 Yeah. 1219 00:59:22,076 --> 00:59:25,548 >> GYNULLEIDFA: Felly gallech alw swyddogaeth a oedd yn ddienw drwy ddweud, 1220 00:59:25,548 --> 00:59:28,244 cromfachau Swm 2, 5? 1221 00:59:28,244 --> 00:59:29,160 HANNAH Blumberg: Yeah. 1222 00:59:29,160 --> 00:59:32,280 Gallwch ffonio hyn dienw swyddogaeth yn yr un modd. 1223 00:59:32,280 --> 00:59:33,350 Y byddech yn gwneud swm (2, 5) ;. 1224 00:59:33,350 --> 00:59:36,180 1225 00:59:36,180 --> 00:59:38,200 Byddai hynny'n gwbl iawn. 1226 00:59:38,200 --> 00:59:41,575 >> Os nad wyf yn gwneud swm var hafal swyddogaeth, os Fi jyst dileu 1227 00:59:41,575 --> 00:59:45,480 this-- Dwi'n gwybod ei fod ar fy llaw, ond esgus wyf yn dileu this-- yna 1228 00:59:45,480 --> 00:59:46,964 swyddogaeth honno yn unig wedi mynd fath o. 1229 00:59:46,964 --> 00:59:49,630 Ni Gallwch ei ddefnyddio eto oherwydd nad oes gennych enw ar ei gyfer. 1230 00:59:49,630 --> 00:59:53,497 Mae'n anodd i gyfeirio at rywbeth nad ydych yn gwybod beth i'w alw. 1231 00:59:53,497 --> 00:59:54,080 Cwestiwn da. 1232 00:59:54,080 --> 00:59:54,580 Yeah. 1233 00:59:54,580 --> 00:59:59,580 >> GYNULLEIDFA: Allwch chi gyfeirio swm lleoedd eraill gyda gwerth o x plws y? 1234 00:59:59,580 --> 01:00:01,940 >> HANNAH Blumberg: Allwch chi Cyfeirnod swm mewn mannau eraill 1235 01:00:01,940 --> 01:00:03,360 â'r gwerth x plws y? 1236 01:00:03,360 --> 01:00:05,130 Dydw i ddim yn hollol siŵr beth ydych yn ei olygu. 1237 01:00:05,130 --> 01:00:10,582 >> GYNULLEIDFA: Felly eich gorffennol lled-dienw swyddogaeth yw swm yn hafal i'r hyn 1238 01:00:10,582 --> 01:00:14,452 swyddogaeth yn ddienw, felly swm yn Erbyn hyn newidyn eich bod can-- 1239 01:00:14,452 --> 01:00:15,410 HANNAH Blumberg: Iawn. 1240 01:00:15,410 --> 01:00:18,980 Felly swm yw'r newidyn, ond mae'n actually-- 1241 01:00:18,980 --> 01:00:23,770 felly swm yn newidyn y mae ei gwerth yn y swyddogaeth. 1242 01:00:23,770 --> 01:00:27,030 Felly mae'n swyddogaeth, sydd yn fath o yn beth rhyfedd i lapio eich pen o gwmpas 1243 01:00:27,030 --> 01:00:29,880 ers i ni wedi bod yn chwarae gyda C ac nad ydych yn gallu gwneud hynny yn C. 1244 01:00:29,880 --> 01:00:32,679 Ond erbyn hyn gallwn alw grynhoi y un ffordd y gallem alw swm yma. 1245 01:00:32,679 --> 01:00:33,220 GYNULLEIDFA: OK. 1246 01:00:33,220 --> 01:00:33,970 HANNAH Blumberg: Yeah. 1247 01:00:33,970 --> 01:00:34,553 Cwestiwn da. 1248 01:00:34,553 --> 01:00:35,438 Yeah. 1249 01:00:35,438 --> 01:00:39,862 >> GYNULLEIDFA: Felly nid ydym yn defnyddio'r prototeipiau yn PHP neu JavaScript? 1250 01:00:39,862 --> 01:00:42,070 HANNAH Blumberg: Na, yr ydym Nid oes angen i ddefnyddio prototeipiau, 1251 01:00:42,070 --> 01:00:43,880 yn enwedig yn JavaScript. 1252 01:00:43,880 --> 01:00:49,380 Felly, un peth arfer gwael fy mod mynd i ddweud na ddylech ei wneud 1253 01:00:49,380 --> 01:00:52,620 yw nid oes rhaid i chi ysgrifennu var i = 50. 1254 01:00:52,620 --> 01:00:54,840 Gallech jyst dechrau gwneud i = 50. 1255 01:00:54,840 --> 01:00:57,490 A byddai dim ond gwneud i newidyn byd-eang. 1256 01:00:57,490 --> 01:01:00,550 >> Mae'n arfer gwael iawn i byth yn dweud ff var ddiamwys, 1257 01:01:00,550 --> 01:01:01,800 ond mae'n rhywbeth y gallwch ei wneud. 1258 01:01:01,800 --> 01:01:03,591 Nid yw'r cyfieithydd yn mynd i gweiddi ar chi. 1259 01:01:03,591 --> 01:01:05,920 JavaScript yn eithaf tebyg, gallwch wneud yr hyn rydych ei eisiau. 1260 01:01:05,920 --> 01:01:09,301 1261 01:01:09,301 --> 01:01:09,800 O, sori. 1262 01:01:09,800 --> 01:01:10,300 Mae dau. 1263 01:01:10,300 --> 01:01:12,150 Yn y pants oren. 1264 01:01:12,150 --> 01:01:13,190 Cer ymlaen. 1265 01:01:13,190 --> 01:01:14,390 >> GYNULLEIDFA: Na, byddwch yn mynd yn gyntaf. 1266 01:01:14,390 --> 01:01:16,765 >> GYNULLEIDFA: Na, yr oeddwn yn dweud Doeddwn i ddim yn cael fy llaw i fyny. 1267 01:01:16,765 --> 01:01:20,248 1268 01:01:20,248 --> 01:01:20,748 IAWN. 1269 01:01:20,748 --> 01:01:26,604 Felly, os ydych yn ffonio hynny tro cyntaf, yn awr grynhoi, 1270 01:01:26,604 --> 01:01:29,864 rydym yn galw ei yr un ffordd, x, y, fel bob tro? 1271 01:01:29,864 --> 01:01:30,780 HANNAH Blumberg: Yeah. 1272 01:01:30,780 --> 01:01:32,572 Felly ddau yma yn y bôn gwneud yr un peth. 1273 01:01:32,572 --> 01:01:35,113 GYNULLEIDFA: A beth yw'r fantais o ddefnyddio'r un neu'r llall? 1274 01:01:35,113 --> 01:01:37,500 HANNAH Blumberg: Dim mantais o ddefnyddio'r un neu'r llall. 1275 01:01:37,500 --> 01:01:40,080 Fi jyst eisiau i ddangos eich dau gwahanol ddarnau o gystrawennau. 1276 01:01:40,080 --> 01:01:42,770 Mae llawer o weithiau lle ddienw swyddogaethau oes gennych bwrpas 1277 01:01:42,770 --> 01:01:48,220 yw os y ddadl i un arall Dylai swyddogaeth fod yn swyddogaeth. 1278 01:01:48,220 --> 01:01:50,600 A byddwn yn gweld bod yn dim ond yn ail gyda Ajax. 1279 01:01:50,600 --> 01:01:53,577 >> Felly os nad oedd yn gwneud unrhyw synnwyr, ei storio yng nghefn eich pen. 1280 01:01:53,577 --> 01:01:55,660 Dyna lle mae ddienw Gallai swyddogaeth fod yn ddefnyddiol 1281 01:01:55,660 --> 01:01:58,284 gan nad yw'n wir yn werth gan roi enw ers i ni yn unig 1282 01:01:58,284 --> 01:01:59,443 mynd i'w ddefnyddio unwaith. 1283 01:01:59,443 --> 01:02:00,370 Yeah. 1284 01:02:00,370 --> 01:02:03,635 >> GYNULLEIDFA: Os yw x ac y newid yn ddiweddarach ymlaen, bydd swm yn newid hefyd? 1285 01:02:03,635 --> 01:02:06,510 HANNAH Blumberg: Os yw x ac y newid nes ymlaen, bydd swm yn newid hefyd? 1286 01:02:06,510 --> 01:02:08,840 Felly, mae hyn mewn gwirionedd yr wyf yn yn meddwl rhywbeth sy'n, 1287 01:02:08,840 --> 01:02:12,260 eto, 'i jyst yn teimlo'n wahanol iawn gan C. Nid yw hon yn werth. 1288 01:02:12,260 --> 01:02:13,620 Nid yw'n 5. 1289 01:02:13,620 --> 01:02:15,550 Dim ond y swyddogaeth ei hun. 1290 01:02:15,550 --> 01:02:19,110 Felly, cyn gynted ag y byddwch yn ei roi paramedrau, yna byddwch mewn gwirionedd yn cyfrifo gwerth. 1291 01:02:19,110 --> 01:02:21,193 >> MARIA ZLATKOVA: Ac yna gallwch ffonio'r swyddogaeth 1292 01:02:21,193 --> 01:02:23,272 ac yn ei ddefnyddio i gael rhywfaint o werth. 1293 01:02:23,272 --> 01:02:24,230 HANNAH Blumberg: Iawn. 1294 01:02:24,230 --> 01:02:25,250 Yn union. 1295 01:02:25,250 --> 01:02:25,863 Yeah. 1296 01:02:25,863 --> 01:02:27,946 >> GYNULLEIDFA: Felly, os ydych yn unig ei storio yn y newidyn, 1297 01:02:27,946 --> 01:02:31,430 fel var x hafal swm o ddau values-- 1298 01:02:31,430 --> 01:02:32,420 >> HANNAH Blumberg: Yeah. 1299 01:02:32,420 --> 01:02:35,320 Felly gallech jyst yn gwneud swm var yn hafal i swm o ddau werth. 1300 01:02:35,320 --> 01:02:37,670 Yeah. 1301 01:02:37,670 --> 01:02:38,680 Unrhyw gwestiynau eraill? 1302 01:02:38,680 --> 01:02:39,642 Yeah. 1303 01:02:39,642 --> 01:02:42,047 >> GYNULLEIDFA: Ond byddai hynny drysu swm a swm? 1304 01:02:42,047 --> 01:02:45,062 Fel os byddwch yn ffonio eich swm amrywiol, byddech yn galw'r swm swyddogaeth? 1305 01:02:45,062 --> 01:02:45,895 HANNAH Blumberg: Mm. 1306 01:02:45,895 --> 01:02:46,395 Mm. 1307 01:02:46,395 --> 01:02:51,253 Os ydych wedi gwneud rhywbeth fel, swm hafal swm 2, 5? 1308 01:02:51,253 --> 01:02:53,170 >> GYNULLEIDFA: Yeah. 1309 01:02:53,170 --> 01:02:56,465 >> HANNAH Blumberg: Credaf fod Byddai ysgrifennu dros y gwerth y swm. 1310 01:02:56,465 --> 01:02:59,290 Mor ddiddorol arall beth am JavaScript 1311 01:02:59,290 --> 01:03:02,950 yw y gall newidyn unigol yn cymryd ar griw o wahanol fathau. 1312 01:03:02,950 --> 01:03:03,790 Arfer gwael. 1313 01:03:03,790 --> 01:03:06,280 Ni ddylech wneud rhywbeth fel yr hyn yr ydych newydd ei ddweud. 1314 01:03:06,280 --> 01:03:10,240 >> Ond yn C, os i ei osod cyfartal i yn gyfanrif, 1315 01:03:10,240 --> 01:03:13,570 rydym yn gwybod ei fod byth yn mynd i fod yn llinyn. 1316 01:03:13,570 --> 01:03:15,670 Nid yw hyn yn wir yn JavaScript. 1317 01:03:15,670 --> 01:03:17,770 Yeah, cwestiwn da. 1318 01:03:17,770 --> 01:03:20,151 Unrhyw beth arall? 1319 01:03:20,151 --> 01:03:20,650 Iawn. 1320 01:03:20,650 --> 01:03:21,850 Gwneud popeth yn iawn ar amser. 1321 01:03:21,850 --> 01:03:23,050 Cadw fynd. 1322 01:03:23,050 --> 01:03:25,200 Iawn. 1323 01:03:25,200 --> 01:03:27,780 >> Os ydym yn edrych ar amrywiaeth yn JavaScript, dyma 1324 01:03:27,780 --> 01:03:30,250 enghraifft cyflym o amrywiaeth o dannau. 1325 01:03:30,250 --> 01:03:31,967 A gall araeau dyfu'n ddeinamig. 1326 01:03:31,967 --> 01:03:33,675 Nid ydynt yn cael maint sefydlog yr un ffordd 1327 01:03:33,675 --> 01:03:37,990 eu bod yn gwneud yn C. Gallwn gael mynediad i'r elfennau gyda dim ond y cromfachau sgwâr. 1328 01:03:37,990 --> 01:03:41,720 >> Sy'n edrych yn llawer fel PHP a llawer fel C, lle y gallwn ddweud, yn yr achos hwn, 1329 01:03:41,720 --> 01:03:48,360 os oeddwn i eisiau gair JavaScript, fyddwn i yn arr cromfachau sgwâr gyda 0, 1, 2. 1330 01:03:48,360 --> 01:03:51,450 1331 01:03:51,450 --> 01:03:55,390 Ac yna os ydych yn cofio yn C pan fyddwn yn awyddus i gael hyd amrywiaeth, 1332 01:03:55,390 --> 01:03:56,820 roedd yn blino. 1333 01:03:56,820 --> 01:03:58,460 Ond yn JavaScript, super hawdd. 1334 01:03:58,460 --> 01:03:59,910 Y cyfan yr ydym yn ei wneud, .length. 1335 01:03:59,910 --> 01:04:01,120 Rhoi iddo y darnau. 1336 01:04:01,120 --> 01:04:01,892 Dyna ni. 1337 01:04:01,892 --> 01:04:03,140 >> GYNULLEIDFA: Mae hynny'n syml. 1338 01:04:03,140 --> 01:04:05,306 >> HANNAH Blumberg: Yeah, yn gwneud eich bywyd yn llawer haws. 1339 01:04:05,306 --> 01:04:08,950 1340 01:04:08,950 --> 01:04:11,560 OK, nid object-- yno. 1341 01:04:11,560 --> 01:04:15,480 Gwrthrychau yn teimlo JavaScript llawer fel structs yn C 1342 01:04:15,480 --> 01:04:18,280 ac araeau cysylltiadol yn PHP. 1343 01:04:18,280 --> 01:04:20,270 Felly, yr hyn yr ydym wedi gweld llawer o yw JSON, a oedd yn 1344 01:04:20,270 --> 01:04:23,150 yn sefyll am JavaScript Nodiant Gwrthrych. 1345 01:04:23,150 --> 01:04:25,550 Ac mae'n bôn yn ffordd o strwythuro ein data. 1346 01:04:25,550 --> 01:04:27,880 >> Felly, gadewch i ni weld enghraifft, Mae'n debyg yr hawsaf. 1347 01:04:27,880 --> 01:04:32,540 Felly dyma enghraifft o gwrthrych sy'n storio y dosbarth, CS50. 1348 01:04:32,540 --> 01:04:37,790 Ac wrth ddweud dosbarth, yr wyf yn golygu wrth gwrs, Nid like-- yeah, y cwrs, CS50. 1349 01:04:37,790 --> 01:04:40,730 A byddwch yn gweld bod popeth yn y gwrthrych 1350 01:04:40,730 --> 01:04:43,526 yn mynd i gael eu cynnwys mewn braces cyrliog. 1351 01:04:43,526 --> 01:04:48,260 >> Ac rydym yn dechrau i gysylltu enwau caeau neu allweddi gyda'r gwerthoedd gwahanol. 1352 01:04:48,260 --> 01:04:52,920 Fel y gallwch ddechrau i weld sut y math hwn o teimlo fel amrywiaeth cysylltiadol yn PHP. 1353 01:04:52,920 --> 01:04:57,450 Felly rydym yn mynd i gysylltu â'r cae neu yr enw allweddol, wrth gwrs, gyda'r llinyn, 1354 01:04:57,450 --> 01:04:58,510 CS50. 1355 01:04:58,510 --> 01:04:59,940 >> Rydym yn mynd i gael hyfforddwr. 1356 01:04:59,940 --> 01:05:00,940 Rydym yn mynd i gael TFS. 1357 01:05:00,940 --> 01:05:05,240 Rydym yn mynd i gael nifer y psets ac rydym yn mynd i fod wedi eu cofnodi. 1358 01:05:05,240 --> 01:05:10,720 Ac un peth oer i'w nodi yw pob un y pethau hyn yn cael gwahanol fathau, 1359 01:05:10,720 --> 01:05:12,020 ac mae hynny'n gwbl iawn. 1360 01:05:12,020 --> 01:05:15,330 >> Mae'n iawn am wrthrych, mewn gwirionedd, Mae'n debyg ei fod yn disgwyl am wrthrych 1361 01:05:15,330 --> 01:05:19,620 i gael cyfuniad o linynnau a rhifau a Booleans a rhesi 1362 01:05:19,620 --> 01:05:23,420 a beth bynnag arall gallech chi am gael y tu mewn i'ch gwrthrych. 1363 01:05:23,420 --> 01:05:28,570 Ac yn nodi bod y rhain yn mynd i fod yr enwau neu allweddi, ac yna rydym yn unig 1364 01:05:28,570 --> 01:05:30,300 ei osod yn gyfartal gydag ychydig o colon. 1365 01:05:30,300 --> 01:05:32,015 >> GYNULLEIDFA: Beth yn union mae JSON yn ei olygu? 1366 01:05:32,015 --> 01:05:33,890 HANNAH Blumberg: Beth yn union y mae JSON yn ei olygu? 1367 01:05:33,890 --> 01:05:36,470 JSON jyst yn sefyll am Nodiant Gwrthrych JavaScript. 1368 01:05:36,470 --> 01:05:38,430 'I' jyst ffordd o fformatio. 1369 01:05:38,430 --> 01:05:40,040 Yeah. 1370 01:05:40,040 --> 01:05:41,800 Mae'n ffordd o fformatio ein data. 1371 01:05:41,800 --> 01:05:43,620 >> Yn C, mae'n structs. 1372 01:05:43,620 --> 01:05:45,800 Yn PHP, mae'n araeau cysylltiadol. 1373 01:05:45,800 --> 01:05:47,120 Yn JavaScript, mae gennym gwrthrychau. 1374 01:05:47,120 --> 01:05:48,969 >> GYNULLEIDFA: Felly CS50 'an gwrthwynebu? 1375 01:05:48,969 --> 01:05:51,010 HANNAH Blumberg: CS50 yn y gwrthrych yn yr achos hwn. 1376 01:05:51,010 --> 01:05:54,830 1377 01:05:54,830 --> 01:05:57,880 Nawr, sut ydyn ni'n mynediad mewn gwirionedd y meysydd hynny na newid y meysydd hynny. 1378 01:05:57,880 --> 01:06:03,920 Er enghraifft, mae'n debyg ein bod penderfynwyd y ydych am gael un yn llai pset semester hwn. 1379 01:06:03,920 --> 01:06:06,300 Yn hytrach na naw, rydym yn jyst yn mynd i gael wyth. 1380 01:06:06,300 --> 01:06:08,240 Sut y byddem yn newid hynny? 1381 01:06:08,240 --> 01:06:09,436 >> O, ffordd anghywir. 1382 01:06:09,436 --> 01:06:11,060 Mae dwy ffordd y gallwn wneud hynny. 1383 01:06:11,060 --> 01:06:13,490 Rhif un yn y dot nodiant a rhif dau 1384 01:06:13,490 --> 01:06:15,750 yw gyda'r nodiant braced sgwâr. 1385 01:06:15,750 --> 01:06:19,720 Felly, er enghraifft, os wyf yn eisiau newid neu fynediad 1386 01:06:19,720 --> 01:06:26,820 maes psets yn ein gwrthrych CS50, beth fyddwn i'n ei wneud yw CS50.psets, 1387 01:06:26,820 --> 01:06:30,770 felly enw'r gwrthrych dot enw'r cae neu'r allweddol. 1388 01:06:30,770 --> 01:06:37,120 >> Yn yr un modd iawn, 'i' yn union sy'n cyfateb i wneud CS50, ac yna 1389 01:06:37,120 --> 01:06:42,050 mewn braces sgwâr, psets. 1390 01:06:42,050 --> 01:06:42,837 Cwl? 1391 01:06:42,837 --> 01:06:44,298 Yeah. 1392 01:06:44,298 --> 01:06:47,707 >> GYNULLEIDFA: Felly a JSON technegol JavaScript dal, 1393 01:06:47,707 --> 01:06:51,814 er bod yn y psets ydym gwahanu 'ii [Anghlywadwy]? 1394 01:06:51,814 --> 01:06:52,730 HANNAH Blumberg: Cadarn. 1395 01:06:52,730 --> 01:06:56,290 Felly, y cwestiwn yw, yn Cyfwerth JavaScript a JSON? 1396 01:06:56,290 --> 01:07:00,750 Felly JSON yn nodiant, yn y bôn y ffordd yr ydym yn ysgrifennu allan 1397 01:07:00,750 --> 01:07:02,700 gwrthrych o JavaScript. 1398 01:07:02,700 --> 01:07:05,190 Felly, nid ydynt yn union yr un fath. 1399 01:07:05,190 --> 01:07:08,950 >> Byddwn yn dweud JavaScript, yno yn cael eu gwrthrychau yn JavaScript. 1400 01:07:08,950 --> 01:07:12,590 JSON yn cymryd gwrthrychau hynny a yn eu printiau ac yn eu harddangos 1401 01:07:12,590 --> 01:07:15,160 neu'n eu storio mewn ffordd braf. 1402 01:07:15,160 --> 01:07:18,110 Felly nid JSON yn rhaglennu iaith y ffordd y mae JavaScript mae. 1403 01:07:18,110 --> 01:07:20,900 Dim ond y nodiant ar gyfer ein hamcanion yn JavaScript. 1404 01:07:20,900 --> 01:07:21,400 Yeah. 1405 01:07:21,400 --> 01:07:24,144 >> GYNULLEIDFA: Felly beth yn union [Anghlywadwy] cwblhau? 1406 01:07:24,144 --> 01:07:25,060 HANNAH Blumberg: Cadarn. 1407 01:07:25,060 --> 01:07:27,727 Felly, mae hyn mewn gwirionedd yn gwneud dim. 1408 01:07:27,727 --> 01:07:28,935 Mae hyn yn unig yn ffordd i gael mynediad. 1409 01:07:28,935 --> 01:07:31,393 Felly, gadewch i ni ddweud ein bod am newid mae nifer y setiau problem 1410 01:07:31,393 --> 01:07:32,450 9-8. 1411 01:07:32,450 --> 01:07:34,383 Yr hyn yr ydym yn ei wneud yw gwneud rhywbeth fel CS50.psets = 8 ;. 1412 01:07:34,383 --> 01:07:38,500 1413 01:07:38,500 --> 01:07:39,400 >> Yeah, cwestiwn mawr. 1414 01:07:39,400 --> 01:07:40,733 Mae hyn yn unig i ddangos i chi cystrawen. 1415 01:07:40,733 --> 01:07:43,620 Nid yw'n mewn gwirionedd yn gwneud unrhyw beth defnyddiol. 1416 01:07:43,620 --> 01:07:46,085 Unrhyw gwestiynau? 1417 01:07:46,085 --> 01:07:48,210 Symud i'r dde ar hyd. 1418 01:07:48,210 --> 01:07:51,960 >> Felly gadewch i ni edrych ar enghraifft cyflym o sut JavaScript yn gweithio oherwydd yr wyf yn dweud wrthych ei fod 1419 01:07:51,960 --> 01:07:55,170 gwneud yr holl bethau hyn ac oer yn ein galluogi i addasu tudalennau gwe. 1420 01:07:55,170 --> 01:07:56,970 Gadewch i ni mewn gwirionedd yn ei weld ar waith. 1421 01:07:56,970 --> 01:07:59,850 Felly, yn cymryd, er enghraifft, mae hyn yn ffeil HTML. 1422 01:07:59,850 --> 01:08:04,350 >> A'r peth yr wyf am i chi ganolbwyntio ar ei tag arbennig hon, sy'n botwm, 1423 01:08:04,350 --> 01:08:06,182 gyda id search_button. 1424 01:08:06,182 --> 01:08:08,670 Dim ond ar y dudalen. 1425 01:08:08,670 --> 01:08:10,690 Felly nawr gadewch i ni weld beth gallwn ei wneud mewn gwirionedd. 1426 01:08:10,690 --> 01:08:12,560 >> Wel, mae'n debyg pan i chi glicio botwm, 1427 01:08:12,560 --> 01:08:16,010 rydym am wneud alert-- cliciwyd y botwm. 1428 01:08:16,010 --> 01:08:17,840 Gadewch i ni weld sut y gallwn wneud hynny. 1429 01:08:17,840 --> 01:08:23,869 Felly window.onload-- nid yw hyn yn rhywbeth eich bod wedi gweld yn y dosbarth, felly 1430 01:08:23,869 --> 01:08:26,180 Ni fydd angen iddynt gwybod ei fod ar gyfer y cwis. 1431 01:08:26,180 --> 01:08:33,660 Ond mae hyn yn dweud y bôn, OK, ffoniwch swyddogaeth hon pan fydd y llwythi ffenestr. 1432 01:08:33,660 --> 01:08:35,080 >> Felly dyna unig fath o cod setup. 1433 01:08:35,080 --> 01:08:36,390 Peidiwch â phoeni gymaint am hynny. 1434 01:08:36,390 --> 01:08:39,170 Yr hyn yr wyf am i chi ganolbwyntio arno yw i mewn yma. 1435 01:08:39,170 --> 01:08:44,020 Rydym yn dweud searchButton var hafal document.getElementByID search_button. 1436 01:08:44,020 --> 01:08:46,450 >> Felly, fel y byddech yn dyfalu, beth mae hyn yn ei wneud yw ei fod yn dweud, 1437 01:08:46,450 --> 01:08:50,920 OK, ewch dod o hyd i'r elfen gyda search_button ID. 1438 01:08:50,920 --> 01:08:52,790 Ac yn awr rydym wedi bod Elfen gwirioneddol ac rwy'n 1439 01:08:52,790 --> 01:08:56,279 mynd i'w storio mewn searchButton amrywiol. 1440 01:08:56,279 --> 01:09:00,651 Ac yn awr y gallwn ni yn ei ddefnyddio elfen honno a'i newid, neu gael mynediad at ei werthoedd, 1441 01:09:00,651 --> 01:09:01,359 pethau fel 'na. 1442 01:09:01,359 --> 01:09:04,649 Gallwn mewn gwirionedd yn dechrau ymgysylltu â'r dudalen we. 1443 01:09:04,649 --> 01:09:10,330 >> Felly dyma yr wyf yn dweud, OK, nawr bod gen i hynny botwm, pan gaiff ei glicio, 1444 01:09:10,330 --> 01:09:12,859 yn galw hyn yn swyddogaeth dienw. 1445 01:09:12,859 --> 01:09:16,811 Felly dyma lle ddienw swyddogaethau yn dod yn ddefnyddiol. 1446 01:09:16,811 --> 01:09:18,060 A beth mae'r swyddogaeth yn ei wneud? 1447 01:09:18,060 --> 01:09:20,529 Wel, 'i jyst yn galw hwn swyddogaeth effro ac mae'n ei ddweud, 1448 01:09:20,529 --> 01:09:22,910 cliciwyd y botwm Chwilio. 1449 01:09:22,910 --> 01:09:29,670 >> Felly, beth fydd yn digwydd os byddaf yn mynd i ble bynnag HTML hwn yn byw ac yr wyf yn clicio ar y botwm, 1450 01:09:29,670 --> 01:09:33,729 'N annhymerus' yn cael rhybudd bach ffansi sy'n dweud eich bod yn clicio ar y botwm. 1451 01:09:33,729 --> 01:09:40,710 Felly mae'r pethau i ganolbwyntio ar Yma-- document.getElementByID 1452 01:09:40,710 --> 01:09:44,960 yn cael HTML penodol elfen gyda'r ID roddir. 1453 01:09:44,960 --> 01:09:48,529 Ac yn awr y gallwn osod yr hyn a ddylai ddigwydd pan 1454 01:09:48,529 --> 01:09:50,702 bod elfen benodol ei glicio. 1455 01:09:50,702 --> 01:09:52,670 >> GYNULLEIDFA: Mae'n rhaid i ni roi hynny i gyd i mewn? 1456 01:09:52,670 --> 01:09:53,162 >> HANNAH Blumberg: Mae'n ddrwg gennyf? 1457 01:09:53,162 --> 01:09:55,130 >> GYNULLEIDFA: Oes rhaid i ni godio yn gorfforol hynny i gyd? 1458 01:09:55,130 --> 01:09:56,340 >> HANNAH Blumberg: A oes gennym i godio yn gorfforol hynny i gyd? 1459 01:09:56,340 --> 01:09:56,839 Ydw. 1460 01:09:56,839 --> 01:09:58,120 Onid yw y math hwn o blino? 1461 01:09:58,120 --> 01:10:00,032 Mae hyn yn llawer o god. 1462 01:10:00,032 --> 01:10:01,574 >> GYNULLEIDFA: Gallech fewnforio rhywbeth. 1463 01:10:01,574 --> 01:10:02,532 HANNAH Blumberg: Iawn. 1464 01:10:02,532 --> 01:10:03,610 Gallem ddefnyddio rhywbeth. 1465 01:10:03,610 --> 01:10:08,140 Ac yn particular-- oh, 'i' yn dweud wrthyf rhaid i mi ddysgu adran. 1466 01:10:08,140 --> 01:10:11,061 Yn arbennig, gadewch i ni defnyddio'r llyfrgell jQuery, 1467 01:10:11,061 --> 01:10:13,060 oherwydd dyna oedd yn wir hir ac yn wir yn blino 1468 01:10:13,060 --> 01:10:16,860 ac yr wyf am fod yn gallu symleiddio ei ac yn ei gwneud yn fyrrach ac yn haws i ysgrifennu. 1469 01:10:16,860 --> 01:10:19,810 >> Felly jQuery yn llyfrgell JavaScript. 1470 01:10:19,810 --> 01:10:24,930 Felly JavaScript yw rhaglennu iaith; jQuery yn llyfrgell. 1471 01:10:24,930 --> 01:10:27,190 Ac mae'n gwneud criw o bethau yn haws. 1472 01:10:27,190 --> 01:10:33,230 Mae'n gwneud newid ac yn mynd ar draws dogfen HTML yn llawer haws. 1473 01:10:33,230 --> 01:10:35,030 >> Mae'n gwneud digwyddiadau trin yn haws. 1474 01:10:35,030 --> 01:10:37,580 Mae'n gwneud animeiddio yn haws ac mae'n gwneud Ajax yn haws. 1475 01:10:37,580 --> 01:10:40,140 Felly gadewch i ni neidio i mewn i ddau o pethau hynny ar hyn o bryd. 1476 01:10:40,140 --> 01:10:40,900 Esgusodwch fi. 1477 01:10:40,900 --> 01:10:42,620 Cyn i ni ei wneud, mae rhai gystrawennau sylfaenol. 1478 01:10:42,620 --> 01:10:46,870 >> Mae hyn yn beth yn galw fwyaf i y llyfrgell jQuery edrych. 1479 01:10:46,870 --> 01:10:50,520 Rydym yn defnyddio doler hwn sign-- unrhyw arwydd gysylltiad i PHP, 1480 01:10:50,520 --> 01:10:56,030 jyst inconvenient-- enw detholydd, dot, ac yna gweithredu. 1481 01:10:56,030 --> 01:10:58,860 Felly, gadewch i ni weld rhai enghreifftiau pendant o hynny. 1482 01:10:58,860 --> 01:11:02,980 >> Felly, mae hyn mewn gwirionedd yr un fath cod o'r sleid digwyddiad. 1483 01:11:02,980 --> 01:11:08,740 Felly, mae hyn, beth hyll hir yn dod yn , y peth hyn yn llawer brafiach llai. 1484 01:11:08,740 --> 01:11:10,370 Felly gadewch i ni geisio i dorri'r hyn i lawr. 1485 01:11:10,370 --> 01:11:17,090 Mae hyn yn dweud, OK, jQuery-- doler hon sign-- jQuery, dod o hyd i mi y ffenestr. 1486 01:11:17,090 --> 01:11:18,480 Felly dyna y dewisydd. 1487 01:11:18,480 --> 01:11:21,800 >> Pan fydd llwythi, ffoniwch swyddogaeth hon. 1488 01:11:21,800 --> 01:11:23,880 Felly dyna popeth y tu mewn. 1489 01:11:23,880 --> 01:11:24,380 IAWN. 1490 01:11:24,380 --> 01:11:25,740 Hyd yn hyn, felly da? 1491 01:11:25,740 --> 01:11:26,750 Iawn. 1492 01:11:26,750 --> 01:11:32,970 >> Yn awr, jQuery, dod o hyd i mi y peth gyda search_button adnabod. 1493 01:11:32,970 --> 01:11:36,090 A'r hyn y mae'n ei glicio, yn galw swyddogaeth hon. 1494 01:11:36,090 --> 01:11:37,900 Ac yna mae hyn swyddogaeth yn yn union yr un fath. 1495 01:11:37,900 --> 01:11:41,052 Dim ond gwneud ychydig o effro, cliciwyd y botwm Chwilio. 1496 01:11:41,052 --> 01:11:42,650 >> Felly mae'n neis iawn. 1497 01:11:42,650 --> 01:11:46,260 Mae wir cyddwyso ac symleiddio ein cod. 1498 01:11:46,260 --> 01:11:49,030 Sut oedd Gwn fod 'i' search_button ID 1499 01:11:49,030 --> 01:11:50,960 ac nid fel search_button dosbarth? 1500 01:11:50,960 --> 01:11:52,024 >> GYNULLEIDFA: hashtag? 1501 01:11:52,024 --> 01:11:52,940 HANNAH Blumberg: Yeah. 1502 01:11:52,940 --> 01:11:56,450 Mae hyn yn symbol hash, 'i' yn union fel CSS. 1503 01:11:56,450 --> 01:12:00,080 Felly cofiwch, gyda CSS, pan fyddwn yn yn awyddus i ddewis rhywbeth gan adnabod, 1504 01:12:00,080 --> 01:12:01,590 defnyddiwyd y arwydd bunt. 1505 01:12:01,590 --> 01:12:05,400 A phan fyddwn yn awyddus i ddewis rhywbeth yn ôl dosbarth, rydym yn defnyddio'r dot. 1506 01:12:05,400 --> 01:12:06,870 Great. 1507 01:12:06,870 --> 01:12:08,230 Gwneud synnwyr? 1508 01:12:08,230 --> 01:12:11,500 Felly jQuery i fod i dim ond gwneud ein bywyd yn haws. 1509 01:12:11,500 --> 01:12:12,000 Yeah. 1510 01:12:12,000 --> 01:12:15,660 >> GYNULLEIDFA: Felly rwy'n ychydig yn ddryslyd fel i sut y swyddogaeth dienw yn gweithio. 1511 01:12:15,660 --> 01:12:19,027 A ydych yn enwi anonymouse hwn swyddogaeth, yn gweithredu? 1512 01:12:19,027 --> 01:12:20,594 Sut mae'n cael ei alw? 1513 01:12:20,594 --> 01:12:21,510 HANNAH Blumberg: Cadarn. 1514 01:12:21,510 --> 01:12:25,812 Felly swyddogaeth yn unig yw gair allweddol sy'n Meddai, rwy'n ar fin i ddiffinio swyddogaeth. 1515 01:12:25,812 --> 01:12:26,520 GYNULLEIDFA: O, OK. 1516 01:12:26,520 --> 01:12:27,353 HANNAH Blumberg: OK? 1517 01:12:27,353 --> 01:12:32,120 Ac yna rydym yn ei drosglwyddo fel dadl canlynol-- gadewch i ni gymryd 1518 01:12:32,120 --> 01:12:37,040 hwn one-- mewnol i'r swyddogaeth cliciwch. 1519 01:12:37,040 --> 01:12:39,420 Felly ie, fel bod swyddogaeth, swyddogaeth dienw hwn, 1520 01:12:39,420 --> 01:12:40,910 yn dod dadl go iawn. 1521 01:12:40,910 --> 01:12:43,632 Felly cofiwch yn JavaScript, rydym yn Gall trin swyddogaethau fel gwerthoedd. 1522 01:12:43,632 --> 01:12:44,340 GYNULLEIDFA: O, OK. 1523 01:12:44,340 --> 01:12:45,256 HANNAH Blumberg: Yeah. 1524 01:12:45,256 --> 01:12:46,035 Rwy'n hoffi bod "oh." 1525 01:12:46,035 --> 01:12:47,490 Nice. 1526 01:12:47,490 --> 01:12:49,915 Cwestiynau eraill? 1527 01:12:49,915 --> 01:12:50,505 Amser? 1528 01:12:50,505 --> 01:12:51,380 MARIA ZLATKOVA: Da. 1529 01:12:51,380 --> 01:12:52,760 Da. 1530 01:12:52,760 --> 01:12:54,210 >> HANNAH Blumberg: Awesome. 1531 01:12:54,210 --> 01:12:55,720 Mae rhai jQuery defnyddiol gyflym. 1532 01:12:55,720 --> 01:12:57,559 Dydw i ddim yn mynd i fynd drwy bob un o'r rhain. 1533 01:12:57,559 --> 01:12:59,350 Bydd y rhain sleidiau yn i fyny ar-lein ychydig bach 1534 01:12:59,350 --> 01:13:02,040 yn ddiweddarach, fel y gallwch wirio allan ychydig yn ddiweddarach. 1535 01:13:02,040 --> 01:13:07,120 Ond yn y bôn, mae'r cyffredinol patrwm yn dal lle rydym yn dweud, 1536 01:13:07,120 --> 01:13:11,510 OK, hey, jQuery, dyma fy dewiswr, ac yna dyma gweithred. 1537 01:13:11,510 --> 01:13:15,940 A gallwch wneud pethau fel mynediad yr gwerth y ffurflen, gael mynediad i rai HTML, 1538 01:13:15,940 --> 01:13:19,195 rheoli beth sy'n digwydd pan fydd y defnyddiwr yn cyflwyno ffurflen, pethau fel 'na. 1539 01:13:19,195 --> 01:13:20,106 Ydw. 1540 01:13:20,106 --> 01:13:22,090 >> GYNULLEIDFA: Felly, yn y arholiad, rydym yn mynd i angen 1541 01:13:22,090 --> 01:13:25,066 i wybod cryn dipyn o y ddogfennaeth jQuery. 1542 01:13:25,066 --> 01:13:31,018 Felly o ystyried ein bod yn copïo / gludwch y jQuery dogfennaeth at ein taflen twyllo, 1543 01:13:31,018 --> 01:13:32,506 ble mae'r llinell a dynnwyd? 1544 01:13:32,506 --> 01:13:33,957 Fel sawl un sydd angen i ni ei wybod? 1545 01:13:33,957 --> 01:13:35,290 HANNAH Blumberg: Cwestiwn Fawr. 1546 01:13:35,290 --> 01:13:37,765 Y cwestiwn yw yn ei hanfod o gofio bod chi 1547 01:13:37,765 --> 01:13:41,330 Ni all gael mynediad at y dogfennau jQuery yn ystod y prawf, faint dylech 1548 01:13:41,330 --> 01:13:41,830 gwybod? 1549 01:13:41,830 --> 01:13:45,540 Ni fyddem yn disgwyl i chi ddod i fyny gyda rhywfaint o swyddogaeth hap 1550 01:13:45,540 --> 01:13:47,240 y byddem yn disgwyl i chi Google. 1551 01:13:47,240 --> 01:13:52,930 >> Pethau sy'n cael eu gêm deg yw Hoffwn dweud yn union fath o gystrawen gyffredinol, 1552 01:13:52,930 --> 01:13:58,310 yn gallu dewis drwy adnabod a drwy class-- felly yn union fel CSS. 1553 01:13:58,310 --> 01:14:01,876 Ac yna y swyddogaethau gwirioneddol hun, byddwn yn debygol o yn dweud wrthych. 1554 01:14:01,876 --> 01:14:02,376 Yeah. 1555 01:14:02,376 --> 01:14:05,591 >> GYNULLEIDFA: Felly pan fyddwch yn dewis yn ôl dosbarth yn golygu dot. 1556 01:14:05,591 --> 01:14:06,840 HANNAH Blumberg: Ie, yn union. 1557 01:14:06,840 --> 01:14:07,340 Da. 1558 01:14:07,340 --> 01:14:10,461 Pan fyddwch yn dewis yn ôl dosbarth, mae'n mynd i gael dot yn lle'r arwydd bunt. 1559 01:14:10,461 --> 01:14:10,960 Ydw. 1560 01:14:10,960 --> 01:14:12,710 >> GYNULLEIDFA: A fyddai'r chi mynd dros y gwahaniaeth 1561 01:14:12,710 --> 01:14:14,310 rhwng ddewis trwy ID a chan y dosbarth? 1562 01:14:14,310 --> 01:14:14,560 >> HANNAH Blumberg: Cadarn. 1563 01:14:14,560 --> 01:14:17,510 Y gwahaniaeth rhwng dewis ID a dewis fesul dosbarth. 1564 01:14:17,510 --> 01:14:20,685 Felly, fel y dywedodd Maria yn ychydig bach yn gynharach, mae 1565 01:14:20,685 --> 01:14:26,280 Gall dim ond un elfen HTML gyda ID roddir, tra bod y dosbarth, 1566 01:14:26,280 --> 01:14:29,740 mae'n ein galluogi i grŵp bagad o elfennau gwahanol at ei gilydd, 1567 01:14:29,740 --> 01:14:34,300 felly phethau sy'n gysylltiedig, ond nid yn union yr un fath. 1568 01:14:34,300 --> 01:14:35,685 A yw hynny'n ateb y cwestiwn? 1569 01:14:35,685 --> 01:14:36,200 Awesome. 1570 01:14:36,200 --> 01:14:37,194 Ydw. 1571 01:14:37,194 --> 01:14:40,680 >> GYNULLEIDFA: Beth os oes gennych lluosog pethau sydd yn yr un dosbarth? 1572 01:14:40,680 --> 01:14:42,150 >> HANNAH Blumberg: Beth sy'n digwydd os oes gennych pethau lluosog sy'n 1573 01:14:42,150 --> 01:14:43,280 yn yr un dosbarth? 1574 01:14:43,280 --> 01:14:45,829 Felly, er enghraifft, os ydym yn dim ond drwy ddefnyddio JavaScript pur, 1575 01:14:45,829 --> 01:14:48,120 byddem yn gwneud rhywbeth fel document.getElementsByClass. 1576 01:14:48,120 --> 01:14:52,280 1577 01:14:52,280 --> 01:14:56,320 Ac yna beth sy'n gwneud mewn gwirionedd yn amrywiaeth o elfennau yn dychwelyd. 1578 01:14:56,320 --> 01:14:59,517 >> Ac mae'n rhaid i chi naill ai ailadrodd drosodd nhw neu ddod o hyd i pa un yr ydych ei eisiau. 1579 01:14:59,517 --> 01:15:01,350 Dyw hi ddim yn mynd i roi chi elfen sengl. 1580 01:15:01,350 --> 01:15:03,450 Mae'n mynd i roi i chi amrywiaeth o elfennau. 1581 01:15:03,450 --> 01:15:05,280 Cwestiwn mawr. 1582 01:15:05,280 --> 01:15:07,700 Unrhyw beth arall? 1583 01:15:07,700 --> 01:15:09,520 Awesome. 1584 01:15:09,520 --> 01:15:12,860 >> Felly, yr wyf yn meddwl os ydych yn gyfarwydd â Gwelodd unrhyw jQuery chi yn y pset, 1585 01:15:12,860 --> 01:15:15,600 dylech fod yn dda i fynd. 1586 01:15:15,600 --> 01:15:16,325 Cwestiwn? 1587 01:15:16,325 --> 01:15:17,610 O, na. 1588 01:15:17,610 --> 01:15:18,859 Mae gen i addysgu mewn gwirionedd. 1589 01:15:18,859 --> 01:15:19,358 Ymlaciwch. 1590 01:15:19,358 --> 01:15:20,035 Bydd yn braf. 1591 01:15:20,035 --> 01:15:20,660 'N annhymerus' yn cyrraedd yno. 1592 01:15:20,660 --> 01:15:24,670 1593 01:15:24,670 --> 01:15:26,870 >> Gadewch i ni siarad am Ajax. 1594 01:15:26,870 --> 01:15:31,350 Felly Ajax yn mynd i fod a-- dda, gadewch i ni ddechrau gyda'r hyn y mae'n ei gynrychioli. 1595 01:15:31,350 --> 01:15:32,350 Mae'n acronym. 1596 01:15:32,350 --> 01:15:35,855 Mae'n sefyll am Asynchronous JavaScript a XML. 1597 01:15:35,855 --> 01:15:39,800 Ac XML yn y bôn yn mynd i fod [Anghlywadwy] gyda math o ein data. 1598 01:15:39,800 --> 01:15:42,100 Ond nid ydym wedi defnyddio XML mewn gwirionedd. 1599 01:15:42,100 --> 01:15:43,430 Yn lle hynny, rydym yn unig yn defnyddio JSON. 1600 01:15:43,430 --> 01:15:48,350 >> Felly y bôn, mae'n rhai data-- asynchronous, JavaScript, a data, 1601 01:15:48,350 --> 01:15:50,040 yn yr achos hwn, JSON. 1602 01:15:50,040 --> 01:15:52,820 Ac mae ein nod, wrth i ni grybwyll ychydig yn gynharach, 1603 01:15:52,820 --> 01:15:56,880 yw bod yn gallu gwneud cais, wedi bod yn ei wneud cais 1604 01:15:56,880 --> 01:16:00,700 ei beth yn y cefndir, ond yn parhau 1605 01:16:00,700 --> 01:16:02,550 wneud beth bynnag yr oeddem yn bwriadu ei wneud. 1606 01:16:02,550 --> 01:16:06,650 Ac yna pan fydd y wybodaeth yn yn barod, yna byddwn yn ei ymgorffori. 1607 01:16:06,650 --> 01:16:08,470 >> Felly, gadewch i ni weld beth mae hyn yn mewn gwirionedd yn edrych fel. 1608 01:16:08,470 --> 01:16:11,210 Ac mae hyn, dylech fod yn ychydig bach cyfarwydd 1609 01:16:11,210 --> 01:16:13,680 o pset8, yr un yr ydych newydd ei droi i mewn. 1610 01:16:13,680 --> 01:16:16,200 Felly dyma jQuery dilys swyddogaeth sy'n gallem 1611 01:16:16,200 --> 01:16:18,250 am wybod about-- hon arwydd doler. 1612 01:16:18,250 --> 01:16:21,500 Felly mae'n dweud swyddogaeth jQuery, .getJson. 1613 01:16:21,500 --> 01:16:25,020 >> A beth swyddogaeth hon yn ei wneud yw ei cymryd URL a rhywfaint o parameters-- 1614 01:16:25,020 --> 01:16:28,000 felly yr wyf yn meddwl yn yr achos o pset8, roedd hi fel, 1615 01:16:28,000 --> 01:16:33,520 yr URL yn articles.php a'r paramedrau oedd mynd = rhywfaint cod post. 1616 01:16:33,520 --> 01:16:41,580 Ac y mae'n ei ddweud, OK, yn gwneud cais i URL hwn â'r paramedrau a roddir. 1617 01:16:41,580 --> 01:16:43,480 Ac mae hynny'n unig fydd yn digwydd. 1618 01:16:43,480 --> 01:16:47,730 >> Pan fydd yn gorffen, mae'n naill ai yn mynd i gwblhau yn llwyddiannus 1619 01:16:47,730 --> 01:16:49,370 neu mae'n mynd i fethu. 1620 01:16:49,370 --> 01:16:53,480 Felly, mae hyn yn cyfateb i alwad Rob a gofyn iddo wneud rhywbeth. 1621 01:16:53,480 --> 01:17:00,260 Ac yna pan mae'n galw yn ôl, ei fod yn naill ai mynd i ddweud fy mod yn ei wneud neu yr wyf yn methu. 1622 01:17:00,260 --> 01:17:04,030 >> Felly, yn yr achos lle rydych yn wneud, yr ydych yn dweud, OK, dwi'n ei wneud. 1623 01:17:04,030 --> 01:17:05,980 Ac yna byddwch yn ffonio y swyddogaeth hon. 1624 01:17:05,980 --> 01:17:08,915 Yn yr achos hwn, mae'n mynd i fod yn swyddogaeth sy'n cymryd rhywfaint o wybodaeth. 1625 01:17:08,915 --> 01:17:12,890 Mae'r un yr ydym fel arfer yn gofalu amdano yw data, y data yr ydym a ddychwelwyd mewn gwirionedd 1626 01:17:12,890 --> 01:17:15,900 o ganlyniad i alw .getJSON. 1627 01:17:15,900 --> 01:17:17,470 >> A allwch chi wneud rhywbeth ag ef. 1628 01:17:17,470 --> 01:17:23,670 Felly, yn achos pset8, rydym yn arddangos fel rhestr. 1629 01:17:23,670 --> 01:17:29,050 Methu yn mynd i fod yn swyddogaeth Gelwir hynny yw os yw'r cais yn methu 1630 01:17:29,050 --> 01:17:30,450 am ba reswm bynnag. 1631 01:17:30,450 --> 01:17:35,104 Ac yn achos pset8, rydym yn unig console.log hynny. 1632 01:17:35,104 --> 01:17:36,020 Unrhyw gwestiynau ar hynny? 1633 01:17:36,020 --> 01:17:36,300 Yeah. 1634 01:17:36,300 --> 01:17:39,633 >> GYNULLEIDFA: Allwn ni jyst arfer theta ffwythiant yn hytrach na swyddogaeth, textStatus, jqHXR. 1635 01:17:39,633 --> 01:17:43,464 1636 01:17:43,464 --> 01:17:44,380 HANNAH Blumberg: Cadarn. 1637 01:17:44,380 --> 01:17:46,713 Felly ie, yr wyf yn meddwl yn y pset, rydym yn unig yn gweld data swyddogaeth. 1638 01:17:46,713 --> 01:17:48,700 Felly dim ond the-- ie, OK. 1639 01:17:48,700 --> 01:17:50,510 Dyna beth a welsom yn y pset. 1640 01:17:50,510 --> 01:17:51,480 Mae hynny'n hollol iawn. 1641 01:17:51,480 --> 01:17:54,210 >> Mae'r rhain yn unig os ydych eisiau i dynnu allan rhagor o wybodaeth, 1642 01:17:54,210 --> 01:17:57,190 mae'r rhain yn y pethau sy'n gallech gael oddi .getJSON. 1643 01:17:57,190 --> 01:17:59,040 Cwestiwn da. 1644 01:17:59,040 --> 01:17:59,706 Unrhyw beth arall? 1645 01:17:59,706 --> 01:18:00,206 Yeah. 1646 01:18:00,206 --> 01:18:01,787 >> GYNULLEIDFA: Felly .getJSON yw Ajax? 1647 01:18:01,787 --> 01:18:02,620 HANNAH Blumberg: OK. 1648 01:18:02,620 --> 01:18:05,700 Felly, dyma'r math o ran anodd. 1649 01:18:05,700 --> 01:18:12,390 Mae'n swyddogaeth jQuery sy'n caniatáu chi wneud galwadau asynchronous. 1650 01:18:12,390 --> 01:18:16,080 A galwadau asynchronous hynny, dyna yr hyn yr ydym wedi bod yn cyfeirio at fel Ajax. 1651 01:18:16,080 --> 01:18:16,850 Yeah. 1652 01:18:16,850 --> 01:18:20,185 Cymerodd Mae hynny'n fy amser hir iawn i tynnu ar wahân pan oeddwn yn fyfyriwr. 1653 01:18:20,185 --> 01:18:21,560 GYNULLEIDFA: Allwch chi ddweud hynny eto? 1654 01:18:21,560 --> 01:18:22,476 HANNAH Blumberg: Yeah. 1655 01:18:22,476 --> 01:18:23,630 A allaf ddweud hynny eto? 1656 01:18:23,630 --> 01:18:29,010 Mae'r swyddogaeth hon yn .getJSON, mae'n swyddogaeth jQuery. 1657 01:18:29,010 --> 01:18:31,970 Ac mae'n mynd i wneud alwad asynchronous. 1658 01:18:31,970 --> 01:18:35,700 A galwadau asynchronous hyn, rydym wedi bod yn cyfeirio at hynny fel Ajax. 1659 01:18:35,700 --> 01:18:39,610 1660 01:18:39,610 --> 01:18:41,872 >> Unrhyw gwestiynau eraill? 1661 01:18:41,872 --> 01:18:43,330 Mae gennym dim ond cwpl o funudau ar ôl. 1662 01:18:43,330 --> 01:18:45,080 A Maria yn mynd i lapio fyny gyda diogelwch 1663 01:18:45,080 --> 01:18:47,464 ac yna rydym yn mynd i'w dim ond am wneud. 1664 01:18:47,464 --> 01:18:48,630 MARIA ZLATKOVA: Awesome, OK. 1665 01:18:48,630 --> 01:18:54,030 Felly, mae hyn yw-- dim ond yn cymryd un neu ddau o eiliadau i edrych dros hyn. 1666 01:18:54,030 --> 01:18:56,750 Ac nid yw hyn yn rhywbeth wirioneddol wych. 1667 01:18:56,750 --> 01:18:59,430 A gall rhywun ddweud wrthyf pam? 1668 01:18:59,430 --> 01:19:05,650 Beth sy'n digwydd yn foo a gall gallai o bosibl yn arwain at rhywbeth drwg, 1669 01:19:05,650 --> 01:19:06,770 a beth sy'n cael ei alw? 1670 01:19:06,770 --> 01:19:07,270 Yeah. 1671 01:19:07,270 --> 01:19:10,391 GYNULLEIDFA: Os bydd y ddadl sy'n basiwyd yn yn fwy na 12 nod, 1672 01:19:10,391 --> 01:19:11,454 gallai orlifo. 1673 01:19:11,454 --> 01:19:12,370 MARIA ZLATKOVA: Iawn. 1674 01:19:12,370 --> 01:19:14,180 Perffaith. 1675 01:19:14,180 --> 01:19:15,384 Beth yw ei enw? 1676 01:19:15,384 --> 01:19:16,300 Yr ydych newydd sôn amdano. 1677 01:19:16,300 --> 01:19:16,840 >> GYNULLEIDFA: Clustogi orlif. 1678 01:19:16,840 --> 01:19:18,381 >> MARIA ZLATKOVA: Yup, byffer gorlifo. 1679 01:19:18,381 --> 01:19:21,230 Felly, mae hyn yn rhywbeth yr ydym cyfeirio ato fel gorlif byffer. 1680 01:19:21,230 --> 01:19:25,500 Ac rydym yn gweld bod tu mewn foo, rydym wedi diffinio'n ein byffer, c, 1681 01:19:25,500 --> 01:19:27,240 gyda maint o 12. 1682 01:19:27,240 --> 01:19:32,680 Fodd bynnag, yn y prif, nid ydym yn ei wneud gwiriwch mewn unrhyw ffordd o gwbl 1683 01:19:32,680 --> 01:19:36,480 a oedd y argv1-- fel bod oedd yr ail ddadl. 1684 01:19:36,480 --> 01:19:39,630 Nid ydym yn gwirio a yw'r maint y mae'n briodol. 1685 01:19:39,630 --> 01:19:43,380 >> Felly, os ydym wedi cael defnyddiwr yn enwedig maleisus 1686 01:19:43,380 --> 01:19:47,170 sy'n rhoi mewn rhyw ddadl a oedd yn mwy na 12, ac yna o bosib 1687 01:19:47,170 --> 01:19:50,850 tu hwnt i ffiniau hynny ddadl, roedd gan rai cod cyflawnadwy 1688 01:19:50,850 --> 01:19:55,570 ei fod yn ceisio gwneud rhywbeth drwg ag ef; yna mae hyn, beth fyddai'n digwydd, 1689 01:19:55,570 --> 01:19:59,310 Byddai gwrthwneud y ffurflen cyfeiriad y swyddogaeth foo, 1690 01:19:59,310 --> 01:20:04,370 gan achosi i'r swyddogaeth â phryd dychwelyd i weithredu y cod. 1691 01:20:04,370 --> 01:20:07,540 Ac yna gallai pethau drwg yn digwydd. 1692 01:20:07,540 --> 01:20:09,850 A yw hyn yn gwneud synnwyr i bawb? 1693 01:20:09,850 --> 01:20:12,424 >> A sut y gallwn amddiffyn yn erbyn hyn? 1694 01:20:12,424 --> 01:20:13,090 Unrhyw awgrymiadau? 1695 01:20:13,090 --> 01:20:16,480 1696 01:20:16,480 --> 01:20:21,890 Yn y bôn, tu mewn o bosibl foo, sut 1697 01:20:21,890 --> 01:20:28,294 gallwn wirio i wneud yn siŵr na all hynny ddigwydd? 1698 01:20:28,294 --> 01:20:33,879 >> GYNULLEIDFA: Os yw maint 12 yn cael ei rhagori, byddech yn dyrannu cof ychwanegol? 1699 01:20:33,879 --> 01:20:37,170 MARIA ZLATKOVA: Awgrym yw, dyrannu cof ychwanegol o faint rhagori. 1700 01:20:37,170 --> 01:20:39,800 A dweud y gwir, gallwn wneud rhywbeth llawer symlach na hynny hefyd. 1701 01:20:39,800 --> 01:20:44,870 Gallwn dim ond cael hyd llinyn y ddadl sy'n cael ei gofnodi, 1702 01:20:44,870 --> 01:20:48,590 gwiriwch os yw hynny'n llai na neu'n hafal i 12-- 1703 01:20:48,590 --> 01:20:50,790 sef yr hyn yr ydym am ei i fod oherwydd nad ydym am 1704 01:20:50,790 --> 01:20:52,373 iddo i ragori ar y ffiniau ein byffer. 1705 01:20:52,373 --> 01:20:55,690 Ac yna, os nad yw'n gwneud hynny, rydym yn gallu gweithio gyda'r ddadl. 1706 01:20:55,690 --> 01:21:00,296 Ac yna os ydyw, yr ydym mewn gwirionedd yn eisiau i yello o bosibl yn y defnyddiwr. 1707 01:21:00,296 --> 01:21:01,670 Ond mae hyn yn sut y byddem yn gwneud hynny. 1708 01:21:01,670 --> 01:21:02,443 Ydw. 1709 01:21:02,443 --> 01:21:04,360 >> GYNULLEIDFA: Allech chi esbonio gyflym memcpy go iawn? 1710 01:21:04,360 --> 01:21:05,443 MARIA ZLATKOVA: O, sori. 1711 01:21:05,443 --> 01:21:06,040 Ydw. 1712 01:21:06,040 --> 01:21:11,290 Memcpy cymryd beth bynnag yw-- ddrwg gennym, OK. 1713 01:21:11,290 --> 01:21:15,850 Memcpy yn cymryd beth bynnag yw ym mar, beth bynnag ei ​​basio 1714 01:21:15,850 --> 01:21:18,050 ar foo gan fod y ymresymiad llinell orchymyn. 1715 01:21:18,050 --> 01:21:19,440 Felly, mae'n mynd i gymryd argv1. 1716 01:21:19,440 --> 01:21:21,420 Gelwir Argv1 bar fan hyn. 1717 01:21:21,420 --> 01:21:24,453 Felly, mae'n mynd i gymryd bar a mae'n mynd i gopïo mewn i c. 1718 01:21:24,453 --> 01:21:25,402 >> GYNULLEIDFA: OK. 1719 01:21:25,402 --> 01:21:28,360 MARIA ZLATKOVA: Ac mae'n mynd i copy-- y drydedd ddadl yn unig yn cyfeirio 1720 01:21:28,360 --> 01:21:30,601 i faint y mae'n mynd i gopïo i mewn i c. 1721 01:21:30,601 --> 01:21:31,142 GYNULLEIDFA: Ah. 1722 01:21:31,142 --> 01:21:33,030 Felly copïo yr un yma yn y cyfan ohono wedyn. 1723 01:21:33,030 --> 01:21:34,310 >> MARIA ZLATKOVA: Yeah, 'i' gopïo cyfan ohono. 1724 01:21:34,310 --> 01:21:34,810 Yep. 1725 01:21:34,810 --> 01:21:38,400 1726 01:21:38,400 --> 01:21:41,910 Yn gyntaf, rydym yn gwneud yn siwr nad yw'r bar yn cyfartal i null am ei fod yn pwyntydd. 1727 01:21:41,910 --> 01:21:44,680 Yna rydym yn cael hyd llinyn y bar. 1728 01:21:44,680 --> 01:21:47,530 Rydym yn gwneud yn siŵr ei fod yn llai na neu'n hafal i 12. 1729 01:21:47,530 --> 01:21:50,070 Ac yna oherwydd ein bod i wedi gwneud yn siŵr, y gallwn mewn gwirionedd 1730 01:21:50,070 --> 01:21:53,122 memcpy a bod yn siŵr bod hynny'n iawn. 1731 01:21:53,122 --> 01:21:53,705 Unrhyw gwestiynau? 1732 01:21:53,705 --> 01:21:56,280 1733 01:21:56,280 --> 01:21:58,690 Great. 1734 01:21:58,690 --> 01:22:00,400 Mae gennyf ddau gwestiwn gywir neu'n anghywir. 1735 01:22:00,400 --> 01:22:05,470 A all unrhyw un ddweud wrthyf yn iawn i ffwrdd os yw'r rhain yn gywir neu'n anghywir? 1736 01:22:05,470 --> 01:22:07,460 Ydy, mae'n ffug. 1737 01:22:07,460 --> 01:22:07,960 Yn union. 1738 01:22:07,960 --> 01:22:09,330 Mae'r ddau ohonynt yn ffug. 1739 01:22:09,330 --> 01:22:12,682 Felly ddefnyddio cyfrinair sengl yn syniad da byth yn wir 1740 01:22:12,682 --> 01:22:14,890 oherwydd os bydd rhywun yn gwybod eich cyfrinair, gallant yn unig 1741 01:22:14,890 --> 01:22:16,260 gael mynediad at eich holl gyfrifon eraill. 1742 01:22:16,260 --> 01:22:19,260 Ac yna eiconau gwneud dim er mwyn sicrhau diogelwch. 1743 01:22:19,260 --> 01:22:24,900 Dylem fel arfer yn edrych am HTTPS yn lle HTTP a'r URL. 1744 01:22:24,900 --> 01:22:28,560 >> Ac mae rhai mathau eraill o ymosodiadau yr ydym wedi crybwyll, 1745 01:22:28,560 --> 01:22:31,390 fod David wedi crybwyll yn ddarlithio, ymosodiadau pigiad SQL. 1746 01:22:31,390 --> 01:22:37,310 Rydym eisoes yn gweld bod os ydym yn don't-- y Swyddogaeth ymholiad CS50 yn sicrhau bod SQL 1747 01:22:37,310 --> 01:22:39,530 Ni all ymosodiadau pigiad digwydd. 1748 01:22:39,530 --> 01:22:42,640 Ond os nad ydym yn defnyddio CS50, dyfyniad, unquote "yn ymholiad," 1749 01:22:42,640 --> 01:22:46,830 byddai'n rhaid i ni wneud yn siŵr bod y Nid yw mewnbwn defnyddwyr mewn gwirionedd rhyw SQL 1750 01:22:46,830 --> 01:22:49,670 ymholiad a fydd yn achosi pob ein tablau i gael ei ollwng 1751 01:22:49,670 --> 01:22:54,070 neu rhywbeth drwg i digwydd gyda ein cronfa ddata. 1752 01:22:54,070 --> 01:22:56,790 >> Herwgipio Sesiwn yn math arall o ymosodiad 1753 01:22:56,790 --> 01:23:05,940 sy'n digwydd pan mae rhai drwg person yn defnyddio sesiwn rhyw dioddefwr 1754 01:23:05,940 --> 01:23:08,740 Adnabod I Gael Mynediad y wybodaeth fewngofnodi. 1755 01:23:08,740 --> 01:23:13,620 Felly yn enghraifft dibwys iawn o hynny yw fel os oes gennym gyfrifiadur cyhoeddus, 1756 01:23:13,620 --> 01:23:21,120 yna bydd y person drwg logiau i mewn ac yna mae ganddynt cwcis sy'n cael eu harbed. 1757 01:23:21,120 --> 01:23:23,380 Ac nid cwcis yn newid ar gyfer y sesiwn. 1758 01:23:23,380 --> 01:23:27,620 >> Yna, rydym wedi y dioddefwr yn mynd i mewn ac yna logio i mewn i'r wefan. 1759 01:23:27,620 --> 01:23:30,290 Nid yw'r cwcis yn newid am sesiwn penodol. 1760 01:23:30,290 --> 01:23:33,060 Ac yna y dioddefwr logs i mewn y wefan a wedyn yn gadael. 1761 01:23:33,060 --> 01:23:36,190 Ac yna y person sy'n mynd yn ôl Gall wedyn barhau i ddefnyddio eu ID sesiwn 1762 01:23:36,190 --> 01:23:37,430 i gael mynediad at eu gwybodaeth. 1763 01:23:37,430 --> 01:23:40,050 Felly dyna un enghraifft o sut y gallai hynny ddigwydd. 1764 01:23:40,050 --> 01:23:45,570 >> Ac yna ni fyddwn yn poeni gormod am cod neu unrhyw beth penodol 1765 01:23:45,570 --> 01:23:49,270 fel 'na allai achosi hyn, ond mae cael rhyw fath o syniad beth 1766 01:23:49,270 --> 01:23:51,400 newidynnau sy'n gysylltiedig â hyn yn cael eu. 1767 01:23:51,400 --> 01:23:53,897 Ac yna trin header data yn fath arall o ymosodiad 1768 01:23:53,897 --> 01:23:55,230 fod gan David wedi siarad am. 1769 01:23:55,230 --> 01:23:59,730 Ac 'i jyst yn cyfeirio at beth all ddigwydd pan 1770 01:23:59,730 --> 01:24:04,300 yr ymateb, mae'r HTTP ymateb tu mewn i'n header 1771 01:24:04,300 --> 01:24:05,720 Nid yw glanweithio iawn. 1772 01:24:05,720 --> 01:24:14,340 >> Ac unrhyw rai o'r fields-- er enghraifft, os bydd rhywun yn overwrites un o'r pennawd 1773 01:24:14,340 --> 01:24:18,860 gwerthoedd i gynnwys unrhyw beth mwy na hyn y dylent ei contain-- ac mewn gwirionedd 1774 01:24:18,860 --> 01:24:22,720 gynnwys, er enghraifft, 200 Cod statws OK, yna maent yn 1775 01:24:22,720 --> 01:24:26,890 gallai wneud yn faleisus pethau pan nad ydynt yn fod i. 1776 01:24:26,890 --> 01:24:30,815 Ond ni fyddwn yn poeni gormod llawer am y cod penodol 1777 01:24:30,815 --> 01:24:34,110 a allai achosi hyn, yn unig fath o ddealltwriaeth 1778 01:24:34,110 --> 01:24:37,290 pethau lefel uchel fel 'na. 1779 01:24:37,290 --> 01:24:39,570 >> Rwy'n credu bod hyn i gyd bod yn rhaid i ni dalu. 1780 01:24:39,570 --> 01:24:40,090 Amazing. 1781 01:24:40,090 --> 01:24:43,310 Dylai unrhyw un gennych unrhyw gwestiynau ar unrhyw o'r pethau yr ydym yn eu cynnwys? 1782 01:24:43,310 --> 01:24:44,213 Ydw. 1783 01:24:44,213 --> 01:24:48,077 >> GYNULLEIDFA: Felly, un math o mwy cwestiwn logistaidd. 1784 01:24:48,077 --> 01:24:53,400 A yw'r cynnwys canolbwyntio'n bennaf ar bethau ar ôl cwis 1? 1785 01:24:53,400 --> 01:24:55,730 >> MARIA ZLATKOVA: Felly cwestiwn yw, a yw'r cynnwys 1786 01:24:55,730 --> 01:24:59,720 canolbwyntio'n bennaf ar bethau ar ôl cwis 1? 1787 01:24:59,720 --> 01:25:06,070 Felly mae'r ffocws ar ôl cwis 1, ac eithrio 1788 01:25:06,070 --> 01:25:10,914 bod angen i ni ganolbwyntio ar bethau mewn pset5 ac mae llawer o'r strwythurau data 1789 01:25:10,914 --> 01:25:11,580 ein bod yn cynnwys. 1790 01:25:11,580 --> 01:25:14,300 Ac ni allwn ddweud ein bod yn Gall anwybyddu unrhyw beth cyn 1791 01:25:14,300 --> 01:25:17,120 hynny oherwydd ei fod yn adeiladu ar hynny hefyd. 1792 01:25:17,120 --> 01:25:21,845 >> Felly ganolbwyntio ar hynny, ynghyd â deunydd pset5 fel gynnwys rhestrau cysylltiedig, staciau, 1793 01:25:21,845 --> 01:25:23,720 ciwiau, a phopeth bod Hannah aeth drosodd. 1794 01:25:23,720 --> 01:25:24,050 >> HANNAH Blumberg: Iawn. 1795 01:25:24,050 --> 01:25:27,450 Yeah, aethon ni dros yr holl bethau C ar y dechrau yn gyflym iawn iawn. 1796 01:25:27,450 --> 01:25:29,090 Ond gwnewch yn siwr i adolygu hynny. 1797 01:25:29,090 --> 01:25:32,700 Ewch yn ôl a gwyliwch yr adolygiad cwis 0. 1798 01:25:32,700 --> 01:25:36,110 >> Mae cwpl nodiadau mwy logistaidd, dim ond er ein bod wedi eich sylw. 1799 01:25:36,110 --> 01:25:39,100 Rydym yn mynd i gael oriau swyddfa y ddau ar ddydd Llun a dydd Mawrth nos. 1800 01:25:39,100 --> 01:25:41,540 Maent yn mynd i fod yn MD 119. 1801 01:25:41,540 --> 01:25:44,220 Mae hyn i gyd ar y wefan, felly os nad ydych yn ei glywed, nid oes unrhyw bryderon. 1802 01:25:44,220 --> 01:25:45,266 >> MARIA ZLATKOVA: 8:30-11:00. 1803 01:25:45,266 --> 01:25:46,260 >> HANNAH Blumberg: Yeah, 8:30-11:00. 1804 01:25:46,260 --> 01:25:46,910 Fe fyddwn ni yno. 1805 01:25:46,910 --> 01:25:48,368 Byddwn yno i ateb cwestiynau. 1806 01:25:48,368 --> 01:25:49,480 Mae'n oeri 'n bert ac yn hwyl. 1807 01:25:49,480 --> 01:25:53,240 Gallwch guys ofyn unrhyw gwestiynau eich bod yn ei gael ar cwis 1. 1808 01:25:53,240 --> 01:25:55,740 Ac cwis 1 ar Dydd Mercher, felly pob lwc. 1809 01:25:55,740 --> 01:25:59,770 Os oes gennych unrhyw gwestiynau, efallai dod sgwrs i ni i fyny yma un-i-un. 1810 01:25:59,770 --> 01:26:00,880 Cwl. 1811 01:26:00,880 --> 01:26:01,630 Diolch yn fawr iawn. 1812 01:26:01,630 --> 01:26:02,880 >> MARIA ZLATKOVA: Diolch o galon, guys. 1813 01:26:02,880 --> 01:26:03,480 >> GYNULLEIDFA: Yay. 1814 01:26:03,480 --> 01:26:05,930 >> [Cymeradwyaeth] 1815 01:26:05,930 --> 01:26:07,530