1 00:00:00,000 --> 00:00:02,700 [Powered by Google Translate] [Wythnos 9, Parhad] 2 00:00:02,700 --> 00:00:05,160 [David J. Malan - Harvard University] 3 00:00:05,160 --> 00:00:07,020 [Mae hyn yn CS50. - CS50.TV] 4 00:00:07,940 --> 00:00:13,340 >> Mae hyn yn CS50. Dyma ddiwedd yr wythnos 9. Diolch yn fawr iawn. 5 00:00:13,340 --> 00:00:15,310 Yn olaf. Wythnos 9. Cawn ef. 6 00:00:15,310 --> 00:00:18,590 Heddiw rydym yn parhau ein sgwrs am rhaglennu ar y we 7 00:00:18,590 --> 00:00:21,660 nid gyda llygad tuag at y prosiect terfynol, gan fod yn rhaid i chi wneud rhywbeth ar y we 8 00:00:21,660 --> 00:00:25,610 ar gyfer prosiectau terfynol ond oherwydd naill ai ar gyfer prosiectau terfynol neu ar ôl CS50 9 00:00:25,610 --> 00:00:29,000 hyn yn sicr i ba gyfeiriad y feddalwedd modern yn mynd. 10 00:00:29,000 --> 00:00:31,770 Ac eto nid yw'n mewn gwirionedd yn beth hawdd. 11 00:00:31,770 --> 00:00:35,040 Yn wir, un o'r pethau anoddaf i'w wneud yw agwedd o ddylunio. 12 00:00:35,040 --> 00:00:38,600 >> Er enghraifft, drwy ddyluniad rydym yn golygu mewn gwirionedd yn cael y rhyngwyneb defnyddiwr 13 00:00:38,600 --> 00:00:40,420 neu 'r profiad y defnyddiwr yn iawn. 14 00:00:40,420 --> 00:00:43,200 Mentraf ddweud - a gwyddom o set problem ddiweddar 15 00:00:43,200 --> 00:00:45,960 pan fydd rhai ohonoch darlledu eich gripes am rai darn o feddalwedd 16 00:00:45,960 --> 00:00:49,000 neu galedwedd sy'n gwylltio chi, p'un ai ar y campws neu oddi ar - 17 00:00:49,000 --> 00:00:51,930 mae llawer o safleoedd i maes 'na, mae llawer o galedwedd i maes' na, 18 00:00:51,930 --> 00:00:53,900 y math hwnnw o sucks. 19 00:00:53,900 --> 00:00:58,730 Ond y gwir amdani yw bod gwneud pethau sy'n hawdd i'w defnyddio eto serch hynny pwerus 20 00:00:58,730 --> 00:01:00,550 yn her anodd iawn. 21 00:01:00,550 --> 00:01:03,680 Felly, ar gyfer heddiw gofynnais Joseph a Tommy i ymuno â mi i fyny yma 22 00:01:03,680 --> 00:01:06,680 fel y gallwn gael sgwrs, y ddau am ddylunio 23 00:01:06,680 --> 00:01:09,090 a beth ddylai math o brosesau meddwl dechrau mynd drwy eich pen 24 00:01:09,090 --> 00:01:12,040 pan fyddwch yn dylunio eich prosiectau terfynol, eich ymdrechion yn y dyfodol. 25 00:01:12,040 --> 00:01:15,040 Ac yna gyda Tommy chymorth byddwn yn edrych ar rai o'r manylion gweithredu. 26 00:01:15,040 --> 00:01:18,440 Sut y gallwch chi gael rhywfaint o weledigaeth ar bapur neu yn eich meddwl 27 00:01:18,440 --> 00:01:20,760 y gallwch wedyn gweithredu programmatically 28 00:01:20,760 --> 00:01:24,030 drwy ddefnyddio rhai o'r technolegau a'r technegau rydym newydd ddechrau siarad am, 29 00:01:24,030 --> 00:01:29,080 sef JavaScript a rhywbeth hyd yn oed mwy newydd, sef AJAX, JavaScript asynchronous. 30 00:01:29,080 --> 00:01:32,950 Mae hynny'n caniatáu i chi greu holl deinamig mwy o ryngwyneb defnyddiwr 31 00:01:32,950 --> 00:01:35,780 drwy nôl data mwy a mwy yn gynyddol o'r gweinydd. 32 00:01:35,780 --> 00:01:38,560 Felly, byddwn yn gweld rhai o'r pytiau yn dda heddiw. 33 00:01:38,560 --> 00:01:41,800 Fel o'r neilltu, os oes gennych ddiddordeb i ganolbwyntio mewn gwyddoniaeth gyfrifiadurol 34 00:01:41,800 --> 00:01:45,010 neu minoring mewn gwyddoniaeth gyfrifiadurol, yn gwybod bod y dydd Gwener hwn am hanner dydd 35 00:01:45,010 --> 00:01:48,750 yn Maxwell Dworkin 221 bydd digwyddiad pizza 36 00:01:48,750 --> 00:01:50,780 lle y gallwch ddysgu ychydig mwy am wyddoniaeth gyfrifiadurol. 37 00:01:50,780 --> 00:01:54,860 Ar eich ffordd allan y drws heddiw byddwch yn gallu codi canllaw answyddogol i CS yn Harvard. 38 00:01:54,860 --> 00:01:57,290 Byddwn yn ei roi ar y caniau sbwriel y tu allan ar uchder gwasg 39 00:01:57,290 --> 00:01:59,750 felly os hoffech chi i fanteisio ar hyn ac yn dysgu ychydig mwy am CS, 40 00:01:59,750 --> 00:02:02,480 a fydd yn yno i chi fel yr oedd yn wythnos 0. 41 00:02:02,480 --> 00:02:06,500 Hefyd, os hoffech chi ymuno â ni am ginio CS50 dydd Gwener yma am 1:15 pm, 42 00:02:06,500 --> 00:02:09,800 ben i cs50.net/lunch. 43 00:02:09,800 --> 00:02:13,260 Heb wastraffu mwy o eiriau, yr wyf yn rhoi i chi cyd-athrawon Joseph Ong. 44 00:02:13,260 --> 00:02:19,190 Hi. [Cymeradwyaeth] 45 00:02:19,190 --> 00:02:20,770 Diolch. 46 00:02:20,770 --> 00:02:24,780 Y tro cyntaf i mi ddysgu am ddylunio oedd mewn dosbarth yma o'r enw CS179. 47 00:02:24,780 --> 00:02:28,040 >> Mae'r athro ar y pryd wedi dweud wrthym y stori am athro arall 48 00:02:28,040 --> 00:02:31,640 a oedd wedi mynd i westy ac yn defnyddio'r faucets. 49 00:02:31,640 --> 00:02:35,630 A all unrhyw un ddweud wrthyf beth y 2 knobs ar y chwith a'r dde yn ei wneud? 50 00:02:35,630 --> 00:02:39,080 [Myfyrwyr] poeth ac oer. >> Poeth ac oer. Da. 51 00:02:39,080 --> 00:02:41,430 Beth allwch chi ei ddisgwyl fel arfer, dde? 52 00:02:41,430 --> 00:02:46,960 Mae hyn yn athro ar ôl defnyddio'r faucet am gymryd cawod, ac mae'n mynd yn ei flaen i ddefnyddio hyn. 53 00:02:46,960 --> 00:02:51,310 Mae'n meddwl y chwith a'r ochr dde ar gyfer poeth ac oer, dde? 54 00:02:51,310 --> 00:02:55,470 Gall ond gall unrhyw un ddweud wrthyf beth yw'r rhain mewn gwirionedd yn ei wneud? 55 00:02:55,470 --> 00:02:58,060 Unrhyw dwylo? 56 00:02:58,060 --> 00:03:01,740 [Ymateb y myfyrwyr Anghlywadwy] >> Un awgrym yw? 57 00:03:01,740 --> 00:03:05,860 [Ymateb y myfyrwyr Anghlywadwy] Tymheredd >>? 58 00:03:05,860 --> 00:03:10,460 Felly, un ohonynt rheoli tymheredd a rheolaethau eraill? >> [Myfyrwyr] pwysau Dŵr. 59 00:03:10,460 --> 00:03:12,350 Pwysau Dŵr. Da. 60 00:03:12,350 --> 00:03:15,100 Mae'r athro yn cerdded i mewn i hyn ac, a meddwl eu bod yn cael eu rheoli poeth ac oer, 61 00:03:15,100 --> 00:03:21,470 yn troi yr un cywir, sydd yn ei farn ef ar gyfer poeth, yr holl ffordd i fyny 62 00:03:21,470 --> 00:03:23,560 oherwydd ei fod am i gymryd cawod gynnes. 63 00:03:23,560 --> 00:03:28,100 Wel, nid yw'r rhain yn wir yn cyd-fynd i fyny, felly ei fod yn cael y profiad hwn nid yn hwyl 64 00:03:28,100 --> 00:03:31,110 o fod mewn cawod oer, ac rydym i gyd yn gwybod beth sy'n teimlo fel. 65 00:03:31,110 --> 00:03:33,620 Mae hyn yn enghraifft o nam dylunio. 66 00:03:33,620 --> 00:03:37,040 Beth allaf i ei olygu wrth hynny yw ei disgwyl oddi wrth y faucet 67 00:03:37,040 --> 00:03:39,420 nid oedd yn cyfateb i'r hyn a ddaeth allan o'r gawod, 68 00:03:39,420 --> 00:03:41,780 sy'n fath o anffodus iddo. 69 00:03:41,780 --> 00:03:44,990 Felly, mae hyn yn enghraifft o wendid ddylunio sy'n digwydd mewn bywyd go iawn. 70 00:03:44,990 --> 00:03:48,020 Ond rydym yn gweld pob math o rai eraill hefyd. 71 00:03:48,020 --> 00:03:50,390 Rydym nid yn ôl pob tebyg gefnogwyr y system MBTA. 72 00:03:50,390 --> 00:03:55,560 Mae hon yn system isffordd mewn gwirionedd yn Llundain, sy'n dweud, "Nid yw'r botwm yn cael ei ddefnyddio." 73 00:03:55,560 --> 00:04:00,220 Pam ei fod hyd yn oed ar yno? Pam rydyn ni'n hyd yn oed yn gofalu? 74 00:04:00,220 --> 00:04:02,810 Pan oeddwn yn blentyn, fod yr un savvy dechnoleg yn y tŷ, 75 00:04:02,810 --> 00:04:05,050 pryd bynnag y byddai'r cyfrifiadur yn chwalu, byddai fy mom yn dod i mi, 76 00:04:05,050 --> 00:04:07,060 dangos fy hyn yn sgrin a gofyn i mi beth a ddigwyddodd. 77 00:04:07,060 --> 00:04:09,210 >> Hyd yn oed Nid wyf yn gwybod beth y mae hyn yn ei olygu. 78 00:04:11,890 --> 00:04:14,700 [Chwerthin] Beth? 79 00:04:16,950 --> 00:04:18,019 [Chwerthin] 80 00:04:18,720 --> 00:04:23,050 Weithiau rydym yn teimlo fel ddatblygwyr meddalwedd yn unig trolling ni. 81 00:04:23,050 --> 00:04:28,460 Fel defnyddwyr rydym fel, "Beth sy'n mynd ymlaen? Rhywun ddweud wrthym." 82 00:04:28,460 --> 00:04:32,140 Mae hyn i gyd yn dod i lawr i fater o ddylunio. 83 00:04:32,140 --> 00:04:34,650 Dylunio, fel y gallwn weld, nid yn unig am estheteg, 84 00:04:34,650 --> 00:04:37,230 nid yw'n ymwneud â sut mae pethau'n edrych. 85 00:04:37,230 --> 00:04:41,720 Rydym yn gweld yma fod hyn ychydig pop-up dros yma mewn gwirionedd yn edrych yn eithaf neis. 86 00:04:41,720 --> 00:04:45,290 Mae ganddo cysgod galw heibio yn y cefndir, mae ganddi radiuses ffin yn mynd ymlaen. 87 00:04:45,290 --> 00:04:47,550 Mae'n fath o 'n bert. 88 00:04:47,550 --> 00:04:51,480 Dyw hi ddim yn dda iawn a gynlluniwyd gan nad yw'n hawdd iawn. 89 00:04:51,480 --> 00:04:54,920 Nid yw ychydig o pop-up sy'n dod i fyny yn wir yn rhoi unrhyw wybodaeth i mi 90 00:04:54,920 --> 00:04:58,450 am beth sy'n mynd ymlaen, nid yw'n dweud unrhyw beth i mi fel y defnyddiwr 91 00:04:58,450 --> 00:05:01,400 am sut i adennill oddi wrth y camgymeriad. 92 00:05:01,400 --> 00:05:05,190 Rydym eisiau i feddwl am bethau bod dyluniad yn peidio. 93 00:05:05,190 --> 00:05:06,670 Yn gyntaf, nid yw'n estheteg. 94 00:05:06,670 --> 00:05:10,800 Nid Mae hefyd yn stwffin eich app gyda tunnell o functionality diangen. 95 00:05:10,800 --> 00:05:14,890 Os ydych chi'n bwyty Thai, mae'n debyg nad ydych am fod yn ddeintydd ar yr un pryd. 96 00:05:14,890 --> 00:05:17,720 Ac nid â Chwestiynau Facebook, fod llawer o bobl yn ei ddefnyddio 97 00:05:17,720 --> 00:05:21,130 ac nid oedd yn wir wrth wraidd yr hyn y maent yn adeiladu. 98 00:05:21,130 --> 00:05:24,200 Ac felly mae'n braf i beidio â meddwl am gymaint faint y pethau 99 00:05:24,200 --> 00:05:26,390 eich bod yn rhoi i'ch cais ond mae ansawdd 100 00:05:26,390 --> 00:05:28,910 a sut yr ydych chi'n gwneud y profiad y defnyddiwr yn well 101 00:05:28,910 --> 00:05:32,540 drwy gwella mewn gwirionedd ar yr hyn sydd gennych eisoes. 102 00:05:32,540 --> 00:05:37,040 >> Yn gryno, dylunio yn dweud wrthym beth y dylem adeiladu. 103 00:05:37,040 --> 00:05:41,950 Er enghraifft, os ydym yn adeiladu rhywbeth sy'n gadael i ni chwilio pethau i fyny, 104 00:05:41,950 --> 00:05:45,970 fel Google, er enghraifft, a ddylem wneud pethau mewn modd 105 00:05:45,970 --> 00:05:48,950 sy'n ei gwneud yn ofynnol i'r defnyddiwr i gymryd llawer o cliciau i gyrraedd yr hyn y maent ei eisiau, 106 00:05:48,950 --> 00:05:52,580 neu a ddylem wneud hynny mewn ffordd, er enghraifft, gyda Google Instant neu awtogwblhau 107 00:05:52,580 --> 00:05:54,970 sy'n gadael i ni gyrraedd ein canlyniadau yn gyflymach? 108 00:05:54,970 --> 00:05:58,740 Peirianneg yn cynnwys, fel y bydd Tommy yn dangos i chi, mewn gwirionedd yn adeiladu arno. 109 00:05:58,740 --> 00:06:01,890 Mae llawer o fathau o ddylunio. 110 00:06:01,890 --> 00:06:06,070 Er enghraifft, os ydych yn adeiladu rhywbeth i ddefnyddio rhywbeth 111 00:06:06,070 --> 00:06:09,770 mewn gwlad y Trydydd Byd lle nad oes llawer o drydan neu y dechnoleg lawer, 112 00:06:09,770 --> 00:06:11,440 rhaid i chi ddylunio hyn yr ydych yn adeiladu 113 00:06:11,440 --> 00:06:14,210 mewn ffordd sy'n hawdd rhoi mynediad at y bobl yno. 114 00:06:14,210 --> 00:06:18,290 Ond beth y gallai mathau o benderfyniadau dylunio eraill fod 115 00:06:18,290 --> 00:06:21,850 neu a allai fod yn rhan o rywbeth fel hyn? 116 00:06:23,690 --> 00:06:25,660 Yeah. Rwy'n gweld llaw. 117 00:06:25,660 --> 00:06:37,200 [Ymateb y myfyrwyr Anghlywadwy] Hawl >>. Yn union. Mae hygyrchedd yn un peth. 118 00:06:37,200 --> 00:06:40,870 Nid yw llawer o bobl yn meddwl am, "Beth am fy defnyddwyr?" 119 00:06:40,870 --> 00:06:43,160 fel y eithafion y naill neu'r llall sbectrwm. 120 00:06:43,160 --> 00:06:47,770 Mae gen i ddefnyddwyr a allai ag anableddau nad ydw i'n meddwl am 121 00:06:47,770 --> 00:06:50,590 a Im 'jyst yn meddwl am ddylunio ar gyfer y defnyddiwr gyffredinol. 122 00:06:50,590 --> 00:06:52,630 Mae'r Rhyngrwyd yn hygyrch i bawb y dyddiau hyn, 123 00:06:52,630 --> 00:06:54,870 ac os caf fy dylunio ar gyfer y bobl hynny yn ogystal. 124 00:06:54,870 --> 00:06:58,620 Beth allai fathau o benderfyniadau dylunio eraill yr ydych yn ei wneud? 125 00:06:58,620 --> 00:07:00,690 Ydw. >> [Myfyrwyr] Cost. 126 00:07:00,690 --> 00:07:02,680 Cost. Da iawn. 127 00:07:02,680 --> 00:07:08,060 Peth arall efallai y byddwn yn seilio ein penderfyniadau dylunio ar eu cost. 128 00:07:08,060 --> 00:07:13,130 Os ydym yn fusnes, ydych am adeiladu rhywbeth nad yw'n cymryd costio llawer i gynhyrchu 129 00:07:13,130 --> 00:07:17,720 ond gall gwerthu am gost arbennig o uchel neu a all gael rhywfaint o elw i ni. 130 00:07:17,720 --> 00:07:21,540 >> Mae'r rhain i gyd yn fathau gwahanol o ddylunio, ond pan fyddwn ni'n adeiladu rhywbeth ar y Rhyngrwyd 131 00:07:21,540 --> 00:07:25,120 neu pan fyddwn ni'n adeiladu rhywbeth yn debyg nad yw'n costio cymaint â hynny i adeiladu i fyny yn awr, 132 00:07:25,120 --> 00:07:28,630 fel ceisiadau Rhyngrwyd - nid oes rhaid i chi daflu llawer o gyfalaf i mewn iddo 133 00:07:28,630 --> 00:07:30,900 er mwyn gwneud rhywbeth sydd mewn gwirionedd yn gweithio - 134 00:07:30,900 --> 00:07:33,490 hyn yr ydym ni'n fwy pryderus yn ei gylch yw profiad y defnyddiwr. 135 00:07:33,490 --> 00:07:36,390 Rydym yn galw hyn yn dylunio defnyddiwr yn y canol. 136 00:07:36,390 --> 00:07:41,550 Yn y bôn yr hyn a dylunio defnyddiwr yn y canol yn golygu yn rhoi eich hun yn esgidiau eich defnyddwyr. 137 00:07:41,550 --> 00:07:44,870 Os bydd rhywun arwyddion ar gyfer yr hyn rwy'n ei adeiladu, 138 00:07:44,870 --> 00:07:48,250 maen nhw wedi dod yn amlwg i fy nghais penodol gyda nod mewn golwg, 139 00:07:48,250 --> 00:07:50,280 gyda thasg y maent am i'w gwblhau. 140 00:07:50,280 --> 00:07:53,650 Ac mae eich swydd yw nid yn unig i'w helpu i gwblhau'r dasg 141 00:07:53,650 --> 00:07:57,930 ond i'w helpu i gwblhau'r dasg mewn modd sy'n effeithlon, sythweledol, 142 00:07:57,930 --> 00:08:01,900 ac, fel rhywun dywedodd dros yno, yn hygyrch. 143 00:08:01,900 --> 00:08:03,750 Beth mae effeithlonrwydd yn ei olygu? 144 00:08:03,750 --> 00:08:08,050 Effeithlonrwydd yn golygu pa mor gyflym y mae fy defnyddiwr cwblhau'r dasg a roddwyd fy rhyngwyneb. 145 00:08:08,050 --> 00:08:11,650 A yw'n cymryd llawer o cliciau iddynt fynd o un lle i'r llall? 146 00:08:11,650 --> 00:08:14,630 A yw'n ddiflas? A oes yn rhaid iddynt berfformio llawer o dasgau ailadroddus? 147 00:08:14,630 --> 00:08:17,140 Rydym am sicrhau bod y broses mor effeithlon â phosibl 148 00:08:17,140 --> 00:08:20,070 felly nid oes raid iddynt wneud y math o bethau. 149 00:08:20,070 --> 00:08:24,230 Fel ar gyfer intuitiveness, hynny yw, er enghraifft, os yw defnyddiwr yn edrych i fyny fy rhyngwyneb, 150 00:08:24,230 --> 00:08:27,240 a yw'n hawdd iddynt fynd o le i le? 151 00:08:27,240 --> 00:08:30,390 A yw'n hawdd iddynt at chyfrif i maes yr hyn y maent yn rhaid i chi glicio yn fy rhyngwyneb 152 00:08:30,390 --> 00:08:33,770 er mwyn iddynt gyrraedd y nod neu dasg y maent am ei gyflawni? 153 00:08:33,770 --> 00:08:37,520 >> Ac yn olaf, fel y dywedodd un person dros yno, mae hygyrchedd yn bwysig iawn. 154 00:08:37,520 --> 00:08:39,640 [Siaradwr gwrywaidd] Mae'n dod i hygyrchedd ar gyfer pethau fel gweledigaeth, 155 00:08:39,640 --> 00:08:42,740 yn hoffi sut ydw i'n gwirionedd dylunio rhywbeth i rywun sy'n ddall? 156 00:08:42,740 --> 00:08:46,460 Oh. I bobl nad ydynt yn gallu gweld o gwbl, mae gennym rywbeth a elwir yn darllenwyr sgrin. 157 00:08:46,460 --> 00:08:49,070 Beth ddylech chi ei wneud yw y dylech adeiladu eich gwefan mewn ffordd 158 00:08:49,070 --> 00:08:52,020 hynny, er enghraifft, technolegau penodol hyn rydym yn galw - 159 00:08:52,020 --> 00:08:53,590 Mae llawer o bethau yn awr. 160 00:08:53,590 --> 00:08:55,660 Rwy'n meddwl bod yna darllenwyr sgrin a elwir yn JAWS. 161 00:08:55,660 --> 00:08:58,410 Mae llawer o'r pethau hyn yn dibynnu ar yr hyn a alwn reolau ardal 162 00:08:58,410 --> 00:09:02,010 er mwyn darllen allan i'r defnyddiwr beth sydd yno ar y dudalen. 163 00:09:02,010 --> 00:09:05,480 I'r bobl hynny nad ydynt yn gallu gweld, mae angen i chi wneud yn siŵr bod y darllenwyr sgrin 164 00:09:05,480 --> 00:09:09,130 mewn gwirionedd gall godi'r cynnwys ar y dudalen a gall mewn gwirionedd yn dangos eich defnyddwyr, 165 00:09:09,130 --> 00:09:13,630 os nad ydych yn gallu gweld, o leiaf gallwch barhau i ddeall y cynnwys ar y dudalen. 166 00:09:13,630 --> 00:09:16,190 Yeah. Iawn. 167 00:09:16,190 --> 00:09:23,410 Digon siarad am ddylunio da. Gadewch i ni siarad am ddylunio gwael. 168 00:09:23,410 --> 00:09:25,220 Mae'r rhain yn bethau na ddylech ei wneud. 169 00:09:25,220 --> 00:09:27,890 A all unrhyw un ddweud wrthyf am eu profiadau gyda Craigslist 170 00:09:27,890 --> 00:09:32,190 ac nid beth maen nhw'n feddwl sydd mor wych am y cynllun hwn? 171 00:09:33,690 --> 00:09:36,430 Ydw. >> [Myfyrwyr] Rwy'n credu bod yna gormod o eiriau mewn un ardal. 172 00:09:36,430 --> 00:09:39,350 Gormod o eiriau, dde? Hollol llethol. 173 00:09:39,350 --> 00:09:42,400 Byddwch yn dod i'r dudalen hon a ydych yn croesawu gyda criw cyfan o bethau i fyny yma 174 00:09:42,400 --> 00:09:43,860 Ni allai hyd yn oed yn bwysig i chi. 175 00:09:43,860 --> 00:09:47,010 Er enghraifft, ydych yn byw mewn un yn datgan bod iddo yn dechrau gyda'r llythyr hwn. 176 00:09:47,010 --> 00:09:48,690 Lets 'ddeud ydych yn byw yn Texas neu rywbeth. 177 00:09:48,690 --> 00:09:53,790 >> Mae'n rhaid i chi sgrolio holl ffordd i lawr y dudalen i gyrraedd y lleoliad rydych yn. 178 00:09:53,790 --> 00:10:00,320 Rwy'n dod o Boston, felly gadewch i mi edrych yn Massachusetts. Ble mae Massachusetts? 179 00:10:00,320 --> 00:10:03,270 O, mae'n iawn yma. O, mae'n Boston. Iawn. 180 00:10:03,270 --> 00:10:09,070 Gadewch i ni edrych ar Boston. [Chwerthin] 181 00:10:09,070 --> 00:10:12,250 Pretty llethol, dde? 182 00:10:12,250 --> 00:10:16,400 Bethau Lletchwith dros yno. [Chwerthin] 183 00:10:17,320 --> 00:10:19,470 Lets 'ddeud dwi'n chwilio am rywle i fyw. 184 00:10:19,470 --> 00:10:24,130 Faint o bobl wedi defnyddio'r Craigslist? Tons of chi. 185 00:10:24,130 --> 00:10:30,960 Mae yna ffyrdd eithaf gwael i edrych ar hyn, ond gadewch i ni edrych ar hyn. 186 00:10:35,130 --> 00:10:38,970 Beth yw'r gwahaniaeth rhwng img a pic? A all unrhyw un ddweud wrthyf? 187 00:10:41,350 --> 00:10:42,830 Nid mewn gwirionedd oes unrhyw wahaniaeth. 188 00:10:42,830 --> 00:10:47,710 Maent yn golygu yn union yr un peth, ond mae ganddynt wahanol labeli ar eu cyfer am ryw reswm. 189 00:10:48,980 --> 00:10:53,560 Os byddaf yn cliciwch ar Wedi Image, nid oes dim yn digwydd ar y dudalen. 190 00:10:53,560 --> 00:10:57,490 Fi 'n weithredol rhaid i chi glicio Chwiliwch eto am i rywbeth ddigwydd. 191 00:10:57,490 --> 00:11:02,430 Beth allai fod yn benderfyniad dylunio gwell y gellid ei wneud yno? 192 00:11:03,820 --> 00:11:08,030 Os ydw i'n clicio ar y hidlo, yr wyf yn ôl pob tebyg am hidlo gan y gweithredu penodol 193 00:11:08,030 --> 00:11:09,970 neu fod categori penodol. 194 00:11:09,970 --> 00:11:14,450 Felly yn hytrach na gorfod wasg Chwiliwch eto, gallai Fi jyst yn awtomatig yn gwneud y hidlo 195 00:11:14,450 --> 00:11:17,060 math o Google arddull lle maent yn ei wneud yn syth. 196 00:11:17,060 --> 00:11:20,440 [Malan] Ond peidiwch â ffurfio fel yr ydym wedi eu gweld hyd yn hyn yn gorfod cael eu cyflwyno yn gorfforol 197 00:11:20,440 --> 00:11:23,170 drwy daro Rhowch o leiaf neu glicio botwm? 198 00:11:23,170 --> 00:11:26,830 Fel chi eu gweld nhw hyd yn hyn, rydych mewn gwirionedd yn rhaid i chi glicio Cyflwyno i wneud y pethau hynny. 199 00:11:26,830 --> 00:11:30,090 >> Ond fel y bydd Tommy yn dangos i chi mewn eiliad, mae mewn gwirionedd yn ffyrdd i chi 200 00:11:30,090 --> 00:11:33,010 fel bod pan fyddwch yn clicio ar y peth gellir ei anfon yn awtomatig 201 00:11:33,010 --> 00:11:38,840 hyn yr ydym yn galw cais AJAX a chael data yn ôl a hidlo eich canlyniadau yn syth. 202 00:11:38,840 --> 00:11:41,340 Mae tunnell o bethau sydd o'i le ar y rhyngwyneb. 203 00:11:41,340 --> 00:11:43,530 [Malan] Allwch chi chwilio am Cambridge? 204 00:11:43,530 --> 00:11:47,030 Mae rhywbeth ychydig yn afreolaidd yma, lle yr ydych yn gofalu am Cambridge 205 00:11:47,030 --> 00:11:54,790 ac eto yr ydych yn ei gael WESTFORD, Spring Hill, Gorllewin Newton ac yn y blaen. 206 00:11:54,790 --> 00:11:57,930 Mae'n debyg nad yw'n ddelfrydol. Nid >> yn ôl pob tebyg yn ddelfrydol. 207 00:11:57,930 --> 00:12:03,900 Sut byddaf yn gallu gwneud profiad y defnyddiwr yn well ar y dudalen benodol? 208 00:12:03,900 --> 00:12:07,340 Ydw. >> [Myfyrwyr] Cyfarwyddiadau. 209 00:12:07,340 --> 00:12:09,500 Iawn. Cyfarwyddiadau ym mha fath o synnwyr? 210 00:12:09,500 --> 00:12:14,630 [Myfyrwyr] Er enghraifft, beth am ddefnyddwyr tro cyntaf, nid ydynt yn hyd yn oed yn gwybod beth Craigslist yn 211 00:12:14,630 --> 00:12:17,320 neu os nad ydych yn gwybod beth rydych yn fod i wneud. 212 00:12:17,320 --> 00:12:20,150 Hawl. Felly, yn egluro beth Craigslist ar y dudalen hon yn bwysig. 213 00:12:20,150 --> 00:12:23,490 Gallwn mewn gwirionedd yn dweud wrth ddefnyddwyr beth y dudalen hon mewn gwirionedd. 214 00:12:23,490 --> 00:12:27,090 Os Im 'jyst yn ymweld â hyn, yr wyf yn gweld criw cyfan o leoliadau. Dydw i ddim hyd yn oed yn gwybod beth maent yn ei olygu. 215 00:12:27,090 --> 00:12:29,730 Ond yn bwysicach, dim ond edrych ar y rhyngwyneb, 216 00:12:29,730 --> 00:12:35,530 cofiwch Roedd rhaid i mi sgrolio i lawr tunnell o bethau i ddod o hyd i gymuned arbennig 217 00:12:35,530 --> 00:12:37,560 fy mod mewn gwirionedd yn gofalu amdanynt ar y. 218 00:12:37,560 --> 00:12:39,820 Beth yw'r ffordd gyflymach allwn i wneud hynny? Ydw. 219 00:12:39,820 --> 00:12:43,290 [Myfyrwyr] Rhannwch nhw i fyny i mewn dwyrain, rhanbarthau gorllewin. >> Iawn. 220 00:12:43,290 --> 00:12:47,460 Gallwn eu rhannu i gategorïau mwy a allai fy helpu gyflymach benderfynu 221 00:12:47,460 --> 00:12:49,820 sut i gyrraedd y lleoliad arbennig hwnnw. 222 00:12:49,820 --> 00:12:54,510 [Myfyrwyr] Rhowch gwymplen. >> Iawn. Iawn. 223 00:12:54,510 --> 00:12:58,240 Gallwn ddefnyddio gwymplen gan fod gennym set benodol o bethau 224 00:12:58,240 --> 00:13:00,100 a gallem ddangos iddynt mewn gwymplen. 225 00:13:00,100 --> 00:13:02,240 Dyna ffordd nad yw'n cymryd cymaint o le ar y sgrin. 226 00:13:02,240 --> 00:13:05,630 Ond hyd yn oed yn well na hynny, beth allwn ni ei wneud? 227 00:13:05,630 --> 00:13:09,220 Ydw. A all >> [Anghlywadwy ymateb y myfyrwyr] >> chi ddweud hynny eto? >> [Myfyrwyr] blwch Chwilio. 228 00:13:09,220 --> 00:13:11,260 Yeah, blwch chwilio. Mae hynny'n wych. 229 00:13:11,260 --> 00:13:16,430 Yr hyn y gallwn ei wneud mewn gwirionedd yw os ydym yn edrych yn ôl yn y chwiliad sleidiau blwch,. 230 00:13:16,430 --> 00:13:21,520 Gwblhau yn awtomatig. Ffordd hawdd iawn i chwilio drwy ganlyniadau eich bod yn gwybod bod mewn set. 231 00:13:21,520 --> 00:13:25,980 Os byddaf yn dechrau teipio BO, dim ond dangos i mi yr holl ganlyniadau sydd y tu mewn BO ohonynt. 232 00:13:25,980 --> 00:13:29,030 Dyna ffordd y gallaf yn hawdd iawn dod o hyd i'r un arbennig Dw i eisiau mynd i 233 00:13:29,030 --> 00:13:32,390 yn hytrach na gorfod sgrolio drwy'r rhestr hon fawr iawn. 234 00:13:32,390 --> 00:13:37,450 >> Mae'r rhain i gyd math o isel iawn-hongian ffrwythau rhywun sy'n gweithredu Craigslist 235 00:13:37,450 --> 00:13:42,500 Gall ei wneud mewn gwirionedd i wneud y profiad ar y wefan lawer gwell ar gyfer eu defnyddwyr penodol. 236 00:13:42,500 --> 00:13:46,370 Iawn. Digon siarad am wefannau drwg. 237 00:13:46,370 --> 00:13:49,410 Gadewch i ni siarad am Facebook. 238 00:13:50,880 --> 00:13:54,390 Pan Facebook ddaeth allan, ac yn enwedig lluniau Facebook, 239 00:13:54,390 --> 00:13:57,870 roedd llawer o wasanaethau eraill ar y pryd a allai wneud yn union yr un pethau. 240 00:13:57,870 --> 00:14:00,740 Gallent drefnu eich lluniau i mewn albwm. 241 00:14:00,740 --> 00:14:03,360 Beth allech chi ei wneud yw y gallech eu trefnu mewn setiau yn ogystal. 242 00:14:03,360 --> 00:14:06,070 Gallech eu trefnu yn ôl dyddiad. Gallech wneud yr holl bethau hyn penodol. 243 00:14:06,070 --> 00:14:11,710 Ond a oes unrhyw un yn gwybod beth a wnaed Facebook lluniau ffrwydro ar yr adeg y ei ryddhau? 244 00:14:11,710 --> 00:14:15,080 Ydw. >> [Myfyrwyr] Tags. Tags >>. Yn union. 245 00:14:15,080 --> 00:14:21,300 Mae gennym Milo dros yma, sydd yn ein masgot ci gyda'r bandana CS50. 246 00:14:21,300 --> 00:14:24,810 Gallwch weld bod gennym nodwedd hon tagio yn y canol. 247 00:14:24,810 --> 00:14:28,240 A beth oedd yn gwneud lluniau Facebook mor ddiddorol o safbwynt defnyddioldeb 248 00:14:28,240 --> 00:14:34,130 yw ei fod mewn gwirionedd yn caniatáu i bobl drwy hyn i gynnwys eu ffrindiau yn eu lluniau. 249 00:14:34,130 --> 00:14:37,680 Ar gyfer Facebook, gan fod eu gwefan yn arbennig cymdeithasol, 250 00:14:37,680 --> 00:14:40,750 mae'n ymwneud ag adeiladu y math hwn o awyrgylch cymdeithasol. 251 00:14:40,750 --> 00:14:42,620 Oedd yn gwella'r profiad o luniau a llawer mwy 252 00:14:42,620 --> 00:14:46,390 oherwydd y gallai eu bod mewn gwirionedd yn dechrau dweud, "Mae'r rhain yn cysylltiadau rhwng pobl, 253 00:14:46,390 --> 00:14:49,220 ac mae'r rhain yn lluniau am bobl rydych yn gofalu amdano. " 254 00:14:49,220 --> 00:14:52,200 Rhan ohono hefyd yn narcissism fath. 255 00:14:52,200 --> 00:14:54,980 Mae pobl yn hoffi cael eu tagio mewn lluniau a phethau fel 'na. 256 00:14:54,980 --> 00:14:58,510 Er nad yw o anghenraid yn nodwedd ddynol da, 257 00:14:58,510 --> 00:15:01,910 ar yr un pryd ei fod yn seiliedig ar benderfyniadau dylunio da 258 00:15:01,910 --> 00:15:04,860 oherwydd bod pobl yn poeni am bethau fel hyn. 259 00:15:04,860 --> 00:15:07,190 Felly dyna lluniau Facebook. 260 00:15:07,190 --> 00:15:09,800 >> Ond gadewch i ni siarad Facebook fwy cyffredinol. 261 00:15:09,800 --> 00:15:13,400 Rwy'n siwr llawer o bobl yma farn am Facebook, 262 00:15:13,400 --> 00:15:16,430 ddau penderfyniadau dylunio da a phenderfyniadau dylunio gwael. 263 00:15:16,430 --> 00:15:20,270 Felly, gadewch i ni awyrdwll neu fod yn hapus. 264 00:15:23,480 --> 00:15:26,450 Dewch ar. Yr wyf yn gwybod pob un ohonoch yn defnyddio Facebook. 265 00:15:26,450 --> 00:15:30,970 Mae rhywun wedi cael rhywbeth drwg i'w ddweud neu rywbeth da i'w ddweud am y peth. Ydw. 266 00:15:30,970 --> 00:15:35,060 [Myfyrwyr] Yn y ffrwd newyddion mae yna lot o bethau dwi ddim wir yn poeni am. 267 00:15:35,060 --> 00:15:37,740 Mae'r porthiant newyddion yn dangos llawer o bethau efallai nad ydych yn gofalu amdano. 268 00:15:37,740 --> 00:15:41,660 Mae gennych ffrindiau ar Facebook nad ydych wedi cyfarfod am 2 neu 3 blynedd 269 00:15:41,660 --> 00:15:43,860 a byddwch yn gweld eu canlyniadau newyddion neidio i fyny yn eich ffrwd newyddion 270 00:15:43,860 --> 00:15:45,870 ac nad ydych yn wir yn poeni am y peth. 271 00:15:45,870 --> 00:15:48,700 Facebook wedi gwneud mewn gwirionedd ymdrech i wneud hyn yn well, 272 00:15:48,700 --> 00:15:53,150 ac maent wedi ceisio mewn gwirionedd i wthio canlyniadau perthnasol i ben y porthiant newyddion yn ddiweddar 273 00:15:53,150 --> 00:15:58,300 er mwyn i chi mewn gwirionedd yn gweld pethau gan ffrindiau sy'n berthnasol i chi neu eich ffrindiau agos. 274 00:15:58,300 --> 00:16:01,110 Unrhyw beth arall? Ydw. 275 00:16:01,110 --> 00:16:06,400 A all [Anghlywadwy ymateb y myfyrwyr] >> chi ddweud hynny eto? 276 00:16:06,400 --> 00:16:10,140 [Myfyrwyr] Mae'r hysbysebion yn gymharol ddisylw. >> Ym mha ystyr? 277 00:16:10,140 --> 00:16:16,370 [Ymateb y myfyrwyr Anghlywadwy] Nid oes ganddynt olau ar y sgrin, fel baneri. 278 00:16:16,370 --> 00:16:17,760 Iawn. Mae hynny'n dda. 279 00:16:17,760 --> 00:16:25,030 Os ydych yn cofio y Rhyngrwyd gan y '90au - >> [Malan] oeddwn i yno. >> Roedd yno. [Chwerthin] 280 00:16:25,030 --> 00:16:29,210 Efallai y byddwch yn cofio cefndiroedd GIFs fflachio, disglair pethau, 281 00:16:29,210 --> 00:16:31,570 Fath arddull Geocities o bethau. 282 00:16:31,570 --> 00:16:34,080 Na wir yn enghraifft o ddyluniad da 283 00:16:34,080 --> 00:16:36,690 oherwydd ei fod yn wir yn tynnu sylw oddi wrth y cynnwys. 284 00:16:36,690 --> 00:16:39,590 Mae gwefan celf Yale a ddefnyddir i gael GIFs animeiddiedig fel eu cefndir 285 00:16:39,590 --> 00:16:41,800 ac nad oeddech yn gallu darllen unrhyw beth ar y dudalen, 286 00:16:41,800 --> 00:16:44,870 ond mae'n debyg i rywun mewn gwirionedd yn siarad â nhw ac yn awr mae'n ychydig yn wahanol. 287 00:16:44,870 --> 00:16:48,940 [Malan] Mae'n llawer gwell erbyn hyn. >> Mae'n llawer gwell yn awr, fel y gallwch weld. >> [Malan] Oh yeah. 288 00:16:48,940 --> 00:16:56,020 Dim ond fawr, dim ond - Yeah. Iawn. 289 00:16:56,020 --> 00:17:00,560 >> Rhan ohono hefyd yn gwneud eich tudalen o bosibl iawn minimalaidd ac yn ddealladwy 290 00:17:00,560 --> 00:17:05,690 cymaint o bethau ar y llif dudalen mewn ffordd sy'n iawn rhesymegol ac nid ydynt yn mynd yn y ffordd i'w gilydd. 291 00:17:05,690 --> 00:17:11,849 Pa fath o bethau eraill yn dda am Facebook neu drwg am Facebook? 292 00:17:11,849 --> 00:17:15,730 Gadewch i 'jyst gael sgwrs dylunio yma. 293 00:17:19,470 --> 00:17:21,339 Oh. Ble? Yeah. 294 00:17:21,339 --> 00:17:25,640 [Myfyrwyr] Mae'r system Llinell Amser newydd yn eich galluogi i chwilio proffil y person am eu gorffennol. 295 00:17:25,640 --> 00:17:28,119 Ooh, Timeline. 296 00:17:28,119 --> 00:17:30,280 Llinell Amser yn beth gwych oherwydd ei fod yn gadael i chi coesyn eich ffrindiau 297 00:17:30,280 --> 00:17:33,300 yn ôl pan oeddent yn yr ysgol yn uchel. 298 00:17:35,160 --> 00:17:38,060 Llinell Amser yn dda oherwydd mae'n gadael i chi hidlo trwy gynnwys yn llawer cyflymach, 299 00:17:38,060 --> 00:17:41,500 mae'n gadael i chi ddod o hyd i bethau a fyddai fel arall wedi cymryd i chi amser hir iawn i ddod o hyd 300 00:17:41,500 --> 00:17:45,840 dim ond sgrolio i fyny ac i lawr, i fyny, i fyny, i fyny, i fyny, i fyny, fel mynd yn ôl mewn amser. 301 00:17:45,840 --> 00:17:48,910 Ond yna mae hefyd yn fath o anfantais i hynny o ran profiad y defnyddiwr. 302 00:17:48,910 --> 00:17:51,190 Beth allai hynny fod? 303 00:17:51,190 --> 00:17:56,780 Gair Fawr sy'n dechrau gyda P-R. >> [Myfyrwyr] Preifatrwydd. >> Preifatrwydd, dde? 304 00:17:56,780 --> 00:17:59,970 Preifatrwydd yn fater ddefnyddiwr profiad enfawr. 305 00:17:59,970 --> 00:18:07,190 Mae hwn yn un o'r pethau dwi'n casáu fwyaf am Facebook yn awr. [Chwerthin] 306 00:18:07,190 --> 00:18:09,000 [Malan] Fel rydw i'n awr. 307 00:18:09,000 --> 00:18:11,380 Nid yw David yn sylweddoli hyn yn digwydd mewn gwirionedd tan ddoe. 308 00:18:11,380 --> 00:18:14,560 Felly nawr ei fod yn gwybod bod bob tro rwy'n sgwrsio wrtho fy mod yn gwybod ei fod wedi bod yn anwybyddu fi. 309 00:18:14,560 --> 00:18:16,880 [Malan] Y rhan lletchwith oedd yr wyf yn oedd mewn gwirionedd yn ei anwybyddu, 310 00:18:16,880 --> 00:18:21,040 a doeddwn i ddim yn gwybod ei fod yn gwybod fy mod yn ei anwybyddu. [Chwerthin] 311 00:18:21,040 --> 00:18:24,030 Preifatrwydd yn broblem enfawr. 312 00:18:24,030 --> 00:18:28,670 A all unrhyw un yma ddweud wrthyf beth allai fod yn ddrwg am Facebook preifatrwydd 313 00:18:28,670 --> 00:18:32,270 ar wahân i'r ffaith eu bod yn gwneud pethau fel hyn? 314 00:18:32,270 --> 00:18:37,240 Beth yw yn arbennig o anodd i'w wneud mewn perthynas â Facebook preifatrwydd? 315 00:18:37,240 --> 00:18:40,340 Math hwnnw o yn gwestiwn arweiniol. 316 00:18:41,680 --> 00:18:43,930 Ydw. >> [Myfyrwyr] Cuddio eich lluniau gan bobl benodol. 317 00:18:43,930 --> 00:18:46,170 Hawl. Yn union, i guddio eich lluniau gan bobl benodol. 318 00:18:46,170 --> 00:18:51,290 Maent yn cael y bach, botwm bach yn y dde uchaf sy'n eich galluogi i toglu preifatrwydd llun. 319 00:18:51,290 --> 00:18:56,360 Mae eu dewisiadau preifatrwydd yn amrywio'n fawr rhwng gwahanol fathau o fwydlenni. 320 00:18:56,360 --> 00:18:59,510 >> Maen nhw wedi gotten llawer gwell am y peth yn ddiweddar, ond arferai fod yn wir 321 00:18:59,510 --> 00:19:04,870 bod pryd bynnag y byddwch eisiau atal eich ffrindiau o luniau gweld, 322 00:19:04,870 --> 00:19:08,280 byddai'n rhaid i chi fynd drwy cymhleth iawn 5-cam proses o fod fel, 323 00:19:08,280 --> 00:19:11,150 gadewch i mi cliciwch ar y ddolen hon, nawr gadewch i mi cliciwch eto, gadewch i mi cliciwch eto, 324 00:19:11,150 --> 00:19:13,420 gadewch i mi nodi na all pobl weld fy lluniau. 325 00:19:13,420 --> 00:19:17,250 Nid yw hynny'n arbennig o dda ar Facebook rhan 326 00:19:17,250 --> 00:19:20,530 oherwydd bod cymaint am brofiad y defnyddiwr mewn gwirionedd yn rhoi iddynt y rhyddid 327 00:19:20,530 --> 00:19:22,460 i reoli'r hyn y gall pobl weld. 328 00:19:22,460 --> 00:19:25,550 Rydym yn galw hyn reolaeth i'r defnyddiwr a rhyddid. 329 00:19:25,550 --> 00:19:31,090 Os nad ydych chi'n gadael eich defnyddwyr gwneud hynny mewn ffordd sy'n effeithlon ac yn haws, 330 00:19:31,090 --> 00:19:34,570 yna nid yw eich profiad y defnyddiwr yn iawn bod fawr o gwbl. 331 00:19:34,570 --> 00:19:38,200  A fyddech yn hoffi guys i ddweud unrhyw beth am Facebook? 332 00:19:38,700 --> 00:19:41,420 Sut ydw i'n troi hwn i ffwrdd? 333 00:19:41,420 --> 00:19:46,290 [Ong] Ni allwch droi hwn i ffwrdd, ac mae hynny'n wendid defnyddioldeb enfawr ar ran Facebook. 334 00:19:46,290 --> 00:19:49,410 Mae hyn yn nodwedd - Fi 'n weithredol yn edrych i mewn iddo ddoe - 335 00:19:49,410 --> 00:19:53,940 mae'n naill ai nad allwch chi ei wneud neu y bydd yn ei gladdu yn rhywle iawn, iawn ddwfn 336 00:19:53,940 --> 00:19:58,050 yn y cilfachau o Facebook oherwydd ni allaf ffigwr sut i analluogi y swyddogaeth hon o gwbl. 337 00:19:58,050 --> 00:20:00,400 [Malan] Ond weithiau nid y penderfyniadau hyn yn amlwg 338 00:20:00,400 --> 00:20:03,890 oherwydd eich bod guys wedi rhoi llawer o adborth defnyddiol ar amrywiol CS50 geisiadau 339 00:20:03,890 --> 00:20:05,710 a gwefannau bod y cwrs yn defnyddio. 340 00:20:05,710 --> 00:20:10,260 Nid ydym wedi gweithredu pob un o'r ceisiadau hyn ac awgrymiadau. 341 00:20:10,260 --> 00:20:14,550 >> Rhan o hwnnw ar gyfer cael ceisiadau cymaint ei fod yn ffwythiant o amser, 342 00:20:14,550 --> 00:20:17,070 ond weithiau rydym yn unig yn gwneud penderfyniad ymwybodol fel, 343 00:20:17,070 --> 00:20:19,830 "Diolch am yr awgrym, ond rydym yn anghytuno." 344 00:20:19,830 --> 00:20:24,350 Felly, sut ydych chi'n mewn gwirionedd yn penderfynu beth y dylech ei wneud os yw eich defnyddwyr yn meddwl y dylech chi wneud rhywbeth 345 00:20:24,350 --> 00:20:28,110 hyd yn oed os nad ydych o reidrwydd? 346 00:20:28,110 --> 00:20:32,360 Mae'n gydbwysedd gofalus rhwng gwirionedd yn gwrando ar yr hyn eich defnyddwyr yn dweud 347 00:20:32,360 --> 00:20:35,840 ac mewn gwirionedd yn cael rhyw fath o linell lle'r ydych yn dweud, 348 00:20:35,840 --> 00:20:37,750 "Dydyn ni ddim yn mynd i wneud beth mae'r defnyddwyr yn ei ddweud." 349 00:20:37,750 --> 00:20:42,520 Ac yn benodol, yr wyf yn meddwl roedd dyfyniad gan Henry Ford sy'n crynhoi hyn yn eithaf da. 350 00:20:42,520 --> 00:20:47,130 "Os wyf wedi gofyn i bobl beth maent ei eisiau, byddent wedi dweud eu bod eisiau ceffylau yn gyflymach." 351 00:20:47,130 --> 00:20:51,840 A all unrhyw un didoli o bryfocio ar wahân yr hyn y dyfyniad ei olygu mewn gwirionedd? 352 00:20:51,840 --> 00:20:56,060 Nid yn unig bod defnyddwyr yn gwybod yr hyn y maent ei eisiau, 353 00:20:56,060 --> 00:20:59,180 ond mae'n fwy na - 354 00:20:59,180 --> 00:21:02,720 [Myfyrwyr] Nid ydynt yn gwybod beth sy'n bosibl. 355 00:21:02,720 --> 00:21:06,140 Yn rhannol nad ydynt yn gwybod yr hyn sy'n bosibl. 356 00:21:07,880 --> 00:21:11,440 Ymhelaethu ar y mater ar wahân ychydig yn fwy. Beth ydych chi'n ei olygu wrth hynny? 357 00:21:11,440 --> 00:21:21,340 [Ymateb y myfyrwyr Anghlywadwy] 358 00:21:21,340 --> 00:21:25,770 Mae hynny'n dda. Beth wyf yn credu ein bod yn ceisio ei ddweud yma yw bod pobl yn gwybod yr hyn y maent ei eisiau. 359 00:21:25,770 --> 00:21:28,050 Maent am ceffylau yn gyflymach. 360 00:21:28,050 --> 00:21:29,840 Yr hyn y maent eisiau mewn gwirionedd yw y gallu i symud yn gyflymach, 361 00:21:29,840 --> 00:21:32,310 ond nid ydynt yn wir yn gwybod y cyfrwng a ddefnyddir gan i gyflawni hynny. 362 00:21:32,310 --> 00:21:36,330 Pan fyddwch yn dod i'ch defnyddwyr a defnyddwyr eich dweud wrthych rhywbeth 363 00:21:36,330 --> 00:21:39,700 ac maent yn dweud wrthych, "Rydym am nodweddion hyn ac mae'r rhain yn nodweddion a nodweddion hyn," 364 00:21:39,700 --> 00:21:42,650 nad ydych am i reidrwydd yn meddwl am, "Gadewch i mi fynd yn ei flaen 365 00:21:42,650 --> 00:21:44,720 "A gweithredu'r hyn y maent yn benodol yn dweud," 366 00:21:44,720 --> 00:21:48,610 ond yr hyn rydych am feddwl amdano yw, "Pa fath o syniadau a gaf gan hynny?" 367 00:21:48,610 --> 00:21:50,450 Beth maen nhw'n ei eisiau mewn gwirionedd? 368 00:21:50,450 --> 00:21:55,560 >> Ac oddi yno yr hyn y gallwch ei wneud yw dylunio rhywbeth sy'n bodloni ceisiadau hynny 369 00:21:55,560 --> 00:22:00,340 ond nid o reidrwydd yn y ffordd y mae'r defnyddiwr yn disgwyl iddo gael ei fodloni. 370 00:22:00,340 --> 00:22:03,830 Felly, ar gyfer rhywbeth fel prosiectau terfynol, mewn termau real iawn, 371 00:22:03,830 --> 00:22:07,900 beth a hewristig ddefnyddiol pan ddaw i wneud rhywbeth yn well, 372 00:22:07,900 --> 00:22:10,630 yn enwedig os yw'r dylunydd wedi hyn arrogance amdano 373 00:22:10,630 --> 00:22:14,360 lle rydych fath o yn gwybod beth sydd orau, efallai y byddwch yn cymryd mewnbwn gan eich defnyddwyr, 374 00:22:14,360 --> 00:22:16,580 ond sut ydych chi'n mewn gwirionedd yn mynd ati i gael yr adborth? 375 00:22:16,580 --> 00:22:21,610 Mewn prosiectau terfynol, yn concretely, yr hyn yn cynhyrchu canlyniadau gorau posibl yma? 376 00:22:21,610 --> 00:22:25,030 Beth cynhyrchu canlyniadau gorau posibl - a byddaf yn mynd dros hyn mewn ail - 377 00:22:25,030 --> 00:22:29,190 yn y broses hon o ddatblygu ac yna profi ac yna ailadrodd. 378 00:22:29,190 --> 00:22:32,020 Beth allaf i ei olygu wrth brofi fel arfer pan fyddwch yn dylunio rhywbeth 379 00:22:32,020 --> 00:22:36,970 ydych yn meddwl ei fod yn eithaf da, fel, "Rwy'n o'r fath dylunydd gwych. Mae pawb yn mynd i garu hwn." 380 00:22:36,970 --> 00:22:41,600 Ac yna i chi ei roi allan yno ac nid yw pobl yn wir yn ei hoffi am ryw reswm. 381 00:22:41,600 --> 00:22:46,820 Beth sy'n rhaid i chi ei wneud yw yn rhaid i chi gymryd y rhannau o'r pethau y mae pobl yn hoffi 382 00:22:46,820 --> 00:22:49,180 ac ailwampio pethau nad yw pobl yn hoffi. 383 00:22:49,180 --> 00:22:53,080 Mae'n swnio fel proses amlwg iawn, ond mae'r broses o ailadrodd yn gyson 384 00:22:53,080 --> 00:22:55,980 ar ben yr hyn rydych wedi adeiladu eisoes yn broses sy'n eich helpu i 385 00:22:55,980 --> 00:22:59,730 nid yn unig yn mireinio eich sgiliau dylunio eu hunain, ond hefyd yn eich helpu mireinio'r dyluniad 386 00:22:59,730 --> 00:23:03,790 fel bod pobl yn gwerthfawrogi eich cynnyrch hyd yn oed yn fwy nag yr oeddent o'r blaen. 387 00:23:03,790 --> 00:23:07,390 >> Byddaf yn mynd dros enghreifftiau mwy pendant o'r hyn y gallech ei wneud mewn gwirionedd. 388 00:23:07,390 --> 00:23:11,390 Fel math o enghraifft olaf o gynnyrch, gadewch i ni edrych ar caiac. 389 00:23:11,390 --> 00:23:14,970 Caiac pan ddaeth allan yn iawn, yn boblogaidd iawn. 390 00:23:14,970 --> 00:23:18,760 All unrhyw un ddyfalu pam? 391 00:23:18,760 --> 00:23:20,950 Beth yw'r mathau o bethau chi'n ei hoffi am hyn os ydych wedi defnyddio ei 392 00:23:20,950 --> 00:23:23,990 neu beth yw'r mathau o bethau nad ydych yn hoffi? 393 00:23:23,990 --> 00:23:31,590 Ydw. >> [Anghlywadwy ymateb y myfyrwyr] >> Iawn. 394 00:23:31,590 --> 00:23:34,730 Dyna rhan ohono yn gadael i'r defnyddiwr gennych ymholiad sy'n fwy eang 395 00:23:34,730 --> 00:23:38,150 nag un gyfyngol iawn fel, "Mae'n rhaid i chi ddewis eich dyddiad dechrau 396 00:23:38,150 --> 00:23:39,810 "Ac mae'n rhaid i chi ddewis eich dyddiad diwedd." 397 00:23:39,810 --> 00:23:44,910 Yn wir, mae'n gadael i chi fod yn hyblyg ynghylch hyn, ac mae'n rhoi i chi i gyd y teithiau yn yr ystod. 398 00:23:44,910 --> 00:23:46,730 Unrhyw beth arall? 399 00:23:46,730 --> 00:23:50,530 [Myfyrwyr] Maent yn cynnwys y ffioedd yn y pris. 400 00:23:50,530 --> 00:23:53,330 Maent yn gwneud cynnwys y ffioedd yn y pris. 401 00:23:53,330 --> 00:23:56,720 Mae'r trethi a phethau mewn gwirionedd yn mynd yn syth i mewn i'r pris yn y chwith uchaf 402 00:23:56,720 --> 00:24:00,710 fel na chewch eich twyllo i feddwl eich bod mewn gwirionedd yn talu am hedfan $ 240 403 00:24:00,710 --> 00:24:03,280 pan mae'n wirioneddol $ 330. 404 00:24:03,280 --> 00:24:06,200 Unrhyw beth arall? Ydw. 405 00:24:06,200 --> 00:24:10,140 [Ymateb y myfyrwyr Anghlywadwy] 406 00:24:10,140 --> 00:24:14,610 Nid wyf yn sicr os ydynt mewn gwirionedd yn gadael i chi wneud hynny. 407 00:24:14,610 --> 00:24:18,310 Efallai fy mod yn anghywir. 408 00:24:18,310 --> 00:24:23,360 Gallai hynny fod yn beth diddorol os ydych eisiau rhoi mwy o bwysau ar hidlyddion penodol 409 00:24:23,360 --> 00:24:27,000 fel eu bod yn gwthio canlyniadau cysylltiedig i'r hidlydd i'r brig. 410 00:24:27,000 --> 00:24:31,920 Gall ond gall unrhyw un ddweud wrthyf beth sydd mor arbennig am y ochr chwith? 411 00:24:31,920 --> 00:24:39,540 Sut wnaethoch chi draddodiadol chwilio am hedfan ar wasanaeth Rhyngrwyd cyn hyn? 412 00:24:41,600 --> 00:24:44,650 >> Ydw. A all >> [Anghlywadwy ymateb y myfyrwyr] >> ydych yn dweud hynny - 413 00:24:44,650 --> 00:24:47,530 [Myfyrwyr] Mae pob cwmni hedfan. >> Yeah. Each cwmni hedfan ei gwefan ei hun. 414 00:24:47,530 --> 00:24:50,110 Mae hyn yn atgyfnerthu pethau. A? 415 00:24:50,110 --> 00:24:52,190 [Myfyrwyr] Rydych chi'n gwybod yn union beth amser ydych yn gadael. 416 00:24:52,190 --> 00:24:54,460 Chi ddim yn gwybod yn union beth amser ydych yn gadael, 417 00:24:54,460 --> 00:24:59,380 ond yn gysylltiedig â'r hidlwyr yn arbennig. 418 00:25:00,710 --> 00:25:03,540 Gadewch i mi dynnu i fyny caiac. 419 00:25:11,490 --> 00:25:14,020 O Dduw, pop-ups. Profiad y defnyddiwr Gwael. 420 00:25:14,020 --> 00:25:17,230 Beth sy'n digwydd pan fyddaf yn symud y llithrydd? 421 00:25:17,230 --> 00:25:21,010 [Myfyrwyr] diweddariadau Awtomatig. >> [Ong] diweddariadau Awtomatig. 422 00:25:21,010 --> 00:25:23,440 Mae hynny'n rhywbeth sy'n bwysig iawn. 423 00:25:23,440 --> 00:25:25,380 Cyn hyn, pryd bynnag y byddwch eisiau edrych i fyny hedfan, 424 00:25:25,380 --> 00:25:28,410 bu'n rhaid i chi roi yn eich, lleoliad mewnbwn eich lleoliad allbwn, y wasg Chwilio, 425 00:25:28,410 --> 00:25:31,190 byddai'n ei brosesu hynny a dangos eich canlyniadau. 426 00:25:31,190 --> 00:25:34,120 Os ydych am newid eich ymholiad, byddai'n rhaid i chi bwyso yn ôl ddwywaith, 427 00:25:34,120 --> 00:25:39,770 fynd i mewn ymholiad newydd o'r dechrau, ac yna ei wneud drosodd a throsodd. 428 00:25:39,770 --> 00:25:43,910 Y peth braf am rywbeth fel hyn yn ei defnyddio yn beth [annealladwy] yn y canol. 429 00:25:43,910 --> 00:25:46,230 Pryd bynnag y byddwch yn gwneud rhywbeth fel hyn, mae'n saethu oddi ar y cais 430 00:25:46,230 --> 00:25:48,420 ac mae'n dychwelyd i chi i gyd y canlyniadau ar unwaith. 431 00:25:48,420 --> 00:25:51,680 Mae'r math hwn o adborth ar unwaith yn rhywbeth a wnaeth caiac wyllt yn boblogaidd 432 00:25:51,680 --> 00:25:55,910 oherwydd ei fod yn hawdd iawn i mi yn unig newid fy ymholiad 433 00:25:55,910 --> 00:25:58,890 ac i chyfrif i maes y pethau sydd o gwmpas ystod benodol 434 00:25:58,890 --> 00:26:01,950 heb orfod mynd yn ôl ac ymlaen, yn ôl ac ymlaen, yn ôl ac ymlaen. 435 00:26:01,950 --> 00:26:05,200 Felly, mae'r rhain i gyd math o bethau yr hoffech feddwl am pan fyddwch yn cynllunio eich gwefan. 436 00:26:05,200 --> 00:26:08,930 Sut alla i wneud yn effeithlon iawn ar gyfer fy defnyddwyr i fynd drwy beth bynnag y maent yn gweithio ar 437 00:26:08,930 --> 00:26:13,010 ac i gyrraedd eu nod yn y pen draw cyn gynted â phosibl? 438 00:26:13,010 --> 00:26:16,430 [Malan] Ac i Joseff pwynt yn gynharach am ddefnyddwyr nid o reidrwydd yn gwybod yr hyn y maent ei eisiau, 439 00:26:16,430 --> 00:26:18,640 yn seiliedig ar yr hyn yr ydych guys yn gwybod am HTML 440 00:26:18,640 --> 00:26:22,780 a bod gennych blychau ticio, botymau radio, menus dethol, caeau mewnbwn ac ati, 441 00:26:22,780 --> 00:26:26,140 sut fyddech chi weithredu'r syniad o ddewis un amser cychwyn ar gyfer hedfan? 442 00:26:26,140 --> 00:26:30,030 >> Pa o'r mecanweithiau gwahanol UI rydych yn ei ddefnyddio? 443 00:26:30,030 --> 00:26:34,100 Os ydych yn unig yn gwybod faint o HTML a dysgu cyn 444 00:26:34,100 --> 00:26:39,070 a ydych yn gwybod y mewnbynnau yn botymau radio, blychau ticio, galw-i-downs, a blwch mewnbwn, 445 00:26:39,070 --> 00:26:43,320 beth fyddai eich dewis naturiol wedi bod ar gyfer casglu dyddiadau? 446 00:26:43,320 --> 00:26:48,670 [Myfyrwyr] Mewnbwn. Mewnbwn >>. Neu efallai hyd yn oed galw heibio i lawr gyda'r holl ddyddiadau, dde? 447 00:26:48,670 --> 00:26:53,170 Felly, gyda mecanweithiau UI mwy cymhleth fel hyn ar yr ochr chwith y gallwch gweithredu, 448 00:26:53,170 --> 00:26:55,500 gallwch wneud y broses hon yn llawer mwy 'n athrylithgar gyda slider 449 00:26:55,500 --> 00:27:01,020 gan fod amser yn ddi-dor, a phobl nad ydynt fel arfer yn meddwl am y peth yn nhermau ddarnau ar wahân. 450 00:27:01,020 --> 00:27:04,950 Mae pob hawl. Peth diwethaf. 451 00:27:04,950 --> 00:27:07,370 Deg hewristeg defnyddioldeb. 452 00:27:07,370 --> 00:27:10,820 Mae'r holl bethau yr ydym yn siarad am yn ôl pob tebyg yn dod o dan un o'r categorïau hyn. 453 00:27:10,820 --> 00:27:14,420 Os byddwch yn mynd i'r cyswllt hwn, y bydd y safleoedd yn cael eu postio ar-lein, 454 00:27:14,420 --> 00:27:18,900 byddwch mewn gwirionedd yn gallu, wrth i chi ddylunio eich safle, cadwch hyn mewn cof hewristeg 455 00:27:18,900 --> 00:27:21,330 ac mae'r rhain yn rheolau bawd. 456 00:27:21,330 --> 00:27:26,610 Ar gyfer eich prosiectau, yr hyn yr wyf yn awgrymu eich bod yn ei wneud er mwyn cynllunio eich app yn well 457 00:27:26,610 --> 00:27:28,850 yw gwneud prototeipio papur cyntaf. 458 00:27:28,850 --> 00:27:32,150 Pan fyddwch chi'n meddwl am eich cais, yn gyflym iawn sketch beth rydych eisiau iddo edrych fel 459 00:27:32,150 --> 00:27:36,230 a gwneud yn siŵr bod yr holl flychau yn cael eu trefnu mewn ffordd sy'n iawn 'n athrylithgar ar gyfer y defnyddiwr i ddefnyddio 460 00:27:36,230 --> 00:27:39,820 and hyd yn oed yn dangos y prototeipiau papur at eich ffrindiau a dechrau grwpiau ffocws. 461 00:27:39,820 --> 00:27:44,230 Dim ond cael 2 neu 3 o bobl at ei gilydd a gofynnwch iddyn nhw dim ond tap ar y prototeipiau papur, 462 00:27:44,230 --> 00:27:47,650 a dangos iddynt sgriniau newydd i weld a ydynt mewn gwirionedd yn deall beth sy'n mynd ymlaen. 463 00:27:47,650 --> 00:27:50,680 >> Beth ydych chi eisiau ei wneud yw rhoi tasg, cymell y dasg honno, 464 00:27:50,680 --> 00:27:53,270 a dim ond rhoi iddynt y app a gadael iddyn nhw ei ddefnyddio. 465 00:27:53,270 --> 00:27:56,530 Peidiwch â rhoi cyfarwyddiadau iddynt y tu hwnt i hynny. 466 00:27:56,530 --> 00:28:00,920 Rydych am i mewn gwirionedd yn gadael iddyn nhw ryngweithio gyda'ch app mewn ffordd sy'n gadael i chi weld 467 00:28:00,920 --> 00:28:03,870 sut y byddent yn ei defnyddio os nad ydych yn sefyll wrth eu hymyl. 468 00:28:03,870 --> 00:28:05,250 Ac mae hynny'n bwysig iawn. 469 00:28:05,250 --> 00:28:08,780 Bydd hynny'n rhoi i chi lawer o fewnwelediadau i bobl symud o gwmpas pethau penodol 470 00:28:08,780 --> 00:28:10,560 mewn ffordd nad oeddwn yn bwriadu iddynt? 471 00:28:10,560 --> 00:28:14,680 A ydynt yn defnyddio mecanweithiau UI penodol ar y sgrîn 472 00:28:14,680 --> 00:28:17,490 mewn ffordd sy'n fath o hacky? 473 00:28:17,490 --> 00:28:22,020 Nid oeddwn yn bwriadu iddynt wneud felly. 474 00:28:22,020 --> 00:28:23,940 Ac unwaith y byddwch chi'n ei wneud gyda hynny, beth ydych chi eisiau ei wneud? 475 00:28:23,940 --> 00:28:26,010 Eich creigiau dylunio, dde? 476 00:28:26,010 --> 00:28:29,600 Beth ydych chi eisiau ei wneud yw ydych am ddatblygu ac yna gwneud y broses honno dros eto. 477 00:28:29,600 --> 00:28:32,110 Felly, ei ddangos i ffrindiau unwaith y byddwch wedi ei ddatblygu, ei brofi, 478 00:28:32,110 --> 00:28:36,630 datblygu, profi, datblygu, profi, ailadrodd, ymlaen ac ymlaen ac ymlaen. 479 00:28:36,630 --> 00:28:39,720 Mae dylunio yn broses iterus iawn yn yr ystyr hwn. 480 00:28:39,720 --> 00:28:43,280 Chi mewn gwirionedd yn cael i adeiladu rhywbeth ac yna sylweddoli pethau am y peth 481 00:28:43,280 --> 00:28:46,520 nad oeddech yn sylweddoli cyn ac yn mynd yn ôl ac yn gwella o hynny. 482 00:28:46,520 --> 00:28:50,890 Yn awr, fel ar gyfer y rhan datblygu, dyna beth Tommy yn mynd i ddangos i chi ar ôl yr egwyl 483 00:28:50,890 --> 00:28:53,220 a sut y gallech fod yn gallu gweithredu rhywbeth fel awtogwblhau 484 00:28:53,220 --> 00:28:56,610 mewn ffordd sy'n weddol syml. 485 00:28:57,440 --> 00:28:59,550 [Malan] Fel Tommy yn gosod i fyny yma, mae cwestiwn yna. 486 00:28:59,550 --> 00:29:03,780 Mae llawer o wefannau cynharaf - a phan ddywedodd Joseff 1990au gwefan arddull, 487 00:29:03,780 --> 00:29:07,640 oedd gweithrediadau lle os ydych eisiau i ddewis amser dechrau ac amser diwedd, 488 00:29:07,640 --> 00:29:10,380 dweud y gwir, yn ôl yn y dydd a hyd yn oed ar rai gwefannau heddiw, 489 00:29:10,380 --> 00:29:13,220 y ffordd yr ydych yn gwneud hyn yn eich bod yn dewis awr o galw heibio i lawr, 490 00:29:13,220 --> 00:29:15,910 eich bod yn dewis cofnodion o galw heibio i lawr, efallai byddwch yn dewis AM, PM, 491 00:29:15,910 --> 00:29:17,440 ac yna rydych yn gwneud hynny 3 gwaith yn fwy. 492 00:29:17,440 --> 00:29:19,920 Ac felly gyda 6 chleciau ac efallai rhywfaint o sgrolio 493 00:29:19,920 --> 00:29:24,000 gall eich defnyddiwr mewn gwirionedd yn darparu rhyw fath o ddyddiad a / neu ystod amser yn yr ystyr hwn. 494 00:29:24,000 --> 00:29:27,920 >> Felly, yn bendant suboptimal ac eto hyd yn hyn rydym wedi gweld unrhyw galluoedd mynegiannol 495 00:29:27,920 --> 00:29:30,330 yn unrhyw un o'r ieithoedd yr ydym wedi edrych ar wneud rhywbeth sexier 496 00:29:30,330 --> 00:29:32,620 fel hyn llithrydd o amser dechrau ac amser diwedd. 497 00:29:32,620 --> 00:29:36,290 Ond os ydych yn meddwl yn ôl i wythnos 0 pan buom yn siarad am Scratch, 498 00:29:36,290 --> 00:29:39,080 yno hefyd nad oedd widgets mai dim ond gwneud pethau penodol. 499 00:29:39,080 --> 00:29:42,700 Rydych yn wir dim ond cael y rhain hanfodion fel dolenni ac amodau ac yn y blaen. 500 00:29:42,700 --> 00:29:46,910 Felly fath o ddim ond yn meddwl yn haniaethol yn awr, yn annibynnol ar y manylion o HTML, 501 00:29:46,910 --> 00:29:51,260 yr hyn sy'n digwydd mewn gwirionedd gyda rhywbeth fel hyn amser dechrau a llithrydd ddiwedd amser? 502 00:29:51,260 --> 00:29:54,960 Pan fyddaf yn symud fy llygoden a fyddaf yn clicio ar y symbol moron bach ar y chwith 503 00:29:54,960 --> 00:29:59,220 a dechrau llusgo, programmatically, beth ydyw ydych am fod yn gallu gweithredu 504 00:29:59,220 --> 00:30:01,000 i wneud i hynny ddigwydd? 505 00:30:01,000 --> 00:30:04,920 Pa gwestiynau, yr hyn y mynegiadau Boole ydych chi am fod yn gallu gofyn? 506 00:30:04,920 --> 00:30:06,930 Beth sy'n digwydd mewn gwirionedd? Sammy? 507 00:30:06,930 --> 00:30:10,080 [Myfyrwyr] Ble mae'r sefyllfa y cyrchwr? >> Da. Ble yw'r sefyllfa y cyrchwr? 508 00:30:10,080 --> 00:30:11,970 Roedd hyn yn rhywbeth roedd angen i ni fynegi yn ôl yn Scratch, 509 00:30:11,970 --> 00:30:14,690 a oedd yn seiliedig ar leoliad neu hyd yn oed liw neu debyg. 510 00:30:14,690 --> 00:30:18,410 Efallai y byddwch yn cofio erioed mor fyr ar ddydd Llun, roedd yr holl bethau hyn a elwir yn ddigwyddiadau 511 00:30:18,410 --> 00:30:22,370 yn y byd y We, ac felly mae pethau fel onclick a onkeypress 512 00:30:22,370 --> 00:30:25,960 a onkeyup a onmouseover a onmouseout. 513 00:30:25,960 --> 00:30:29,130 Felly, yn sylweddoli bod hyd yn oed y pethau hyn rydym wedi bod yn cymryd yn ganiataol ar y We 514 00:30:29,130 --> 00:30:32,190 gyda safleoedd fel Facebook a Gmail, hyd yn oed os nad oes gennych syniad 515 00:30:32,190 --> 00:30:34,890 sut y byddech o bosibl yn gweithredu'r oherwydd does dim byd hyd yn oed fel yn darlith 516 00:30:34,890 --> 00:30:38,570 neu Broblem Set 7, yn sylweddoli bod hyn yn sylfaenol union yr un, 517 00:30:38,570 --> 00:30:41,090 gyda HTTP a paramedrau a GET a SWYDD, 518 00:30:41,090 --> 00:30:44,010 gyda mewnbynnau sylfaenol HTML ein bod wedi edrych ar hyd 519 00:30:44,010 --> 00:30:47,690 ac mewn moment gyda'r mecanweithiau rhaglennol that Tommy ynglŷn i gyflwyno 520 00:30:47,690 --> 00:30:51,300 gallwch ddechrau i fynegi eich hun yn union fel yr oeddech yn wythnos 0 521 00:30:51,300 --> 00:30:53,800 gan reddfol iawn lusgo a gollwng. 522 00:30:53,800 --> 00:30:58,950 >> Felly, gyda dweud hynny, Tommy MacWilliam a rhai darnau pos newydd i ni ar gyfer y We. 523 00:30:58,950 --> 00:31:03,450 Mae pob hawl. Fy enw i yw Tommy a dw i'n mynd i fod yn siarad am JavaScript. 524 00:31:03,450 --> 00:31:07,150 Dim ond ymwadiad: Yr wyf o'r farn bod JavaScript yn iaith raglennu gorau 525 00:31:07,150 --> 00:31:09,010 yn y byd cyfan i gyd. 526 00:31:09,010 --> 00:31:11,940 Mae llawer o bobl sy'n anghytuno â mi, ond mae'r un anhygoel. 527 00:31:11,940 --> 00:31:16,330 Unwaith y byddwch yn mynd yn ôl i C, os oes rhaid i chi ysgrifennu C ar gyfer dosbarth arall neu rhai ieithoedd eraill, 528 00:31:16,330 --> 00:31:19,780 'i' jyst yn rhwystredig iawn yn yr holl fanylion lefel isel yn rhaid i chi gael ein llethu mewn 529 00:31:19,780 --> 00:31:23,050 Felly os ydych chi'n erioed wedi teimlo'n drist am pa mor annifyr C yw i ysgrifennu, 530 00:31:23,050 --> 00:31:25,130 yn unig yn mynd yn ôl, ysgrifennu rhai JavaScript. Mae'n Nirvana. 531 00:31:25,130 --> 00:31:27,980 Byddwch yn teimlo'n llawer gwell am eich diwrnod gwael. 532 00:31:27,980 --> 00:31:31,900 Mae llawer o hud y JavaScript yn deillio o'i gallu i drin pethau 533 00:31:31,900 --> 00:31:33,730 sydd eisoes ar y dudalen. 534 00:31:33,730 --> 00:31:38,520 Pan oeddem yn ysgrifennu ein sgriptiau PHP, eu bod yn gweithredu ar y gweinydd, 535 00:31:38,520 --> 00:31:42,270 ac yn y pen draw yn PHP sgript yn ôl pob tebyg allbwn rhywfaint o HTML. 536 00:31:42,270 --> 00:31:45,860 That HTML cael ei anfon i'r cleient, ac yna dyna ni. 537 00:31:45,860 --> 00:31:50,180 Os PHP i eisiau ychwanegu botwm i dudalen, er enghraifft, ni all 'n sylweddol wneud hynny. 538 00:31:50,180 --> 00:31:54,350 Byddai'n rhaid i rendro ffeil HTML gyfan newydd ac anfon y at y porwr. 539 00:31:54,350 --> 00:31:57,840 Gyda JavaScript rydym yn gwybod y gallwn ddiweddaru pethau tra eu bod eisoes ar y dudalen, 540 00:31:57,840 --> 00:32:00,840 ac oherwydd hyn, gallwn ddarparu adborth llawer mwy ar unwaith, 541 00:32:00,840 --> 00:32:06,150 a fydd yn wir yn gwella profiad y defnyddiwr ar ein gwefan. 542 00:32:06,150 --> 00:32:09,330 Dim ond ailadrodd cyflym o ddetholwyr JavaScript. 543 00:32:09,330 --> 00:32:11,590 Rydym yn gwybod bod pan fyddwn yn lawrlwytho tudalen HTML, 544 00:32:11,590 --> 00:32:13,890 mae hynny'n mynd i gael eu cynrychioli yn y DOM. 545 00:32:13,890 --> 00:32:19,340 >> Mae'r DOM cofiwch yn unig y goeden fawr lle mae elfennau yn gysylltiedig yn y hierarchaeth mawr. 546 00:32:19,340 --> 00:32:21,810 Pan fyddwn yn gweithio gyda chronfeydd data yn pset 7, 547 00:32:21,810 --> 00:32:26,280 un o'r pethau cyntaf roedd angen i ni wybod sut i wneud oedd holi y gronfa ddata. 548 00:32:26,280 --> 00:32:29,060 Mae gennym y tabl hwn defnyddwyr mawr, ac weithiau rydym yn unig am ei ddweud, 549 00:32:29,060 --> 00:32:33,260 "Dim ond am i rai o'r defnyddwyr hyn sy'n cyfateb i rai cyflwr." 550 00:32:33,260 --> 00:32:36,020 Yn yr un modd, pan fyddwn yn cael y DOM mae angen rhyw ffordd o ymholi iddo. 551 00:32:36,020 --> 00:32:39,490 Mae angen rhyw ffordd o ddweud, "Rwyf am i bob un o'r botymau sy'n edrych fel hyn 552 00:32:39,490 --> 00:32:41,860 "Neu bob un o'r delweddau ar y dudalen." 553 00:32:41,860 --> 00:32:44,330 Ac mae'r rhain yn dewiswyr yn ein galluogi i wneud hynny. 554 00:32:44,330 --> 00:32:45,690 Felly, dim ond ailadrodd cyflym. 555 00:32:45,690 --> 00:32:50,770 Mae hyn yn un cyntaf yma, mae hyn # gyflwyno, beth yw hynny yn mynd i ddewis? A oes unrhyw un yn cofio? 556 00:32:50,770 --> 00:32:54,880 [Ymateb y myfyrwyr Anghlywadwy] >> Yeah, yn union. 557 00:32:54,880 --> 00:32:59,510 Mae hyn yn mynd i ddewis elfen ar y dudalen sydd â ID y cyflwyno. 558 00:32:59,510 --> 00:33:03,470 Ac felly y tag hash dweud y bydd hyn dewisydd yn mynd i weithio gyda IDs. 559 00:33:03,470 --> 00:33:07,630 Beth am yr ail un, mae hyn. Ganolog, beth fydd y dewis? 560 00:33:11,360 --> 00:33:15,180 Yeah. >> [Myfyrwyr] Dosbarth. >> Yn union. Mae hyn yn awr yn mynd i ddewis yn ôl dosbarth. 561 00:33:15,180 --> 00:33:18,840 Y gwahaniaeth rhwng ID a dosbarth yma yn gyffredinol dylai'r ID fod yn unigryw 562 00:33:18,840 --> 00:33:20,820 o fewn pa bynnag faint rydych chi'n chwilio drosodd. 563 00:33:20,820 --> 00:33:23,080 Felly, os ydych yn chwilio dros tudalen we gyfan, 564 00:33:23,080 --> 00:33:27,740 dylech mewn gwirionedd dim ond 1 elfen gyda'r ID penodol, felly yn yr achos hwn o gyflwyno. 565 00:33:27,740 --> 00:33:31,330 Gyda dosbarthiadau, ar y llaw arall, gallwn gael mwy nag 1 elfen ar yr un dudalen 566 00:33:31,330 --> 00:33:33,130 gyda'r un dosbarth. 567 00:33:33,130 --> 00:33:36,580 Gallai hyn fod yn ddefnyddiol ar gyfer ddweud rwyf am i ddewis popeth sy'n canolbwyntio ar y dudalen 568 00:33:36,580 --> 00:33:38,450 yn hytrach na dim ond 1 peth. 569 00:33:38,450 --> 00:33:40,310 >> Ac yn olaf, mae hyn yn un olaf yma yn ychydig yn fwy cymhleth, 570 00:33:40,310 --> 00:33:43,890 ond beth mae hyn yn mynd i ddewis o'r DOM? 571 00:33:46,650 --> 00:33:48,810 [Ymateb y myfyrwyr Anghlywadwy] >> Beth sy'n bod? 572 00:33:48,810 --> 00:33:53,250 [Myfyrwyr] Unrhyw beth mae hynny'n tag. >> Mae gennym 2 ran yma. 573 00:33:53,250 --> 00:33:58,070 Mae'r ail ran yn mynd i ddweud fy mod am i ddewis tagiau hyn â thag o fewnbwn, 574 00:33:58,070 --> 00:34:00,730 felly mae unrhyw elfen sydd yn tag mewnbwn. 575 00:34:00,730 --> 00:34:03,080 Ond nid wyf am dewiswch yr holl fewnbynnau 576 00:34:03,080 --> 00:34:05,170 oherwydd y gallai rhywbeth fel botwm cyflwyno fod yn fewnbwn 577 00:34:05,170 --> 00:34:08,409 a gallai rhywbeth fel blwch testun fod yn fewnbwn. 578 00:34:08,409 --> 00:34:11,909 Felly, gyda hyn cromfachau sgwâr i ddim yn dweud mai dim ond am ddewis y rhai elfennau 579 00:34:11,909 --> 00:34:14,110 sydd o destun fath. 580 00:34:14,110 --> 00:34:17,400 Rhywle yn fy tag HTML gen i o'r enw priodoledd fath, 581 00:34:17,400 --> 00:34:19,750 a gwerth y briodoledd fod yn destun. 582 00:34:19,750 --> 00:34:21,340 Felly, beth am y rhan cyntaf yma? 583 00:34:21,340 --> 00:34:25,489 Mae'r gair cyntaf y detholydd yn ffurflen, yna mae gen i le ac yna mae hyn yn rhan mewnbwn. 584 00:34:25,489 --> 00:34:29,620 Beth mae hynny'n ei wneud, gan roi'r ffurf o'i flaen? 585 00:34:33,409 --> 00:34:35,860 Mae hyn yn mynd i yn y bôn cyfyngu ar ein ymholiad. 586 00:34:35,860 --> 00:34:38,510 Gallai fod yn wir ein bod wedi rhywfaint o fewnbwn ar y dudalen 587 00:34:38,510 --> 00:34:41,080 nad ydynt yn ddisgynyddion o ffurflen. 588 00:34:41,080 --> 00:34:46,150 Beth fydd hyn yn ei wneud yw y bydd hyn yn dweud fy mod yn unig am i'r tagiau mewnbwn sydd rhywle uwch eu pennau 589 00:34:46,150 --> 00:34:49,030 rhyw elfen rhiant ffurflen. 590 00:34:49,030 --> 00:34:52,100 Ac felly yn y modd hwn gallwn wneud yr ymholiadau hyn yn fwy hierarchaidd 591 00:34:52,100 --> 00:34:55,000 felly nid ydym yn unig yn rhaid i ddewis popeth baru dewisydd a roddir. 592 00:34:55,000 --> 00:35:00,760 Gallwn fath o derfyn gwmpas yr ymholiad hwnnw i rywbeth arall. 593 00:35:00,760 --> 00:35:04,000 Felly, nawr ein bod yn gwybod sut i ddewis elfennau ar y dudalen, 594 00:35:04,000 --> 00:35:06,780 gadewch i ni siarad ychydig am AJAX. 595 00:35:06,780 --> 00:35:12,270 AJAX yn acronym dal i fod yn ffasiynol sy'n sefyll am JavaScript asynchronous a XML. 596 00:35:12,270 --> 00:35:15,640 Fel mae'n digwydd bod XML yn unig yw rhyw ffordd i gynrychioli data. 597 00:35:15,640 --> 00:35:20,920 >> Y math hwnnw o boblogrwydd a gollwyd yn ddiweddar, felly nid yw'r X yn AJAX yn cael ei ddefnyddio drwy'r amser. 598 00:35:20,920 --> 00:35:26,220 Yn y bôn, yr hyn AJAX yn caniatáu i ni ei wneud yw gwneud ceisiadau HTTP 599 00:35:26,220 --> 00:35:28,620 o gyd-destun o JavaScript. 600 00:35:28,620 --> 00:35:32,310 Pan fyddwn ni'n yn ein porwr gwe ac rydym yn lywio o gwmpas tudalennau ac rydym yn cliciwch ar un o'r cyswllt, 601 00:35:32,310 --> 00:35:37,790 beth yw ein porwr yn mynd i wneud yw gwneud cais HTTP i ba bynnag ein cyswllt chliciwch. 602 00:35:37,790 --> 00:35:41,670 Ond nid yw hynny bob amser yn ddelfrydol oherwydd os yw hynny'n wir, yna fel David yn ei ddweud, 603 00:35:41,670 --> 00:35:45,220 rydym bob amser yn rhaid i ni wneud defnyddwyr glicio botwm Cyflwyno neu cliciwch ar ddolen gyswllt 604 00:35:45,220 --> 00:35:50,380 er mwyn gwneud unrhyw beth yn digwydd bod yn mynd i gynnwys cais HTTP. 605 00:35:50,380 --> 00:35:54,160 Felly, gyda AJAX, gallwn wneud y ceisiadau hyn ar ran JavaScript. 606 00:35:54,160 --> 00:35:57,020 Mae hynny'n golygu pryd bynnag y defnyddiwr yn rhyngweithio gyda'r dudalen neu unrhyw beth yn digwydd, 607 00:35:57,020 --> 00:36:01,780 gallwn mewn gwirionedd yn gwneud cais rhaglennol i ryw ffeil PHP eraill ar ein gwefan 608 00:36:01,780 --> 00:36:06,280 neu unrhyw beth arall ac yn adfer y data bod y ffeil poeri allan. 609 00:36:06,280 --> 00:36:09,860 Gadewch i ni edrych ar enghraifft o AJAX. 610 00:36:09,860 --> 00:36:16,140 Mae hyn yn ein tudalen Cyllid CS50 y mae gobeithio bydd rhai ohonom yn gyfarwydd. 611 00:36:16,140 --> 00:36:21,790 Os ydym yn edrych ar y HTML y dudalen hon, gwelwn yma fy mod i wedi ychwanegu ychydig o bethau, 612 00:36:21,790 --> 00:36:23,820 un yr wyf wedi rhoi ffurflen hon ID. 613 00:36:23,820 --> 00:36:26,480 Rwyf wedi dweud id = "ffurflen-dyfyniad". 614 00:36:26,480 --> 00:36:31,910 Rydw i wedi gwneud hyn dim ond oherwydd ei fod yn mynd i wneud hyn yn dipyn ychydig yn haws i ddewis o blith y DOM 615 00:36:31,910 --> 00:36:35,090 gan y gall yr wyf am wneud ymholiad syml iawn. 616 00:36:35,090 --> 00:36:38,960 Yr hyn yr wyf eisiau ei wneud yma yw fy mod am i atgyweiria rhyw broblem gyda CS50 Cyllid. 617 00:36:38,960 --> 00:36:41,550 Felly, os ydym yn mynd i finance.cs50.net, 618 00:36:41,550 --> 00:36:45,700 bob tro rwy'n awyddus i gael dyfynbris, rhaid i mi cliciwch y botwm Dyfyniad Get, 619 00:36:45,700 --> 00:36:48,960 a bod Get botwm Dyfyniad wedyn yn mynd â mi i dudalen arall cyfan. 620 00:36:48,960 --> 00:36:52,400 Ac os ydw i eisiau arall dyfyniad, rhaid i mi daro y botwm Yn ôl ac yna mi deipio i mewn, 621 00:36:52,400 --> 00:36:54,480 I gael dyfynbris, ac yr wyf daro y botwm Back. 622 00:36:54,480 --> 00:36:56,840 Mae hyn nid yn wir yn y profiad y defnyddiwr gorau. 623 00:36:56,840 --> 00:37:01,570 Pwy fyddai'n wir yn defnyddio safle os yw'n bod yn araf i gael prisiau stoc? 624 00:37:01,570 --> 00:37:05,630 Felly beth rydym am ei wneud gyda AJAX yw cael gwared ar y cam o fynd i dudalen ar wahân 625 00:37:05,630 --> 00:37:08,410 er mwyn weld y canlyniadau. 626 00:37:08,410 --> 00:37:11,240 >> Yr hyn yr ydym yn wir yn unig yn gofyn amdano yw bod pris yn wir bach, 627 00:37:11,240 --> 00:37:14,240 a dim ond swm bach iawn o ddata. 628 00:37:14,240 --> 00:37:17,400 Felly does dim angen i mi fynd arall dudalen HTML cyfan, 629 00:37:17,400 --> 00:37:20,670 lawrlwytho swp newydd o HTML, efallai lawrlwytho delweddau rhai mwy, 630 00:37:20,670 --> 00:37:24,410 rhai ffeiliau CSS eraill dim ond i mi ateb y cwestiwn syml iawn 631 00:37:24,410 --> 00:37:27,810 o faint mae hyn yn ei gostio stoc. 632 00:37:27,810 --> 00:37:31,000 Gyda AJAX gallwn wneud hyn yn llawer haws a. 633 00:37:31,000 --> 00:37:36,400 Rydym yn gweld i lawr yma fy mod yn cysylltu mewn ffeil o'r enw JavaScript quote.js. 634 00:37:36,400 --> 00:37:40,140 Gadewch i ni mewn gwirionedd yn agor i fyny y ffeil. Nid yno. 635 00:37:42,610 --> 00:37:45,860 Mae pob un fy ffeiliau JavaScript yn mynd i gael eu lleoli mewn HTML 636 00:37:45,860 --> 00:37:47,630 fel y gall y porwr gwe cael mynediad iddo. 637 00:37:47,630 --> 00:37:50,330 Yna, mae gennym cyfeiriadur ar wahân yma ar gyfer JavaScript, 638 00:37:50,330 --> 00:37:54,340 ac yn awr dyma quote.js. 639 00:37:54,340 --> 00:38:00,930 Ar frig y ffeil hyn yn dweud yma yr wyf am i aros am y dudalen gyfan gael eu llwytho 640 00:38:00,930 --> 00:38:04,830 cyn i mi ceisio gwneud unrhyw beth. Pam bod angen? 641 00:38:04,830 --> 00:38:08,650 Mae'n troi allan fod y peth nesaf rwy'n mynd i'w wneud yma yw cychwyn chwilio am elfen 642 00:38:08,650 --> 00:38:10,810 sy'n cyfateb rhywfaint o dewisydd. 643 00:38:10,810 --> 00:38:15,600 Os yw hyn yn JavaScript cael ei gyflawni erioed o'r blaen yr elfen hon yn cael ei lwytho ar y dudalen, 644 00:38:15,600 --> 00:38:17,820 yna nid popeth yr wyf yn ceisio ei wneud yw mynd i weithio 645 00:38:17,820 --> 00:38:20,580 oherwydd fy mod i'n mynd i geisio i ddewis rhywbeth nad yw'n bodoli eto. 646 00:38:20,580 --> 00:38:23,780 Felly y llinell hon i fyny top yn dweud fy mod am i chi aros nes bod popeth yn cael ei lwytho 647 00:38:23,780 --> 00:38:28,030 felly rydym yn gwarantu y bydd unrhyw elfennau dwi'n chwilio am mewn gwirionedd ar y dudalen. 648 00:38:29,730 --> 00:38:34,310 Mae hyn yn arwydd doler yma yn golygu fy mod i'n defnyddio'r llyfrgell a elwir yn jQuery. 649 00:38:34,310 --> 00:38:38,570 Mae'r llyfrgell jQuery yn caniatáu i ni ddefnyddio'r dewiswyr yr ydym yn jyst yn edrych ar. 650 00:38:38,570 --> 00:38:44,010 Drwy ddweud $ basio i mewn fel dadl y ffurflen #-dyfyniad, 651 00:38:44,010 --> 00:38:47,910 Rwyf nawr yn dewis y ffurf yr ydym yn unig yn cymryd golwg ar. 652 00:38:47,910 --> 00:38:52,290 Nawr mae gennyf gynrychiolaeth o'r ffurflen honno yn y cof rhywsut. 653 00:38:52,290 --> 00:38:56,760 >> Ar y gwrthrych yn awr, y gynrychiolaeth hon o'r ffurflen, 654 00:38:56,760 --> 00:38:58,890 Rwyf nawr yn defnyddio swyddogaeth galw ar. 655 00:38:58,890 --> 00:39:02,710 Beth swyddogaeth hon yn ei wneud yw ei fod yn mynd i atodi driniwr digwyddiad. 656 00:39:02,710 --> 00:39:06,310 Os byddwn ni'n mynd i wrando ar ei gyfer yn y digwyddiad cyflwyno. 657 00:39:06,310 --> 00:39:08,890 Felly, pan fydd y defnyddiwr yn clicio sy'n Cyflwyno botwm neu gweisg Mewnbynnu, 658 00:39:08,890 --> 00:39:11,730 y digwyddiad hwn yn mynd i dân. 659 00:39:11,730 --> 00:39:16,390 Drwy hooking i mewn i hyn, gallaf yn awr yn drech na'r ymddygiad diofyn y ffurflen. 660 00:39:16,390 --> 00:39:19,770 Heb y JavaScript, byddai'r ffurflen cyflwyno i ba bynnag PHP ffeil 661 00:39:19,770 --> 00:39:22,110 ddefnyddiwyd gennym yn y priodoledd gweithredu. 662 00:39:22,110 --> 00:39:25,440 Ond yn hytrach, rwy'n awr yn dweud, aros, aros, aros, nid wyf ddim eisiau i chi mewn gwirionedd yn gwneud hynny. 663 00:39:25,440 --> 00:39:31,140 Wyf am i hyn ddigwydd cyn i chi fynd a rhoi cynnig i gyflwyno i ryw ffeil PHP. 664 00:39:31,140 --> 00:39:32,870 Nawr beth ydw i eisiau ei wneud? 665 00:39:32,870 --> 00:39:39,270 Ar y pwynt hwn rwyf eisiau defnyddio AJAX rywsut i lwytho yn yr hyn y pris y stoc yn. 666 00:39:39,270 --> 00:39:44,170 Y peth cyntaf i mi angen i chi wybod yw beth stoc y defnyddiwr yn edrych i fyny. 667 00:39:44,170 --> 00:39:46,760 I wneud fy mod i'n mynd i ddefnyddio dewisydd arall. 668 00:39:46,760 --> 00:39:49,020 Mae hyn yn y dewisydd drydedd edrych ar blaen. 669 00:39:49,020 --> 00:39:54,460 Mae hwn yn dweud fy mod eisiau dechrau oddi ar yr elfen hon ffurflen gyda ID o ffurflenni dyfynbris. 670 00:39:54,460 --> 00:39:58,440 Yna rhywle tu mewn y ffurflen honno mae'n rhaid cael elfen mewnbwn 671 00:39:58,440 --> 00:40:01,270 sydd â enw'r symbol. 672 00:40:01,270 --> 00:40:05,460 Os ydym yn edrych yn ôl ar ein HTML, gwelsom ein bod yn cael mewnbwn [enw = symbol]. 673 00:40:05,460 --> 00:40:12,380 Mae hynny'n golygu bod hyn yn mynd i ddewis y blwch testun bod y defnyddiwr yn teipio i mewn. 674 00:40:12,380 --> 00:40:13,870 Dyna 'n glws. Mae gennym y blwch testun. 675 00:40:13,870 --> 00:40:17,360 Nawr mae'n rhaid i ni wybod beth sydd tu mewn iddo. 676 00:40:17,360 --> 00:40:20,290 Er mwyn gwneud hynny, gallwn alw y dull hwn yma, mae hyn yn Val., 677 00:40:20,290 --> 00:40:23,240 ac mae hyn yn dweud fy mod yn gwybod beth blwch testun sydd gennych. 678 00:40:23,240 --> 00:40:28,160 Rwyf am i chi ddweud wrthyf beth ydyw y defnyddiwr deipio i mewn i'r blwch testun. 679 00:40:28,160 --> 00:40:34,440 Nawr mae gennym llinyn a elwir yn symbol sy'n cyfateb i beth bynnag y defnyddiwr deipio i mewn 680 00:40:34,440 --> 00:40:39,820 Dyna 'n glws. Gallwn ddefnyddio'r llinyn yn awr i wneud ein cais. 681 00:40:39,820 --> 00:40:42,450 Mae hon yn swyddogaeth newydd yma, mae hyn yn $, 682 00:40:42,450 --> 00:40:44,900 ac eithrio ein bod bellach yn mynd i gael eu dewis elfennau, 683 00:40:44,900 --> 00:40:48,910 rydym yn mynd i gael eu galw swyddogaeth gwahanol sydd wedi roddwyd i ni gan jQuery. 684 00:40:48,910 --> 00:40:54,810 Mae'r swyddogaeth hon yn AJAX yn beth sy'n wir yn mynd i wneud y cais HTTP. 685 00:40:54,810 --> 00:40:57,000 Felly, rhaid i ni ddweud ei fod yn ychydig o bethau. 686 00:40:57,000 --> 00:41:01,410 Y peth cyntaf yn rhaid i ddweud wrth y swyddogaeth hon yw lle yr wyf am i'r cais i fynd. 687 00:41:01,410 --> 00:41:08,910 Rhywle yn fy mhrosiect i, rwy'n cael y ffeil tu mewn i'r cyfeiriadur o'r enw HTML quote.php. 688 00:41:08,910 --> 00:41:15,150 Gallaf gael mynediad y ffeil, gwelodd yr ydym ni, yn union fel hyn, os byddaf yn mynd i localhost / quote.php. 689 00:41:15,150 --> 00:41:20,450 >> Rwyf am i fy JavaScript i wneud cais i'r dudalen honno. 690 00:41:20,450 --> 00:41:22,920 Pa fath o gais yn awr? 691 00:41:22,920 --> 00:41:27,210 Gwelsom eisoes fod y ffurflen yn cynnwys y dull hwnnw = "post" priodoledd, 692 00:41:27,210 --> 00:41:29,270 ac mae hynny'n golygu ei fod yn mynd i wneud cais POST, 693 00:41:29,270 --> 00:41:32,630 felly nid yw'n mynd i roi unrhyw beth yn y URL, yn hytrach na chais GET, 694 00:41:32,630 --> 00:41:36,860 fyddai dim ond yn cael ei danio os ydym yn gweld dim ond y dudalen gyda'r porwr gwe, er enghraifft. 695 00:41:36,860 --> 00:41:41,260 Nawr rydym wedi dweud yr wyf am wneud cais HTTP POST 696 00:41:41,260 --> 00:41:44,840 i dudalen lleoli yn quote.php. 697 00:41:44,840 --> 00:41:51,490 Pan fyddwn yn anfon y ffurflen, cofiwch y gallem gael mynediad i'r elfennau mewnbwn tu mewn y ffurflen honno 698 00:41:51,490 --> 00:41:54,430 gyda'r newidyn $ _POST. 699 00:41:54,430 --> 00:41:58,710 Hyd yn hyn yn y stori, nid ydym wedi anfon mewn gwirionedd ar hyd unrhyw ddata hyd yn hyn. 700 00:41:58,710 --> 00:42:00,640 Rydym wedi newydd ddweud ein bod yn gwneud cais AJAX 701 00:42:00,640 --> 00:42:03,200 a dyma y math o gais rydym yn ei wneud. 702 00:42:03,200 --> 00:42:07,090 Nawr mae angen i ni mewn gwirionedd yn anfon rhywfaint o ddata i'r dudalen. 703 00:42:07,090 --> 00:42:10,930 Er mwyn gwneud hynny, gallwn ddefnyddio'r eiddo hwn a elwir data. 704 00:42:10,930 --> 00:42:14,950 Mae gwerth yr eiddo hwn mewn gwirionedd arae cysylltiadol. 705 00:42:14,950 --> 00:42:19,390 Y rheswm am hyn yw ei fod yn caniatáu i ni anfon mwy na dim ond 1 darn o ddata. 706 00:42:19,390 --> 00:42:24,750 Dyna pam ein bod wedi hyn braces cyrliog nythu yma y tu mewn o'r rhain braces cyrliog eraill. 707 00:42:24,750 --> 00:42:29,680 Mae'r allweddi yn y araeau cysylltiadol yn mynd i fod yr un peth 708 00:42:29,680 --> 00:42:32,630 fel y rhai yn priodoli enw yn ein elfennau ffurflen. 709 00:42:32,630 --> 00:42:35,740 Mae hynny'n golygu, os byddaf yn anfon hyd allweddol o symbol, 710 00:42:35,740 --> 00:42:41,870 sy'n golygu y gall fy dudalen PHP gael gafael ar y data gyda $ _POST [symbol] 711 00:42:41,870 --> 00:42:44,640 yn union fel y gwnaethom o'r blaen pan oeddem yn cyflwyno ffurflen. 712 00:42:44,640 --> 00:42:47,090 Ac yn awr y data gwirioneddol ydym am anfon 713 00:42:47,090 --> 00:42:50,790 yn mynd i fod y tu mewn gwerth y casgliad cysylltiadol. 714 00:42:50,790 --> 00:42:54,070 >> Rydym yn cael ei storio y testun hwn yn symbol o'r enw amrywiol, 715 00:42:54,070 --> 00:42:57,380 ac felly rydym yn anfon hyd bellach yn allweddol o symbol 716 00:42:57,380 --> 00:43:01,380 a gwerth beth bynnag y defnyddiwr deipio i mewn 717 00:43:01,380 --> 00:43:06,270 Nawr rydym wedi gwneud y cais HTTP, ein ffeil PHP wedi cyflawni, 718 00:43:06,270 --> 00:43:11,480 ac mae'n mynd i anfon rhywfaint o ddata yn ôl yn awr at y cleient mai dim ond gwneud y cais. 719 00:43:11,480 --> 00:43:15,220 Nawr mae angen i ni ymateb i beth bynnag mae'r gweinydd yn ei ddweud wrthym. 720 00:43:15,220 --> 00:43:20,180 I wneud hynny mae gennym yr eiddo hwn diwethaf yma a elwir yn llwyddiant. 721 00:43:20,180 --> 00:43:24,240 Mae gwerth yr allwedd hon llwyddiant mewn gwirionedd yn mynd i fod yn swyddogaeth, 722 00:43:24,240 --> 00:43:26,910 a dyma un o'r pethau 'n sylweddol oera y gallwch ei wneud gyda JavaScript. 723 00:43:26,910 --> 00:43:31,720 Nid yn unig y bydd gennych ints neu araeau fel y tu mewn gwerth arae cysylltiadol, 724 00:43:31,720 --> 00:43:34,170 gallwn hefyd gael swyddogaeth. 725 00:43:34,170 --> 00:43:36,380 Felly, trwy ddweud llwyddiant, mae hyn yn fy allweddol. 726 00:43:36,380 --> 00:43:38,830 Mae colon yn dweud yma hon y gwerth, 727 00:43:38,830 --> 00:43:41,810 ac yn awr y gwerth hyn mewn gwirionedd yn swyddogaeth. 728 00:43:41,810 --> 00:43:44,460 Felly nid oes angen i ni roi swyddogaeth hon enw per se. 729 00:43:44,460 --> 00:43:48,820 Gallwn ddweud hyn yn unig yn mynd i fod yn rhyw swyddogaeth. Mae'n mynd i dynnu 1 ddadl. 730 00:43:48,820 --> 00:43:51,190 Y ddadl i'r swyddogaeth hon yn mynd i fod 731 00:43:51,190 --> 00:43:54,460 beth bynnag y gweinydd anfon yn ôl oddi wrth y cais. 732 00:43:54,460 --> 00:43:57,750 Yn union fel pan fydd ein porwr yn gwneud cais, mae'r gweinydd yn anfon rhywbeth yn ôl 733 00:43:57,750 --> 00:43:59,060 ac mae'r porwr yn dangos hynny, 734 00:43:59,060 --> 00:44:03,030 yng nghyd-destun AJAX rydym yn unig gwneud cais, y gweinydd a anfonwyd rhywbeth yn ôl, 735 00:44:03,030 --> 00:44:07,110 ac yn awr rydym wedi cynrychioli hynny fel llinyn. 736 00:44:07,110 --> 00:44:11,280 Gyda hynny llinyn Hoffwn i ddangos bod ar y dudalen. 737 00:44:11,280 --> 00:44:14,040 I wneud fy mod i'n mynd i gael un dewisydd diwethaf. 738 00:44:14,040 --> 00:44:17,570 Rwyf am i ddewis yr elfen sydd â'r pris ID. 739 00:44:17,570 --> 00:44:20,710 Mae hyn yn unig yw div wag fy mod i wedi creu ar y dudalen, 740 00:44:20,710 --> 00:44:26,640 ac yr wyf am osod y cynnwys y div i fod beth bynnag y gweinydd anfon yn ôl. 741 00:44:26,640 --> 00:44:30,280 Rwyf wedi addasu mewn gwirionedd quote.php ychydig. 742 00:44:30,280 --> 00:44:33,460 >> Yn hytrach na ffonio rendr a rendro rhai dudalen, 743 00:44:33,460 --> 00:44:38,100 quote.php bellach, yn syml, yn mynd i argraffu gwerth y stoc fel llinyn. 744 00:44:38,100 --> 00:44:41,880 Felly, os ydych yn i mewn gwirionedd yn ymweld â'r dudalen, byddech ond yn gweld y llinyn bach 745 00:44:41,880 --> 00:44:45,030 beth bynnag y pris stoc yn. 746 00:44:45,030 --> 00:44:50,170 Un peth olaf mae angen i ni ei wneud yma yn unig yw gwneud yn siŵr bod hyn yn swyddogaeth yn dychwelyd ffug. 747 00:44:50,170 --> 00:44:53,560 Beth mae hyn yn ei ddweud yw os wyf tu mewn i driniwr ddigwyddiad 748 00:44:53,560 --> 00:44:57,300 a bod y triniwr digwyddiad yn dychwelyd ffug yn hytrach na dychwelyd yn wir, 749 00:44:57,300 --> 00:45:01,510 mae hynny'n golygu nad wyf am y digwyddiad gwreiddiol i dân. 750 00:45:01,510 --> 00:45:05,270 Yn yr achos hwn, os nad oedd gennym unrhyw JavaScript ac rydym yn cyflwyno ffurflen, 751 00:45:05,270 --> 00:45:08,280 ein porwr gwe yn mynd i ddweud, "Rydw i'n mynd i anfon y data hyd," 752 00:45:08,280 --> 00:45:10,130 ac maent yn mynd i anfon chi i dudalen arall. 753 00:45:10,130 --> 00:45:14,360 Oherwydd ein bod yn defnyddio AJAX yn awr, nid oes angen i anfon y defnyddiwr i dudalen arall. 754 00:45:14,360 --> 00:45:17,920 Rydym yn jyst yn mynd i ddangos y canlyniadau ddeinamig ar y dudalen hon yr un. 755 00:45:17,920 --> 00:45:21,460 Nid ydym am iddynt fynd i unrhyw le, ac yr wyf am aros ar yr un dudalen. 756 00:45:21,460 --> 00:45:27,060 Felly, trwy ddychwelyd ffug, rydym yn sicrhau nad yw'r ffurflen yn gwneud hynny i ni. 757 00:45:27,060 --> 00:45:31,170 Gadewch i ni edrych ar beth mae hyn yn mewn gwirionedd yn edrych fel. 758 00:45:31,170 --> 00:45:34,180 Mae ein tudalen dyfyniad yn edrych yr un fath. 759 00:45:34,180 --> 00:45:37,240 Gadewch i mi dynnu i fyny 'r arolygydd i lawr yma fel y gallwn weld beth sy'n mynd ymlaen. 760 00:45:37,240 --> 00:45:40,270 Ei wneud yn ychydig yn llai enfawr. 761 00:45:40,270 --> 00:45:44,590 Cofiwch os byddwn yn agor i fyny 'r tab Rhwydwaith, dyma lle gallwn weld yr holl geisiadau HTTP 762 00:45:44,590 --> 00:45:47,570 sydd yn digwydd ar y dudalen. 763 00:45:47,570 --> 00:45:52,890 >> Am symbol gadewch i mi deipio i mewn aapl a chliciwch Get Dyfyniad. 764 00:45:52,890 --> 00:45:56,720 Nawr rydym yn gweld bod cyfran o Apple yn costio tua nifer o ddoleri 765 00:45:56,720 --> 00:46:00,410 dim ond yn ymddangos ar y dudalen, ond nid yw'r URL yn newid o gwbl. 766 00:46:00,410 --> 00:46:04,570 Yn wir, dyma y cais HTTP yr ydym yn ei wneud. 767 00:46:04,570 --> 00:46:09,980 Rydym yn gwneud cais POST i quote.php. Mae hynny'n gwneud synnwyr. 768 00:46:09,980 --> 00:46:12,800 Dyma beth mae'r gweinydd anfon yn ôl. 769 00:46:12,800 --> 00:46:16,320 Mae'n bellach yn y ddogfen hon HTML enfawr gyda delweddau a phethau fel 'na, 770 00:46:16,320 --> 00:46:20,920 mai dim ond llinell o destun, ac yna rydym yn unig arddangos y llinell o destun. 771 00:46:20,920 --> 00:46:26,290 Os awn yn ôl at y penawdau a gweld yr hyn yr ydym mewn gwirionedd yn anfon tu mewn y cais hwn HTTP, 772 00:46:26,290 --> 00:46:33,950 gallwn weld i lawr yma a anfonwyd gennym ar hyd allweddol o symbol a gwerth aapl, 773 00:46:33,950 --> 00:46:36,430 sef yr hyn y defnyddiwr deipio i mewn 774 00:46:36,430 --> 00:46:39,230 Mae hyn yn neis, ond mae'n dal i fod ychydig yn blino. 775 00:46:39,230 --> 00:46:42,490 Rhaid i mi cliciwch y botwm i gael y dyfynbris stoc. 776 00:46:42,490 --> 00:46:45,880 Rydym yn bobl brysur ac nid oes gennym amser i chi glicio botymau. 777 00:46:45,880 --> 00:46:49,910 Google sylweddoli hyn ychydig o amser yn ôl pan fyddant yn gweithredu Google Instant. 778 00:46:49,910 --> 00:46:53,590 Beth Google Instant yn ei wneud yw wrth i chi deipio dim ond yn dechrau arddangos canlyniadau i chi 779 00:46:53,590 --> 00:46:56,520 felly nid oes rhaid i chi boeni am hyd yn oed glicio Chwilio. 780 00:46:56,520 --> 00:46:58,730 Mewn gwirionedd, stori hwyliog sy'n gysylltiedig â hynny. 781 00:46:58,730 --> 00:47:01,100 Unwaith y daeth Google Instant allan, roedd pobl yn debyg i, "Pwy yw, mae hyn yn super anhygoel." 782 00:47:01,100 --> 00:47:02,540 "Mae hyn yn mor oer." 783 00:47:02,540 --> 00:47:05,950 Ac yn fyfyriwr i lawr ar Stanford a oedd yn 19 ar y pryd 784 00:47:05,950 --> 00:47:09,000 gwneud y safle o'r enw YouTube Instant. 785 00:47:09,000 --> 00:47:13,170 Mae pob Instant YouTube yn ei wneud yw chwilio YouTube effeithiol ar unwaith. 786 00:47:13,170 --> 00:47:17,020 Felly, yn hytrach na gorfod mynd i YouTube.com a tharo Chwilio, 787 00:47:17,020 --> 00:47:21,650 pan fyddaf yn dechrau teipio i mewn i YouTube rhywbeth Instant fel CS50, 788 00:47:21,650 --> 00:47:25,320 gallem weld yma ei fod yn ceisio ar gysylltiad rhyngrwyd araf 789 00:47:25,320 --> 00:47:28,500 poblogi'r y canlyniadau hyn yn byw. 790 00:47:28,500 --> 00:47:35,590 Er mwyn gwneud hynny, gallwn mewn gwirionedd yn gwneud addasiad syml iawn i'n quote.js ffeil. 791 00:47:35,590 --> 00:47:40,900 Ar hyn o bryd rydym yn atodi y digwyddiad hwn pan fydd y ffurflen yn cael ei chyflwyno. 792 00:47:40,900 --> 00:47:43,760 Dydyn ni ddim wir eisiau gwneud y defnyddiwr cyflwyno'r ffurflen anymore, 793 00:47:43,760 --> 00:47:48,570 felly gadewch i ni yn lle tân y digwyddiad hwn bob tro y mae'r defnyddiwr yn pwyso allwedd. 794 00:47:48,570 --> 00:47:53,200 I wneud hynny gadewch i ni gyntaf yn newid y digwyddiad o gyflwyno i keyup. 795 00:47:53,200 --> 00:47:55,740 Mae hynny'n golygu bod yn hytrach nag aros am y ffurflen hon i gyflwyno, 796 00:47:55,740 --> 00:47:58,490 bob tro yr allwedd yn cael ei bwyso, rhywbeth yn mynd i ddigwydd. 797 00:47:58,490 --> 00:48:02,030 Mae bellach yn gwneud synnwyr i osod y digwyddiad hwn keyup i'r ffurflen gyfan. 798 00:48:02,030 --> 00:48:05,080 Rydym yn wir yn unig yn gofalu am y blwch chwilio. 799 00:48:05,080 --> 00:48:09,320 >> I ddewis hynny yn awr, gallwn newid hyn i fod, yn hytrach na ffurf-dyfynbris, 800 00:48:09,320 --> 00:48:14,220 ffurflen-dyfynbris a bydd gennym fewnbwn (math = testun) neu gallem ddweud (enwi = symbol) - 801 00:48:14,220 --> 00:48:16,420 beth bynnag rydym eisiau. 802 00:48:16,420 --> 00:48:18,650 Nawr mae un peth olaf rhaid i ni wneud. 803 00:48:18,650 --> 00:48:21,190 Cofiwch i lawr yma pan fyddwn yn dweud dychwelyd ffug 804 00:48:21,190 --> 00:48:24,370 rydym yn dweud nad ydym am y digwyddiad diofyn i dân. 805 00:48:24,370 --> 00:48:26,390 Ond dim ond fel y digwydd, os ydym yn analluoga hynny yn awr, 806 00:48:26,390 --> 00:48:29,660 Nid yw beth bynnag y byddwn deipio i mewn yn mynd i ddangos i fyny yn y porwr anymore 807 00:48:29,660 --> 00:48:33,000 oherwydd byddai hynny'n ymddygiad diofyn o deipio i mewn i flwch testun. 808 00:48:33,000 --> 00:48:38,660 Nid ydym bellach yn awyddus i ddiystyru hynny, felly gadewch i ddinistrio y ffurflen ffug. 809 00:48:38,660 --> 00:48:44,800 Os ydym yn achub hynny a ail-lwytho'r dudalen, yn awr pan fyddaf yn dechrau teipio aapl 810 00:48:44,800 --> 00:48:50,160 byddwch yn gweld bod y pris stoc ar y gwaelod yma yn cwblhau yn awtomatig. 811 00:48:50,160 --> 00:48:53,150 Felly dyma CS50 Instant Cyllid. 812 00:48:53,150 --> 00:48:55,860 A dweud y gwir stori hwyliog am y Instant YouTube 813 00:48:55,860 --> 00:48:59,420 yw bod myfyrwyr yn unig fath o ysgrifennu fel prosiect ar 1-nos, 814 00:48:59,420 --> 00:49:03,800 a'r ail dydd y cafodd gynnig swydd gan y Prif Swyddog Gweithredol YouTube. 815 00:49:03,800 --> 00:49:10,610 Felly, mor syml â hynny, byddwch yn CS50 fyfyrwyr, gall eich prosiectau terfynol gael swydd i chi ar YouTube. 816 00:49:10,610 --> 00:49:14,720 Rhywbeth fel 'na yn syniad' n sylweddol oera ar gyfer prosiect terfynol, dde? 817 00:49:14,720 --> 00:49:18,170 Rydym yn cael rhywfaint o swyddogaethau presennol ein bod am i integreiddio gyda. 818 00:49:18,170 --> 00:49:20,330 Rydym yn gwella profiad y defnyddiwr ychydig bach, 819 00:49:20,330 --> 00:49:24,340 ac yn sydyn y gallai chwilio rhywbeth ar YouTube Instant fod yn haws llawer 820 00:49:24,340 --> 00:49:27,290 na chwilio amdano ar YouTube rheolaidd. 821 00:49:27,290 --> 00:49:30,790 Felly dyna AJAX yn gryno. 822 00:49:30,790 --> 00:49:34,860 >> Yn yr enghreifftiau a Joseff oedd yn dangos, gwelsom lawer o awtolenwi, 823 00:49:34,860 --> 00:49:39,250 a'r rhai awtolenwi yn iawn, iawn 'n hylaw oherwydd nad oes rhaid i ni gofio - 824 00:49:39,250 --> 00:49:41,770 Er enghraifft, os nad ydych yn cofio y pris stoc ar gyfer Apple 825 00:49:41,770 --> 00:49:45,110 ac rydym yn unig yn gwybod ei fod yn rhywbeth aa, yn hytrach na dim ond dweud i mi, 826 00:49:45,110 --> 00:49:48,740 "Mae cyfran y peth hyn yn costio llawer o arian hwn," 827 00:49:48,740 --> 00:49:52,540 Hoffwn fath o hoffi gwybod beth stociau dechrau gyda aa. 828 00:49:52,540 --> 00:49:58,340 Gallwn wneud hynny mewn gwirionedd dim â'r llyfrgell Cychwynnydd sy'n cael ei gynnwys eisoes 829 00:49:58,340 --> 00:50:01,380 tu mewn CS50 Cyllid. 830 00:50:01,380 --> 00:50:09,390 Os ydych yn dod i fyny yma ar y tag JavaScript a sgroliwch i lawr i Typeahead, 831 00:50:09,390 --> 00:50:13,730 yn unig yw hwn plugin braf bod rhywun eisoes ysgrifennodd i ni, 832 00:50:13,730 --> 00:50:16,980 a gallwn yn hawdd ddefnyddio ei swyddogaeth fel hyn. 833 00:50:16,980 --> 00:50:21,410 I deipio mewn A a dyma restr o'r rhai taleithiau sy'n dechrau gyda A. 834 00:50:21,410 --> 00:50:25,360 Gadewch i ni ddweud fy mod yn credu bod hyn yn 'n sylweddol oera, ac mae'n amser i mi i gynnwys hyn ar fy nhudalen. 835 00:50:25,360 --> 00:50:28,300 Mae'n troi allan bod hyn yn wirioneddol syml. 836 00:50:28,300 --> 00:50:32,810 Gadewch i ni neidio dros yma i quote3.js. 837 00:50:34,890 --> 00:50:37,380 Mae fy ffeil yn edrych ychydig yn wahanol. 838 00:50:37,380 --> 00:50:39,700 Down yma fy holl AJAX pethau yr un fath. 839 00:50:39,700 --> 00:50:43,170 Rwyf am barhau i lwytho data stoc heb orfod mynd i dudalen arall. 840 00:50:43,170 --> 00:50:46,220 Ond yn awr yr wyf am ddefnyddio'r ategyn. 841 00:50:46,220 --> 00:50:51,020 Mae'r dogfennau Cychwynnydd Mae enghreifftiau gwych o sut yn union y gallaf ei wneud hynny. 842 00:50:51,020 --> 00:50:54,350 Yr wyf am ddweud, "Dyma y mewnbwn yr wyf am awtogwblhau ymlaen," 843 00:50:54,350 --> 00:50:56,640 ac rydw i'n mynd i alw swyddogaeth hon a elwir yn typeahead, 844 00:50:56,640 --> 00:50:59,730 ac mae hynny'n mynd i drin yr holl bethau Typeahead i ni. 845 00:50:59,730 --> 00:51:02,090 Bydd yn ymgychwyn y rhestr, bydd yn gwneud ein holl hidlo. 846 00:51:02,090 --> 00:51:06,680 Yr unig beth mae angen ei wybod yw pa ddata yr ydym ni'n autocompleting ar. 847 00:51:06,680 --> 00:51:10,480 Felly wnes i ddarganfod yr allwedd yn unig drwy ddarllen y ddogfennaeth ac edrych ar yr enghreifftiau. 848 00:51:10,480 --> 00:51:14,150 Os byddaf yn rhoi ei fod yn allweddol o ffynhonnell, y gwerth yr allwedd hon 849 00:51:14,150 --> 00:51:17,770 yn ddim ond rhai amrywiaeth o bethau rwyf am i gwblhau yn awtomatig ar. 850 00:51:17,770 --> 00:51:20,180 Mae'r newidyn ddaeth o hyn ffeil arall. 851 00:51:20,180 --> 00:51:23,400 I agor symbols.js. 852 00:51:23,400 --> 00:51:27,980 >> Mae hyn symbols.js yn unig yw hyn amrywiaeth mewn gwirionedd, fawr iawn sy'n cynnwys llinynnau 853 00:51:27,980 --> 00:51:32,080 y rhain i gyd symbolau stoc oddi wrth y NASDAQ. 854 00:51:32,080 --> 00:51:42,190 Os ydw i eisiau i neidio yn ôl i'r HTML, felly jharvard, vhosts, globalhost, html, templedi, 855 00:51:42,190 --> 00:51:45,820 quote_form. 856 00:51:45,820 --> 00:51:50,910 Ers hynny cael ei alw bellach quote3.js, gadewch i mi newid y ffeil JavaScript Rwy'n gan gynnwys yma. 857 00:51:50,910 --> 00:51:55,110 Nawr rwyf wedi quote3.js, felly dwi'n mynd i lwytho yn y ffeil JavaScript ar wahân, 858 00:51:55,110 --> 00:51:57,910 yr un sydd wedi bod awtogwblhau Cychwynnydd. 859 00:51:57,910 --> 00:52:04,430 Nawr pan fyddaf yn neidio yn ôl at y porwr, ail-lwytho'r dudalen, ac yr wyf yn dechrau teipio aa, 860 00:52:04,430 --> 00:52:06,880 mae fy AutoComplete. Ac yr oedd mewn gwirionedd mor syml â hynny. 861 00:52:06,880 --> 00:52:11,400 Cefais 1 llinell o god sy'n newydd ei ddweud, "Dyma y pethau rwyf am i gwblhau yn awtomatig ar," 862 00:52:11,400 --> 00:52:16,590 ac yn sydyn roeddwn yn cael y functionality iawn, iawn 'n glws gyda nid yn llawer iawn o ymdrech o gwbl. 863 00:52:16,590 --> 00:52:19,810 Wrth i chi yn datblygu gwefannau ac yn enwedig yr ochr pen blaen o bethau, 864 00:52:19,810 --> 00:52:21,840 ydych chi'n mynd i ddod o hyd i hyn yn wir llawer. 865 00:52:21,840 --> 00:52:25,700 Mae llawer, llawer, llawer o lyfrgelloedd rhad ac am ddim 'n sylweddol oera i maes' na 866 00:52:25,700 --> 00:52:30,190 sy'n ei gwneud yn hynod hawdd i wneud pethau fel hyn. 867 00:52:30,190 --> 00:52:37,230 A all unrhyw un feddwl am unrhyw anfanteision syml autocompleting ar y rhestr fawr o symbolau? 868 00:52:37,230 --> 00:52:41,580 Beth allai fod yn rhywbeth nad yw'r gorau gyda'r dull hwn? 869 00:52:42,790 --> 00:52:45,960 Yeah. >> [Myfyrwyr] Amser, os oes gennych lawer o [Anghlywadwy] 870 00:52:45,960 --> 00:52:50,420 Yeah. Ar hyn o bryd rydym yn llwytho i lawr y ffeil JavaScript enfawr ac mae llawer o symbolau. 871 00:52:50,420 --> 00:52:54,360 Ac felly os oes gennym tunnell o bethau, y math hwn gallai o gynnydd, yr latency nid yn unig chwilio 872 00:52:54,360 --> 00:52:56,600 ond hefyd lwytho i lawr y ffeil ei hun. 873 00:52:56,600 --> 00:52:58,670 Great. Unrhyw beth arall? 874 00:53:01,950 --> 00:53:05,280 Ar hyn o bryd does dim gwir ymdeimlad o berthnasedd. 875 00:53:05,280 --> 00:53:08,190 Os byddaf yn teipio mewn A, y cwmnïau sy'n dangos i fyny yma 876 00:53:08,190 --> 00:53:11,220 Efallai na fydd y cwmnïau mwyaf poblogaidd sy'n dechrau gyda A. 877 00:53:11,220 --> 00:53:17,130 >> Cyn i mi ddod i Apple, gall gymryd rhai cymeriadau mwy i ddod o hyd i hyn yr wyf i'n chwilio amdano. 878 00:53:17,130 --> 00:53:20,420 Nid yw hyn awtogwblhau oes ymdeimlad o berthnasedd. 879 00:53:20,420 --> 00:53:24,400 Mae'n jyst yn mynd i ddweud, "Mae unrhyw beth sy'n cyfateb Rydw i'n mynd i ddangos." 880 00:53:24,400 --> 00:53:30,510 Yn lle hynny, hoffwn i rhywsut integreiddio rhai perthnasedd i mewn i fy chwiliadau. 881 00:53:30,510 --> 00:53:36,440 Os byddaf yn mynd dros yma i Gyllid Yahoo!, finance.yahoo.com, 882 00:53:36,440 --> 00:53:42,100 Os byddaf yn ceisio mynd i mewn i symbol ar Yahoo! Cyllid dudalen 883 00:53:42,100 --> 00:53:52,310 ac yr wyf yn dechrau teipio GOOG, mae gennyf y rhestr hon 'n glws o bethau. 884 00:53:52,310 --> 00:53:57,100 Yn amlwg, mae'n edrych fel Cyllid Yahoo! yn gwneud rhywbeth mwy clyfar yma. 885 00:53:57,100 --> 00:53:59,790 Maent yn cael rhywfaint o berthnasol ac mae ganddynt hefyd wybodaeth ychwanegol 886 00:53:59,790 --> 00:54:01,430 fel enw'r stoc. 887 00:54:01,430 --> 00:54:05,850 Mae hynny'n rhywbeth na allaf ei gael gyda dim ond fy rhestr stoc o symbolau. 888 00:54:05,850 --> 00:54:09,520 Rwyf am hyn ac felly dwi'n mynd i'w gymryd. 889 00:54:09,520 --> 00:54:11,790 I wneud hynny gadewch i ni wneud ychydig o bethau. 890 00:54:11,790 --> 00:54:15,580 Gadewch i ni yn gyntaf yn agor yr arolygydd ar y dudalen hon 891 00:54:15,580 --> 00:54:18,100 oherwydd ein bod yn gweld nad oedd y dudalen hon yn ail-lwytho o gwbl, 892 00:54:18,100 --> 00:54:21,960 felly mae'n debyg gan ddefnyddio AJAX rhywsut cael ei lwytho ei ddata. 893 00:54:21,960 --> 00:54:23,920 Gallwn ganfod pa ddata mae'n llwytho. 894 00:54:23,920 --> 00:54:28,390 Os byddaf yn cliciwch ar y tab Rhwydwaith, mae'r rhain yn mynd i fod yr holl geisiadau sy'n dechrau cael eu tanio. 895 00:54:28,390 --> 00:54:34,020 Nawr, os wyf deipio i mewn goo, gallwn weld bod Fi jyst got cais HTTP newydd. 896 00:54:34,020 --> 00:54:37,490 Mae hyn yn debyg lle bo'r data yn dod o. 897 00:54:37,490 --> 00:54:41,990 Cadarn ddigon, os wyf yn edrych ar y URL, sydd bach yn rhyfedd a enwir, 898 00:54:41,990 --> 00:54:46,930 gallwn weld bod hyn yn union lle Yahoo yn anfon oddi ar ei data o. 899 00:54:46,930 --> 00:54:53,400 >> Rwyf wedi creu ffeil ar wahân o'r enw suggest.php sy'n debyg iawn o ran ysbryd i'r swyddogaeth am-edrych. 900 00:54:53,400 --> 00:54:57,730 Mae'n bôn yn mynd i wneud ymholiad i Yahoo yn URL, fynd yn ôl rhywfaint o ddata, 901 00:54:57,730 --> 00:54:59,750 a'i anfon yn ôl i mi. 902 00:54:59,750 --> 00:55:02,570 Yn awr, yn hytrach na defnyddio'r mawr, rhestr enfawr o symbolau, 903 00:55:02,570 --> 00:55:05,280 Gallaf ddefnyddio Yahoo yn bethau perthnasedd 'n glws, 904 00:55:05,280 --> 00:55:08,150 ac nid oes gennyf i lwytho i lawr y ffeil JavaScript enfawr. 905 00:55:08,150 --> 00:55:12,040 Im 'yn unig yn mynd i dynnu i lawr y symbolau stoc mewn gwirionedd yn berthnasol. 906 00:55:12,040 --> 00:55:13,960 Gadewch i ni neidio i mewn i hynny. 907 00:55:13,960 --> 00:55:17,360 Felly html, js. Rydym yn awr yn quote4. 908 00:55:17,360 --> 00:55:22,120 Nawr rydym yn bellach yn defnyddio'r rhestr fawr o ffeiliau JavaScript. 909 00:55:22,120 --> 00:55:24,430 Ond mae 'na fath bach o broblem ddylunio yma. 910 00:55:24,430 --> 00:55:28,200 Rydym wedi dweud bod y A yn AJAX yn asynchronous. 911 00:55:28,200 --> 00:55:31,000 Beth mae hynny'n ei olygu yw bod pan fyddaf yn gwneud cais AJAX, 912 00:55:31,000 --> 00:55:36,490 felly dde yma ar-lein 8, dyma lle fy AJAX cais yn cael ei danio mewn gwirionedd. 913 00:55:36,490 --> 00:55:40,370 Gadewch i ni ddweud yn awr yr wyf yn cael rhywfaint o cod i lawr yma sy'n mynd i wneud rhai pethau 914 00:55:40,370 --> 00:55:43,930 hoffi gwybod i'r defnyddiwr neu rywbeth newid ar y dudalen. 915 00:55:43,930 --> 00:55:49,830 Nid yw Beth sy'n mynd i ddigwydd yw nad yw'r porwr yn mynd i aros am y cais hwn i barhau 916 00:55:49,830 --> 00:55:53,480 cyn dod i lawr a bwrw y llinell hon. 917 00:55:53,480 --> 00:55:55,900 Dyna y rhan asynchronous. 918 00:55:55,900 --> 00:55:58,400 Mae'n mynd i wneud y cais hwn ac yn dweud, "Pryd bynnag fyddwch yn gorffen, 919 00:55:58,400 --> 00:56:03,080 "Dod yn ôl a galw swyddogaeth honno yr wyf yn dweud wrthych i alw y tu mewn o lwyddiant." 920 00:56:03,080 --> 00:56:07,300 Mae hynny'n golygu na fyddwn ni'n gallu lawrlwytho'r holl stociau ymlaen llaw. 921 00:56:07,300 --> 00:56:10,300 Mae angen i ni wneud y cais ac yn aros am rywbeth i ddod yn ôl. 922 00:56:10,300 --> 00:56:13,330 Mae hynny'n golygu bod o'r blaen, a allem ddweud Cychwynnydd, 923 00:56:13,330 --> 00:56:15,580 "Dyma'r rhestr o bethau rwyf am i chi gwblhau yn awtomatig ar." 924 00:56:15,580 --> 00:56:18,950 Ni allwn wneud hynny mwyach oherwydd nad ydym yn gwybod 925 00:56:18,950 --> 00:56:21,780 beth rydym am ei mewn gwirionedd AutoComplete ar. 926 00:56:21,780 --> 00:56:25,190 Yn ffodus, Cychwynnydd meddwl am hyn oherwydd eu bod yn guys smart dros yno, 927 00:56:25,190 --> 00:56:30,160 ac y maent mewn gwirionedd yn rhoi i ni ffordd arall i lwytho hwn plugin Typeahead. 928 00:56:30,160 --> 00:56:35,630 Cyn, y gwerth yr eiddo hwn ffynhonnell yn unig oedd hon amrywiaeth mawr o bethau i gwblhau yn awtomatig ar. 929 00:56:35,630 --> 00:56:39,580 >> Nawr bod y eiddo ffynhonnell mewn gwirionedd yn swyddogaeth, 930 00:56:39,580 --> 00:56:44,580 a diben y swyddogaeth hon yw i chyfrif i maes beth y pethau i gwblhau yn awtomatig ar yn cael eu. 931 00:56:44,580 --> 00:56:48,730 Mae'r ffordd y mae'n mynd at chyfrif i hynny yw drwy fod yn mynd i ofyn i Gyllid Yahoo! 932 00:56:48,730 --> 00:56:51,750 beth yw'r pethau gorau i'w gwblhau yn awtomatig yn cael eu. 933 00:56:51,750 --> 00:56:54,500 I wneud fy mod i'n mynd i wneud cais AJAX yn debyg iawn. 934 00:56:54,500 --> 00:56:59,010 Rydw i'n mynd i ofyn am y dudalen hon ar suggest.php. 935 00:56:59,010 --> 00:57:01,360 Dw i eisiau anfon ar hyd y symbolau o hyd. 936 00:57:01,360 --> 00:57:05,570 Ac yn awr fy llwyddiant, mae'r dogfennau Cychwynnydd wrthyf 937 00:57:05,570 --> 00:57:09,130 er mwyn boblogi y rhestr o bethau, 938 00:57:09,130 --> 00:57:14,370 i gyd angen i mi ei wneud yw pasio yn y casgliad yn awr at y swyddogaeth galw'n ôl. 939 00:57:14,370 --> 00:57:15,660 Ond arhoswch funud. 940 00:57:15,660 --> 00:57:20,240 Os yw hyn yn dybiedig i fod yn amrywiaeth a AJAX yn anfon i mi yn ôl testun, 941 00:57:20,240 --> 00:57:22,720 sut y mae hynny'n bosibl? 942 00:57:22,720 --> 00:57:27,910 Mae hyn yn cyflwyno ffordd newydd o gyfnewid data a elwir yn JSON. 943 00:57:27,910 --> 00:57:33,000 Yn yr achos hwn nid ydym yn unig yn dychwelyd llinyn syml o destun. 944 00:57:33,000 --> 00:57:37,670 Nawr rydym yn delio â rhestr hon yn fwy cymhleth o symbolau stoc. 945 00:57:37,670 --> 00:57:41,730 Gall y symbolau stoc hefyd gynnwys pethau fel enw y cwmni neu y prisiau cyfredol. 946 00:57:41,730 --> 00:57:47,550 Dim ond gan ddefnyddio llinyn hir mawr nad ei fformatio mewn unrhyw ffordd ragweladwy 947 00:57:47,550 --> 00:57:51,970 nid yw'n mynd i fod yn y ffordd orau i gael y data hwn o Yahoo weinyddwr i mi 948 00:57:51,970 --> 00:57:54,540 mewn ffordd y gallaf ei deall yn hawdd. 949 00:57:54,540 --> 00:58:01,280 JSON yn dechnoleg sydd yn cymryd mantais o sut yr ydym yn creu araeau cysylltiadol yn JavaScript. 950 00:58:01,280 --> 00:58:04,510 Mae hyn yn edrych yn llawer fel amrywiaeth JavaScript cysylltiadol, 951 00:58:04,510 --> 00:58:06,600 ac yn wir, mae'n oherwydd ei fod yn. 952 00:58:06,600 --> 00:58:09,710 JSON yn sefyll am Nodiant Gwrthrych JavaScript. 953 00:58:09,710 --> 00:58:15,020 Hyn yn y bôn yn cytuno ar fformat ar gyfer trosglwyddo data yn ôl ac ymlaen. 954 00:58:15,020 --> 00:58:18,280 Yma y gwrthrych JSON hwn neu arae cysylltiadol JSON 955 00:58:18,280 --> 00:58:21,010 yn anfon 'm rhywfaint o ddata am gwrs. 956 00:58:21,010 --> 00:58:25,110 >> Mae'r bysellau hwn yn amrywiaeth yw pethau fel gwrs sydd â gwerth o cs50, 957 00:58:25,110 --> 00:58:29,140 ac i lawr yma, gallwn weld y gallaf gael gwerth sydd yn arae. 958 00:58:29,140 --> 00:58:32,730 Nid oes rhaid i mi wneud pethau fel gramadegu allan llinynnau a chwilio am atalnodau 959 00:58:32,730 --> 00:58:35,330 ac yn gwneud pethau gwirion fel 'na. 960 00:58:35,330 --> 00:58:38,820 Oherwydd bod hyn yn cael ei ddatgan yn y fformat hwn JSON, 961 00:58:38,820 --> 00:58:43,510 JavaScript a jQuery eisoes swyddogaethau i drosi llinyn 962 00:58:43,510 --> 00:58:48,140 sy'n edrych fel hyn JSON i mewn arae cysylltiadol JavaScript gwirioneddol 963 00:58:48,140 --> 00:58:50,440 y gallwn weithio gyda nhw. 964 00:58:50,440 --> 00:58:56,660 Wneud hynny yw mor syml â dweud nad ydynt bellach yn y ffeil, suggest.php, 965 00:58:56,660 --> 00:58:59,040 anfon 'm yn ôl dim ond llinyn o destun, 966 00:58:59,040 --> 00:59:01,950 ond rwy'n gwybod ei fod yn mynd i gael ei anfon i mi yn ôl JSON. 967 00:59:01,950 --> 00:59:06,760 Mae hynny'n golygu y gall y JSON ei droi'n amrywiaeth JavaScript cysylltiadol. 968 00:59:06,760 --> 00:59:10,830 Ac felly jQuery, hoffwn i chi i wneud hynny i mi. 969 00:59:10,830 --> 00:59:13,990 Mae hynny'n golygu bod y paramedr ymateb yma, 970 00:59:13,990 --> 00:59:16,070 nid yw hyn yn bellach yn unig linyn. 971 00:59:16,070 --> 00:59:19,860 Oherwydd ein bod wedi dweud jQuery fod yma yn dod rhai JSON, 972 00:59:19,860 --> 00:59:22,950 jQuery yn mynd i fod yn smart ddigon i ddweud, "Rydych eisiau JSON?" 973 00:59:22,950 --> 00:59:26,890 "Rydw i'n mynd i drosi hynny'n arae cysylltiadol i chi." 974 00:59:26,890 --> 00:59:32,100 Gadewch i ni mewn gwirionedd yn cymryd golwg ar y tab Rhwydwaith unwaith y byddwn wedi quote4.js. 975 00:59:32,100 --> 00:59:35,400 Byddwn yn newid hyn ac ail-lwytho'r dudalen. 976 00:59:37,150 --> 00:59:41,250 Nawr rwy'n mynd i deipio mewn-a eto. 977 00:59:41,250 --> 00:59:45,600 Rydw i wedi gwneud ceisiadau cwpl i suggest.php, ond yn awr yr ymateb hwn, 978 00:59:45,600 --> 00:59:48,670 yn hytrach na dim ond y llinyn, mae'n JSON. 979 00:59:48,670 --> 00:59:52,580 Felly, yr wyf yn cael Brace cyrliog agored yn dweud, "Dyma daw amrywiaeth cysylltiadol." 980 00:59:52,580 --> 00:59:56,830 >> Y allweddol cyntaf a dim ond y arae cysylltiadol gelwir symbolau, 981 00:59:56,830 --> 01:00:00,240 ac yna dyma amrywiaeth o'r holl symbolau perthnasol 982 01:00:00,240 --> 01:00:04,820 yn dod yn awr nid o Cyllid Yahoo!, o'r rhestr enfawr. 983 01:00:06,110 --> 01:00:10,630 Dyna sut y gallaf syml poblogi'r hon plugin AutoComplete 984 01:00:10,630 --> 01:00:14,280 gyda rhywfaint o ddata nad sy'n dod o ffeil lleol sydd wedi pennu ymlaen llaw yn barod 985 01:00:14,280 --> 01:00:17,490 ond o rywbeth arall. 986 01:00:17,490 --> 01:00:21,160 Mae'n troi allan y gallwn mewn gwirionedd yn cymryd mantais o dechnoleg o'r enw JSONP, 987 01:00:21,160 --> 01:00:27,420 neu JSON gyda padding, a fydd yn dileu y middleman suggest.php. 988 01:00:27,420 --> 01:00:34,010 Ond yn hytrach na gwneud hynny, gadewch i ni yn lle hynny yn cymryd golwg ar sut y gallaf wella'r hyn hyd yn oed yn fwy. 989 01:00:34,010 --> 01:00:36,040 Fi 'n sylweddol yn hoffi Typeahead Cychwynnydd yn. Mae'n neis iawn. 990 01:00:36,040 --> 01:00:39,570 Ond rydym yn cael yn dda yn JavaScript ac rydym am fath o wneud hyn ein hunain, 991 01:00:39,570 --> 01:00:43,870 efallai yn edrych ar beth y gallai hyn plugin yn ei wneud. 992 01:00:43,870 --> 01:00:46,500 Gadewch i ni bellach yn defnyddio'r peth Typeahead, 993 01:00:46,500 --> 01:00:50,550 a gadewch i ni geisio gwneud y rhestr hon o stociau yn awgrymu ein hunain. 994 01:00:50,550 --> 01:00:53,790 Yma yn quote6.php rydym yn mynd i ddechrau oddi ar yr un ffordd. 995 01:00:53,790 --> 01:00:58,050 Mathau rhywun Bob tro rhywbeth, rydym am wneud cais AJAX. 996 01:00:58,050 --> 01:01:01,590 Mae hyn yn debyg i'n Instant Cyllid wreiddiol CS50. 997 01:01:01,590 --> 01:01:05,020 Yn hytrach na gwneud cais i quote.php, 998 01:01:05,020 --> 01:01:08,530 rydym yn awr yn gwneud cais i'r ffeil yr un ag o'r blaen, mae hyn yn suggest.php, 999 01:01:08,530 --> 01:01:12,460 sydd yn unig yn mynd i dynnu data gan Gyllid Yahoo!. 1000 01:01:12,460 --> 01:01:19,480 >> Unwaith eto, rydym yn dal i ddisgwyl JSON, ond yn awr gan nad yw'r Typeahead yn gwneud hyn i ni, 1001 01:01:19,480 --> 01:01:24,850 angen i ni hefyd anfon ar hyd y gwerth sydd tu mewn i'r blwch testun ar hyn o bryd. 1002 01:01:24,850 --> 01:01:28,120 Nawr rydym yn gwybod beth i'w ofyn i Gyllid Yahoo! am, 1003 01:01:28,120 --> 01:01:34,160 ac felly, yn awr dyma 'r swyddogaeth yr ydym am ei gyflawni unwaith y bydd y cais yn cwblhau. 1004 01:01:34,160 --> 01:01:36,520 Nid oes gennym yr ategyn i wneud y rhestr i ni, 1005 01:01:36,520 --> 01:01:40,630 felly dyma lle'r ydym yn mewn gwirionedd yn mynd i adeiladu rhestr o awgrymiadau. 1006 01:01:40,630 --> 01:01:44,850 I wneud hynny, yn llawer fel yn PHP rydym yn cydgadwyno llinynnau hyn yn fawr o HTML 1007 01:01:44,850 --> 01:01:48,170 yna rydym yn eu hargraffu, gallwn wneud y peth union yr un yn JavaScript. 1008 01:01:48,170 --> 01:01:51,850 Yn gyntaf rydym yn mynd i ddechrau oddi ar y llinyn a elwir yn awgrymiadau, 1009 01:01:51,850 --> 01:01:54,590 ac mae'r llinyn yn unig yn mynd i gynnwys rhai HTML. 1010 01:01:54,590 --> 01:01:58,320 Rydym am iddo fod yn rhestr o bethau, felly rydym yn mynd i ddechrau i ffwrdd gyda tag hwn rhestr, 1011 01:01:58,320 --> 01:02:03,340 ac yn awr rydym yn mynd i ailadrodd dros yr holl symbolau a ddychwelwyd yn ôl atom. 1012 01:02:03,340 --> 01:02:06,500 Cofiwch, oherwydd ein bod wedi dweud datatype: 'JSON', nid yw hyn yn llinyn. 1013 01:02:06,500 --> 01:02:09,500 Mae hyn eisoes arae i ni. Dyna 'n sylweddol oera. 1014 01:02:09,500 --> 01:02:13,790 Gallwn ddweud yn syml, "Rwyf am i chi atodi elfen rhestr." 1015 01:02:13,790 --> 01:02:16,000 Byddwn yn ei roi y tu fewn i elfen yn ochr a hynny, 1016 01:02:16,000 --> 01:02:19,030 byddwn yn rhoi dosbarth o awgrymiadau felly rydym yn gwybod beth ydyw, 1017 01:02:19,030 --> 01:02:23,880 ac yn awr dyma yw'r symbol ein bod yn got yn ôl o Gyllid Yahoo!. 1018 01:02:23,880 --> 01:02:27,230 >> Unwaith y byddwn wedi creu elfen ar gyfer pob un o'r symbolau rydym wedi gotten yn ôl, 1019 01:02:27,230 --> 01:02:30,100 rydym yn unig am gau oddi ar y rhestr. 1020 01:02:30,100 --> 01:02:33,040 Felly nawr awgrymiadau yn cynrychioli darn hwn yn HTML bach 1021 01:02:33,040 --> 01:02:37,860 pan rhoi ar dudalen yn mynd i fod y rhestr o bethau yr ydym yn chwilio amdano. 1022 01:02:37,860 --> 01:02:41,070 Nawr gadewch i ni mewn gwirionedd yn rhoi hynny ar y dudalen. 1023 01:02:41,070 --> 01:02:46,390 I wneud hynny rwyf wedi creu arall mewn gwirionedd div gwag ac rwyf wedi rhoi ei ID o awgrymiadau. 1024 01:02:46,390 --> 01:02:52,520 Mae llawer yn hoffi ydym yn gosod cynnwys y div a fyddai'n dangos y pris y data stoc, 1025 01:02:52,520 --> 01:02:58,600 rydym yn awr yn unig am osod y cynnwys y div i beth bynnag y llinyn yn 1026 01:02:58,600 --> 01:03:00,290 sy'n cynnwys y symbolau hyn. 1027 01:03:00,290 --> 01:03:07,650 Trwy ddefnyddio'r dull hwn HTML, mae hyn, amrywiol awgrymiadau llinyn yma, sef cyfres o HTML. 1028 01:03:07,650 --> 01:03:13,490 Rwyf am i chi gymryd y HTML ac yn ei roi y tu mewn i'r div o'r enw awgrymiadau. 1029 01:03:13,490 --> 01:03:15,680 Rydym wedi atodi rhywbeth i'r DOM yn awr. 1030 01:03:15,680 --> 01:03:20,360 Rydym wedi ychwanegu rhai elfennau newydd i'r DOM y gallwn yn awr ddangos ar y dudalen. 1031 01:03:20,360 --> 01:03:22,540 Gadewch i ni weld beth mae hyn yn edrych fel. 1032 01:03:22,540 --> 01:03:29,110 Os byddwn yn llwytho yn quote6 ac yn awr rydym yn dod yn ôl, 1033 01:03:29,110 --> 01:03:34,480 nawr pan fyddaf yn dechrau teipio aapl, nid oes gennym y Cychwynnydd gwblhau yn awtomatig, 1034 01:03:34,480 --> 01:03:38,470 ond bellach mae gennym y rhestr hon yr ydym yn gwneud ein hunain. 1035 01:03:38,470 --> 01:03:43,230 Mae hwn yn uglier ychydig na'r Typeahead Cychwynnydd, er enghraifft, 1036 01:03:43,230 --> 01:03:45,580 ond mae'n caniatáu i ni wneud un peth arall. 1037 01:03:45,580 --> 01:03:48,660 Pan oeddem yn edrych ar y Cychwynnydd ategyn, 1038 01:03:48,660 --> 01:03:52,590 gwelsom fod pan fyddwn yn autocompleted, un o werthoedd AutoComplete oedd aapl. 1039 01:03:52,590 --> 01:03:54,820 Efallai na fydd hynny fod mor barod i helpu. 1040 01:03:54,820 --> 01:03:59,100 Fel defnyddiwr, efallai na fyddaf yn syth yn cydnabod yr holl symbolau stoc. 1041 01:03:59,100 --> 01:04:02,370 Beth wyf yn ôl pob tebyg yn fwy tebygol o gydnabod yn enwau y cwmni ei hun. 1042 01:04:02,370 --> 01:04:05,310 Ni fyddai Felly mae'n wirioneddol ddefnyddiol pe yn hytrach na dweud aapl 1043 01:04:05,310 --> 01:04:07,970 hyn yn dweud rhywbeth fel Apple Inc 1044 01:04:07,970 --> 01:04:12,240 Oherwydd ein bod wedi cyflwyno hyn ein hunain, gallwn yn hawdd iawn gwneud hynny. 1045 01:04:12,240 --> 01:04:17,630 Gadewch i ni agor ein ffeil dyfyniad olaf yma, felly quote7. 1046 01:04:17,630 --> 01:04:23,200 >> Un peth. Rydw i wedi creu dim ond ffeil arall PHP a fydd yn dychwelyd atom yn fwy na dim ond y symbolau. 1047 01:04:23,200 --> 01:04:25,550 Bydd hefyd yn rhoi i ni yn ôl enwau y cwmni. 1048 01:04:25,550 --> 01:04:28,150 Ac felly rydym yn ei wneud yr un peth. Rydym yn gwneud cais AJAX. 1049 01:04:28,150 --> 01:04:32,370 Unwaith y bydd y cais wedi ei gwblhau, rydym yn mynd i weithredu swyddogaeth hon yma, 1050 01:04:32,370 --> 01:04:36,520 ac mae'r swyddogaeth yn mynd i adeiladu i fyny cyfres fawr o elfennau. 1051 01:04:36,520 --> 01:04:39,520 Ond y gwahaniaeth yma yw bod gwerth y rhestrau yn bellach dim ond y symbol, 1052 01:04:39,520 --> 01:04:45,370 mae bellach yn yr enw. 1053 01:04:45,370 --> 01:04:47,070 Felly mae gennym un broblem bach. 1054 01:04:47,070 --> 01:04:51,590 Pan fyddwn yn defnyddio ein lookup, mae angen i ni rywsut yn ei throsglwyddo i'r symbol. 1055 01:04:51,590 --> 01:04:54,950 Ni allwn basio rhywbeth am-edrych fel Microsoft Corporation. 1056 01:04:54,950 --> 01:04:57,900 Mae angen i ni ei throsglwyddo MSFT. 1057 01:04:57,900 --> 01:05:01,640 Pan fyddwn ni'n ysgrifennu HTML, rydym yn cael llawer o braf adeiledig mewn nodweddion. 1058 01:05:01,640 --> 01:05:05,440 Mae Gallai fod wedi gysylltiedig ag ef yn href neu ddosbarth. 1059 01:05:05,440 --> 01:05:08,230 Ond yr hyn y mae gwir angen yn awr yw i bob un o'r cysylltiadau 1060 01:05:08,230 --> 01:05:11,120 i gael symbol stoc sy'n gysylltiedig ag ef. 1061 01:05:11,120 --> 01:05:14,240 Does dim adeiledig yn y briodoledd HTML ar gyfer symbol stoc, 1062 01:05:14,240 --> 01:05:21,010 ond yn ffodus, HTML5 yn ein galluogi i greu ein priodoleddau eu hunain i fod beth bynnag rydym eisiau. 1063 01:05:21,010 --> 01:05:24,620 Drwy ddweud data-symbol, rwyf wedi cyflwyno nodwedd newydd 1064 01:05:24,620 --> 01:05:29,350 ei enw Fi jyst gwneud i fyny, ac mae hyn yn iawn oherwydd fy mod yn ei rhagair gyda'r data hwn. 1065 01:05:29,350 --> 01:05:34,270 Rydym yn mynd i storio y tu mewn o yno y symbol o'r stoc yn awr. 1066 01:05:34,270 --> 01:05:39,590 Beth mae hynny'n ei olygu yw bod hyd yn oed er ein bod yn dangos y gwerth enw'r cwmni 1067 01:05:39,590 --> 01:05:43,380 tu mewn ein AutoComplete, rydym yn dal i gofio y symbol 1068 01:05:43,380 --> 01:05:47,110 sy'n gysylltiedig â phob cwmni. 1069 01:05:47,110 --> 01:05:50,350 Mae'r ffordd yr ydym ni'n gwneud hynny yw tu fewn yr elfen hon ei hun. 1070 01:05:50,350 --> 01:05:52,930 Felly mae hynny'n golygu mae angen i ni wneud un newid mwy. 1071 01:05:52,930 --> 01:05:57,090 Pan fyddwn yn clicio yn awr, mae angen i ni mewn gwirionedd yn manteisio ar y priodoledd symbol 1072 01:05:57,090 --> 01:06:00,220 yn hytrach na dim ond ei werth. 1073 01:06:00,220 --> 01:06:05,010 Os ydym yn ôl i fyny, rydym yn atodi trin digwyddiad i awgrymiadau. 1074 01:06:05,010 --> 01:06:09,280 Pryd bynnag y bydd un o'r awgrymiadau hyn yn cael ei glicio yn awr, yr wyf am wneud rhywbeth. 1075 01:06:09,280 --> 01:06:13,160 Hyn yr wyf am ei wneud yw newid y gwerth y blwch mewnbwn. 1076 01:06:13,160 --> 01:06:16,100 Nawr rwyf am osod y swyddogaeth hon Val yr un. 1077 01:06:16,100 --> 01:06:21,060 >> Felly, heb unrhyw ddadleuon swyddogaeth hon val yn dychwelyd i chi beth sydd eisoes yn y blwch testun, 1078 01:06:21,060 --> 01:06:27,070 ond os byddwch yn rhoi ei fod yn llinyn, mae'n mynd i gymryd y llinyn ac yn ei roi yn y blwch testun. 1079 01:06:27,070 --> 01:06:28,980 Rwy'n dewis ei flwch testun yn yr un ffordd. 1080 01:06:28,980 --> 01:06:31,230 Ei enw i yw y tu mewn i symbol o ffurf-dyfynbris. 1081 01:06:31,230 --> 01:06:37,540 Nawr rwy'n ei anfon gwerth y briodoledd data-symbol. 1082 01:06:37,540 --> 01:06:41,560 Mae hyn yn peth yma yn newydd, mae hyn yn $ (hyn). 1083 01:06:41,560 --> 01:06:46,850 Beth mae hyn yn cyfeirio ato yw'r elfen sy'n cael ei glicio. 1084 01:06:46,850 --> 01:06:50,880 Gallwn weld yma nad ydym yn atodi digwyddiad cliciwch 1085 01:06:50,880 --> 01:06:54,690 i bob elfen gyda dosbarth o awgrym yn unigol. 1086 01:06:54,690 --> 01:06:57,140 Yn hytrach, rydym yn agosáu at hyn ychydig yn wahanol. 1087 01:06:57,140 --> 01:07:01,700 Yn hytrach, rydym yn dweud pryd bynnag y tu mewn i unrhyw beth y div awgrymiadau, 1088 01:07:01,700 --> 01:07:04,080 sydd cofiwch yn unig y cynhwysydd ar gyfer y rhestr, 1089 01:07:04,080 --> 01:07:10,150 os oes rhywbeth y tu mewn y div yn cael ei glicio ac mae ganddi ddosbarth o awgrym, 1090 01:07:10,150 --> 01:07:13,000 Rwyf am y digwyddiad hwn i dân. 1091 01:07:13,000 --> 01:07:17,490 Yn y bôn beth mae hyn yn golygu y gallwn ei wneud yw y gallwn ailddefnyddio hon trin un digwyddiad 1092 01:07:17,490 --> 01:07:20,000 gyfer pob un o'r pethau yn y rhestr. 1093 01:07:20,000 --> 01:07:22,080 Felly nid oes raid i ni gael un sy'n trin digwyddiad ar gyfer yr elfen gyntaf 1094 01:07:22,080 --> 01:07:24,550 ac yn trin ddigwyddiad gwahanol ar gyfer yr ail elfen. 1095 01:07:24,550 --> 01:07:29,880 Gallwn yn hytrach na dweud, "Rwyf am i'r trafodwr un digwyddiad i wneud cais i bopeth yn fy rhestr." 1096 01:07:29,880 --> 01:07:34,420 Ond mae angen i rhywsut wybod pa elfen oedd yn clicio. 1097 01:07:34,420 --> 01:07:38,450 Mae hyn yn "y" gair allweddol yn cynrychioli ychydig hynny. 1098 01:07:38,450 --> 01:07:42,360 Mae hwn yn y gwrthrych a chlicio yn unig gan y defnyddiwr. 1099 01:07:42,360 --> 01:07:47,680 Os Fi jyst clicio ar y ddolen 3ydd hyn yn cynrychioli elfen o sy'n cysylltu 3rd, 1100 01:07:47,680 --> 01:07:51,670 sy'n golygu y gallaf gael ei priodoledd, data-symbol, 1101 01:07:51,670 --> 01:07:57,760 yr ydym yn ei adnabod i gynnwys y symbol sy'n gysylltiedig â sawl cwmni Fi jyst clicio. 1102 01:07:57,760 --> 01:08:04,550 Os byddwn yn neidio yn ôl i'r dudalen cyllid, 1103 01:08:04,550 --> 01:08:08,580 gallwn weld nawr ar ôl i mi ddechrau teipio rhywbeth fel MSFT, 1104 01:08:08,580 --> 01:08:11,220 rydym yn bellach yn cael dim ond y symbolau stoc, 1105 01:08:11,220 --> 01:08:13,720 rydym yn awr yn cael y cwmnïau go iawn. 1106 01:08:13,720 --> 01:08:20,410 Ond pan fyddaf yn clicio ar un o'r cwmnïau hyn, 1107 01:08:20,410 --> 01:08:25,180 gallwn weld ein bod mewn gwirionedd nid poblogi y blwch testun gyda'r enw'r cwmni 1108 01:08:25,180 --> 01:08:29,850 ond gyda beth bynnag yn cael ei storio y tu mewn o'r rhai nodweddion data. 1109 01:08:29,850 --> 01:08:32,880 Ac felly os wyf mewn gwirionedd yn archwilio un o'r elfennau hyn drwy dde-glicio ei 1110 01:08:32,880 --> 01:08:36,200 a chlicio Archwilio Elfen, gall y byddwn yn gweld beth mae hyn yn edrych fel. 1111 01:08:36,200 --> 01:08:40,290 >> Cofiwch hyn yn rhywbeth yr ydym greu y tu mewn o hynny ar gyfer dolen 1112 01:08:40,290 --> 01:08:42,649 pan oeddem yn adeiladu i fyny y llinyn o HTML. 1113 01:08:42,649 --> 01:08:47,870 Gallwn weld yma fod y data-symbol y gwerth MSFT, sy'n wych. 1114 01:08:47,870 --> 01:08:49,189 Dyna beth rydym yn ei ddisgwyl. 1115 01:08:49,189 --> 01:08:53,170 Dyna y symbol a dyna sut rydym yn cael y gwerth y mae angen i ni ddefnyddio 1116 01:08:53,170 --> 01:08:56,140 tu fewn y blwch testun. 1117 01:08:56,140 --> 01:08:58,850 Dyna ddigon am y ffurflen dyfyniad oherwydd dyna math o ddiflas. 1118 01:08:58,850 --> 01:09:02,990 Gadewch i 'jyst yn gwneud rhai gwelliannau cyflym i'n tudalen portffolio. 1119 01:09:02,990 --> 01:09:08,109 Os ydych chi wedi defnyddio CS50 Cyllid am gyfnod a byddwch yn dechrau prynu a gwerthu llawer o stociau, 1120 01:09:08,109 --> 01:09:11,300 yn y pen draw y tabl hwn yn mynd i gael eithaf mawr, 1121 01:09:11,300 --> 01:09:13,850 a ydych yn mynd i eisiau Ticker stoc, wrth gwrs. 1122 01:09:13,850 --> 01:09:20,350 Unwaith y bydd y bwrdd yn wirioneddol fawr, gallai fod yn ddefnyddiol ar gyfer y defnyddiwr i geisio chwilio drosto. 1123 01:09:20,350 --> 01:09:23,290 Y tu mewn i'r blwch chwilio os byddaf yn dechrau teipio rhywbeth fel Disney 1124 01:09:23,290 --> 01:09:26,359 ac yn chwilio am fy stoc Mouse Mickey, gallwn weld bod y tabl yn awr yn hidlo 1125 01:09:26,359 --> 01:09:28,189 seiliedig ar yr hyn yr wyf deipio yn unig i mewn 1126 01:09:28,189 --> 01:09:31,640 Mae'r swyddogaeth yn edrych gymhleth super, ond mae'n wirioneddol, yn hawdd iawn 1127 01:09:31,640 --> 01:09:33,859 gyda jQuery a JavaScript. 1128 01:09:33,859 --> 01:09:39,189 Mae'r ffeil hon yn cynnwys portfolio.php ffeil JavaScript enw portfolio.js. 1129 01:09:39,189 --> 01:09:41,130 Gadewch i ni edrych ar hynny. 1130 01:09:41,130 --> 01:09:44,890 Felly html, js, portffolio. 1131 01:09:44,890 --> 01:09:49,210 Dyma lle rydym yn gwneud hynny chwilio ar y bwrdd. 1132 01:09:49,210 --> 01:09:52,750 Y peth cyntaf i mi angen i chi ei wneud yw atodi trin digwyddiad i fod blwch testun 1133 01:09:52,750 --> 01:09:55,760 oherwydd gwyddom ein bod am i'n swyddogaeth hidlo i dân 1134 01:09:55,760 --> 01:09:59,800 bob tro y defnyddiwr gweisg rhywbeth oherwydd nad oes gennym amser i botymau Chwilio. 1135 01:09:59,800 --> 01:10:03,000 Y peth cyntaf mae angen i ni ei wneud yw chyfrif i maes yr hyn y mae'r defnyddiwr yn chwilio am, 1136 01:10:03,000 --> 01:10:04,780 yn union fel y gwnaethom o'r blaen. 1137 01:10:04,780 --> 01:10:11,320 Mae'r gair allweddol yn cyfeirio at yr elfen gyfredol y defnyddiwr yn rhyngweithio â hwy. 1138 01:10:11,320 --> 01:10:14,070 >> Oherwydd bod y defnyddiwr yn rhyngweithio gyda'r bocs chwilio, 1139 01:10:14,070 --> 01:10:17,020 $ Hyn yn cynrychioli y blwch chwilio, 1140 01:10:17,020 --> 01:10:21,820 felly this.val yn rhoi i ni beth sydd tu mewn i'r blwch chwilio ar y defnyddiwr yn teipio ar hyn o bryd. 1141 01:10:22,810 --> 01:10:27,320 Felly, yn awr yr hyn yr ydym eisiau ei wneud yw ydym am ailadrodd dros yr holl o'r rhesi 1142 01:10:27,320 --> 01:10:29,240 tu mewn ein tabl. 1143 01:10:29,240 --> 01:10:35,630 I ddewis pob un o'r rhesi yn ein bwrdd, rhoddais y tabl hwnnw ID o bortffolio tabl, 1144 01:10:35,630 --> 01:10:39,060 ac mae pob rhes yn cael ei gynrychioli gan elfen TR, 1145 01:10:39,060 --> 01:10:42,080 felly mae'r dewisydd yn mynd i ddychwelyd i mi amrywiaeth mawr 1146 01:10:42,080 --> 01:10:44,370 yr holl rhesi yn fy tabl. 1147 01:10:44,370 --> 01:10:47,010 Nawr rwyf am i ailadrodd dros y casgliad. 1148 01:10:47,010 --> 01:10:52,390 Gallwn i chi am dolen, ond mewn gwirionedd jQuery yn rhoi i ni y swyddogaeth 'n glws a elwir yn "un." 1149 01:10:52,390 --> 01:10:55,220 Hyn y mae pob ei wneud yw pob un yn cymryd un ddadl, 1150 01:10:55,220 --> 01:10:57,090 a bod y ddadl yn un o swyddogaethau. 1151 01:10:57,090 --> 01:11:02,760 Beth mae'n mynd i wneud yw ei fod yn mynd i wneud cais swyddogaeth honno i bob elfen y tu mewn o'r rhestr hon. 1152 01:11:02,760 --> 01:11:05,550 Mae'r swyddogaeth hon yn cymryd un ddadl sy'n e, 1153 01:11:05,550 --> 01:11:10,090 a phan fydd y swyddogaeth hon yn cael ei gyflawni, yr e yn mynd i gael ei ddisodli gan y rhes gyntaf, 1154 01:11:10,090 --> 01:11:12,070 yna yr ail res, ac yna y drydedd res. 1155 01:11:12,070 --> 01:11:15,150 Erbyn y modd hwn, dyma'r un peth â rhedeg gyfer dolen 1156 01:11:15,150 --> 01:11:21,360 ac yna figuring yr elfen gyfredol sy'n seiliedig ar y tu mewn mynegai o'ch gyfer dolen. 1157 01:11:21,360 --> 01:11:24,750 Ym mhob fersiwn, ar gyfer pob un o'r elfennau hyn yn y tabl, 1158 01:11:24,750 --> 01:11:30,560 Rwyf am i wirio a yw'r testun yr elfen - destun y gell y tu mewn y rhes - 1159 01:11:30,560 --> 01:11:33,130 cyfateb i'r hyn yr wyf i'n chwilio amdano. 1160 01:11:33,130 --> 01:11:36,390 Mae'r llinyn hir o orchmynion mawr yw sut y gallwn i wneud hynny. 1161 01:11:36,390 --> 01:11:40,900 Yn gyntaf, unwaith eto, mae hyn bellach yn cyfeirio at - oherwydd ei fod y tu mewn swyddogaeth newydd - 1162 01:11:40,900 --> 01:11:45,020 hyn yn awr yn y rhes ar hyn o bryd yn y tabl. 1163 01:11:45,020 --> 01:11:47,340 Hoffwn fanteisio ar y rhes ar hyn o bryd yn y tabl, 1164 01:11:47,340 --> 01:11:49,950 ac yr wyf am gael ei holl blant. 1165 01:11:49,950 --> 01:11:51,940 Cofiwch, mae'r DOM yn goeden hierarchaidd, 1166 01:11:51,940 --> 01:11:54,200 sy'n golygu bod elfennau nifer o blant. 1167 01:11:54,200 --> 01:12:00,180 >> Mae hyn yn. Swyddogaeth plant yn mynd i ddychwelyd i mi yn ôl amrywiaeth o holl elfennau 1168 01:12:00,180 --> 01:12:03,240 bod yn blant, yn yr achos hwn, mae rhes yn y tabl. 1169 01:12:03,240 --> 01:12:07,150 Mae hyn yn dim ond dim ond y celloedd y tu mewn y rhes. 1170 01:12:07,150 --> 01:12:09,230 Fi jyst eisiau i chwilio dros y gell gyntaf. 1171 01:12:09,230 --> 01:12:13,090 Swyddogaeth hon. Cyntaf yn dweud ei roi i mi yr elfen gyntaf yn y casgliad. 1172 01:12:13,090 --> 01:12:17,070 Yna y swyddogaeth testun yn dweud fy nghael yn union beth sydd tu mewn y gell 1173 01:12:17,070 --> 01:12:19,530 ers i mi am i chwilio dros y testun. 1174 01:12:19,530 --> 01:12:21,040 Yn olaf, gadewch i ni ei drosi i lythrennau bach, 1175 01:12:21,040 --> 01:12:23,940 fel y gallwn wneud ymholiadau achos testun ansensitif. 1176 01:12:23,940 --> 01:12:29,990 Yn olaf, rydym am weld os yw'r llinyn tu mewn tabl yn cynnwys y llinyn rydym yn chwilio am. 1177 01:12:29,990 --> 01:12:32,980 Mae'r swyddogaeth indexOf yn JavaScript yn gwneud hynny. 1178 01:12:32,980 --> 01:12:37,060 Mae'n dweud wrthym a yw hyn yn cynnwys llinyn arall llinyn. 1179 01:12:37,060 --> 01:12:40,150 Os yw'n wir bod y gell yn cynnwys yr hyn yr wyf i'n chwilio am, 1180 01:12:40,150 --> 01:12:42,140 yna rwyf am wneud yn siŵr ei fod yn dangos. 1181 01:12:42,140 --> 01:12:45,330 Bydd y dull sioe yn dweud, "Dangos yr elfen." 1182 01:12:45,330 --> 01:12:50,350 Os nad yw hyn yn wir, yna mae hynny'n golygu beth bynnag Dw i'n chwilio am nad yw'n cynnwys 1183 01:12:50,350 --> 01:12:53,550 o fewn y rhes honno, ac felly rwy'n awyddus i guddio oddi wrth y defnyddiwr. 1184 01:12:53,550 --> 01:12:59,240 Mae hynny'n cyflawni hynny effaith 'n glws hidlo lle nad oes bellach gwelwn y tabl cyfan. 1185 01:12:59,240 --> 01:13:01,480 Os oes gennych ddiddordeb mewn sut i wneud hyn yn Ticker yn ogystal, 1186 01:13:01,480 --> 01:13:04,180 byddwn yn postio'r ffynhonnell ar-lein. Ond mae'n wirioneddol syml. 1187 01:13:04,180 --> 01:13:09,860 JQuery Mae dulliau anhygoel ar gyfer y animeiddiadau ac eiddo CSS drin. 1188 01:13:09,860 --> 01:13:11,020 Felly, dyna ni i mi. 1189 01:13:11,020 --> 01:13:15,560 >> Beth felly sydd o'n blaen? Fel y gwelwch mewn ychydig ddyddiau, y cynnig prosiectau terfynol yn ddyledus. 1190 01:13:15,560 --> 01:13:17,730 Bydd y cynnig prosiectau terfynol yn gofyn ychydig o gwestiynau, 1191 01:13:17,730 --> 01:13:19,420 ond bydd yn eu plith bydd tri cerrig milltir - 1192 01:13:19,420 --> 01:13:22,840 un yn "dda" garreg filltir, un yn garreg filltir yn well, ac un yn orau. 1193 01:13:22,840 --> 01:13:25,870 Y syniad yw mewn gwirionedd i'ch helpu chi guys gosod eich disgwyliadau 1194 01:13:25,870 --> 01:13:29,160 fel bod cyn lleied â phosibl byddwch yn hapus gyda'r allbwn eich prosiect terfynol 1195 01:13:29,160 --> 01:13:32,060 a bydd yn "dda" cyn belled ag y byddwch yn pryderu. 1196 01:13:32,060 --> 01:13:34,540 Ond wedyn er budd eich cael chi i gyrraedd ychydig bach i rhywbeth gwell 1197 01:13:34,540 --> 01:13:37,680 neu rywbeth gorau, byddwn hefyd yn trefnu o gwthio i chi tuag at hynny hefyd. 1198 01:13:37,680 --> 01:13:40,660 Mae'r CS50 Hack-a-thon, yn y cyfamser, mewn ychydig wythnosau. 1199 01:13:40,660 --> 01:13:44,340 Fel arfer, rydym yn gwneud hyn ar sail loteri sail oherwydd diddordeb, 1200 01:13:44,340 --> 01:13:47,680 ond groes yw y bydd yn cymryd ychydig gannoedd o ohonom mewn bysiau gwennol o Harvard Square 1201 01:13:47,680 --> 01:13:51,540 i lawr i Kendall Square lle mae Microsoft wedi gyfleuster hyfryd o'r enw aptly "NERD" - 1202 01:13:51,540 --> 01:13:53,830 Ymchwil Lloegr Newydd a Datblygu Center. 1203 01:13:53,830 --> 01:13:56,380 Byddwn yn cyrraedd yno tua 20:00 Bydd gennym rhywfaint o fwyd. 1204 01:13:56,380 --> 01:13:58,160 Mae tua 1:00 bydd gennym fwyd rhai mwy. 1205 01:13:58,160 --> 01:14:02,150 Mae tua 5 am os ydych yn dal i fod yn effro byddwn pennaeth drosodd i IHOP neu fynd â chi yn ôl i'r campws. 1206 01:14:02,150 --> 01:14:04,380 Yr amcan mae i ddeifio i mewn i brosiectau terfynol 1207 01:14:04,380 --> 01:14:06,190 ochr yn ochr â chyd-ddisgyblion ac o staff. 1208 01:14:06,190 --> 01:14:08,280 Yna ychydig ddyddiau'n ddiweddarach yn y Ffair CS50, 1209 01:14:08,280 --> 01:14:10,990 sy'n cael ei olygu mewn gwirionedd i fod yn gyfle i chi guys i arddangos eich gwaith 1210 01:14:10,990 --> 01:14:12,700 a llwyddiannau ar gyfer y semester 1211 01:14:12,700 --> 01:14:15,610 wrth rwbio ysgwyddau â'i gilydd a chael ymdeimlad o beth mae pawb yn ei wneud. 1212 01:14:15,610 --> 01:14:17,850 Gyda dweud hynny, llawer o ddiolch i Tommy ac i Joseph, 1213 01:14:17,850 --> 01:14:19,960 a byddwn yn eich gweld ar ddydd Llun. 1214 01:14:19,960 --> 01:14:24,070  [Cymeradwyaeth]