1 00:00:00,000 --> 00:00:02,862 >> [CHWARAE CERDDORIAETH] 2 00:00:02,862 --> 00:00:10,030 3 00:00:10,030 --> 00:00:11,580 >> DAVID Malan: Mae hwn yn CS50. 4 00:00:11,580 --> 00:00:12,880 Mae hyn yn dechrau'r wythnos naw. 5 00:00:12,880 --> 00:00:15,797 Ac mae hyn yn beth y byddai'n rhaid bod yn ben-blwydd Mr Boole yn 200. 6 00:00:15,797 --> 00:00:17,630 Felly, mae hyn yn y cymrodyr i bwy yr ydym wedi crybwyll 7 00:00:17,630 --> 00:00:21,800 cryn dipyn o amser am ddefnyddio Newidynnau boolaidd gwir a gau, 8 00:00:21,800 --> 00:00:22,910 1 a 0 ac o'r fath. 9 00:00:22,910 --> 00:00:25,270 Ac roedd Google hon teyrnged iddo heddiw. 10 00:00:25,270 --> 00:00:26,489 Byddai wedi troi 200. 11 00:00:26,489 --> 00:00:28,280 Felly, os hoffech chi ymuno â ni am ginio CS50, 12 00:00:28,280 --> 00:00:30,279 yn edrych ar y cysylltiad ar wefan y cwrs. 13 00:00:30,279 --> 00:00:33,580 A wynebau a ffrindiau fel mae'r rhain yn aros i chi yma yng Nghaergrawnt. 14 00:00:33,580 --> 00:00:35,360 Wynebau fel y rhain i chi aros yn New Haven. 15 00:00:35,360 --> 00:00:37,800 Ac, mewn gwirionedd, Ken yn New Haven a wnaed yn garedig 16 00:00:37,800 --> 00:00:41,594 yr hyn a elwir yn GIF animeiddiedig Eli yma mewn diweddar lunch-- mae GIF eto 17 00:00:41,594 --> 00:00:44,260 fformat ffeil graffigol arall, ydych chi ag ef familiar-- hynny 18 00:00:44,260 --> 00:00:46,300 yn edrych yn rhywbeth bach fel hyn. 19 00:00:46,300 --> 00:00:48,179 Felly, dim ond dilyniant o- OK. 20 00:00:48,179 --> 00:00:49,720 Nid oes unrhyw un yma yng Nghaergrawnt yn chwerthin. 21 00:00:49,720 --> 00:00:51,720 Ond yn New Haven, mae hyn yn yn wirioneddol ddoniol, dde? 22 00:00:51,720 --> 00:00:52,350 Iawn. 23 00:00:52,350 --> 00:00:53,940 >> Felly peidiwch ymuno â ni yno. 24 00:00:53,940 --> 00:00:55,900 Yma yn Harvard, yn benodol, dydd Mercher hwn, 25 00:00:55,900 --> 00:00:59,480 os ydych yn sophomore neu freshman even-- neu hyd yn oed feddwl junior-- o wneud 26 00:00:59,480 --> 00:01:01,563 switsh i mewn i gyfrifiadur gwyddoniaeth, yn gwybod bod yna chi helpu 27 00:01:01,563 --> 00:01:04,440 gael i CS cynghori teg hwn Dydd Mercher, yn fuan ar ôl y dosbarth 28 00:01:04,440 --> 00:01:08,040 am 4:00 pm yn cyfrifiadur adeilad gwyddoniaeth Maxwell Dworkin. 29 00:01:08,040 --> 00:01:11,890 Byddwn yn rhoi hyn ar y cwrs yn gwefan erbyn yfory, yn ogystal. 30 00:01:11,890 --> 00:01:14,430 Toesenni, rwy'n gwybod, yn cael ei gyflwyno. 31 00:01:14,430 --> 00:01:15,180 >> Iawn. 32 00:01:15,180 --> 00:01:18,790 Story-- mor ddoniol oeddwn yn procio o gwmpas ar y rhyngrwyd, 33 00:01:18,790 --> 00:01:23,575 ac yr wyf yn dod o hyd rhai hen archifau fy hen wefan. 34 00:01:23,575 --> 00:01:25,950 Ac mae'n troi out-- o gwmpas hyn amser, mae'n ymddangos yn amserol iawn 35 00:01:25,950 --> 00:01:28,910 ers i mi yn casglu bod yr etholiadau UC ar fin gêr i fyny eto. 36 00:01:28,910 --> 00:01:32,230 Felly, yr wyf yn rhedeg am UC, a gollwyd druenus. 37 00:01:32,230 --> 00:01:34,770 Ac efallai roedd hyn yn rhannol pam. 38 00:01:34,770 --> 00:01:37,600 Felly roedd hyn yn fy ngwefan ar y pryd. 39 00:01:37,600 --> 00:01:40,477 Am ryw reswm, yr wyf yn meddwl ei fod yn yn syniad da, cyn dweud wrth bobl 40 00:01:40,477 --> 00:01:43,310 beth yw fy llwyfan oedd a pham eu bod Dylai bleidleisio i mi, bod ganddynt 41 00:01:43,310 --> 00:01:47,770 i glicio i fynd i mewn i gael gwybod bod gwybodaeth, sy'n edrych yn ôl yn 42 00:01:47,770 --> 00:01:48,660 math o creepy. 43 00:01:48,660 --> 00:01:50,910 Dydw i ddim yn gwybod beth oedd. 44 00:01:50,910 --> 00:01:53,140 >> Ond yn sicr nid oedd yn helpu fy ymgyrch. 45 00:01:53,140 --> 00:01:56,874 Yr wyf yn darganfod hefyd bod gan uwch year-- Roedd gen hon calendr Muppet. 46 00:01:56,874 --> 00:01:58,540 Roedd Muppets fath o yn ffasiynol bryd hynny. 47 00:01:58,540 --> 00:01:59,456 Neu efallai nad oeddent. 48 00:01:59,456 --> 00:02:01,790 Roedd gen i galendr Muppet bryd hynny. 49 00:02:01,790 --> 00:02:04,860 Ac yr wyf yn meddwl y byddwn fod yn cŵl i enwi fy nghyfrifiadur ar rwydwaith Harvard 50 00:02:04,860 --> 00:02:07,460 frogman.student.harvard.edu. 51 00:02:07,460 --> 00:02:10,370 Ar y pryd, yr ydym i gyd wedi unigryw enwau llu adnabyddadwy. 52 00:02:10,370 --> 00:02:13,150 A allech chi ddewis rhai wagedd enwi yn lle eich enw ei hun. 53 00:02:13,150 --> 00:02:15,580 Ac fe es gyda frogman am ryw reswm. 54 00:02:15,580 --> 00:02:19,040 >> Ac yna yr wyf yn started-- Treuliais lawer o amser glicio trwy'r cysylltiadau hyn 55 00:02:19,040 --> 00:02:20,280 y bore yma. 56 00:02:20,280 --> 00:02:24,690 Ac roedd hyn yn fy dudalen am, sydd bellach yn ymddangos yn fath o annwyl. 57 00:02:24,690 --> 00:02:28,210 Ond mae hefyd yn tystio i ychydig pa mor bell technoleg wedi dod. 58 00:02:28,210 --> 00:02:30,310 Yr wyf yn golygu, yn ôl yn y dydd, mae 486 yn rhywbeth. 59 00:02:30,310 --> 00:02:34,090 Y dyddiau hyn, mae'n super, super, super araf ac yn iach yn llai 60 00:02:34,090 --> 00:02:36,216 na allai fod gennych yn eich pocedi eu hunain y dyddiau hyn. 61 00:02:36,216 --> 00:02:38,465 Mae rhagor o wybodaeth am yno y Roedd hyd yn oed yn fwy embaras. 62 00:02:38,465 --> 00:02:39,770 Felly byddaf yn gadael ar hynny. 63 00:02:39,770 --> 00:02:42,640 Ond dyna oedd fy cyntaf fentrais i'r web-- oh, dim. 64 00:02:42,640 --> 00:02:43,180 Nid dyna oedd. 65 00:02:43,180 --> 00:02:47,000 Fy ymgais cyntaf go iawn i mewn i raglenni ar y we Roedd y safle hwn, yr wyf newydd anghofio. 66 00:02:47,000 --> 00:02:50,620 Ar ryw adeg, yr wyf yn dysgu sut i wneud delweddau cefndir ailadroddus. 67 00:02:50,620 --> 00:02:55,260 Ac felly yr wyf yn dod o hyd i teils hon yn effeithiol, fel chwaraewr hoci, pêl-droed, a golff 68 00:02:55,260 --> 00:02:58,040 pêl, neu beth bynnag mae hynny'n ar gyfer gwefan Frosh IMS. 69 00:02:58,040 --> 00:03:01,390 Ac roedd hyn yn mewn gwirionedd, yn wirioneddol y prosiect ar y we cyntaf i mi gymryd on-- 70 00:03:01,390 --> 00:03:03,880 Yr wyf yn meddwl efallai sophomore flwyddyn, year-- iau 71 00:03:03,880 --> 00:03:07,622 ar ôl cymryd CS50 a CS51, un o'r dosbarthiadau dilynol gyffredin. 72 00:03:07,622 --> 00:03:09,330 Sylwais wrth edrych drwy'r archifau 73 00:03:09,330 --> 00:03:12,150 mai un o fy olynwyr a ffrindiau, Lee, math o newid 74 00:03:12,150 --> 00:03:13,480 yr hawlfraint i ei hun. 75 00:03:13,480 --> 00:03:17,520 Ond roedd hyn yn wir yn rhywbeth y Dylai Rwyf yn berchen ar yr embaras i. 76 00:03:17,520 --> 00:03:19,370 Ond ar y pryd, mae hyn oedd y wefan gyntaf, 77 00:03:19,370 --> 00:03:22,220 fel y dywedais rai wythnosau yn ôl, erbyn pryd y gallai freshman 78 00:03:22,220 --> 00:03:24,350 gofrestru ar gyfer chwaraeon rhyngfurol yma. 79 00:03:24,350 --> 00:03:27,950 Ac felly mae'n troi allan bod delweddau cefndir 80 00:03:27,950 --> 00:03:29,530 fel hynny ddim yn syniad da. 81 00:03:29,530 --> 00:03:31,840 Ond mae'r we yn newydd, ac roeddem i gyd arbrofi. 82 00:03:31,840 --> 00:03:34,310 Ac mae hyn yn hyn yr wyf yn mae'n debyg y gwnaeth ar y pryd. 83 00:03:34,310 --> 00:03:34,810 Iawn. 84 00:03:34,810 --> 00:03:38,020 Felly, heb ado pellach, rydym yn newid yn paratoi heddiw i roi i chi, mewn gwirionedd, 85 00:03:38,020 --> 00:03:42,250 y darn olaf y gallech ddod o hyd arbennig o ddefnyddiol ar gyfer prosiectau terfynol 86 00:03:42,250 --> 00:03:44,780 ond hefyd a fydd yn dechrau wneud y we byd i gyd eang 87 00:03:44,780 --> 00:03:46,680 teimlo ychydig yn fwy dealladwy. 88 00:03:46,680 --> 00:03:49,460 Yn wir, rydyn ni'n mynd i gyflwyno un yn fwy iaith rhaglennu 89 00:03:49,460 --> 00:03:52,474 Gelwir JavaScript sy'n debyg a gwahanol mewn ffyrdd gwahanol 90 00:03:52,474 --> 00:03:54,140 o ieithoedd rydym wedi edrych ar hyd yn hyn. 91 00:03:54,140 --> 00:03:55,807 >> Felly C, galw i gof, yn yr iaith hon llunio. 92 00:03:55,807 --> 00:03:57,473 Mae'n rhaid i chi redeg drwy compiler. 93 00:03:57,473 --> 00:03:59,810 Byddwch yn cael cod ffynhonnell i wrthwynebu cod, neu sero a rhai. 94 00:03:59,810 --> 00:04:03,000 A'r rhai yn sero a'r rhai sy'n eich CPU, Uned Brosesu Ganolog, 95 00:04:03,000 --> 00:04:04,360 mewn gwirionedd yn deall. 96 00:04:04,360 --> 00:04:06,610 PHP, mewn cyferbyniad, nid yw iaith a luniwyd. 97 00:04:06,610 --> 00:04:08,772 Mae'n beth? 98 00:04:08,772 --> 00:04:09,980 Mae'n iaith dehongli. 99 00:04:09,980 --> 00:04:11,750 Felly mae rhywfaint o raglen Gelwir cyfieithydd y 100 00:04:11,750 --> 00:04:13,708 Mae darllen iddo-- top i'r gwaelod, o'r chwith i'r right-- 101 00:04:13,708 --> 00:04:16,519 a chyfrif i maes beth i gyd eich cystrawen yn ei wneud ac yn golygu, 102 00:04:16,519 --> 00:04:20,200 boed yn dolen neu gyflwr neu unrhyw nifer arall o raglenni 103 00:04:20,200 --> 00:04:20,740 yn adeiladu. 104 00:04:20,740 --> 00:04:22,210 Felly dyna iaith dehongli. 105 00:04:22,210 --> 00:04:23,910 >> Yna, fe wnaethom gyflwyno HTML. 106 00:04:23,910 --> 00:04:26,440 Ac nid HTML hyd yn oed iaith raglennu. 107 00:04:26,440 --> 00:04:28,110 Byddem yn ei alw'n beth? 108 00:04:28,110 --> 00:04:31,650 Mae iaith marcio, sydd ychydig rhyw fath o ffordd ffansi o ddweud ei fod 109 00:04:31,650 --> 00:04:35,820 Nid oes rhaid rhaglennu cysyniadau fel gwelsom hyd yn oed yn ôl yn y dydd y Scratch. 110 00:04:35,820 --> 00:04:36,720 Nid oes unrhyw dolenni. 111 00:04:36,720 --> 00:04:37,920 Nid oes unrhyw amodau. 112 00:04:37,920 --> 00:04:40,820 Mae wir yn iaith am farcio i fyny eich data 113 00:04:40,820 --> 00:04:43,620 a fformadu neu strwythuro mewn rhyw ffordd. 114 00:04:43,620 --> 00:04:46,147 >> CSS, yn y cyfamser, yn yr un modd Nid yw iaith raglennu. 115 00:04:46,147 --> 00:04:47,730 Mae hyd yn oed wedi oriented fwy esthetaidd. 116 00:04:47,730 --> 00:04:50,470 Ac mae'n eich galluogi i ddidoli o mân-dôn pethau fel maint a lliw ffont 117 00:04:50,470 --> 00:04:51,850 a lleoliad a hynny i gyd. 118 00:04:51,850 --> 00:04:52,370 Yna rydym yn cael 119 00:04:52,370 --> 00:04:53,160 >> SQL. 120 00:04:53,160 --> 00:04:56,010 Felly SQL yn wir yn rhaglennu iaith mewn rhai ystyr, 121 00:04:56,010 --> 00:04:59,330 er deilwra yn benodol i gronfeydd data. 122 00:04:59,330 --> 00:05:03,347 Ond er ein bod dim ond yn eich cyflwyno i dethol a mewnosod a dileu a diweddaru 123 00:05:03,347 --> 00:05:05,430 ac un neu ddau o bobl eraill, troi allan y gallwch mewn gwirionedd 124 00:05:05,430 --> 00:05:07,380 ysgrifennu swyddogaethau neu gweithdrefnau, gan eu bod nhw'n 125 00:05:07,380 --> 00:05:11,270 gelwir, yn SQL sy'n edrych ac yn gweithredu yn eithaf tebyg i swyddogaethau PHP a C. 126 00:05:11,270 --> 00:05:12,390 Felly yn gwybod bod hynny'n bodoli. 127 00:05:12,390 --> 00:05:15,348 Ond nid ydym hyd yn oed yn trafferthu â nhw fel yr ydym newydd crafu wyneb yma. 128 00:05:15,348 --> 00:05:18,600 Ac yna JavaScript, yr olaf o ein ieithoedd a gyflwynwyd yn ffurfiol. 129 00:05:18,600 --> 00:05:21,029 Felly JavaScript, hefyd, yn iaith dehongli. 130 00:05:21,029 --> 00:05:23,070 A'r rhai cyfarwydd, yn ei wneud rydych am ei wahaniaethu 131 00:05:23,070 --> 00:05:26,960 gyda rhai nodwedd o'r ddau C a PHP? 132 00:05:26,960 --> 00:05:28,300 Beth sy'n ei gwneud yn wahanol? 133 00:05:28,300 --> 00:05:29,650 >> GYNULLEIDFA: Nid yw'n llunio. 134 00:05:29,650 --> 00:05:29,930 >> DAVID Malan: Dweud eto? 135 00:05:29,930 --> 00:05:31,200 >> GYNULLEIDFA: Nid yw'n llunio. 136 00:05:31,200 --> 00:05:31,930 >> DAVID Malan: Nid yw'n llunio. 137 00:05:31,930 --> 00:05:33,450 Felly, hefyd, yn cael ei ddehongli. 138 00:05:33,450 --> 00:05:34,760 Felly, nid yw'n llunio. 139 00:05:34,760 --> 00:05:37,210 Ond mae hynny'n ei gwneud yn ychydig fel PHP. 140 00:05:37,210 --> 00:05:39,545 Ond mae'n dal i fod yn wahanol i PHP mewn rhyw ffordd drawiadol, 141 00:05:39,545 --> 00:05:40,920 o leiaf yn y ffordd y byddwn yn ei ddefnyddio. 142 00:05:40,920 --> 00:05:41,205 Yeah? 143 00:05:41,205 --> 00:05:41,940 >> GYNULLEIDFA: Mae'n rhedeg ar ochr cleientiaid. 144 00:05:41,940 --> 00:05:44,000 >> DAVID Malan: Mae'n rhedeg ar ochr cleientiaid, fel arfer. 145 00:05:44,000 --> 00:05:47,190 Dyna wir y gwahaniaethu nodweddiadol i ni ar hyn o bryd. 146 00:05:47,190 --> 00:05:51,170 C yn-ochr y gweinydd yn yr ystyr ein bod yn gwneud popeth yn IDE CS50. 147 00:05:51,170 --> 00:05:53,630 PHP hyd yn hyn wedi bod yn ochr y gweinydd, i'r graddau 148 00:05:53,630 --> 00:05:56,550 gan ei fod, hefyd, yn cael interpreted-- Nid yw llunio, ond interpreted-- 149 00:05:56,550 --> 00:06:00,690 y tu mewn CS50 IDE, sydd wrth gwrs yn dim ond gweinydd neu weinyddwyr yn y cwmwl. 150 00:06:00,690 --> 00:06:03,070 >> Ond JavaScript, hyd yn oed er eich rydych yn mynd 151 00:06:03,070 --> 00:06:07,000 i ddechrau ysgrifennu am, dyweder, pset wyth ac efallai terfynol projects-- eich bod 152 00:06:07,000 --> 00:06:09,620 mynd i'r dde i mewn IDE CS50 a'i gadw 153 00:06:09,620 --> 00:06:14,760 mewn ffeiliau o fewn IDE CS50, CS50 IDE ac, yn ei dro, y gweinyddion cwmwl 154 00:06:14,760 --> 00:06:19,160 y mae'n ei gynnal, nid yn mynd i ddehongli neu weithredu eich cod. 155 00:06:19,160 --> 00:06:23,880 Yn hytrach, mae'n mynd i gael eu hanfon mewn ffurf heb ei newid i lawr i'r porwr. 156 00:06:23,880 --> 00:06:26,990 Ac mae'n wedyn yn mynd i fod IE neu Chrome neu Firefox neu Safari 157 00:06:26,990 --> 00:06:30,697 neu beth bynnag sy'n dehongli mewn gwirionedd iddo, top i'r gwaelod, chwith i'r dde. 158 00:06:30,697 --> 00:06:32,780 Felly mae'r gwahaniaethu allweddol nodweddiadol ar gyfer heddiw 159 00:06:32,780 --> 00:06:36,110 yw bod JavaScript yn ochr cleientiaid a PHP, er enghraifft, 160 00:06:36,110 --> 00:06:37,690 wedi bod ochr y gweinydd. 161 00:06:37,690 --> 00:06:40,920 Yn awr, mae gan hyn oblygiadau diddorol ar gyfer, fel, eiddo deallusol 162 00:06:40,920 --> 00:06:42,660 ac sy'n gallu mewn gwirionedd yn gweld eich cod. 163 00:06:42,660 --> 00:06:44,860 Ac yn wir, gallwch fynd ar y we ac yn gweld y rhan fwyaf o 164 00:06:44,860 --> 00:06:47,530 unrhyw god bod gan rywun ysgrifennwyd yn JavaScript. 165 00:06:47,530 --> 00:06:50,230 Weithiau mae'n ddarllenadwy, Weithiau mae'n obfuscated. 166 00:06:50,230 --> 00:06:52,550 Ond yn fwy am hynny maes o law. 167 00:06:52,550 --> 00:06:57,530 >> Felly JavaScript, yn ddigon 'n glws, yn super debyg, syntactically, i C. 168 00:06:57,530 --> 00:06:59,364 A llawer fel PHP, does dim brif swyddogaeth. 169 00:06:59,364 --> 00:07:02,113 Os ydych am ddechrau ysgrifennu Cod JavaScript, fel y byddwch yn gweld heddiw, 170 00:07:02,113 --> 00:07:03,270 'ch jyst dechrau ysgrifennu arno. 171 00:07:03,270 --> 00:07:06,910 Ond y mae, byddwch yn gweld, yn enwedig ddefnyddiol yng nghyd-destun borwyr gwe. 172 00:07:06,910 --> 00:07:09,820 Fodd bynnag, mae fy bach disclaimer-- fel arfer earlier-- 173 00:07:09,820 --> 00:07:13,790 oedd i ddweud eich bod yn gallu cynyddol defnyddio heddiw JavaScript ochr y gweinydd 174 00:07:13,790 --> 00:07:17,655 ddefnyddio fframwaith ffansi enw Node.js bod rhai o'r ceisiadau CS50 ei hun 175 00:07:17,655 --> 00:07:18,280 yn cael eu hysgrifennu mewn. 176 00:07:18,280 --> 00:07:20,640 Gwiriwch 50 mewn gwirionedd yn defnyddio Node.js. 177 00:07:20,640 --> 00:07:24,140 Ond rydym yn mynd i ganolbwyntio ar JavaScript ar ochr cleientiaid yma ar y tu allan. 178 00:07:24,140 --> 00:07:26,750 >> Felly dyma yn set o amodau yn PHP. 179 00:07:26,750 --> 00:07:29,350 Mae'n ddrwg gennym, in-- mewn gwirionedd, bod datganiad, hefyd yn gywir. 180 00:07:29,350 --> 00:07:32,200 Dyma hefyd set o amodau yn JavaScript. 181 00:07:32,200 --> 00:07:35,560 Syntactically, mae'n union yr un fath i C ac at PHP. 182 00:07:35,560 --> 00:07:39,040 Ymadroddion Mr. Boole yw, yn yr un modd, syntactically 183 00:07:39,040 --> 00:07:41,190 union yr un fath i'r ddau C a PHP. 184 00:07:41,190 --> 00:07:44,100 Mae gennym hefyd switshis mewn JavaScript sy'n edrych yn union yr un fath. 185 00:07:44,100 --> 00:07:46,350 Gennym ar gyfer dolenni sy'n strwythuro'n union, 186 00:07:46,350 --> 00:07:48,140 tra dolenni, wneud tra dolenni. 187 00:07:48,140 --> 00:07:49,980 >> Mae hyn yn un ychydig yn wahanol. 188 00:07:49,980 --> 00:07:53,120 Roedd gan y PHP ar gyfer pob lluniad y gallech fod yn defnyddio 189 00:07:53,120 --> 00:07:55,320 neu y bydd yn eu defnyddio yn pset saith, efallai. 190 00:07:55,320 --> 00:07:59,460 Mae JavaScript y fersiwn arbennig o ar gyfer lle rydych yn llythrennol yn dweud rhywbeth 191 00:07:59,460 --> 00:08:03,864 tebyg am allwedd amrywio o ran gwrthrych, a oedd yn yn ffordd gryno iawn o ddweud, 192 00:08:03,864 --> 00:08:06,780 os gen i object-- ac rydym chi helpu siarad am y rhain eto mewn moment-- 193 00:08:06,780 --> 00:08:10,370 ac yr wyf am ailadrodd dros yr holl o'r parau gwerth allweddol y tu mewn, 194 00:08:10,370 --> 00:08:13,620 Nid oes rhaid i mi chyfrif i maes sut i Mynegai rhifol iddynt gyda sero, un, 195 00:08:13,620 --> 00:08:14,580 dau, tri. 196 00:08:14,580 --> 00:08:15,900 >> Gallaf llythrennol ddweud hyn. 197 00:08:15,900 --> 00:08:20,740 Ac ar bob iteriad, JavaScript canys mi diweddaru'r allwedd amrywiol 198 00:08:20,740 --> 00:08:24,810 i fod y allweddol cyntaf, yna yr allwedd nesaf, Yna, yr allwedd nesaf, yna bydd y allweddol nesaf, 199 00:08:24,810 --> 00:08:25,510 ac yn y blaen. 200 00:08:25,510 --> 00:08:30,000 A gallaf ei gael yn ôl ei werth drwy drin gwrthrych mewn JavaScript, fel y byddwn yn gweld, 201 00:08:30,000 --> 00:08:32,584 fel pe ei fod yn amrywiaeth cysylltiadol yn PHP. 202 00:08:32,584 --> 00:08:35,750 Yn wir, os ydych yn lapio yn olaf eich ots o gwmpas yr hyn amrywiaeth cysylltiadol yw 203 00:08:35,750 --> 00:08:40,140 yn PHP, gallwch chi feddwl ni am y tro fel union yr un fath i wrthrych yn JavaScript. 204 00:08:40,140 --> 00:08:42,030 Ond mae hynny'n dipyn o gorsymleiddio. 205 00:08:42,030 --> 00:08:47,230 >> Araeau yn edrych, yn ddigon 'n glws, union yr un fath at PHP heblaw am un cymeriad. 206 00:08:47,230 --> 00:08:51,425 Mae 'na un peth ar goll yma ein bod wedi gwneud yn gweld yr wythnos diwethaf gyda PHP. 207 00:08:51,425 --> 00:08:52,050 Beth sydd wedi hepgor? 208 00:08:52,050 --> 00:08:53,310 Yeah? 209 00:08:53,310 --> 00:08:54,090 Dim arwydd ddoler. 210 00:08:54,090 --> 00:08:56,240 Felly, rydym yn ôl i mwy byd normal lle 211 00:08:56,240 --> 00:08:58,050 Nid newidynnau oes gan arwyddion ddoler. 212 00:08:58,050 --> 00:09:00,810 Ond rydych yn ei wneud yn eu rhagddodiad gyda var, fel arfer. 213 00:09:00,810 --> 00:09:02,230 Ac mae var golygu amrywiol. 214 00:09:02,230 --> 00:09:06,440 A llawer fel PHP yn llac typed-- lle mae mathau, 215 00:09:06,440 --> 00:09:10,120 mae niferoedd a llinynnau a fflotiau ac yn y blaen forth-- 216 00:09:10,120 --> 00:09:11,570 Mae JavaScript mathau yn yr un modd. 217 00:09:11,570 --> 00:09:15,470 Ond mae'n deipio llac yn ein bod yn y Nid oes rhaid i rhaglenwyr i nodi iddynt. 218 00:09:15,470 --> 00:09:18,980 Dim ond rhaid i ni fod yn ymwybodol bod gwahanol fathau bodoli. 219 00:09:18,980 --> 00:09:21,690 >> Newidynnau, meanwhile-- dyma sut efallai y byddwn yn datgan "helo, byd" 220 00:09:21,690 --> 00:09:22,230 fel llinyn. 221 00:09:22,230 --> 00:09:24,890 Hysbysiad ei fod yn union yr un fath PHP ond dim arwydd doler. 222 00:09:24,890 --> 00:09:27,120 Ac mae hyn yn rhywbeth yr ydym fe yn dechrau gweld mwy o heddiw, 223 00:09:27,120 --> 00:09:30,990 lle mae gennych gwrthrych gydag allweddi a gwerthoedd. 224 00:09:30,990 --> 00:09:32,990 Ac os ydych am roi cynnig i gasglu o week-- diwethaf 225 00:09:32,990 --> 00:09:34,730 y gystrawen yn ychydig yn wahanol. 226 00:09:34,730 --> 00:09:39,740 Ond ychydig o bwyll check-- faint o allweddi yn y gwrthrych yn ymddangos i gael? 227 00:09:39,740 --> 00:09:40,850 Felly, yr wyf yn gweld pedwar. 228 00:09:40,850 --> 00:09:43,560 Rwy'n gweld dau. 229 00:09:43,560 --> 00:09:44,680 >> Felly mae'n mewn gwirionedd dau. 230 00:09:44,680 --> 00:09:47,260 Felly, mae hwn yn gasgliad o ddau bâr-werth allweddol. 231 00:09:47,260 --> 00:09:49,820 Yr allwedd yw symbol y mae ei gwerth yn FB. 232 00:09:49,820 --> 00:09:52,620 Yr allwedd yw pris y mae ei gwerth yn 101.53. 233 00:09:52,620 --> 00:09:54,230 Felly, y rhai yn cael eu dau bâr-werth allweddol. 234 00:09:54,230 --> 00:09:58,120 A chofiwch, PHP-- ac mae hyn yn eto jyst fath o wahaniaeth cystrawennol. 235 00:09:58,120 --> 00:10:00,170 Dyw hi ddim yn bob un sy'n ddeallusol ddiddorol. 236 00:10:00,170 --> 00:10:04,610 Efallai PHP wedi ysgrifennu yr un beth â dyfyniad follows--, hafal i. 237 00:10:04,610 --> 00:10:06,730 Ac yr wyf yn newid y rhain i cromfachau sgwâr. 238 00:10:06,730 --> 00:10:11,240 Ac yna yr wyf yn newid hyn i gair a ddyfynnwyd, "pris." 239 00:10:11,240 --> 00:10:12,500 Ac yna nid wyf yn defnyddio colon. 240 00:10:12,500 --> 00:10:15,060 Beth wnes i ddefnyddio wythnos diwethaf? 241 00:10:15,060 --> 00:10:18,290 Yeah, r hafalnod arrow nodiant ffynci. 242 00:10:18,290 --> 00:10:21,470 >> Ac yna yr wyf yn gwneud yr un peth yma. 243 00:10:21,470 --> 00:10:23,580 Yr un peth yma. 244 00:10:23,580 --> 00:10:24,240 A dyna i gyd. 245 00:10:24,240 --> 00:10:27,752 Felly mae'n iawn os nad yw hyn wedi suddo 'n sylweddol i mewn i gof yn unig 246 00:10:27,752 --> 00:10:29,960 eto oherwydd ei fod yn wir yn ddeallusol anniddorol. 247 00:10:29,960 --> 00:10:31,660 Mae'n gwahaniaethau jyst cystrawennol. 248 00:10:31,660 --> 00:10:33,230 Ond mae'r syniadau yn union yr un fath. 249 00:10:33,230 --> 00:10:35,910 Y tu mewn y newidyn hwn dyfyniad yn JavaScript 250 00:10:35,910 --> 00:10:39,020 yn gasgliad o barau gwerth allweddol, un ohonynt yw symbol, un ohonynt 251 00:10:39,020 --> 00:10:39,690 yw pris. 252 00:10:39,690 --> 00:10:42,340 A gallaf gael o gwerthoedd hynny gyda'r chystrawen canlynol. 253 00:10:42,340 --> 00:10:46,280 Yn union fel yn PHP, gallwn gwneud rhywbeth like-- adael 254 00:10:46,280 --> 00:10:48,590 mi wneud y blwch hwn ychydig yn fwy. 255 00:10:48,590 --> 00:10:52,750 Yn union fel yn PHP, gallwn gwneud this-- oh, dammit. 256 00:10:52,750 --> 00:10:53,250 Dewch ar. 257 00:10:53,250 --> 00:10:56,350 258 00:10:56,350 --> 00:11:00,800 >> Yn union fel yn PHP-- OK, yr ydym chi helpu defnyddiwch y nodiadau cyflwynydd. 259 00:11:00,800 --> 00:11:06,010 Yn union fel yn PHP, gallaf gwneud $ dyfyniad $ dyfyniad ["symbol"], 260 00:11:06,010 --> 00:11:08,860 a bydd hyn yn mynd i mi gwerth o "symbol." 261 00:11:08,860 --> 00:11:12,800 Yn JavaScript, mae'n mynd i fod yn union yr un fath, lle y gall Fi jyst yn gwneud hyn. 262 00:11:12,800 --> 00:11:14,850 Yr unig beth sy'n ar goll yw'r arwydd ddoler. 263 00:11:14,850 --> 00:11:17,470 >> Felly yn ddigon 'n glws, yna, mae nid yw pob bod llawer gystrawen newydd. 264 00:11:17,470 --> 00:11:21,025 Felly beth heddiw rydym yn canolbwyntio ar, mewn gwirionedd, yw rhai o'r syniadau a'r ceisiadau. 265 00:11:21,025 --> 00:11:22,900 Ac o'r fath y cyntaf cais eich bod efallai 266 00:11:22,900 --> 00:11:26,090 wedi gweld os ydych yn deifio i mewn i pset saith eisoes cystrawen hwn. 267 00:11:26,090 --> 00:11:28,980 Felly, yn pset saith, os ydych chi wedi gweld neu beidio gweld eto, 268 00:11:28,980 --> 00:11:33,570 yn gwybod fod yna ffeil yr ydym yn rhoi chi o'r enw JavaScript config.json-- 269 00:11:33,570 --> 00:11:34,661 Gwrthrych Nodiant. 270 00:11:34,661 --> 00:11:35,160 Pam? 271 00:11:35,160 --> 00:11:39,540 Rydym eisiau gallu i roi i chi templed gyda rhai parau-werth allweddol. 272 00:11:39,540 --> 00:11:44,290 Rydym eisiau gallu rhoi rhestr i chi y llu, enw'r gweinydd. 273 00:11:44,290 --> 00:11:46,710 Rydym yn awyddus i roi i chi yn dalfan ar gyfer eich enw defnyddiwr 274 00:11:46,710 --> 00:11:48,210 ac yn cadw'r eich cyfrinair. 275 00:11:48,210 --> 00:11:49,410 Os nad ydych yn gweld hyn eto, i beidio â phoeni. 276 00:11:49,410 --> 00:11:51,340 Mwy am hyn yn pset saith [? i'w gweld. ?] Ac wedyn, 277 00:11:51,340 --> 00:11:53,173 yn amlwg, rydym am i chi i lenwi'r i-dos 278 00:11:53,173 --> 00:11:55,310 oherwydd pan fyddwch yn logio i mewn CS50 IDE, bob un ohonoch 279 00:11:55,310 --> 00:11:57,630 gael eich enw defnyddiwr a chyfrinair eich hun. 280 00:11:57,630 --> 00:12:00,910 >> Felly, gallem wedi defnyddio hanner dwsin neu fwy o fformatau ffeil gwahanol. 281 00:12:00,910 --> 00:12:02,940 Gallem fod wedi defnyddio ffeil Txt. 282 00:12:02,940 --> 00:12:04,570 Gallem defnyddio ffeil CSV. 283 00:12:04,570 --> 00:12:06,745 Gallem wedi defnyddio un Ffeil INI, ffeil XML, 284 00:12:06,745 --> 00:12:09,370 criw cyfan mwy acronymau sy'n Efallai nad ydych wedi clywed erioed. 285 00:12:09,370 --> 00:12:11,244 Mae'n fath o mympwyol ar ddiwedd y dydd. 286 00:12:11,244 --> 00:12:16,030 Ond super boblogaidd y dyddiau hyn yn destun fformat a elwir Gwrthrych JSON-- JavaScript 287 00:12:16,030 --> 00:12:18,460 Notation-- sy'n edrych fel hyn. 288 00:12:18,460 --> 00:12:20,890 Mae'n ychydig yn cryptic, ond sylwi ar y patrymau. 289 00:12:20,890 --> 00:12:24,180 Byddwch yn dechrau gyda cyrliog agored Brace, ac rydych yn gorffen gyda'r un. 290 00:12:24,180 --> 00:12:26,550 Y tu mewn o hynny yn rhywbeth. 291 00:12:26,550 --> 00:12:27,920 Mae'n pâr-werth allweddol. 292 00:12:27,920 --> 00:12:30,580 Felly, mae hyn yn wrthrych fy mod gan edrych ar ar y sgrin yma 293 00:12:30,580 --> 00:12:33,690 sydd wedi un allweddol, sydd ag un gwerth. 294 00:12:33,690 --> 00:12:37,610 Ac yn union casglu bod yn seiliedig ar y patrwm blaenorol, beth yw'r allwedd yma? 295 00:12:37,610 --> 00:12:39,790 Cronfa Ddata, y peth i ochr chwith y colon. 296 00:12:39,790 --> 00:12:43,500 >> Yn awr, mae'r gwerth digwydd bod lluosog o linellau y tro hwn. 297 00:12:43,500 --> 00:12:46,760 Ond mae'r gwerth dechrau gyda cyrliog Brace ac yn gorffen gyda brês cyrliog. 298 00:12:46,760 --> 00:12:49,480 Felly beth fyddech chi'n ei gynnig yw'r math o werth y gronfa ddata? 299 00:12:49,480 --> 00:12:52,160 300 00:12:52,160 --> 00:12:54,670 Geiriadur neu, dim ond mwy yn gryno, gwrthrych. 301 00:12:54,670 --> 00:12:55,170 Iawn? 302 00:12:55,170 --> 00:13:00,010 Mae hwn yn fath o strwythur data y Gall defnyddio strwythurau eraill o fewn ei hun. 303 00:13:00,010 --> 00:13:02,750 Felly, os yw hyn holl beth rydym yn alw object-- ac gwrthrych 304 00:13:02,750 --> 00:13:07,101 yn unig yw criw o-werth allweddol pairs-- y gwerth y gronfa ddata ei hun yn wrthrych. 305 00:13:07,101 --> 00:13:10,350 Mae gwerth y gronfa ddata yn cael criw cyfan o barau gwerth allweddol, mae'r cyntaf ohonynt 306 00:13:10,350 --> 00:13:13,130 yn gartref, yna enwi, yna enw defnyddiwr, yna cyfrinair, 307 00:13:13,130 --> 00:13:17,550 mae pob un o'i gwerthoedd, yn y cyfamser, mae'n dim ond llinyn diflas mewn dyfynodau dwbl. 308 00:13:17,550 --> 00:13:19,770 >> Felly hyd yn oed os nad yw hynny'n super glir eto, 309 00:13:19,770 --> 00:13:22,740 gwybod bod hyn yn unig yw safonol, ffordd eithaf ddiflas 310 00:13:22,740 --> 00:13:25,190 o storio data mewn fformat safonol. 311 00:13:25,190 --> 00:13:27,700 Ond mae'r camgymeriadau cyffredin chi Gallai gwneud, hyd yn oed mewn pset saith, 312 00:13:27,700 --> 00:13:32,120 yn ychydig pethau gwirion, fel os ydych yn ddamweiniol hepgorer y coma yno. 313 00:13:32,120 --> 00:13:34,900 Mae hynny'n mynd i arwain at y ffeil nid o reidrwydd fod yn ddarllenadwy. 314 00:13:34,900 --> 00:13:38,191 Os ydych yn ddamweiniol hepgor pethau fel y dyfyniadau, nid yw'n mynd i fod yn ddarllenadwy. 315 00:13:38,191 --> 00:13:41,654 Felly mae'n fformat ffeil 'n bert nitpicky, ond mae'n un sy'n super cyffredin. 316 00:13:41,654 --> 00:13:44,820 Ac rydym yn digwydd i ddefnyddio, hyd yn oed er nad ydych yn defnyddio unrhyw JavaScript fel arall, 317 00:13:44,820 --> 00:13:46,330 yn pset saith. 318 00:13:46,330 --> 00:13:46,860 >> Iawn. 319 00:13:46,860 --> 00:13:48,110 Felly cofiwch y llun hwn. 320 00:13:48,110 --> 00:13:51,657 Rydym yn siarad am, yn HTML, bod gallai'r cod edrych fel hyn. 321 00:13:51,657 --> 00:13:54,740 Mae hyn yn y Markup Language HyperText [Anghlywadwy] am ddim ond "helo, byd." 322 00:13:54,740 --> 00:13:57,570 Ond yna fe wnaethom gynnig sbel yn ôl, os bydd yn helpu, 323 00:13:57,570 --> 00:14:00,210 efallai y byddwch am ddechrau meddwl am hyn eisoes fel coeden. 324 00:14:00,210 --> 00:14:03,730 Yn wir, mae'r mewnoliad yr ydym Defnyddiwch dim ond er mwyn darllenadwyedd yn 325 00:14:03,730 --> 00:14:05,610 neu er mwyn arddull ar gall y chwith math o 326 00:14:05,610 --> 00:14:10,040 yn cael ei gyfieithu i'r goeden hon, lle'r ydych cael rhywfaint o nôd gwraidd arbennig yr ydym chi helpu 327 00:14:10,040 --> 00:14:16,860 elwir yn generig ddogfen, isod sy'n yw'r elfen HTML gwraidd neu dag, HTML, 328 00:14:16,860 --> 00:14:19,980 sydd wedyn wedi dau plant, pen a chorff. 329 00:14:19,980 --> 00:14:21,750 >> Ac yna yn ei dro, pennaeth deitl. 330 00:14:21,750 --> 00:14:23,440 Ac mae teitl werth testun. 331 00:14:23,440 --> 00:14:26,130 Ac yn yr un modd â gwerth corff y testun. 332 00:14:26,130 --> 00:14:29,220 Felly, os ydych yn ddywediad gyfforddus bod ie, gallech gymryd HTML hwn 333 00:14:29,220 --> 00:14:32,080 a thynnu llun yn hoffi hwn, mae'r ochr dde 334 00:14:32,080 --> 00:14:35,910 yn fodel meddyliol 'n glws oherwydd erbyn hyn bod gennym JavaScript, mae rhaglennu 335 00:14:35,910 --> 00:14:39,960 iaith y gall porwyr gweithredu a dehongli ar eich rhan, 336 00:14:39,960 --> 00:14:42,690 mae'n troi allan bod yr hyn rydym chi ar fin ei wneud mewn cod 337 00:14:42,690 --> 00:14:45,320 yn dechrau i drin hwn strwythur coeden er cof. 338 00:14:45,320 --> 00:14:47,070 Nid oes rhaid i ni adeiladu y goeden yn y cof. 339 00:14:47,070 --> 00:14:49,880 Nid oes rhaid i ni wneud rhyw fath o strwythur data pset-pump-arddull 340 00:14:49,880 --> 00:14:50,650 cymhlethdod. 341 00:14:50,650 --> 00:14:54,610 Mae'r porwr, yn ddigon 'n glws, ar dehongli HTML top i'r gwaelod, 342 00:14:54,610 --> 00:14:58,600 chwith neu i'r dde, yn llythrennol yn mynd i llaw i ni yr hyn sy'n cyfateb pwyntydd 343 00:14:58,600 --> 00:15:00,840 at y goeden gyfan ar gyfer rhad ac am ddim. 344 00:15:00,840 --> 00:15:02,150 Mae'n gwneud holl waith caled. 345 00:15:02,150 --> 00:15:05,520 Dyna beth Mozilla ac Afal ac eraill wedi ei wneud i ni. 346 00:15:05,520 --> 00:15:09,400 >> A chyda JavaScript ydym yn mynd i yn gallu rheoli a newid a gwneud 347 00:15:09,400 --> 00:15:12,910 bethau diddorol i y goeden, fel arall yn hysbys 348 00:15:12,910 --> 00:15:15,880 fel DOM neu Model Gwrthrych Dogfennau. 349 00:15:15,880 --> 00:15:17,110 Pa fath o bethau? 350 00:15:17,110 --> 00:15:19,030 Wel, mae'n ymddangos fod yn JavaScript, mae ' 351 00:15:19,030 --> 00:15:22,800 y rhestr golchi dillad o digwyddiadau a all ddigwydd. 352 00:15:22,800 --> 00:15:26,330 Ac nid ydym wedi defnyddio mewn gwirionedd bod gair ers wythnos sero a pset 353 00:15:26,330 --> 00:15:28,240 sero pan buom yn siarad am Scratch. 354 00:15:28,240 --> 00:15:31,390 Mae'r rhan fwyaf ohonoch mae'n debyg nad oedd yn defnyddio ddigwyddiad yn eich prosiect Scratch. 355 00:15:31,390 --> 00:15:33,850 Ond efallai y byddwch yn cofio yr syml Marco Polo 356 00:15:33,850 --> 00:15:36,760 enghraifft, ble cawsom ddau sprites, dywedodd un ohonynt, Marco. 357 00:15:36,760 --> 00:15:40,180 Mae'r llall ohonynt, yna, ar ôl gwrando a chlywed y digwyddiad, dywedodd, Polo. 358 00:15:40,180 --> 00:15:42,080 Os nad yw, mae croeso i chi edrych yn ôl mor bell yn ôl. 359 00:15:42,080 --> 00:15:44,450 >> Ond mae hyn yn unig i ddweud, ac y gallwch math o 360 00:15:44,450 --> 00:15:47,730 casglu o enwau'r rhain pethau, JavaScript, mae'n troi allan, 361 00:15:47,730 --> 00:15:53,200 yn mynd i roi ffordd i wrando ni ar gyfer y llygoden yn mynd i lawr neu lygoden mynd i fyny 362 00:15:53,200 --> 00:15:57,920 neu allweddol yn mynd i lawr neu allweddol mynd i fyny neu onselect onsubmit 363 00:15:57,920 --> 00:15:59,740 neu onresizing rhywbeth. 364 00:15:59,740 --> 00:16:03,060 Mewn geiriau eraill, mae unrhyw gamau corfforol y gall pobl eu cymryd gyda porwr 365 00:16:03,060 --> 00:16:08,210 eich bod yn ei wneud bob dydd, gallwch ysgrifennu cod ar gyfer sy'n gwrando ar gyfer digwyddiadau hynny 366 00:16:08,210 --> 00:16:10,220 ac yna gwneud rhywbeth priodol. 367 00:16:10,220 --> 00:16:14,130 >> Er enghraifft, os ydych yn defnyddio Google Maps, beth sy'n digwydd os ydych yn clicio a symud 368 00:16:14,130 --> 00:16:16,250 llygoden, fel arfer? 369 00:16:16,250 --> 00:16:17,758 Os cliciwch a llusgo? 370 00:16:17,758 --> 00:16:18,258 Yeah? 371 00:16:18,258 --> 00:16:21,701 372 00:16:21,701 --> 00:16:22,200 Yn union. 373 00:16:22,200 --> 00:16:23,159 Mae'r map yn dechrau symud. 374 00:16:23,159 --> 00:16:25,616 Felly, gallwch chi fath o weld beth sydd dros yma, beth sydd dros yno. 375 00:16:25,616 --> 00:16:27,130 A sut mae Google yn gweithredu hynny? 376 00:16:27,130 --> 00:16:29,421 Wel, yn ôl pob tebyg, maen nhw'n gan ddefnyddio un neu ddau o rhain digwyddiad 377 00:16:29,421 --> 00:16:31,720 gwrandawyr, un sy'n yn dweud, gwrando am ar llygoden 378 00:16:31,720 --> 00:16:35,410 down-- felly pan fydd y defnyddiwr yn gorfforol gwthio ei trackpad neu ei llygoden 379 00:16:35,410 --> 00:16:36,010 i lawr. 380 00:16:36,010 --> 00:16:38,350 Ac yna rydym yn chwilio am rhywbeth fel symudiad 381 00:16:38,350 --> 00:16:41,145 neu ryw ddigwyddiad arall sy'n yn ein galluogi i ddal llusgo. 382 00:16:41,145 --> 00:16:45,910 Ac yn wir, llusgo yn yr un modd yn hyn dot dot dot rhestr o ddewisiadau posibl. 383 00:16:45,910 --> 00:16:49,140 >> Felly, mae hyn yn mynd i fod yn bwerus ffordd i ddechrau ymateb i'r defnyddiwr 384 00:16:49,140 --> 00:16:52,824 hyd yn oed cyn iddo mewn gwirionedd yn clicio rhywbeth penodol fel cyflwyno. 385 00:16:52,824 --> 00:16:55,240 Ond rydym ni'n mynd i gyflwyno mae pynciau cwpl i gyrraedd yno. 386 00:16:55,240 --> 00:16:58,570 Ond yn gyntaf, gadewch i bontio i ryw cod gwirioneddol. 387 00:16:58,570 --> 00:17:01,450 Felly, yr wyf i'n mynd i fynd yn ei flaen ac yn agor i fyny dom-0, 388 00:17:01,450 --> 00:17:05,869 sy'n enghraifft syml iawn yma os wyf chwyddo mewn yn syml 389 00:17:05,869 --> 00:17:08,500 Mae mewnbwn hwn yma i mi. 390 00:17:08,500 --> 00:17:12,410 Ac yr wyf i'n mynd i fynd yn ei flaen a deipio i mewn "David" ar gyfer fy enw a chliciwch Anfon. 391 00:17:12,410 --> 00:17:17,940 >> Ac yna, er yn fath o rhad, yr wyf yn gael prydlon hwn sy'n pops i fyny sy'n dweud, 392 00:17:17,940 --> 00:17:19,244 "Helo, David!" 393 00:17:19,244 --> 00:17:21,740 Felly mae hyn yn fath o fel ein "helo, byd" 394 00:17:21,740 --> 00:17:25,150 ein bod wedi gwneud dro yn ôl yn C a hyd yn oed mewn PHP oherwydd fy mod i wedi ddeinamig 395 00:17:25,150 --> 00:17:26,310 outputted fy enw. 396 00:17:26,310 --> 00:17:28,230 Gallaf ei wneud enw rhywun arall yma. 397 00:17:28,230 --> 00:17:31,240 Gallwn yn syml newid hyn i, fel, Hannah, cliciwch Cyflwyno. 398 00:17:31,240 --> 00:17:33,780 Ac yn wir, y newidiadau a pop-up bach. 399 00:17:33,780 --> 00:17:36,650 >> Yn awr, pop-ups yn un o'r y rhan fwyaf o nodweddion cam-drin o'r we. 400 00:17:36,650 --> 00:17:38,520 Ac yn wir, yn ôl yn mae'r atalyddion pop-up dydd 401 00:17:38,520 --> 00:17:40,820 ddaeth i ffasiynol oherwydd eich bod Byddai mynd i ryw website-- 402 00:17:40,820 --> 00:17:43,604 efallai place-- amheus Byddai hynny wedyn yn sydyn 403 00:17:43,604 --> 00:17:46,020 dechrau britho eich sgrîn gyda criw cyfan o pop-ups. 404 00:17:46,020 --> 00:17:49,700 Ac felly y gallu hwn i pop i fyny ffenestri o flaen y defnyddiwr 405 00:17:49,700 --> 00:17:52,372 Nid yw wedi bod yn arbennig -dderbyniad da gan ddynoliaeth. 406 00:17:52,372 --> 00:17:54,080 Felly dyna pam yr ydych yn gweld hyn yn atal peth, 407 00:17:54,080 --> 00:17:55,706 a dim ond gwneud hyn yn holl beth hyll. 408 00:17:55,706 --> 00:17:57,996 Felly rydym yn mynd i angen ffordd well i annog y defnyddiwr. 409 00:17:57,996 --> 00:17:59,350 Ond am nawr, sy'n ymddangos i weithio. 410 00:17:59,350 --> 00:18:03,320 Felly, dim ond reddfol, beth ymddangos i fod yn digwydd yma? 411 00:18:03,320 --> 00:18:07,870 Yr wyf yn mynd yn ei flaen a chliciwch Anfon, a Yna, rhywbeth sy'n digwydd, yn amlwg. 412 00:18:07,870 --> 00:18:12,870 Ond nid yr hyn sy'n digwydd bod yn digwydd wythnos diwethaf unrhyw adeg wyf yn clicio Anfon? 413 00:18:12,870 --> 00:18:15,940 Yr hyn nad oedd yn digwydd ar y sgrin? 414 00:18:15,940 --> 00:18:17,170 Mae'n ddrwg gennym? 415 00:18:17,170 --> 00:18:18,010 Ail-lwytho. 416 00:18:18,010 --> 00:18:19,720 Nid oedd y URL yn newid o gwbl. 417 00:18:19,720 --> 00:18:22,250 Dywedais hyn yn dom-0, ac rwy'n dal i fod yn dom-0. 418 00:18:22,250 --> 00:18:26,890 Fel arfer, byddem yn cael ei newid i rai eraill URL, fel register.php neu debyg. 419 00:18:26,890 --> 00:18:29,560 >> Ond hyd yn oed pan gwrthodaf y peth hyn trwy glicio OK, 420 00:18:29,560 --> 00:18:32,310 sylwi bod yr URL aros eu rhoi yn gyfan gwbl. 421 00:18:32,310 --> 00:18:35,350 Ac, yn wir, os ydw i'n ychydig yn amheus, gadewch i mi agor i fyny Chrome. 422 00:18:35,350 --> 00:18:36,860 Gadewch i mi agor y tab Rhwydwaith. 423 00:18:36,860 --> 00:18:38,360 Ac yn sylwi ei fod yn wag ar hyn o bryd. 424 00:18:38,360 --> 00:18:40,700 Gadewch i mi fynd yn ei flaen ac yn ailgyflwyno Maria. 425 00:18:40,700 --> 00:18:42,810 Does dim traffig rhwydwaith o gwbl. 426 00:18:42,810 --> 00:18:44,320 Felly does dim HTTP. 427 00:18:44,320 --> 00:18:47,620 >> Felly yn wir, os wyf yn edrych ar y cod ffynhonnell i this-- gadewch i mi gau'r ffenestr hon 428 00:18:47,620 --> 00:18:49,480 ac yn mynd i View Ffynhonnell. 429 00:18:49,480 --> 00:18:50,400 Diddorol. 430 00:18:50,400 --> 00:18:53,520 Mae'n edrych fel mae rhywfaint tagiau newydd, yn eu plith sgript. 431 00:18:53,520 --> 00:18:57,490 Felly, gadewch i ni edrych yn CS50 IDE yn union yr hyn yr wyf anfon at y defnyddiwr. 432 00:18:57,490 --> 00:19:00,690 >> Felly dyma yw-- gadewch i ni canolbwyntio ar y HTML yn unig. 433 00:19:00,690 --> 00:19:03,500 Dyma hanner isaf dom-0.html. 434 00:19:03,500 --> 00:19:07,830 Ac yn sylwi bod 'i' got deitl, tag pen, tag corff, ffurflen tag. 435 00:19:07,830 --> 00:19:11,257 Ond beth yn neidio allan i chi fel yn wahanol, yn enwedig os ydych erioed wedi 436 00:19:11,257 --> 00:19:12,590 ysgrifennu unrhyw JavaScript eich hun. 437 00:19:12,590 --> 00:19:14,920 Gadewch i mi sgrolio ychydig i'r dde yma. 438 00:19:14,920 --> 00:19:18,330 Mae gen mewnbwn, mewnbwn arall ar gyfer cyflwyno. 439 00:19:18,330 --> 00:19:21,410 Mae gen i adnabod, sydd yn fath o newydd. 440 00:19:21,410 --> 00:19:22,790 Ond rydym yn gweld hyn gyda CSS. 441 00:19:22,790 --> 00:19:24,480 Beth arall sydd bendant yn newydd? 442 00:19:24,480 --> 00:19:24,980 Yeah? 443 00:19:24,980 --> 00:19:30,580 444 00:19:30,580 --> 00:19:32,140 Nice. 445 00:19:32,140 --> 00:19:32,760 >> Iawn. 446 00:19:32,760 --> 00:19:35,630 Felly, lle mae'n dweud onsubmit, sylwi ar yr hyn sy'n ymddangos i ddilyn. 447 00:19:35,630 --> 00:19:38,740 Mae hon yn nodwedd yn HTML gyfundrefn enwau. 448 00:19:38,740 --> 00:19:40,944 Mae ei gwerth yn y llinyn a ddyfynnir yma. 449 00:19:40,944 --> 00:19:42,860 Ac mae hyn yn edrych ychydig yn rhyfedd ar yr olwg gyntaf. 450 00:19:42,860 --> 00:19:44,050 Dyw hi ddim yn HTML. 451 00:19:44,050 --> 00:19:45,240 Nid yw'n CSS. 452 00:19:45,240 --> 00:19:47,580 Mae hyn, fel y byddech yn dyfalu, JavaScript. 453 00:19:47,580 --> 00:19:51,850 Felly, mae'n ymddangos bod ei adeiladu i mewn i hyn tudalen ar y we yn swyddogaeth o'r enw Cyfarch. 454 00:19:51,850 --> 00:19:54,250 A dwi'n casglu bod hynny yn unig am ei fod yn air, cyfarch. 455 00:19:54,250 --> 00:19:55,880 Mae'n got an paren agored, paren agos, hanner colon. 456 00:19:55,880 --> 00:19:58,095 Edrych fel swyddogaeth C, edrych yn debyg i swyddogaeth PHP. 457 00:19:58,095 --> 00:20:00,370 >> Ac yn wir, mae'n mynd i yn swyddogaeth JavaScript. 458 00:20:00,370 --> 00:20:01,440 Yna i ddim yn dychwelyd ffug. 459 00:20:01,440 --> 00:20:03,440 Byddwn yn dod yn ôl at hynny mewn dim ond hyn o bryd. 460 00:20:03,440 --> 00:20:05,320 Ond lle mae swyddogaeth hon diffinnir? 461 00:20:05,320 --> 00:20:07,950 Wel gadewch i mi sgrolio i fyny i frig y ffeil. 462 00:20:07,950 --> 00:20:11,710 A hyd yn oed er 'i' linell hir, mae'n gymharol syml. 463 00:20:11,710 --> 00:20:15,000 Gadewch i mi chwyddo allan yma ac canolbwyntio ar y pedair llinell. 464 00:20:15,000 --> 00:20:17,137 >> Felly, yn JavaScript, dim ond fel PHP, 'ch jyst 465 00:20:17,137 --> 00:20:19,720 dyweder, yn llythrennol, y gair "swyddogaeth," enw'r swyddogaeth, 466 00:20:19,720 --> 00:20:22,700 ac yna cromfachau gydag unrhyw arguments-- unrhyw ddadleuon yn yr achos hwn. 467 00:20:22,700 --> 00:20:25,290 A does dim math dychwelyd yn JavaScript, yn union fel PHP. 468 00:20:25,290 --> 00:20:29,470 Felly mae'n ychydig yn fwy llac na C. Brace cyrliog Agored, Brace cyrliog agos. 469 00:20:29,470 --> 00:20:33,270 Adeiladu i mewn JavaScript yn function-- Nid yw function-- argymhellir 470 00:20:33,270 --> 00:20:35,730 ond swyddogaeth o'r enw effro a'i unig bwrpas mewn bywyd 471 00:20:35,730 --> 00:20:38,620 yw i dynnu i fyny 'n bert sy'n hyll ysgogi ein bod yn gweld eiliad yn ôl. 472 00:20:38,620 --> 00:20:40,950 >> Nawr mae hyn yn fath o lond ceg. 473 00:20:40,950 --> 00:20:42,560 Beth sy'n mynd ymlaen fan hyn? 474 00:20:42,560 --> 00:20:45,840 Felly gadewch i ni ddechrau i tynnu sylw at bopeth yma. 475 00:20:45,840 --> 00:20:48,540 Dyna yr un ddadl i roi gwybod. 476 00:20:48,540 --> 00:20:49,530 A beth sy'n digwydd? 477 00:20:49,530 --> 00:20:51,200 Mae hyn yn unig yn edrych fel llinyn. 478 00:20:51,200 --> 00:20:59,180 Ac mae'n troi allan, yn wahanol PHP ac yn wahanol C, does dim ots ym JavaScript 479 00:20:59,180 --> 00:21:01,090 os ydych dyfyniadau sengl neu dyfynodau dwbl. 480 00:21:01,090 --> 00:21:02,060 Byddant yn gyfwerth. 481 00:21:02,060 --> 00:21:03,769 Ac yn dweud y gwir, 'i' jyst boblogaidd y dyddiau hyn 482 00:21:03,769 --> 00:21:06,726 ar gyfer rhaglenwyr Javascript i'w bob amser Defnyddiwch dyfynodau sengl am ryw reswm. 483 00:21:06,726 --> 00:21:07,840 Dim ond y peth i'w wneud. 484 00:21:07,840 --> 00:21:09,710 Ond gallem ddefnyddio dyfynodau dwbl, yn ogystal. 485 00:21:09,710 --> 00:21:11,540 >> Felly a mwy yn gymeriad newydd. 486 00:21:11,540 --> 00:21:14,512 Ond y rhai ohonoch sy'n wedi ei wneud hyn o'r blaen, beth mae plws yn ei olygu? 487 00:21:14,512 --> 00:21:16,440 Yeah. 488 00:21:16,440 --> 00:21:17,120 Concatenate. 489 00:21:17,120 --> 00:21:18,570 Felly, rydym yn gweld hyn yn PHP. 490 00:21:18,570 --> 00:21:20,315 Mae yna dim ond y dot gweithredwr yn PHP sy'n 491 00:21:20,315 --> 00:21:22,000 Bydd concatenate dau llinynnau at ei gilydd. 492 00:21:22,000 --> 00:21:24,000 C yn boen yn y gwddf i wneud hyn. 493 00:21:24,000 --> 00:21:27,310 Dwyn i gof o pset chwech, a oedd mae poen neilltuol yn y gwddf, 494 00:21:27,310 --> 00:21:29,470 byddai'n rhaid i chi ddefnyddio rhywbeth fel strcat 495 00:21:29,470 --> 00:21:31,660 ar ôl dyrannu cof ar y pentwr neu'r domen. 496 00:21:31,660 --> 00:21:34,243 Bu'n rhaid i chi neidio drwy gylchoedd dim ond i concatenate dau llinynnau. 497 00:21:34,243 --> 00:21:36,040 Yn JavaScript, 'i' super syml. 498 00:21:36,040 --> 00:21:38,030 Defnyddiwch y gweithredwr a mwy rhyngddynt. 499 00:21:38,030 --> 00:21:41,420 >> Felly mae'r cymhleth-edrych beth yn ymddangos i fod hwn 500 00:21:41,420 --> 00:21:43,490 oherwydd ar ddiwedd y y llinyn cyfan, Fi jyst 501 00:21:43,490 --> 00:21:45,797 concatenate ar bwynt ebychnod. 502 00:21:45,797 --> 00:21:48,380 Felly, os yw'r hyn oedd yn neidio i fyny ei "Hello, David," "hello, Hannah," 503 00:21:48,380 --> 00:21:52,740 "Hello, Maria," ac yn y blaen, yn amlwg y peth canol rhwng y ddau 504 00:21:52,740 --> 00:21:55,215 Rhaid pwyntiau cadarnhaol yn rhoi mynediad at yr hyn i mi? 505 00:21:55,215 --> 00:21:58,855 506 00:21:58,855 --> 00:22:01,991 Beth sydd yn yno yn sicr? 507 00:22:01,991 --> 00:22:02,490 Yeah. 508 00:22:02,490 --> 00:22:05,090 Felly byddaf yn esgus yma y ateb eu henw, dde? 509 00:22:05,090 --> 00:22:10,380 Felly eu henw popped i fyny yn y rownd derfynol canlyniad. Felly beth mae hyn yn ei olygu? 510 00:22:10,380 --> 00:22:15,080 Wel, yr wyf cynnig yn gynharach yn y llun y mae'r hyn a elwir yn DOM 511 00:22:15,080 --> 00:22:18,580 Mae gan yr elfen hon gwraidd arbennig ffordd i fyny a elwir yn ddogfen top. 512 00:22:18,580 --> 00:22:21,660 Ac yn awr, mae'n troi allan, sy'n mynd i fod yn newidyn byd-eang arbennig 513 00:22:21,660 --> 00:22:25,250 yn JavaScript, a adeiladwyd i mewn i sydd yn criw cyfan o swyddogaethau defnyddiol. 514 00:22:25,250 --> 00:22:31,770 Ymhlith y swyddogaeth ddefnyddiol yw'r y gallu i gyrraedd unrhyw nod ddisgynyddion. 515 00:22:31,770 --> 00:22:37,760 Sgwariau neu petryalau neu elipsau Mae'r rhai yn unig nodau mewn coeden, fel petai. 516 00:22:37,760 --> 00:22:41,850 >> Felly, mae'n ymddangos bod hadeiladu i mewn JavaScript ddogfen gwrthrych 517 00:22:41,850 --> 00:22:47,300 yn swyddogaeth, a elwir fel arall yn dull, sy'n cael ei alw getElementById. 518 00:22:47,300 --> 00:22:50,410 Mae cystrawen ar gyfer galw swyddogaeth yn JavaScript 519 00:22:50,410 --> 00:22:55,220 hynny yw tu mewn gwrthrych neu newidyn yn unig gyda'r dot nodiant. 520 00:22:55,220 --> 00:22:57,950 Ac rydym yn gweld hyn yn C yr hyn y mae'r gystrawen struct. 521 00:22:57,950 --> 00:23:03,530 Byddwch yn gweld hyn yn pset saith, math o, math o, pan fyddwch yn gweld CS50 :: ymholiad. 522 00:23:03,530 --> 00:23:08,070 Mae'r colon colon yn PHP yn un arall ffordd o alw swyddogaeth sy'n 523 00:23:08,070 --> 00:23:09,260 tu mewn ryw wrthrych. 524 00:23:09,260 --> 00:23:11,960 >> Ond am nawr yn JavaScript, 'i' jyst dot. 525 00:23:11,960 --> 00:23:14,170 Ac felly y swyddogaeth hon, ddigon braf, math o 526 00:23:14,170 --> 00:23:16,810 dweud beth does-- ei gael elfen trwy adnabod. 527 00:23:16,810 --> 00:23:20,280 Un elfen yn unig yw enw arall ar gyfer tag neu nod yn y DOM. 528 00:23:20,280 --> 00:23:26,900 Ac felly cael elfen erbyn ID "Enw" golygu this-- dyma fy HTML. 529 00:23:26,900 --> 00:23:31,910 Ac yn seiliedig ar HTML hwn, beth nod neu beth HTML tag ydw i 530 00:23:31,910 --> 00:23:35,097 mynd i fod yn llawdrwm programmatically drwy ffonio document.getElementById? 531 00:23:35,097 --> 00:23:37,650 532 00:23:37,650 --> 00:23:38,500 >> Yeah, yn union. 533 00:23:38,500 --> 00:23:42,670 Rydw i'n mynd i gael y mewnbwn Elfen yno y mae eu ID yw "enw." 534 00:23:42,670 --> 00:23:45,140 Felly yn benodol, gallwch meddwl am y swyddogaeth hon, 535 00:23:45,140 --> 00:23:49,560 getElementById, fel ffordd o roi yn ôl i'r pwyntydd y nod penodol 536 00:23:49,560 --> 00:23:50,060 yn y goeden. 537 00:23:50,060 --> 00:23:51,980 Nid ydym wedi tynnu hyn coeden, ond mae'n ffordd 538 00:23:51,980 --> 00:23:54,900 o gael mynediad at y petryal neu fod betryal 539 00:23:54,900 --> 00:23:58,090 drwy nodi ei fod unigryw drwy ei adnabod. 540 00:23:58,090 --> 00:23:59,760 >> Yn awr, pam mae hon yn ddefnyddiol? 541 00:23:59,760 --> 00:24:01,510 Wel, mae'n troi allan bod unwaith y byddwch wedi gotten 542 00:24:01,510 --> 00:24:07,220 hynny nôd, sy'n betryal o'r llun, y nod tu mewn iddo, 543 00:24:07,220 --> 00:24:10,660 yn ei dro, mae criw cyfan o parau-werth allweddol properties-- 544 00:24:10,660 --> 00:24:13,480 neu ddata, gelwir un ohonynt werth. 545 00:24:13,480 --> 00:24:16,500 Felly llythrennol, mae'n fath o lond ceg i esbonio'r holl beth. 546 00:24:16,500 --> 00:24:19,370 Ond ar ddiwedd y dydd, i gyd mae hyn yn ei wneud yw rhoi i chi 547 00:24:19,370 --> 00:24:23,070 llinyn y mae'r defnyddiwr deipio mewn yn y ffasiwn hierarchaidd. 548 00:24:23,070 --> 00:24:24,820 Ond dwi ddim yn hoffi cwpl o'r pethau hyn. 549 00:24:24,820 --> 00:24:27,590 Neu yn hytrach, mae rhywfaint o chwilfrydedd o hyd. 550 00:24:27,590 --> 00:24:28,870 Mae hynny i gyd yn ymddangos i weithio. 551 00:24:28,870 --> 00:24:33,420 Pam ydych chi'n meddwl dychwelais ffug ar ôl galw cyfarch? 552 00:24:33,420 --> 00:24:35,910 Mae hwn yn edrych ychydig yn hyll, bod Mae gen i ddau ddatganiad yno 553 00:24:35,910 --> 00:24:38,730 gwahanu gan hanner colon. 554 00:24:38,730 --> 00:24:39,310 Dyfalwch chi. 555 00:24:39,310 --> 00:24:44,390 Os byddaf yn symud yn dychwelyd ffug, beth allai ddigwydd, dim ond reddfol? 556 00:24:44,390 --> 00:24:46,990 557 00:24:46,990 --> 00:24:49,460 Mae'n ddrwg gennym, dywedwch eto? 558 00:24:49,460 --> 00:24:50,530 >> Agorwch bagad o Windows. 559 00:24:50,530 --> 00:24:52,780 Felly o bosibl efallai rhywbeth fel y byddai hynny'n digwydd. 560 00:24:52,780 --> 00:24:54,422 Beth arall? 561 00:24:54,422 --> 00:24:55,630 A allai cyflwyno cais ble? 562 00:24:55,630 --> 00:24:59,109 563 00:24:59,109 --> 00:25:00,510 I'r un dudalen. 564 00:25:00,510 --> 00:25:03,110 Felly, mewn gwirionedd, dyna bod mae'r ateb yn nes yma, 565 00:25:03,110 --> 00:25:05,890 hyd yn oed er, yn wahanol yn y gorffennol, nid wyf i wedi 566 00:25:05,890 --> 00:25:09,300 nodir y priodoledd gweithredu, sydd fel arfer mae'n rhaid i ni ei wneud. 567 00:25:09,300 --> 00:25:11,780 Troi allan yna diofyn. Os nad ydych yn nodi camau gweithredu, 568 00:25:11,780 --> 00:25:15,370 mae fel dweud dyfyniad, unquote neu enw'r ffeil ei hun, 569 00:25:15,370 --> 00:25:17,850 sydd yn yr achos byddai fod fel dom-0.html. 570 00:25:17,850 --> 00:25:20,420 'I jyst fath o wedi casglu, neu yn hytrach ymhlyg. 571 00:25:20,420 --> 00:25:22,420 >> Ac felly os nad wyf yn gwneud hyn, gadewch i ni sylwi. 572 00:25:22,420 --> 00:25:23,230 Gadewch i mi arbed hyn. 573 00:25:23,230 --> 00:25:25,270 Ac yr wyf wedi tynnu dychwelyd ffug. 574 00:25:25,270 --> 00:25:27,759 Gadewch i mi fynd yn ôl at hyn enghraifft a grym ail-lwytho ynddo. 575 00:25:27,759 --> 00:25:30,800 Ac efallai y byddwch wedi fy ngweld yn awgrymu mae hyn ar CS50 Trafod bagad o weithiau. 576 00:25:30,800 --> 00:25:34,560 Os bydd unrhyw beth wedi erioed actio ffynci a'r Nid yw porwr sy'n ymddwyn fel y byddech yn disgwyl, 577 00:25:34,560 --> 00:25:37,410 oftentimes youll 'angen at gynnal Shift ac yna cliciwch Reload. 578 00:25:37,410 --> 00:25:41,480 Bydd hynny'n gorfodi pob ffeil i ail-lwytho ac â defnyddio cache lleol eich porwr 579 00:25:41,480 --> 00:25:47,032 neu gopi fel bod yn awr, gadewch i mi fynd yn ei flaen ac agor fy Arolygwr, mae'r tab Rhwydwaith. 580 00:25:47,032 --> 00:25:48,740 Rydw i'n mynd i glicio Cadw Log oherwydd fy mod 581 00:25:48,740 --> 00:25:51,660 nid ydynt am iddo ddileu'r rhesi ar ôl i mi gael cludo i ffwrdd i rywle arall. 582 00:25:51,660 --> 00:25:54,650 >> Gadewch i mi fynd yn ei flaen yma ac teipiwch Andi, cliciwch Cyflwyno. 583 00:25:54,650 --> 00:25:55,150 Iawn. 584 00:25:55,150 --> 00:25:56,480 Mae hynny'n ymddangos yn ôl y disgwyl. 585 00:25:56,480 --> 00:25:57,440 Mae'n dweud "helo, Andi." 586 00:25:57,440 --> 00:25:59,420 Gadewch i mi cliciwch OK. 587 00:25:59,420 --> 00:26:00,610 Diddorol. 588 00:26:00,610 --> 00:26:05,100 Sylwch fod y dudalen wedi newid, er i'r dudalen wreiddiol. 589 00:26:05,100 --> 00:26:06,770 Sylwch ar y URL math o newid. 590 00:26:06,770 --> 00:26:09,430 Mae'n ychwanegu marc cwestiwn, sydd yn ddangosydd fel arfer 591 00:26:09,430 --> 00:26:11,260 ein bod yn ceisio cyflwyno rhywbeth. 592 00:26:11,260 --> 00:26:13,570 Ac yna ar y gwaelod, hyd yn oed yn fwy penodol, 593 00:26:13,570 --> 00:26:17,570 dyma yw'r cais HTTP gwirioneddol, a gafodd ymateb o 200 sydd 594 00:26:17,570 --> 00:26:18,490 dod â fi yn ôl yma. 595 00:26:18,490 --> 00:26:20,250 >> Felly nid beth mae hyn yn rydym am ei wneud, dde? 596 00:26:20,250 --> 00:26:22,166 Oherwydd nad wyf am ail-lwytho'r dudalen gyfan. 597 00:26:22,166 --> 00:26:24,970 Rwyf yn lle hynny eisiau dychwelyd ffug er mwyn cylched byr 598 00:26:24,970 --> 00:26:28,840 ymddygiad diofyn y porwr, a oedd yn oedd, wrth gwrs, i gyflwyno'r dudalen. 599 00:26:28,840 --> 00:26:31,700 >> Felly, gadewch i ni edrych ar enghraifft ychydig yn well. 600 00:26:31,700 --> 00:26:33,920 Mae hwn yn fersiwn dom un. 601 00:26:33,920 --> 00:26:36,680 Ac yn sylwi ar y canlynol. 602 00:26:36,680 --> 00:26:39,150 Mae'n iawn os nad ydych yn grok pob un o'r linellau o god. 603 00:26:39,150 --> 00:26:41,750 Ond beth yn sylfaenol wahanol am weithrediad hwn? 604 00:26:41,750 --> 00:26:44,690 'N annhymerus' yn pennu y mae'n ymddwyn un fath, yn gwneud yr un peth. 605 00:26:44,690 --> 00:26:49,320 606 00:26:49,320 --> 00:26:51,570 Beth ydw i yn amlwg wneud yn wahanol? 607 00:26:51,570 --> 00:26:52,266 Yeah? 608 00:26:52,266 --> 00:26:53,182 >> GYNULLEIDFA: [Anghlywadwy]. 609 00:26:53,182 --> 00:27:03,421 610 00:27:03,421 --> 00:27:04,170 DAVID Malan: Yeah. 611 00:27:04,170 --> 00:27:08,620 Felly y swyddogaeth yn cael ei ddiffinio differently-- mewn geiriau eraill, yn absennol o'r ffurflen, 612 00:27:08,620 --> 00:27:13,180 i fyny yno ar linell 7-- neu yn hytrach, llinell 8-- bellach 613 00:27:13,180 --> 00:27:15,070 mae gen i'r priodoledd onsubmit. 614 00:27:15,070 --> 00:27:16,750 Yn yr enghraifft flaenorol, roedd hwn rwyf. 615 00:27:16,750 --> 00:27:18,530 Ac yna yr wyf yn llythrennol ysgrifennais fy cod yma. 616 00:27:18,530 --> 00:27:20,210 Ac yna y dywedais yn dychwelyd ffug. 617 00:27:20,210 --> 00:27:22,180 Ac os nad oedd yn rhwbio chi y ffordd anghywir eto, 618 00:27:22,180 --> 00:27:26,140 dylai ddechrau i'r graddau fel, yn union fel yn HTML, 619 00:27:26,140 --> 00:27:29,530 pan ddechreuon ni i gyd-gymysgu ei gyda CSS mewn priodoleddau arddull, 620 00:27:29,530 --> 00:27:32,890 'i jyst dechrau cael ychydig anniben neu'n teimlo ychydig yn anghywir. 621 00:27:32,890 --> 00:27:35,020 >> Yn yr un modd yma, os byddwch yn dechrau cymryd HTML, 622 00:27:35,020 --> 00:27:37,419 ac yna rydych yn awtomatig sw n plopian rhywfaint cod JavaScript 623 00:27:37,419 --> 00:27:40,460 yng nghanol y llinyn a ddyfynnir, 'i' Nid yw mynd i fod chynnal a'i chadw iawn. 624 00:27:40,460 --> 00:27:40,630 Iawn? 625 00:27:40,630 --> 00:27:43,690 Nid yw'n hyd yn oed yn amlwg ar y dechrau gosod ble y cod JavaScript yw. 626 00:27:43,690 --> 00:27:46,590 Felly byddai'n neis iawn fel egwyddor o ddyluniad gwell, 627 00:27:46,590 --> 00:27:50,500 gadewch i ni gadw ein HTML yn gyfan gwbl gwahanu oddi wrth ein JavaScript. 628 00:27:50,500 --> 00:27:53,150 >> Felly, i wneud hynny, yr hyn rydym wedi wneud yma yw'r canlynol-- 629 00:27:53,150 --> 00:27:56,790 rydym yn syml yn defnyddio HTML ar gyfer markup yn unig. 630 00:27:56,790 --> 00:28:00,730 Ac felly yn y fersiwn un o hyn, i gyd Mae gen i yn fath gyda ID unigryw. 631 00:28:00,730 --> 00:28:04,630 Ac yna i lawr yma, Rwy'n cymryd mantais o nodwedd arbennig o JavaScript 632 00:28:04,630 --> 00:28:08,480 lle y gallaf gael yr hyn sydd Gelwir swyddogaeth dienw. 633 00:28:08,480 --> 00:28:14,150 Felly, mae'n troi allan bod os byddaf yn galw document.getElementById o 'demo' 634 00:28:14,150 --> 00:28:18,890 hynny fel rhoi pwyntydd i mi nod hwn yn fy coeden, yr elfen ffurf, 635 00:28:18,890 --> 00:28:20,100 fel petai. 636 00:28:20,100 --> 00:28:22,220 >> Yn awr, Fi jyst yn gwybod o gan wybod ychydig o HTML 637 00:28:22,220 --> 00:28:26,330 yn awr rydym yn ar ôl darllen rhai ar-lein cyfeirio, mai elfen ffurflen cefnogi 638 00:28:26,330 --> 00:28:29,950 criw cyfan o listeners-- ddigwyddiad yn geiriau eraill, mae'r rhestr golchi dillad o ddigwyddiad 639 00:28:29,950 --> 00:28:31,700 gwrandawyr a welsom funud yn ôl. 640 00:28:31,700 --> 00:28:35,950 Yr wyf yn gwybod o ddarllen y ddogfennaeth hynny onsubmit yn ddigwyddiad dilys 641 00:28:35,950 --> 00:28:38,520 gwrandäwr ar gyfer elfen ffurflen. 642 00:28:38,520 --> 00:28:41,480 >> Felly, ar ôl i mi yn gwybod bod, ei fod yn ddiogel i mi wneud 643 00:28:41,480 --> 00:28:45,390 o'r canlynol-- cael y nod oddi wrth y goeden, yr elfen ffurf, 644 00:28:45,390 --> 00:28:48,070 a mynediad ei hyn a elwir yn eiddo onsubmit. 645 00:28:48,070 --> 00:28:49,880 Felly, y dot yn unig yn golygu mae hwn yn eiddo, 646 00:28:49,880 --> 00:28:52,180 fel gwerth arbennig tu mewn iddo. 647 00:28:52,180 --> 00:28:55,590 A pha fath o ddata ydw i aseinio, mae'n debyg, 648 00:28:55,590 --> 00:28:58,900 i onsubmit, sef effeithiol newidyn y tu mewn 649 00:28:58,900 --> 00:29:01,010 o'r nod yn y goeden? 650 00:29:01,010 --> 00:29:04,100 Mae'n faes y tu mewn o hynny struct. 651 00:29:04,100 --> 00:29:05,810 Beth yw y math data? 652 00:29:05,810 --> 00:29:07,030 >> Mae swyddogaeth, yeah. 653 00:29:07,030 --> 00:29:08,607 Felly, mae'n ymddangos bod PHP wedi hyn. 654 00:29:08,607 --> 00:29:10,440 A hyd yn oed er ein bod Nid oedd yn dweud wrthych am y peth, 655 00:29:10,440 --> 00:29:16,240 Mae gan C awgrymiadau swyddogaeth, mae'r y gallu i basio a neilltuo swyddogaethau 656 00:29:16,240 --> 00:29:18,330 fel gwerthoedd newidynnau 'eu hunain. 657 00:29:18,330 --> 00:29:20,280 Ac nid ydym yn mynd i llithro'n ôl yn ôl i C. 658 00:29:20,280 --> 00:29:23,250 Ond am nawr, mae'n ymddangos fod ar yr ochr dde yma, 659 00:29:23,250 --> 00:29:26,260 hyd yn oed er ei fod yn edrych ychydig yn ffynci, fodd hon, hey porwr, 660 00:29:26,260 --> 00:29:27,550 rhoi swyddogaeth mi. 661 00:29:27,550 --> 00:29:30,560 Dydw i ddim yn mynd i hyd yn oed yn trafferthu rhoi ei enw oherwydd fy mod yn llythrennol 662 00:29:30,560 --> 00:29:34,450 mynd i neilltuo gadewch i ni ei alw y cyfeiriad y swyddogaeth hon 663 00:29:34,450 --> 00:29:35,994 unwaith i onsubmit. 664 00:29:35,994 --> 00:29:39,160 Mewn geiriau eraill, porwr, nid oes angen i chi i wybod beth y swyddogaeth hon ei alw. 665 00:29:39,160 --> 00:29:41,890 'Ch jyst angen i chi ei wybod lle y mae yn gof. 666 00:29:41,890 --> 00:29:44,210 Ac felly mae'n suffices dim ond i cael hafalnod yno 667 00:29:44,210 --> 00:29:48,240 ac i beidio â trafferthu enwi hyn, fel foo neu gyfarch neu unrhyw air arall. 668 00:29:48,240 --> 00:29:50,150 Ac yn awr mae hyn yn unig yw beth arddull. 669 00:29:50,150 --> 00:29:53,100 Gallwn symud y Brace cyrliog ymlaen the-- llinell nesaf sorry-- 670 00:29:53,100 --> 00:29:54,750 fel rydym fel arfer yn gwneud CS50. 671 00:29:54,750 --> 00:29:57,550 Ond yn JavaScript, 'i' mewn gwirionedd arddull gyffredin 672 00:29:57,550 --> 00:30:00,450 i ychydig gadw'r Brace cyrliog, mae'r un cyntaf, ar y llinell gyntaf. 673 00:30:00,450 --> 00:30:02,620 >> Ond o hyn ymlaen, mae dim byd diddorol. 674 00:30:02,620 --> 00:30:05,830 Bod Brace cyrliog agored yn unig tynnu llinell rhwng ddechrau fy swyddogaeth. 675 00:30:05,830 --> 00:30:09,320 Mae'r swyddogaeth yn awr union yr un fath, ac eithrio fy mod i wedi 676 00:30:09,320 --> 00:30:11,452 yn cynnwys y ffug yn dychwelyd tu mewn swyddogaeth hon. 677 00:30:11,452 --> 00:30:13,160 Oherwydd ei fod yn troi out-- ac y byddech yn unig 678 00:30:13,160 --> 00:30:14,980 yn gwybod hyn o ddarllen y documentation-- 679 00:30:14,980 --> 00:30:19,740 os bydd y swyddogaeth yr ydych yn neilltuo i'r trafodwr onsubmit yn dychwelyd ffug, 680 00:30:19,740 --> 00:30:23,420 y porwr yn unig yn gwybod ac yn cytuno i beidio â chyflwyno ffurflen i weinydd. 681 00:30:23,420 --> 00:30:27,210 Os mae'n dychwelyd yn wir, bydd yn cyflwyno i weinydd am resymau byddwn yn gweld 682 00:30:27,210 --> 00:30:28,700 yn ddefnyddiol mewn dim ond hyn o bryd. 683 00:30:28,700 --> 00:30:31,000 >> Ac yna y hanner colon ar ôl y Brace cyrliog yno yn unig 684 00:30:31,000 --> 00:30:32,541 yn golygu dwi'n ei wneud diffinio'r swyddogaeth. 685 00:30:32,541 --> 00:30:36,600 Rydych yn gwybod beth i'w alw cyn gynted fel y byddwch yn clywed cyflwyniad. 686 00:30:36,600 --> 00:30:37,100 Iawn. 687 00:30:37,100 --> 00:30:40,650 Mae hyn yn dal i fod yn dadlau fath o hyll. 688 00:30:40,650 --> 00:30:42,190 Felly, beth yn rhagor y gallwn ei wneud? 689 00:30:42,190 --> 00:30:45,000 >> Wel, mae'n troi allan yna yn fersiwn dau, sef y last-- 690 00:30:45,000 --> 00:30:46,780 ac rydym annhymerus dim ond cipolwg ar hyn. 691 00:30:46,780 --> 00:30:49,850 Ar y risg o wneud mae'n uglier, mae'n troi allan 692 00:30:49,850 --> 00:30:52,160 fod yna llyfrgell mewn y byd o'r enw jQuery. 693 00:30:52,160 --> 00:30:54,900 A jQuery yn super Llyfrgell JavaScript poblogaidd 694 00:30:54,900 --> 00:30:57,930 dyna mor boblogaidd fel bod y rhan fwyaf o unrhyw JavaScript-- nid yw'n 695 00:30:57,930 --> 00:31:00,540 anghyffredin i bobl i ddrysu jQuery gyda JavaScript. 696 00:31:00,540 --> 00:31:01,070 Pam? 697 00:31:01,070 --> 00:31:04,990 JavaScript ei hun iawn ffyrdd amleiriog o wneud things-- 698 00:31:04,990 --> 00:31:07,820 document.getElementById, dadadadadada. 699 00:31:07,820 --> 00:31:10,510 Byddwch yn cael iawn llinellau hir o god. 700 00:31:10,510 --> 00:31:15,550 >> Felly yn gymrawd o'r enw John Resid, sydd mewn gwirionedd yn gweithio i startup 701 00:31:15,550 --> 00:31:18,630 i fyny y dyddiau hyn, daeth allan gyda'r llyfrgell hon flynyddoedd 702 00:31:18,630 --> 00:31:22,070 yn ôl bod llawer o bobl wedi cyfrannu i alw jQuery sy'n newid 703 00:31:22,070 --> 00:31:23,449 gystrawen yn y modd canlynol. 704 00:31:23,449 --> 00:31:25,740 Ac yn union fel eich bod wedi gweld hyn, oherwydd wnewch chi helpu yn ddieithriad 705 00:31:25,740 --> 00:31:28,140 gweld hyn os gwneud prosiect terfynol ar y we, 706 00:31:28,140 --> 00:31:33,270 byddai hyn yn ffordd sy'n cyfateb i gweithredu yr un swyddogaeth ddefnyddio 707 00:31:33,270 --> 00:31:34,630 llyfrgell arbennig hwn. 708 00:31:34,630 --> 00:31:36,680 >> Yn awr, yn hytrach na tynnu coes ar wahân yn ei gyfanrwydd, 709 00:31:36,680 --> 00:31:38,520 gadewch i ni dim ond yn edrych ar rai batrymau. 710 00:31:38,520 --> 00:31:44,850 Ymddengys fod y gystrawen i gael faint o swyddogaethau dienw 711 00:31:44,850 --> 00:31:49,584 neu swyddogaethau ddienw neu swyddogaethau lamda AKA? 712 00:31:49,584 --> 00:31:50,190 Dau, dde? 713 00:31:50,190 --> 00:31:52,690 A ydych yn gwybod bod, hyd yn oed os nad ydych yn super gyfforddus â hyn, 714 00:31:52,690 --> 00:31:55,780 unig gan y ffaith ei fod yn Dywed swyddogaeth () ddwywaith. 715 00:31:55,780 --> 00:31:58,172 >> Ac mae'n ymddangos bod beth y cod hwn yn doing-- 716 00:31:58,172 --> 00:32:01,255 a byddwn yn cyfeirio at gyfeiriadau ar-lein, yn y pen draw, ar gyfer rhai help gyda hyn. 717 00:32:01,255 --> 00:32:04,480 Mae hyn yn unig yn golygu pan mae'r ddogfen yn barod, 718 00:32:04,480 --> 00:32:07,490 mynd yn ei flaen a chofrestru y swyddogaeth ganlynol 719 00:32:07,490 --> 00:32:12,064 gan fod y triniwr cyflwyno i'r HTML elfen y mae ei syniad unigryw yw demo. 720 00:32:12,064 --> 00:32:14,480 Ac yna, pan fydd hynny'n digwydd, yn galw'r rhain yn ddwy linell o god. 721 00:32:14,480 --> 00:32:18,677 Ac mae hyn yn, yn drasig, mae mwy ffordd amleiriog o ddweud dychwelyd ffug. 722 00:32:18,677 --> 00:32:21,510 Ac rydym yn crybwyll hyn yn unig oherwydd byddwch yn gweld cod fel hyn ar-lein. 723 00:32:21,510 --> 00:32:23,140 Ac mae'n dim i'w digalonni gan. 724 00:32:23,140 --> 00:32:26,057 Ond yn hytrach, yn cadw mewn cof bod yr hyn sy'n mynd i fod yn gyffredin yn JavaScript 725 00:32:26,057 --> 00:32:26,765 yw patrwm hwn. 726 00:32:26,765 --> 00:32:29,510 Ac felly dyna pam rydym yn dangos ei fod am y tro. 727 00:32:29,510 --> 00:32:30,010 Iawn. 728 00:32:30,010 --> 00:32:32,730 Felly, heb annedd yn rhy llawer ar y gystrawen, 729 00:32:32,730 --> 00:32:37,800 a oes yna unrhyw gwestiynau ar enghreifftiau neu syniadau hyn hyd yn hyn? 730 00:32:37,800 --> 00:32:38,300 Iawn. 731 00:32:38,300 --> 00:32:40,220 Felly, gadewch i ni ddefnyddio hwn ar gyfer rhywbeth defnyddiol. 732 00:32:40,220 --> 00:32:47,070 Gwneud dudalen gwe mai dim ond dweud helo, felly ac felly nid yw'r cyfan sydd yn ddiddorol, 733 00:32:47,070 --> 00:32:47,830 i beidio â underwhelm. 734 00:32:47,830 --> 00:32:51,038 Nid yw hyn yn un yn mynd i fod yn hardd, ond mae'n mynd i wneud rhywbeth defnyddiol. 735 00:32:51,038 --> 00:32:56,350 Gadewch i mi fynd yn ôl at fy cyfeiriadur yma ac yn agor i fyny, yn dweud, ffurf-0.html. 736 00:32:56,350 --> 00:32:59,320 >> Felly, mae'n debyg mai dyma'r freshman dudalen gofrestru chwaraeon rhyngfurol 737 00:32:59,320 --> 00:33:01,780 heb unrhyw CSS neu unrhyw ymdeimlad o ddylunio. 738 00:33:01,780 --> 00:33:05,404 Ac yr wyf am fwrw ymlaen a cofrestrwch yma gyda chyfrinair. 739 00:33:05,404 --> 00:33:08,320 Ac yr wyf i'n mynd i gytuno i'r telerau a'r amodau a chliciwch Gofrestr. 740 00:33:08,320 --> 00:33:11,700 Ac yn awr yn dweud y wefan, "Rydych yn cofrestru! (Wel, nid mewn gwirionedd.) " 741 00:33:11,700 --> 00:33:15,070 Mae hynny'n ymddangos fel ei fod yn gweithio, ond gadewch i mi fynd yn ei flaen ac yn gorfodi ail-lwytho. 742 00:33:15,070 --> 00:33:18,720 >> A gadewch i mi ddweud, na, nid ydych yn ei wneud Mae angen i fy cyfeiriad e-bost go iawn. 743 00:33:18,720 --> 00:33:21,820 Neu efallai y byddwn yn jyst dweud post i mewn 'na. 744 00:33:21,820 --> 00:33:25,080 Bydd cyfrinair fod, fel, 12345. 745 00:33:25,080 --> 00:33:28,810 Ac yna, dim ond am fy mod i'n idiot, nawr mae'n 123,456,789. 746 00:33:28,810 --> 00:33:31,150 Ac nid wyf ddim yn mynd i wirio eich bocs. 747 00:33:31,150 --> 00:33:31,850 >> Hmm. 748 00:33:31,850 --> 00:33:32,350 Iawn. 749 00:33:32,350 --> 00:33:34,920 Felly mae sawl cyfle i wella yma. 750 00:33:34,920 --> 00:33:39,070 A ydych yn gwybod, neu a fydd yn gweld yn pset saith, eich bod yn gallu ysgrifennu code-- 751 00:33:39,070 --> 00:33:41,890 a bydd rhaid i chi ysgrifennu Cod yn PHP-- i amddiffyn 752 00:33:41,890 --> 00:33:45,780 yn erbyn y mathau hyn o ddefnyddwyr gwallau oherwydd bod y defnyddiwr yn glir 753 00:33:45,780 --> 00:33:46,790 Nid yw wedi cydweithio. 754 00:33:46,790 --> 00:33:49,680 Ac nid yw ef neu hi wedi rhoi i chi i gyd y gwerthoedd chi eisiau neu hyd yn oed yn y fformat 755 00:33:49,680 --> 00:33:50,630 eich bod am iddynt. 756 00:33:50,630 --> 00:33:53,250 Felly, byddwch yn gweld yn pset saith sy'n Gallai sicr, mae gennym rai 757 00:33:53,250 --> 00:33:55,680 os yw amodau sy'n dweud os yw'r cyfeiriad e-bost 758 00:33:55,680 --> 00:33:59,450 Nid yw username@something.edu, gallem yn unig 759 00:33:59,450 --> 00:34:02,575 ymddiheuro ac yn ymddiheuro i'r defnyddiwr lawer, fel y gallech fod yn pset saith. 760 00:34:02,575 --> 00:34:05,700 Neu os nad ydynt wedi gwirio bod blwch, troi allan yn PHP, gallwch ganfod hynny, 761 00:34:05,700 --> 00:34:06,200 hefyd. 762 00:34:06,200 --> 00:34:09,389 Ac yn sicr os yw'r cyfrineiriau yn cyd-fynd ag yn register.php 763 00:34:09,389 --> 00:34:11,521 ar gyfer pset saith, gallwch ganfod hynny. 764 00:34:11,521 --> 00:34:13,770 Ond mae hynny'n poen yn y gwddf yn hynny erbyn hyn maent yn gofyn 765 00:34:13,770 --> 00:34:15,510 ni i fynd yr holl ffordd at 'r gweinyddwr. 766 00:34:15,510 --> 00:34:17,053 Mae'r defnyddiwr yn cael ei hysbysu am y camgymeriad. 767 00:34:17,053 --> 00:34:19,219 Ac o leiaf oni bai eich bod yn defnyddio rhai technegau ffansi, 768 00:34:19,219 --> 00:34:20,929 Erbyn hyn mae'n rhaid iddynt cliciwch ar y saeth yn ôl. 769 00:34:20,929 --> 00:34:23,300 Oni fyddai'n braf, fel llawer o wefannau heddiw, 770 00:34:23,300 --> 00:34:26,190 os oedd gennych fwy uniongyrchol adborth, yn syth? 771 00:34:26,190 --> 00:34:31,389 >> Mewn geiriau eraill, gadewch i mi fynd i'r fersiwn un, sydd yn mynd i fod dim prettier. 772 00:34:31,389 --> 00:34:33,469 Ond mae ganddo nodwedd hon. 773 00:34:33,469 --> 00:34:39,590 Malan, 12345, 123,456,789, nid mynd i edrych ar y blwch, Gofrestr. 774 00:34:39,590 --> 00:34:41,330 Nid yw'r cyfrineiriau'n cydweddu. 775 00:34:41,330 --> 00:34:44,459 Felly, er bod hyn yn pop-up yn ugly-- gallwn gymryd lle hwn yn y pen draw 776 00:34:44,459 --> 00:34:47,000 gyda rhywbeth fel bootstrap, pa byddwch yn gweld yn pset saith 777 00:34:47,000 --> 00:34:50,239 yn library-- boblogaidd iawn wnes i canfod nad yw'r cyfrineiriau'n cydweddu. 778 00:34:50,239 --> 00:34:50,739 Iawn. 779 00:34:50,739 --> 00:34:52,530 Wel, gadewch i mi atgyweiria bod wrth i'r defnyddiwr. 780 00:34:52,530 --> 00:34:55,460 Gadewch i mi fynd yn ei flaen a dweud 12345, 12345. 781 00:34:55,460 --> 00:34:57,780 Dal ddim gwirio cytundeb. 782 00:34:57,780 --> 00:35:00,210 Mae'n rhaid i chi gytuno i'r Telerau ac Amodau. 783 00:35:00,210 --> 00:35:01,760 Felly pam? 784 00:35:01,760 --> 00:35:04,100 >> Os ydym eisoes wedi posited fod yna ffordd, 785 00:35:04,100 --> 00:35:07,260 ac rydym wedi gofyn i chi mewn pset saith i ganfod gwall 786 00:35:07,260 --> 00:35:09,780 amodau fel hyn ochr y gweinydd, pam ddylwn i 787 00:35:09,780 --> 00:35:13,940 trafferthu hefyd yn gwneud hyn yn JavaScript? 788 00:35:13,940 --> 00:35:15,850 Beth yw dadl mewn blaid ychwanegu beth 789 00:35:15,850 --> 00:35:18,760 ydych chi ar fin ei weld fel some-- mae cymhlethdod ychwanegol. 790 00:35:18,760 --> 00:35:23,610 791 00:35:23,610 --> 00:35:25,930 >> Efallai nid oes unrhyw upside. 792 00:35:25,930 --> 00:35:26,924 Beth allai fod? 793 00:35:26,924 --> 00:35:27,840 GYNULLEIDFA: [Anghlywadwy]. 794 00:35:27,840 --> 00:35:31,132 795 00:35:31,132 --> 00:35:32,340 DAVID Malan: O, diddorol. 796 00:35:32,340 --> 00:35:33,530 Campau posibl. 797 00:35:33,530 --> 00:35:37,540 Felly yn sicr, os nad ydych yn trin mewnbwn defnyddwyr wallus sy'n wych, 798 00:35:37,540 --> 00:35:40,170 efallai ei fod yn gorau oll os yw'n Nid yw hyd yn oed yn cyrraedd eich gweinydd. 799 00:35:40,170 --> 00:35:42,160 Byddwn yn gwthio yn ôl yno ac dyweder, dylech yn ôl pob tebyg 800 00:35:42,160 --> 00:35:43,284 atgyweiria ddau o'r problemau hynny. 801 00:35:43,284 --> 00:35:44,140 Ond mae hynny'n deg. 802 00:35:44,140 --> 00:35:44,710 Beth arall? 803 00:35:44,710 --> 00:35:45,626 >> GYNULLEIDFA: [Anghlywadwy]. 804 00:35:45,626 --> 00:35:47,970 805 00:35:47,970 --> 00:35:49,014 >> DAVID Malan: Yeah. 806 00:35:49,014 --> 00:35:51,680 Mae'r cod hwn, fel y dywedasom o'r blaen, yn dehongli ar yr ochr cleientiaid. 807 00:35:51,680 --> 00:35:53,846 Nid yw'n trafferthu y gweinydd, sy'n golygu nad yw'n gwneud hynny 808 00:35:53,846 --> 00:35:55,930 effaith llwyth neu allu y gweinydd. 809 00:35:55,930 --> 00:35:59,840 Ac yn awr, am ychydig hen i mi, mae hyn yn cael unrhyw effaith ystyrlon 810 00:35:59,840 --> 00:36:01,970 gan fod gen i un defnyddiwr ar hyn o bryd. 811 00:36:01,970 --> 00:36:04,010 >> Ond os ydych yn unrhyw gwefan o faint gweddus, 812 00:36:04,010 --> 00:36:07,400 yn enwedig y mwyaf, fel Facebook, y mwyaf y gallwch gadw pobl i ffwrdd 813 00:36:07,400 --> 00:36:09,927 eich gweinydd yn well oherwydd bod gweinydd, wrth gwrs, 814 00:36:09,927 --> 00:36:12,510 dim ond swm cyfyngedig o RAM, nifer cyfyngedig o gigahertz, 815 00:36:12,510 --> 00:36:16,340 nifer cyfyngedig o bethau y gall ei wneud fesul uned o amser. 816 00:36:16,340 --> 00:36:19,170 Felly, os oes mwy o bobl yn y byd yn taro eich gweinydd, 817 00:36:19,170 --> 00:36:21,750 logio ddamweiniol anghywir, yn union yn ogystal os ydych yn 818 00:36:21,750 --> 00:36:23,254 Gall gadw hynny llwyth oddi ar eich gweinydd. 819 00:36:23,254 --> 00:36:25,420 Byd Gwaith, yn enwedig ar ffôn symudol device-- os ydych chi wedi erioed 820 00:36:25,420 --> 00:36:29,190 fewngofnodi i my.harvard neu Netid Yale neu debyg, 821 00:36:29,190 --> 00:36:32,330 mae hyn yn y latency gyda llawer o gwefannau fel 'na lle y mae'n ei gymryd, 822 00:36:32,330 --> 00:36:34,110 fel, damn eiliad neu ddwy weithiau. 823 00:36:34,110 --> 00:36:37,979 Ac yna, fy Nuw, os ydych yn mistype, yna rhaid i chi daro yn ôl ac ail-wneud iddo. 824 00:36:37,979 --> 00:36:40,520 Felly mae latency, yn enwedig ar gysylltiadau rhwydwaith arafach. 825 00:36:40,520 --> 00:36:43,030 Ond JavaScript, oherwydd mae'n rhedeg ar y cleient 826 00:36:43,030 --> 00:36:46,720 ac nid oes angen i fynd yn ôl ac ymlaen ar draws y rhyngrwyd a allai fod yn araf 827 00:36:46,720 --> 00:36:49,780 cysylltiad, gallwch gael adborth bron instantaneous. 828 00:36:49,780 --> 00:36:50,760 >> Felly gadewch i ni edrych ar hyn. 829 00:36:50,760 --> 00:36:54,280 Gadewch i mi agor y ffurflen-0 a edrych ar y HTML yma. 830 00:36:54,280 --> 00:36:56,040 A gadewch i ni dim ond yn gweld beth sy'n digwydd. 831 00:36:56,040 --> 00:36:59,460 Mae hon yn ffurflen y mae ei gweithredu yw register.php. 832 00:36:59,460 --> 00:37:01,530 Im 'jyst yn defnyddio ei gael felly y gallwn weld yr URL. 833 00:37:01,530 --> 00:37:05,030 Ond ar gyfer cyfrineiriau, byddem yn sicr eisiau i newid hyn i swydd mewn gwirionedd. 834 00:37:05,030 --> 00:37:06,910 Dyma maes mewnbwn o destun fath. 835 00:37:06,910 --> 00:37:09,050 Dyma mewnbwn arall maes math cyfrinair. 836 00:37:09,050 --> 00:37:13,150 Dyma yw, os nad ydych erioed wedi ei weld, mewnbwn o'r math blwch ticio. 837 00:37:13,150 --> 00:37:15,250 >> Ond does dim JavaScript yma o gwbl. 838 00:37:15,250 --> 00:37:18,170 Mae hyn yn unig HTML sy'n mynd i'r register.php. 839 00:37:18,170 --> 00:37:21,020 Ond mewn fersiwn un, lle rwy'n dechrau cael rhai pop-ups, 840 00:37:21,020 --> 00:37:23,010 gadewch i ni weld beth mewn gwirionedd yn digwydd yma. 841 00:37:23,010 --> 00:37:26,757 Mewn fersiwn un, beth Rydw i'n mynd i see-- fy mod 842 00:37:26,757 --> 00:37:29,340 meddwl y gallwn i stondin digon gyda digon o eiriau, ond yr wyf yn rhedeg allan. 843 00:37:29,340 --> 00:37:35,180 844 00:37:35,180 --> 00:37:38,590 >> Yn fersiwn one-- dyna ni. 845 00:37:38,590 --> 00:37:43,180 Mewn fersiwn un, sylwi ar y canlynol-- ac nid yw'n gweithredu gorau, 846 00:37:43,180 --> 00:37:44,420 ond mae'n fy cyntaf. 847 00:37:44,420 --> 00:37:47,680 Sylwch fod islaw'r ffurf, mae gen i tag sgript. 848 00:37:47,680 --> 00:37:49,430 Ac tag sgript yn golygu, hey, porwr, dyma 849 00:37:49,430 --> 00:37:52,340 Daw rhywfaint cod yn, yn nodweddiadol, JavaScript. 850 00:37:52,340 --> 00:37:54,420 Ac yn awr, sylwi ar yr hyn rwy'n ei wneud. 851 00:37:54,420 --> 00:37:59,070 Ar line-- gallaf prin Darllenwch iddo-- llinell 32, mae'n dweud, 852 00:37:59,070 --> 00:38:01,420 form-- var felly roi i mi newidyn a elwir yn ffurflen. 853 00:38:01,420 --> 00:38:05,049 Ac yna yn cael document.getElementId o "cofrestriad." 854 00:38:05,049 --> 00:38:05,590 Beth yw hyn? 855 00:38:05,590 --> 00:38:07,290 Wel, gadewch i mi ailddirwyn i fyny yma. 856 00:38:07,290 --> 00:38:11,510 A rhybudd, AH, rhoddais yr elfen ffurflen syniad mympwyol ond disgrifiadol 857 00:38:11,510 --> 00:38:13,050 cofrestru. 858 00:38:13,050 --> 00:38:16,820 Felly, mae hyn yn rhoi newidyn wrthyf fod mi caniatáu i chrafangia y nod, 859 00:38:16,820 --> 00:38:19,580 bod petryal yn y goeden a elwir yn ffurflen. 860 00:38:19,580 --> 00:38:24,460 fodd form.onsubmit, hey porwr, gofrestru gwrandäwr ddigwyddiad 861 00:38:24,460 --> 00:38:25,470 ar y ffurflen hon. 862 00:38:25,470 --> 00:38:28,890 Mewn geiriau eraill, pan fydd y ffurflen hon yn cyflwyno, gweithredu y cod canlynol. 863 00:38:28,890 --> 00:38:30,810 Nid oes angen enw oherwydd bod pam mae angen i chi wybod yr enw? 864 00:38:30,810 --> 00:38:32,880 'Ch jyst angen i chi ei wybod beth i'w weithredu, ergo 865 00:38:32,880 --> 00:38:35,610 ei fod yn swyddogaeth ddienw neu lamda. 866 00:38:35,610 --> 00:38:37,632 A dyna swyddogaeth yw pob un o'r llinellau hyn yma. 867 00:38:37,632 --> 00:38:40,840 Ac yn awr, i fod yn onest, er eich bod Efallai nad ydynt wedi erioed JavaScript ysgrifenedig 868 00:38:40,840 --> 00:38:44,200 o'r blaen, 'i' jyst C a PHP rhesymeg. 869 00:38:44,200 --> 00:38:51,720 Felly, os form.email.value == "" - felly os bydd y maes e-bost yn wag, 870 00:38:51,720 --> 00:38:54,980 gweiddi ar y defnyddiwr "Rhaid i chi ddarparu eich cyfeiriad e-bost. " 871 00:38:54,980 --> 00:38:58,980 Else os form.password.value yn gweiddi yn wag yn y defnyddiwr, 872 00:38:58,980 --> 00:39:00,400 "Rhaid i chi roi eich cyfrinair." 873 00:39:00,400 --> 00:39:04,240 >> Yn fwy diddorol yn rhesymegol, os nad yw'n form.password.value 874 00:39:04,240 --> 00:39:08,630 form.confirmation.value-- cyfartal ble oedd cadarnhad yn dod? 875 00:39:08,630 --> 00:39:09,470 Gadewch i mi ailddirwyn. 876 00:39:09,470 --> 00:39:12,870 Wel, yr wyf o'r enw mewnbwn hwn maes yn fan cyfrinair. 877 00:39:12,870 --> 00:39:15,180 Ac yr wyf yn galw hyn yn un yma gadarnhad. 878 00:39:15,180 --> 00:39:17,850 Gallwn fod wedi ei alw cyfrinair dau neu unrhyw beth arall. 879 00:39:17,850 --> 00:39:20,560 Im 'jyst yn gwirio rhesymegol bod dau rhain yr un fath. 880 00:39:20,560 --> 00:39:25,760 Else-- mae'n troi allan mae hyn yn Mr Boole again-- gwerth Boole, mae'r blwch gwirio. 881 00:39:25,760 --> 00:39:29,810 Felly os wyf yn dweud, ebychnod point-- os nad form.agreement.checked, 882 00:39:29,810 --> 00:39:31,820 gweiddi ar y defnyddiwr hefyd. 883 00:39:31,820 --> 00:39:34,470 >> Felly chystrawen hon byddwch yn gweld yn gyffredin iawn yn JavaScript, 884 00:39:34,470 --> 00:39:35,970 lle mae gennych y nodiant dot. 885 00:39:35,970 --> 00:39:37,460 Byddwch yn dechrau gyda gwrthrych yma. 886 00:39:37,460 --> 00:39:41,430 Rydych yn plymio mewn dyfnach at i eiddo fel gyfrinair. 887 00:39:41,430 --> 00:39:43,280 Ac yna byddwch yn cael ar ei werth gwirioneddol. 888 00:39:43,280 --> 00:39:45,830 Ac eto, dyma yw'r mewnbwn. 889 00:39:45,830 --> 00:39:47,310 Dyma enw'r cyfrinair. 890 00:39:47,310 --> 00:39:50,860 Ac mae ei werth yn beth bynnag fo'r dynol wedi teipio mewn gwirionedd yn. 891 00:39:50,860 --> 00:39:53,610 >> Felly, ym mhob un o'r rhain achosion, dychwelais ffug. 892 00:39:53,610 --> 00:39:55,800 Ond os na, yr wyf yn dychwelyd yn wir. 893 00:39:55,800 --> 00:39:58,030 Ac felly yn awr rydym yn gweld defnydd cymhellol o bryd 894 00:39:58,030 --> 00:40:00,620 byddech yn dychwelyd ffug i rhoi'r gorau i hyn y mae'r defnyddiwr yn ei wneud 895 00:40:00,620 --> 00:40:03,200 ac yn gwneud iddo ef neu hi yn dewis eto neu deipio eto. 896 00:40:03,200 --> 00:40:05,870 Fel arall, byddwn yn dychwelyd yn wir. 897 00:40:05,870 --> 00:40:08,585 >> A gadewch i mi gyflwyno un amrywiad arall o hyn yn unig 898 00:40:08,585 --> 00:40:13,140 i had rhywfaint o ddealltwriaeth o hynny. 899 00:40:13,140 --> 00:40:16,850 Wel, yn y fersiwn 2 o'r hyn, ffurf-2-- 'N annhymerus' yn ei wneud gyda ton o law. 900 00:40:16,850 --> 00:40:19,920 Mae hyn, ar gyfer y rhai chwilfrydig, y fersiwn jQuery, 901 00:40:19,920 --> 00:40:23,330 rhai ohonoch a allai fod am dabble yn y llyfrgell benodol. 902 00:40:23,330 --> 00:40:25,145 Ond gadewch i ni start-- ac unrhyw gwestiynau? 903 00:40:25,145 --> 00:40:29,230 Gadewch i mi oedi am eiliad oherwydd a oedd yn gyflym ac yn llawer. 904 00:40:29,230 --> 00:40:32,610 >> Ond y peth braf yma yw bod pob y cod yn 'n bert lawer yr un fath. 905 00:40:32,610 --> 00:40:33,985 Mae'r stwff newydd yw beth yw'r dom? 906 00:40:33,985 --> 00:40:35,115 Beth yw petryalau hyn? 907 00:40:35,115 --> 00:40:35,990 Beth yw nodau hyn? 908 00:40:35,990 --> 00:40:37,540 Beth yw swyddogaeth anhysbys? 909 00:40:37,540 --> 00:40:38,830 Beth 'an trafodwr digwyddiad? 910 00:40:38,830 --> 00:40:43,480 Ond diolch byth, mae'r rhan fwyaf o hynny yn unig cylch llawn o, dyweder, wythnos sero. 911 00:40:43,480 --> 00:40:43,980 Iawn. 912 00:40:43,980 --> 00:40:46,070 Felly rhywbeth ychydig yn fwy diddorol? 913 00:40:46,070 --> 00:40:49,340 Wel, yn gyntaf oll, gadewch i mi fynd yn ei flaen ac yn agor i fyny Google Maps. 914 00:40:49,340 --> 00:40:53,360 A byddwch yn sylwi bod am hyn o bryd, ar yr ail rhaniad, 915 00:40:53,360 --> 00:40:55,930 sylwi ar beth sy'n digwydd pan Yr wyf yn clicio ddigon cyflym. 916 00:40:55,930 --> 00:40:59,720 Ac mae y cysylltiad hwn yn Harvard mor gyflym nad ydych yn wir yn sylwi arno. 917 00:40:59,720 --> 00:41:04,469 Ond beth ydych chi'n ei fath o fath o weld os wyf yn clicio a llusgo yn gyflym iawn? 918 00:41:04,469 --> 00:41:07,010 Mae'r rhai ohonoch yn gwylio ar-lein, os byddwch yn araf hwn i gyflymder 0.5x, 919 00:41:07,010 --> 00:41:09,640 gallwch weld hyn yn well. 920 00:41:09,640 --> 00:41:13,550 >> Yr hyn oedd yn digwydd yn unig cyn i mi clicio a llusgo? 921 00:41:13,550 --> 00:41:15,900 Gadewch i mi roi cynnig Yma-- gadewch i mi wneud rhywbeth arall, fel 90210. 922 00:41:15,900 --> 00:41:17,550 Gadewch i ni fynd yn bell i ffwrdd. 923 00:41:17,550 --> 00:41:19,000 Dyna oedd yn gyflym iawn, hefyd. 924 00:41:19,000 --> 00:41:22,460 Beth am Disney World? 925 00:41:22,460 --> 00:41:23,190 Dyna ni. 926 00:41:23,190 --> 00:41:23,690 IAWN. 927 00:41:23,690 --> 00:41:26,030 Beth wnaethoch chi weld am ail rhaniad? 928 00:41:26,030 --> 00:41:27,200 Yn union, fel, sgwariau, dde? 929 00:41:27,200 --> 00:41:28,930 Dalfannau ar gyfer teils? 930 00:41:28,930 --> 00:41:30,270 >> Wel, beth sy'n mynd ymlaen fan hyn? 931 00:41:30,270 --> 00:41:35,410 Google Maps yn enghraifft neis o dechnoleg hon sy'n cael ei alw AJAX. 932 00:41:35,410 --> 00:41:38,510 A dyma lle byddwn yn dechrau i defnyddio'r JavaScript mewn arbennig 933 00:41:38,510 --> 00:41:39,277 ffordd hudolus. 934 00:41:39,277 --> 00:41:41,610 Yn ôl yn y dydd, yr oedd gwefan hon o'r enw MapQuest. 935 00:41:41,610 --> 00:41:44,120 A ddylwn i wedi cymryd screenshot o hyn o'r 1990au, 936 00:41:44,120 --> 00:41:45,820 lle os ydych eisiau edrych i fyny yma ar y map, 937 00:41:45,820 --> 00:41:48,590 byddech yn llythrennol clicio saeth i fyny ar y brig oedd yn dangos i chi 938 00:41:48,590 --> 00:41:49,870 sgwâr wahanol o'r map. 939 00:41:49,870 --> 00:41:51,790 Os ydych yn awyddus i symud i'r chwith, rydych yn clicio saeth a oedd yn dangos i chi 940 00:41:51,790 --> 00:41:53,210 sgwâr wahanol o'r map. 941 00:41:53,210 --> 00:41:54,840 Ac mae rhai gwefannau yn dal i wneud hyn heddiw. 942 00:41:54,840 --> 00:41:57,820 Ond hyd yn oed MapQuest wedi gotten yn well, fel Google Maps. 943 00:41:57,820 --> 00:42:01,880 >> Yn lle hynny, beth sy'n well rhain diwrnod yw gwefannau sy'n defnyddio AJAX. 944 00:42:01,880 --> 00:42:04,510 AJAX-- elwir fel arall yn Asynchronous JavaScript a XML, 945 00:42:04,510 --> 00:42:08,370 sydd ychydig yn ffordd ffansi o ddweud yn dechnoleg neu dechneg sy'n 946 00:42:08,370 --> 00:42:14,200 yn caniatáu porwr sy'n defnyddio JavaScript i wneud ceisiadau HTTP ychwanegol 947 00:42:14,200 --> 00:42:16,390 ar ôl i'r dudalen gael ei lwytho. 948 00:42:16,390 --> 00:42:17,479 Felly beth mae hyn yn ei olygu? 949 00:42:17,479 --> 00:42:19,270 Wel, byddai'n garedig o blino yn Gmail 950 00:42:19,270 --> 00:42:21,103 os bob tro y byddwch eisiau i wirio eich post, 951 00:42:21,103 --> 00:42:24,940 chi wedi taro yn llythrennol Control-R neu Command-R neu cliciwch ar y botwm Reload 952 00:42:24,940 --> 00:42:26,580 a byddai'r dudalen darn cyfan ail-lwytho. 953 00:42:26,580 --> 00:42:26,800 Iawn? 954 00:42:26,800 --> 00:42:28,460 Byddai'n fflachio gwyn yn ôl pob tebyg ar gyfer yr ail. 955 00:42:28,460 --> 00:42:30,043 Byddech yn gweld y bar cynnydd dwp. 956 00:42:30,043 --> 00:42:33,170 A dim ond i weld a oes gennych newydd bost, mae'r dudalen we cyfan a'r URL 957 00:42:33,170 --> 00:42:34,580 byddwch chi yn byddai'n rhaid i ail-lwytho. 958 00:42:34,580 --> 00:42:35,960 >> Ond nid dyna beth sy'n digwydd yn Gmail. 959 00:42:35,960 --> 00:42:36,459 Iawn? 960 00:42:36,459 --> 00:42:40,300 Pan fyddwch yn cael neges e-bost newydd mewn Gmail, beth sy'n digwydd ar y sgrin? 961 00:42:40,300 --> 00:42:41,480 'I jyst yn dangos i fyny, dde? 962 00:42:41,480 --> 00:42:44,280 'I jyst yn ymddangos magically fel rhes newydd yn y tabl. 963 00:42:44,280 --> 00:42:47,030 Sydd mewn gwirionedd yn golygu swm gweddus o gymhlethdod. 964 00:42:47,030 --> 00:42:51,892 Yn wir, os ydych yn meddwl am goeden hon, sydd hyd yn oed er yn un syml yma, 965 00:42:51,892 --> 00:42:54,100 Gmail-- a byddai'n rhaid i mi edrych yn y cod i fod yn sure-- 966 00:42:54,100 --> 00:42:58,710 yn ôl pob tebyg mae tabl HTML neu efallai rhestr di-drefn y mae'n peri 967 00:42:58,710 --> 00:43:01,060 pob un o'ch inboxes negeseuon e-bost fel. 968 00:43:01,060 --> 00:43:04,050 >> Ac felly os gallwch ddychmygu hyn yno yn goeden er cof pan fyddwch chi 969 00:43:04,050 --> 00:43:09,050 gan ddefnyddio Gmail sy'n edrych fath o fath o fel hyn, pan fydd Google yn sylweddoli, www, 970 00:43:09,050 --> 00:43:12,770 mae gennych e-bost newydd, nid yw'n gwneud yn awyddus i ail-adeiladu y goeden gyfan. 971 00:43:12,770 --> 00:43:16,430 Yn hytrach, mae am i ddod o hyd y nôd yn y goeden sy'n cynrychioli eich mewnflwch 972 00:43:16,430 --> 00:43:18,580 a dim ond mewnosod nod newydd. 973 00:43:18,580 --> 00:43:24,640 >> Felly debyg iawn i pset bump, lle rydych yn Roedd i fewnosod nodau mewn tabl hash, 974 00:43:24,640 --> 00:43:28,410 yn yr un modd mae Google, drwy Cod JavaScript ei fod wedi ysgrifennu, 975 00:43:28,410 --> 00:43:31,890 Traverse goeden hon, chyfrif i maes lle yw bod mewnflwch rhan o'r ffenestr, 976 00:43:31,890 --> 00:43:33,440 ac yna mewnosod rhes newydd. 977 00:43:33,440 --> 00:43:37,460 A rhes newydd yn unig yn golygu un neu nodau newydd mewn coeden mwy. 978 00:43:37,460 --> 00:43:41,340 >> Ac felly AJAX yn dechneg hon sy'n caniatáu ar gyfer yn union hynny. 979 00:43:41,340 --> 00:43:44,440 Unwaith y byddwch wedi ymweld â URL, fodd bynnag crazy hir y mae, 980 00:43:44,440 --> 00:43:46,472 ac unwaith y bydd y dudalen wedi ei lwytho, gallwch barhau i 981 00:43:46,472 --> 00:43:48,430 cydio mwy o ddata oddi wrth y internet-- boed yn 982 00:43:48,430 --> 00:43:52,460 e-bost neu teilsen o map-- chrafangia 'tu ôl i'r llenni 983 00:43:52,460 --> 00:43:55,290 ac yna mewnosod i mewn i'r dudalen fel na fydd y bobl yn ei wneud mewn gwirionedd 984 00:43:55,290 --> 00:43:56,910 rhaid i chi aros ar ei gyfer. 985 00:43:56,910 --> 00:43:58,980 >> Facebook Messenger yn gweithio yr un ffordd. 986 00:43:58,980 --> 00:44:01,562 Unrhyw nifer o websites-- eraill oh, mewn gwirionedd, hyd yn oed hyn. 987 00:44:01,562 --> 00:44:04,270 Yr wyf yn golygu, mae hyn yn, dweud y gwir, math o yn blino yn cynnwys y dyddiau hyn. 988 00:44:04,270 --> 00:44:07,500 Os byddaf yn dechrau chwilio am hyn cats-- yn fath o brofiad y defnyddiwr ofnadwy. 989 00:44:07,500 --> 00:44:08,990 'I jyst yn dechrau chwilio i mi. 990 00:44:08,990 --> 00:44:10,050 Wel beth mae'n ei wneud? 991 00:44:10,050 --> 00:44:12,920 Nid yw'r URL wedi newid mewn gwirionedd ers i mi ddechrau teipio. 992 00:44:12,920 --> 00:44:17,330 Ond beth sy'n mynd ar draws y wire-- OK, hmm diddorol. 993 00:44:17,330 --> 00:44:20,470 Beth sy'n mynd ar draws y gwifren yma yn mynd yn weirder. 994 00:44:20,470 --> 00:44:21,090 >> IAWN. 995 00:44:21,090 --> 00:44:24,670 Felly gadewch i mi fynd yn ei flaen ac arolygu elfen ac yn mynd i'r tab Rhwydwaith 996 00:44:24,670 --> 00:44:27,040 a cheisio gwneud hyn technegol a llai am gathod. 997 00:44:27,040 --> 00:44:32,595 Wrth i mi deipio, yn llythrennol, cathod ac-- beth sy'n digwydd 998 00:44:32,595 --> 00:44:37,710 per-- Dydw i ddim yn mynd i glicio hynny. 999 00:44:37,710 --> 00:44:38,210 Iawn. 1000 00:44:38,210 --> 00:44:44,280 Felly lawr yma, yr hyn sy'n digwydd bob tro rwy'n deipio cymeriad, mae'n debyg? 1001 00:44:44,280 --> 00:44:45,000 Fel, lefel isel? 1002 00:44:45,000 --> 00:44:47,860 Beth sy'n digwydd gyda phob un o'r rheini cymeriadau Rydw i'n teipio ar fy bysellfwrdd? 1003 00:44:47,860 --> 00:44:48,359 Yeah? 1004 00:44:48,359 --> 00:44:50,950 GYNULLEIDFA: [Anghlywadwy]. 1005 00:44:50,950 --> 00:44:52,340 >> DAVID Malan: Yn union. 1006 00:44:52,340 --> 00:44:55,600 Mae pob un o'r cymeriadau hynny yw mynd i Google, un ar y tro. 1007 00:44:55,600 --> 00:44:58,490 Maent yn cael eu adeiladu llinyn ar eu gweinydd sy'n cynrychioli 1008 00:44:58,490 --> 00:44:59,936 popeth rydw i wedi teipio mewn hyd yn hyn. 1009 00:44:59,936 --> 00:45:01,810 A phob tro y byddaf yn teipio cymeriad arall, maent yn 1010 00:45:01,810 --> 00:45:04,530 defnyddio eu saws gyfrinach o chwilio algorithm a chyfrif i maes, 1011 00:45:04,530 --> 00:45:07,370 mae e'n golygu y dudalen hon cath neu y dudalen gath neu debyg? 1012 00:45:07,370 --> 00:45:10,620 Felly, mewn rhai ystyr, mae'n darparu i mi gyda gwell o brofiad yn yr ystyr nad wyf yn ei wneud hyd yn oed yn 1013 00:45:10,620 --> 00:45:11,860 Mae angen i gwblhau fy meddwl. 1014 00:45:11,860 --> 00:45:14,440 Ac yn wir, mae'n ddefnyddiol beth, AutoComplete yn gyffredinol. 1015 00:45:14,440 --> 00:45:17,690 Os yw eu algorithmau yn ddigon da ac os yw fy chwiliadau yn ddigon amlwg, 1016 00:45:17,690 --> 00:45:19,300 Nid oes rhaid i mi deipio gair cyfan. 1017 00:45:19,300 --> 00:45:22,110 Maent yn mynd i ddweud wrthyf beth y mae'n yw fy mod yn mewn gwirionedd yn chwilio am. 1018 00:45:22,110 --> 00:45:25,940 Felly beth Google yn galw unwaith chwiliad yn unig gan ddefnyddio AJAX, 1019 00:45:25,940 --> 00:45:30,820 gan ddefnyddio cod sy'n eu galluogi i wneud cais cynnwys ychwanegol drwy porwr gwe 1020 00:45:30,820 --> 00:45:34,026 tu ôl i'r llenni yn arfer hon iaith newydd, JavaScript. 1021 00:45:34,026 --> 00:45:35,400 Felly mae gennym gwpl o funudau ar ôl. 1022 00:45:35,400 --> 00:45:37,710 A gadewch i mi alw i fyny fy buddy Colton i fyny ar y llwyfan, 1023 00:45:37,710 --> 00:45:40,090 gan ei fod yn ymddangos tro diwethaf yn arbennig o hwyl 1024 00:45:40,090 --> 00:45:42,290 i gyflwyno technoleg bod rhai ohonoch chi 1025 00:45:42,290 --> 00:45:44,769 wedi mynegi diddordeb mewn ar gyfer prosiectau terfynol. 1026 00:45:44,769 --> 00:45:47,310 Rydym yn meddwl y byddwn fod yn hwyl i ddod i fyny yn wirfoddolwr, fodd bynnag, heddiw 1027 00:45:47,310 --> 00:45:50,074 i ddangos i chi ychwanegiad at hyn sy'n caniatáu you-- yeah, 1028 00:45:50,074 --> 00:45:50,990 Gwelais law hwn yn gyntaf. 1029 00:45:50,990 --> 00:45:52,900 Dewch ar i fyny. 1030 00:45:52,900 --> 00:45:53,560 Gwneud yn dda iawn. 1031 00:45:53,560 --> 00:45:55,035 Swydd da. 1032 00:45:55,035 --> 00:45:57,410 Rydw i'n mynd i prosiect hwn y sgrin mewn dim ond hyn o bryd. 1033 00:45:57,410 --> 00:45:58,150 Beth yw dy enw i bawb? 1034 00:45:58,150 --> 00:45:59,180 >> EFA: Rwy'n Efa. 1035 00:45:59,180 --> 00:45:59,410 >> DAVID Malan: Etha? 1036 00:45:59,410 --> 00:45:59,785 >> EFA: Efa. 1037 00:45:59,785 --> 00:46:00,160 >> DAVID Malan: Efa? 1038 00:46:00,160 --> 00:46:00,730 >> EFA: Yeah. 1039 00:46:00,730 --> 00:46:01,250 >> DAVID Malan: Neis i weld chi. 1040 00:46:01,250 --> 00:46:01,600 Iawn. 1041 00:46:01,600 --> 00:46:02,590 Gadewch i mi gael hyn yn barod. 1042 00:46:02,590 --> 00:46:04,423 Dewch ar draw i'r canol gyda Colton yma. 1043 00:46:04,423 --> 00:46:07,050 Pa Colton wedi yn ei ddwylo heddiw yn rheoli o bell. 1044 00:46:07,050 --> 00:46:10,440 Felly yn hytrach na dim ond yn sefyll yno mewn byd tri dimensiwn edrych o gwmpas 1045 00:46:10,440 --> 00:46:14,080 fel y gwnaeth Colton, yn awr gall Efa mewn gwirionedd yn cerdded o gwmpas drwy fynd i fyny, 1046 00:46:14,080 --> 00:46:16,689 lawr, i'r chwith, ac i'r dde fel Nintendo neu Xbox rheolwr. 1047 00:46:16,689 --> 00:46:18,230 EFA: Rydw i'n mynd i ddisgyn oddi ar y llwyfan. 1048 00:46:18,230 --> 00:46:20,500 DAVID Malan: Gwnaf sefyll yn fras dros yma. 1049 00:46:20,500 --> 00:46:21,991 Ond mae hynny'n risg. 1050 00:46:21,991 --> 00:46:22,490 IAWN. 1051 00:46:22,490 --> 00:46:25,690 Felly mynd yn ei flaen ac yn rhoi rhai ar. 1052 00:46:25,690 --> 00:46:29,315 Gadewch i mi fynd yn ei flaen ac newid i sgrin yma. 1053 00:46:29,315 --> 00:46:30,670 Gadewch i mi dim y goleuadau. 1054 00:46:30,670 --> 00:46:32,780 A Colton, gadewch i mi dod sefyll nesaf i chi. 1055 00:46:32,780 --> 00:46:35,520 >> Ydych chi eisiau i egluro yma gyda'r meic yr hyn rydym yn ei wneud? 1056 00:46:35,520 --> 00:46:36,380 Yma byddwch yn mynd. 1057 00:46:36,380 --> 00:46:37,280 >> COLTON: Cadarn. 1058 00:46:37,280 --> 00:46:39,980 Felly, ar hyn o bryd rydym yn llwytho i fyny y Oculus, 1059 00:46:39,980 --> 00:46:43,070 Amcana operating-- beidio gweithredu system, ond y brif raglen, lle 1060 00:46:43,070 --> 00:46:46,630 gallwch weld yr holl gemau a apps sydd yn eich llyfrgell. 1061 00:46:46,630 --> 00:46:50,060 Felly ar hyn o bryd, dylai ddweud tap y pad cyffwrdd i ddechrau. 1062 00:46:50,060 --> 00:46:53,430 Touchpad yn mynd i fod ar y ochr dde y headset. 1063 00:46:53,430 --> 00:46:54,569 Felly mynd yn ei flaen ac yn tap-- 1064 00:46:54,569 --> 00:46:55,110 EFA: O, dyn. 1065 00:46:55,110 --> 00:46:56,443 DAVID Malan: Yeah, dyna ni. 1066 00:46:56,443 --> 00:47:00,340 1067 00:47:00,340 --> 00:47:02,460 Mae ansawdd Efa yn gweld yw ansawdd llawer uwch. 1068 00:47:02,460 --> 00:47:03,831 Mae hyn yn unig y Wi-Fi fan hyn. 1069 00:47:03,831 --> 00:47:05,580 COLTON: Felly beth ydych chi'n mynd i eisiau ei wneud 1070 00:47:05,580 --> 00:47:08,350 yn edrych tuag at y top dde o'r sgrin. 1071 00:47:08,350 --> 00:47:10,420 Yep, y gêm ar y dde uchaf iawn. 1072 00:47:10,420 --> 00:47:14,780 Ac yna pan fyddwch yn dewis iddo, tap y pad cyffwrdd eto. 1073 00:47:14,780 --> 00:47:17,010 Rwy'n credu ei Dreadhalls. 1074 00:47:17,010 --> 00:47:20,820 Ac yna dyma yn a-- yma, gadewch mi ddal eich sbectol ar eich rhan. 1075 00:47:20,820 --> 00:47:24,420 1076 00:47:24,420 --> 00:47:25,790 >> Felly, yr wyf newydd ei roi rheolwr ef. 1077 00:47:25,790 --> 00:47:28,886 Felly nawr gall reoli'r gêm. 1078 00:47:28,886 --> 00:47:30,510 Mae'n gallu symud o gwmpas a phethau fel 'na. 1079 00:47:30,510 --> 00:47:31,968 Felly mynd yn ei flaen ac yn edrych i fyny i ben. 1080 00:47:31,968 --> 00:47:33,640 Dylech weld Gêm Newydd. 1081 00:47:33,640 --> 00:47:36,310 Felly mynd yn ei flaen a gallwch wneud hynny. 1082 00:47:36,310 --> 00:47:39,320 Nawr, dylech fod yn gallu rheoli eich hun gyda'r rheolwr, 1083 00:47:39,320 --> 00:47:43,860 yn ogystal, cyn gynted ag y y gêm llwythi i fyny yma. 1084 00:47:43,860 --> 00:47:46,356 Gallai hyn fod ychydig yn frawychus. 1085 00:47:46,356 --> 00:47:47,300 >> EFA: Nawr eich ddweud wrthyf. 1086 00:47:47,300 --> 00:47:50,132 IAWN. 1087 00:47:50,132 --> 00:47:51,080 >> COLTON: Pob hawl. 1088 00:47:51,080 --> 00:47:52,650 Felly cadarnhau eich bod yn gallu symud o gwmpas. 1089 00:47:52,650 --> 00:47:52,750 IAWN. 1090 00:47:52,750 --> 00:47:53,583 Gallwch symud o gwmpas. 1091 00:47:53,583 --> 00:47:54,300 Perffaith. 1092 00:47:54,300 --> 00:47:56,470 Felly, os ydych yn edrych i lawr, mae gennych map. 1093 00:47:56,470 --> 00:47:58,170 Map yn dangos i chi ble rydych chi. 1094 00:47:58,170 --> 00:47:59,720 Gallwch edrych o amgylch yr ystafell. 1095 00:47:59,720 --> 00:48:01,440 Gallwch llwyr droi o gwmpas. 1096 00:48:01,440 --> 00:48:02,128 Yeah, yn union. 1097 00:48:02,128 --> 00:48:02,627 Troi o gwmpas. 1098 00:48:02,627 --> 00:48:05,370 1099 00:48:05,370 --> 00:48:07,125 >> Felly edrychwch ar y chwith. 1100 00:48:07,125 --> 00:48:09,875 Rwy'n credu bod yna rywbeth y gallwch sylwi ar y gasgen yn yr ystafell. 1101 00:48:09,875 --> 00:48:11,709 >> EFA: Sut ydw i'n cael y fapio allan o'r ffordd? 1102 00:48:11,709 --> 00:48:12,375 COLTON: Edrychwch i fyny. 1103 00:48:12,375 --> 00:48:12,980 Dim ond yn edrych i fyny. 1104 00:48:12,980 --> 00:48:13,480 Iawn. 1105 00:48:13,480 --> 00:48:13,765 Dyna chi. 1106 00:48:13,765 --> 00:48:15,181 Nawr ewch yn ei flaen a dim ond troi o gwmpas. 1107 00:48:15,181 --> 00:48:21,460 1108 00:48:21,460 --> 00:48:24,620 Felly edrychwch ymhellach ar y chwith. 1109 00:48:24,620 --> 00:48:25,530 Cadwch symud i'r chwith. 1110 00:48:25,530 --> 00:48:26,960 Daliwch ati i edrych ar ôl. 1111 00:48:26,960 --> 00:48:27,541 Dal ati. 1112 00:48:27,541 --> 00:48:28,040 Yeah. 1113 00:48:28,040 --> 00:48:28,720 >> EFA: O, y ffordd honno. 1114 00:48:28,720 --> 00:48:29,261 >> COLTON: Yeah. 1115 00:48:29,261 --> 00:48:30,999 Cerddwch tuag ato gyda'r rheolwr. 1116 00:48:30,999 --> 00:48:31,540 Dyna chi. 1117 00:48:31,540 --> 00:48:32,790 Nawr dylai ddweud ei godi. 1118 00:48:32,790 --> 00:48:33,360 Dyna chi. 1119 00:48:33,360 --> 00:48:34,290 Ei godi. 1120 00:48:34,290 --> 00:48:35,550 Iawn. 1121 00:48:35,550 --> 00:48:38,286 Yn awr, gadewch i ni fynd allan o'r ystafell hon. 1122 00:48:38,286 --> 00:48:42,209 Ewch ymlaen a cherdded i'r drws. 1123 00:48:42,209 --> 00:48:45,000 Felly, rydych chi'n mynd i hold-- mae'n dweud dal y botwm i rym ar agor. 1124 00:48:45,000 --> 00:48:46,333 Felly mynd yn ei flaen ac yn dal y botwm. 1125 00:48:46,333 --> 00:48:48,250 Yep, gan orfodi iddo agor. 1126 00:48:48,250 --> 00:48:48,750 Iawn. 1127 00:48:48,750 --> 00:48:49,410 Swydd da. 1128 00:48:49,410 --> 00:48:50,826 Nawr rydym yn cerdded allan o'r ystafell. 1129 00:48:50,826 --> 00:48:56,970 1130 00:48:56,970 --> 00:49:01,366 Felly dw i'n mynd i gadael y gweddill i fyny i chi a gweld yr hyn byddwch yn cael gwybod. 1131 00:49:01,366 --> 00:49:02,865 EFA: Dydw i ddim yn mynd yn yr ystafell dywyll. 1132 00:49:02,865 --> 00:49:07,315 1133 00:49:07,315 --> 00:49:07,815 O, aros. 1134 00:49:07,815 --> 00:49:09,314 Nawr rhaid i mi fynd i lawr y neuadd dywyll? 1135 00:49:09,314 --> 00:49:10,785 OK, dw i'n mynd yn ôl [Anghlywadwy]. 1136 00:49:10,785 --> 00:49:15,520 1137 00:49:15,520 --> 00:49:16,270 COLTON: Pob hawl. 1138 00:49:16,270 --> 00:49:17,560 Mae rhai mwy o eitemau i godi. 1139 00:49:17,560 --> 00:49:19,370 Edrych fel rhai darnau arian. 1140 00:49:19,370 --> 00:49:22,242 Dyna casglu clo. 1141 00:49:22,242 --> 00:49:24,200 Felly, os ydych yn dod o hyd i gloi drws, gallwch ddefnyddio hynny. 1142 00:49:24,200 --> 00:49:27,755 1143 00:49:27,755 --> 00:49:28,380 A ydych yn ofnus? 1144 00:49:28,380 --> 00:49:29,371 >> EFA: Ddim eto. 1145 00:49:29,371 --> 00:49:29,871 COLTON: OK. 1146 00:49:29,871 --> 00:49:34,850 1147 00:49:34,850 --> 00:49:35,497 >> Pretend-- yeah. 1148 00:49:35,497 --> 00:49:37,330 Dim ond esgus eich bod yn mewn gwirionedd yn sefyll yno. 1149 00:49:37,330 --> 00:49:39,580 Ac os byddwch yn troi around-- mae'n rhaid i chi ddod i arfer ag ef. 1150 00:49:39,580 --> 00:49:40,752 Ond mae'n gwneud synnwyr. 1151 00:49:40,752 --> 00:49:43,960 DAVID Malan: A thra Efa yn parhau i chwarae, gan y gallem wneud hyn drwy'r dydd, 1152 00:49:43,960 --> 00:49:45,381 gallwn i gyd flaenau'r traed allan yma. 1153 00:49:45,381 --> 00:49:48,130 Ond mae gennym ddau bâr arall, os hoffech i ddod i fyny a chwarae. 1154 00:49:48,130 --> 00:49:49,980 Fel arall, byddwn yn gweld ydych nesaf ar ddydd Mercher. 1155 00:49:49,980 --> 00:49:51,354 Diolch yn fawr i'n gwirfoddolwyr heddiw. 1156 00:49:51,354 --> 00:49:52,101 [Cymeradwyaeth] 1157 00:49:52,101 --> 00:49:54,506 1158 00:49:54,506 --> 00:49:57,392 >> [CERDDORIAETH - "Seinfeld THEMA"] 1159 00:49:57,392 --> 00:49:58,222 1160 00:49:58,222 --> 00:50:00,180 SIARADWR 1: Wel, dwi'n rhoi PL newydd mount ar. 1161 00:50:00,180 --> 00:50:01,800 Fi jyst newid y OLPF-- 1162 00:50:01,800 --> 00:50:03,980 >> SIARADWR 2: Felly beth yn union ydych chi'n ei wneud? 1163 00:50:03,980 --> 00:50:07,063 >> SIARADWR 1: Wel, mae pob un o these-- yma, byddaf yn dangos i chi yr un yma yn fan hyn. 1164 00:50:07,063 --> 00:50:08,690 Gallwch weld yn iawn yma. 1165 00:50:08,690 --> 00:50:09,510 >> SIARADWR 3: Yr wyf yn meddwl fy mod i'n dda gyda hyn. 1166 00:50:09,510 --> 00:50:09,933 Rydych am rai mwy? 1167 00:50:09,933 --> 00:50:11,325 >> SIARADWR 4: Na, yr wyf i'n dda. [Anghlywadwy]. 1168 00:50:11,325 --> 00:50:12,200 >> SIARADWR 3: Na, [Anghlywadwy]. 1169 00:50:12,200 --> 00:50:12,700 Cael rhywfaint o. 1170 00:50:12,700 --> 00:50:21,165 1171 00:50:21,165 --> 00:50:22,290 SIARADWR 1: lliw gwahanol. 1172 00:50:22,290 --> 00:50:22,890 SIARADWR 2: OK. 1173 00:50:22,890 --> 00:50:26,690 SIARADWR 1: Felly yn y pen draw yr hyn y mae'n wneud yw ei fod yn addasu'r lliw o-