1 00:00:00,000 --> 00:00:02,700 [Powered by Google Translate] [Vika 9, Áframhaldandi] 2 00:00:02,700 --> 00:00:05,160 [David J. Malan - Harvard University] 3 00:00:05,160 --> 00:00:07,020 [Þetta er CS50. - CS50.TV] 4 00:00:07,940 --> 00:00:13,340 >> Þetta er CS50. Þetta er endir Vika 9. Þakka þú mjög mikill. 5 00:00:13,340 --> 00:00:15,310 Lokum. Vika 9. Ég fékk hann. 6 00:00:15,310 --> 00:00:18,590 Í dag höldum við áfram samræðum okkar um forritun vefur 7 00:00:18,590 --> 00:00:21,660 með auga í átt að lokaverkefni, ekki vegna þess að þú þarft að gera eitthvað vefur-undirstaða 8 00:00:21,660 --> 00:00:25,610 fyrir lokaverkefni heldur því annaðhvort að lokaverkefni eða eftir CS50 9 00:00:25,610 --> 00:00:29,000 þetta er vissulega átt sem nútíma hugbúnaður er að fara. 10 00:00:29,000 --> 00:00:31,770 Og enn er það í raun ekki auðvelt hlutur. 11 00:00:31,770 --> 00:00:35,040 Í raun einn af the herða hluti til að gera er að þáttur í hönnun. 12 00:00:35,040 --> 00:00:38,600 >> Til dæmis með því að hönnun er átt við í raun að fá á notendaviðmóti 13 00:00:38,600 --> 00:00:40,420 eða reynslu notenda rétt. 14 00:00:40,420 --> 00:00:43,200 Ég eflaust - og við vitum úr nýlegri vandamál setja 15 00:00:43,200 --> 00:00:45,960 þegar nokkrar af þér aired innantökur þína um nokkur stykki af hugbúnaður 16 00:00:45,960 --> 00:00:49,000 eða vélbúnaður sem infuriates þig, hvort sem er á háskólasvæðinu eða Slökkva - 17 00:00:49,000 --> 00:00:51,930 There 'a einhver fjöldi af staður út there, there' a einhver fjöldi af vélbúnaði út there, 18 00:00:51,930 --> 00:00:53,900 þannig sjúga. 19 00:00:53,900 --> 00:00:58,730 En raunin er sú að það sem er auðvelt að nota enn er þó öflugur 20 00:00:58,730 --> 00:01:00,550 er mjög erfitt verkefni. 21 00:01:00,550 --> 00:01:03,680 Svo í dag ég spurði Joseph og Tommy að ganga mig upp hér 22 00:01:03,680 --> 00:01:06,680 svo að við getum haft samtal, bæði um hönnun 23 00:01:06,680 --> 00:01:09,090 og hvers konar hugsun ætti að byrja að fara í gegnum höfuðið 24 00:01:09,090 --> 00:01:12,040 þegar þú hannar lokaverkefni þinn, framtíð viðleitni þína. 25 00:01:12,040 --> 00:01:15,040 Og svo með hjálp Tommy er að við munum líta á sumir af the framkvæmd smáatriði. 26 00:01:15,040 --> 00:01:18,440 Hvernig er hægt að hafa einhverja sýn á pappír eða í huga þínum 27 00:01:18,440 --> 00:01:20,760 sem þú getur þá keyrt kerfisbundið 28 00:01:20,760 --> 00:01:24,030 með því að nota sumir af the tækni og aðferðir sem við höfum bara byrjaði að tala um, 29 00:01:24,030 --> 00:01:29,080 þ.e. JavaScript og eitthvað jafnvel nýrri, þ.e. AJAX, ósamstilltur JavaScript. 30 00:01:29,080 --> 00:01:32,950 Það leyfir þér að búa til allt meira dynamic í notendaviðmót 31 00:01:32,950 --> 00:01:35,780 því að sækja fleiri og fleiri gögn smám frá miðlara. 32 00:01:35,780 --> 00:01:38,560 Svo við munum sjá sumir af þeim snifsi og í dag. 33 00:01:38,560 --> 00:01:41,800 Sem innskot, ef þú ert áhuga á að einbeita í tölvunarfræði 34 00:01:41,800 --> 00:01:45,010 eða aukagrein í tölvunarfræði, vita að á föstudaginn á hádegi 35 00:01:45,010 --> 00:01:48,750 í Maxwell Dworkin 221 verður pizza atburði 36 00:01:48,750 --> 00:01:50,780 þar sem þú getur lært aðeins meira um tölvunarfræði. 37 00:01:50,780 --> 00:01:54,860 Á leið út um dyrnar í dag munt þú vera fær um að ná upp óopinber leiðarvísir CS í Harvard. 38 00:01:54,860 --> 00:01:57,290 Við munum setja það á ruslinu dósum utan á hæð mitti 39 00:01:57,290 --> 00:01:59,750 þannig að ef þú vilt að grípa þetta og læra aðeins meira um CS, 40 00:01:59,750 --> 00:02:02,480 sem mun vera til staðar fyrir þig eins og það var í viku 0. 41 00:02:02,480 --> 00:02:06,500 Einnig ef þú vilt tengja okkur fyrir CS50 hádeginu á föstudaginn á 1:15, 42 00:02:06,500 --> 00:02:09,800 höfuð til cs50.net/lunch. 43 00:02:09,800 --> 00:02:13,260 Án frekari fjaðrafok, ég gef þér kennslu náungi Joseph Ong. 44 00:02:13,260 --> 00:02:19,190 Hæ. [Lófaklapp] 45 00:02:19,190 --> 00:02:20,770 Takk. 46 00:02:20,770 --> 00:02:24,780 Í fyrsta skipti sem ég lærði um hönnun var í bekknum hér kallast CS179. 47 00:02:24,780 --> 00:02:28,040 >> Prófessorinn á þeim tíma sagt okkur söguna um annars prófessor 48 00:02:28,040 --> 00:02:31,640 sem höfðu farið á hótel og notaði Blöndunartæki. 49 00:02:31,640 --> 00:02:35,630 Getur einhver sagt mér hvað the 2 hnappa á vinstri og hægri að gera? 50 00:02:35,630 --> 00:02:39,080 [Nemandi] Heitt og kalt. >> Heitt og kalt. Gott. 51 00:02:39,080 --> 00:02:41,430 Það sem þú búast við að jafnaði, ekki satt? 52 00:02:41,430 --> 00:02:46,960 Þessi prófessor eftir að nota blöndunartæki vill fara í sturtu, og hann gengur að nota þetta. 53 00:02:46,960 --> 00:02:51,310 Hann telur vinstri og hægri hliðar eru fyrir heitt og kalt, ekki satt? 54 00:02:51,310 --> 00:02:55,470 En getur einhver sagt mér hvað þetta í raun og veru að gera? 55 00:02:55,470 --> 00:02:58,060 Allar hendur? 56 00:02:58,060 --> 00:03:01,740 [Inaudible nemandi svar] >> Ein tillaga er? 57 00:03:01,740 --> 00:03:05,860 [Inaudible nemandi svar] >> Hitastig? 58 00:03:05,860 --> 00:03:10,460 Svo ræður einn af þeim hita og aðra stjórna? >> [Nemandi] vatnsþrýstingur. 59 00:03:10,460 --> 00:03:12,350 Vatnsþrýstingur. Gott. 60 00:03:12,350 --> 00:03:15,100 Þessi prófessor gengur í þetta og hugsa að þeir eru að stjórna heitt og kalt, 61 00:03:15,100 --> 00:03:21,470 snýr rétta, sem hann hugsar er fyrir heitt, alla leið upp 62 00:03:21,470 --> 00:03:23,560 því hann vill fara í heita sturtu. 63 00:03:23,560 --> 00:03:28,100 Jæja, þetta er ekki í raun passa upp, svo hann fær þetta ekki mjög gaman reynslu 64 00:03:28,100 --> 00:03:31,110 að vera í köldu sturtu, og við vitum öll hvað það líður eins. 65 00:03:31,110 --> 00:03:33,620 Þetta er dæmi um hönnun galli. 66 00:03:33,620 --> 00:03:37,040 Það sem ég meina með því sem er von hans frá blöndunartæki 67 00:03:37,040 --> 00:03:39,420 ekki passa það sem kom út úr sturtu, 68 00:03:39,420 --> 00:03:41,780 sem er eins konar óheppileg fyrir hann. 69 00:03:41,780 --> 00:03:44,990 Svo er þetta dæmi um hönnun galli sem gerist í raunveruleikanum. 70 00:03:44,990 --> 00:03:48,020 En við sjáum alls konar öðrum sjálfur eins og heilbrigður. 71 00:03:48,020 --> 00:03:50,390 Við erum líklega ekki aðdáendur MBTA kerfi. 72 00:03:50,390 --> 00:03:55,560 Þetta er neðanjarðarlestinni kerfi í raun í London, sem segir: "Þessi takki er ekki í notkun." 73 00:03:55,560 --> 00:04:00,220 Hvers vegna er það jafnvel á það? Hvers vegna eigum við sama enn? 74 00:04:00,220 --> 00:04:02,810 Þegar ég var krakki, að vera tækni kunnátta einn í húsinu, 75 00:04:02,810 --> 00:04:05,050 þegar tölvan myndi hrun, mamma mín myndi koma til mín, 76 00:04:05,050 --> 00:04:07,060 sýna mér þennan skjá og spyrja mig hvað gerðist. 77 00:04:07,060 --> 00:04:09,210 >> Jafnvel Ég veit ekki hvað þetta þýðir. 78 00:04:11,890 --> 00:04:14,700 [Hlátur] What? 79 00:04:16,950 --> 00:04:18,019 [Hlátur] 80 00:04:18,720 --> 00:04:23,050 Stundum við teljum eins og forritara er bara trolling okkur. 81 00:04:23,050 --> 00:04:28,460 Eins og notendur við erum eins, "Hvað er að gerast? Einhver segja okkur." 82 00:04:28,460 --> 00:04:32,140 Þetta allt kemur niður á útgáfu hönnun. 83 00:04:32,140 --> 00:04:34,650 Hönnun, sem við getum séð, er ekki eingöngu um fagurfræði, 84 00:04:34,650 --> 00:04:37,230 það er ekki um hvernig hlutirnir líta út. 85 00:04:37,230 --> 00:04:41,720 Við sjáum hér að þessi litli hvellur-upp hérna í raun útlit laglegur ágætur. 86 00:04:41,720 --> 00:04:45,290 Það hefur falla skuggi í bakgrunninum, það hefur landamæri radiuses fara á. 87 00:04:45,290 --> 00:04:47,550 Það er góður af nokkuð. 88 00:04:47,550 --> 00:04:51,480 Það er ekki mjög vel hönnuð því það er ekki mjög notendavænt. 89 00:04:51,480 --> 00:04:54,920 Það lítið pop-up sem kemur upp er í raun ekki að gefa mér einhverjar upplýsingar 90 00:04:54,920 --> 00:04:58,450 um hvað er að gerast, er það ekki að segja mér neitt sem notandi 91 00:04:58,450 --> 00:05:01,400 um hvernig á að batna frá því villu. 92 00:05:01,400 --> 00:05:05,190 Við viljum að hugsa um hluti sem hönnun er ekki. 93 00:05:05,190 --> 00:05:06,670 Fyrst er það ekki fagurfræði. 94 00:05:06,670 --> 00:05:10,800 Það er heldur ekki að troða app með tonn af óþarfa virkni. 95 00:05:10,800 --> 00:05:14,890 Ef þú ert Thai veitingastað, sennilega þú vilt ekki að vera tannlæknir á sama tíma. 96 00:05:14,890 --> 00:05:17,720 Og með Facebook spurningum ekki að margir nota það 97 00:05:17,720 --> 00:05:21,130 og það var í raun ekki kjarninn í því sem þeir voru að byggja. 98 00:05:21,130 --> 00:05:24,200 Og svo það er gott að hugsa um ekki svo mikið magn af því sem 99 00:05:24,200 --> 00:05:26,390 að þú ert að setja á umsókn þinni en gæði 100 00:05:26,390 --> 00:05:28,910 og hvernig þú ert að gera þá reynslu notenda betur 101 00:05:28,910 --> 00:05:32,540 við raunverulega bæta við það sem þú hefur nú þegar. 102 00:05:32,540 --> 00:05:37,040 >> Í hnotskurn, hönnun segir okkur hvað við eigum að byggja upp. 103 00:05:37,040 --> 00:05:41,950 Til dæmis, ef við erum að byggja upp eitthvað sem láta okkur leita það upp, 104 00:05:41,950 --> 00:05:45,970 eins og Google, til dæmis, að við að gera hlutina á þann hátt 105 00:05:45,970 --> 00:05:48,950 sem krefst þess að notandi að taka fullt af smellum til að fá það sem þeir vilja, 106 00:05:48,950 --> 00:05:52,580 eða ættum við að gera það á þann hátt, td með Google Instant eða AutoComplete 107 00:05:52,580 --> 00:05:54,970 sem leyfir okkur að fá að niðurstöður okkar hraðar? 108 00:05:54,970 --> 00:05:58,740 Engineering felur, eins og Tommy mun sýna þér, í raun að byggja það. 109 00:05:58,740 --> 00:06:01,890 There ert hellingur af tegundum af hönnun. 110 00:06:01,890 --> 00:06:06,070 Til dæmis, ef þú ert að byggja upp eitthvað til að dreifa eitthvað 111 00:06:06,070 --> 00:06:09,770 í þriðja heims landi þar sem það er ekki mikið rafmagn eða að miklu tækni, 112 00:06:09,770 --> 00:06:11,440 þú þarft að hanna það sem þú ert að byggja upp 113 00:06:11,440 --> 00:06:14,210 á þann hátt sem auðvelt veitir aðgang að fólkinu þar. 114 00:06:14,210 --> 00:06:18,290 En hvað konar aðrar ákvarðanir hönnun gæti það verið 115 00:06:18,290 --> 00:06:21,850 eða gæti verið að taka þátt í einhverju svona? 116 00:06:23,690 --> 00:06:25,660 Já. Ég sé hönd. 117 00:06:25,660 --> 00:06:37,200 [Inaudible nemandi svar] >> Right. Einmitt. Aðgengi er eitt. 118 00:06:37,200 --> 00:06:40,870 A einhver fjöldi af fólk dont 'hugsa um, "Hvað með notendur mínum?" 119 00:06:40,870 --> 00:06:43,160 eins og öfgar hvors vali. 120 00:06:43,160 --> 00:06:47,770 Ég notendur sem kunna að hafa fötlun sem ég er ekki að hugsa um 121 00:06:47,770 --> 00:06:50,590 og ég er bara að hugsa um að hanna fyrir almenna notendur. 122 00:06:50,590 --> 00:06:52,630 Netið er aðgengilegur við alla nú á dögum, 123 00:06:52,630 --> 00:06:54,870 og ég ætti að vera að hanna fyrir þá eins og heilbrigður. 124 00:06:54,870 --> 00:06:58,620 Hvers konar aðrar ákvarðanir hönnun getur þú gert? 125 00:06:58,620 --> 00:07:00,690 Já. >> [Nemandi] Kostnaður. 126 00:07:00,690 --> 00:07:02,680 Kostnaður. Mjög gott. 127 00:07:02,680 --> 00:07:08,060 Annar hlutur sem við gætum byggt hönnun ákvarðanir okkar á er kostnaður. 128 00:07:08,060 --> 00:07:13,130 Ef við erum fyrirtæki, vilt þú að byggja eitthvað sem tekur ekki mikið kostnaður til að framleiða 129 00:07:13,130 --> 00:07:17,720 en getur selt á sérstaklega hár kostnaður eða hægt að fá okkur smá hagnaði. 130 00:07:17,720 --> 00:07:21,540 >> Þetta eru allt mismunandi tegundir af hönnun, en þegar við erum að byggja eitthvað á Netinu 131 00:07:21,540 --> 00:07:25,120 eða þegar við erum að byggja upp eitthvað sem líklega ekki kosta það mikið að byggja upp nú, 132 00:07:25,120 --> 00:07:28,630 eins og forrit Internet - Þú þarft ekki að kasta mikið fjármagn inn í það 133 00:07:28,630 --> 00:07:30,900 til að gera eitthvað sem virkar - 134 00:07:30,900 --> 00:07:33,490 það sem við erum meiri áhyggjur er notandi reynsla. 135 00:07:33,490 --> 00:07:36,390 Við köllum þetta notanda miðju hönnun. 136 00:07:36,390 --> 00:07:41,550 Í meginatriðum hvað notandinn miðju hönnun felur er að setja ykkur í spor notenda. 137 00:07:41,550 --> 00:07:44,870 Ef merki einhver upp fyrir það sem ég er að byggja upp, 138 00:07:44,870 --> 00:07:48,250 þeir eru búnir að koma augljóslega við tiltekna umsókn mína með markmið í huga, 139 00:07:48,250 --> 00:07:50,280 með verkefni sem þeir vilja til að ljúka. 140 00:07:50,280 --> 00:07:53,650 Og starf þitt er ekki aðeins að hjálpa þeim að klára það verkefni 141 00:07:53,650 --> 00:07:57,930 heldur til að hjálpa þeim að klára það verkefni á þann hátt sem er duglegur, innsæi, 142 00:07:57,930 --> 00:08:01,900 og, eins og sumir maðurinn sagði þarna, aðgengileg. 143 00:08:01,900 --> 00:08:03,750 Hvað þýðir skilvirkni meina? 144 00:08:03,750 --> 00:08:08,050 Skilvirkni þýðir hversu hratt er notandi minn ljúka verkefni gefið tengi minn. 145 00:08:08,050 --> 00:08:11,650 Er það tekið mikið af smellum fyrir þá að komast frá einum stað til annars? 146 00:08:11,650 --> 00:08:14,630 Er það leiðinlegur? Gera þeir þurfa að framkvæma margar endurteknar verkefni? 147 00:08:14,630 --> 00:08:17,140 Við viljum gera það ferli eins skilvirkt og mögulegt er 148 00:08:17,140 --> 00:08:20,070 svo þeir þurfa ekki að gera þær tegundir af hlutum. 149 00:08:20,070 --> 00:08:24,230 Eins og fyrir intuitiveness, sem er, til dæmis, ef notandi lítur upp tengi mína, 150 00:08:24,230 --> 00:08:27,240 það er auðvelt fyrir þá að komast frá einum stað til annars? 151 00:08:27,240 --> 00:08:30,390 Er það auðvelt fyrir þá að reikna út hvað þeir þurfa að smella á tengi minn 152 00:08:30,390 --> 00:08:33,770 í röð fyrir þá til að ná því markmiði eða verkefni sem þeir vilja til að ná? 153 00:08:33,770 --> 00:08:37,520 >> Og að lokum, eins og einn maður sagði þarna, aðgengi er mjög mikilvægt. 154 00:08:37,520 --> 00:08:39,640 [Karlkyns ræðumaður] Það kemur að aðgengi fyrir hluti eins og sjón, 155 00:08:39,640 --> 00:08:42,740 eins og hvernig ég hanna í raun eitthvað fyrir einhvern sem er blindur? 156 00:08:42,740 --> 00:08:46,460 Oh. Fyrir fólk sem getur ekki séð í allt, höfum við eitthvað sem kallast skjár lesendur. 157 00:08:46,460 --> 00:08:49,070 Það sem þú ættir að gera er að þú ættir að byggja vefsvæðið þitt á þann hátt 158 00:08:49,070 --> 00:08:52,020 að, til dæmis, sérstök tækni sem við köllum - 159 00:08:52,020 --> 00:08:53,590 There ert hellingur af hlutum núna. 160 00:08:53,590 --> 00:08:55,660 Ég held að það séu skjár lesendur heitir JAWS. 161 00:08:55,660 --> 00:08:58,410 A einhver fjöldi af þessum hlutum að treysta á það sem við köllum svæði reglur 162 00:08:58,410 --> 00:09:02,010 til að lesa fyrir notandann hvaða er til staðar á síðunni. 163 00:09:02,010 --> 00:09:05,480 Fyrir þá sem fólk sem getur ekki séð, þú þarft að ganga úr skugga um að þessi skjár lesendur 164 00:09:05,480 --> 00:09:09,130 getur í raun tekið upp efni á síðunni og geta í raun sýna notendum, 165 00:09:09,130 --> 00:09:13,630 ef þú getur ekki séð, að minnsta kosti getur þú samt skilja innihald á síðunni. 166 00:09:13,630 --> 00:09:16,190 Já. Allt í lagi. 167 00:09:16,190 --> 00:09:23,410 Nóg að tala um góða hönnun. Við skulum tala um slæma hönnun. 168 00:09:23,410 --> 00:09:25,220 Þetta eru hlutir sem þú ættir ekki að gera. 169 00:09:25,220 --> 00:09:27,890 Getur einhver sagt mér um reynslu þeirra með craigslist 170 00:09:27,890 --> 00:09:32,190 og það sem þeir hugsa er ekki svo mikill um þessa hönnun? 171 00:09:33,690 --> 00:09:36,430 Já. >> [Nemandi] Ég held að það er of mörg orð í einu sviði. 172 00:09:36,430 --> 00:09:39,350 Of mörg orð, ekki satt? Alveg yfirþyrmandi. 173 00:09:39,350 --> 00:09:42,400 Þú kemur á þessa síðu og þú ert heilsaði með a heild búnt af hlutina upp hér 174 00:09:42,400 --> 00:09:43,860 sem gæti ekki einu sinni máli til þín. 175 00:09:43,860 --> 00:09:47,010 Til dæmis, býrð þú í einu ríki sem er ekki að byrja með þessum bókstaf. 176 00:09:47,010 --> 00:09:48,690 Segjum að þú býrð í Texas eða eitthvað. 177 00:09:48,690 --> 00:09:53,790 >> Þú þarft að fletta alla leið niður á síðunni til að fá til the staðsetning þú ert á. 178 00:09:53,790 --> 00:10:00,320 Ég er frá Boston, svo látið mig líta í Massachusetts. Hvar er Massachusetts? 179 00:10:00,320 --> 00:10:03,270 Ó, það er hérna. Ó, það er Boston. Allt í lagi. 180 00:10:03,270 --> 00:10:09,070 Við skulum líta á Boston. [Hlátur] 181 00:10:09,070 --> 00:10:12,250 Pretty yfirþyrmandi, ekki satt? 182 00:10:12,250 --> 00:10:16,400 Óþægilega hluti þarna. [Hlátur] 183 00:10:17,320 --> 00:10:19,470 Við skulum segja að ég er að leita að stað til að lifa. 184 00:10:19,470 --> 00:10:24,130 Hversu margir hafa í raun notað craigslist? Tonn af þér. 185 00:10:24,130 --> 00:10:30,960 Það eru ansi slæmur leiðir til að líta á þetta, en við skulum líta á þetta. 186 00:10:35,130 --> 00:10:38,970 Hver er munurinn á milli IMG og mynd? Getur einhver sagt mér? 187 00:10:41,350 --> 00:10:42,830 Það raunverulega er enginn munur. 188 00:10:42,830 --> 00:10:47,710 Þeir meina nákvæmlega það sama, en þeir hafa mismunandi merki fyrir þá fyrir sumir ástæða. 189 00:10:48,980 --> 00:10:53,560 Ef ég smelli á hefur ímynd, ekkert gerist á síðunni. 190 00:10:53,560 --> 00:10:57,490 Ég hef í raun að smella á Leita aftur fyrir eitthvað að gerast. 191 00:10:57,490 --> 00:11:02,430 Hvað gæti verið betra hönnun ákvörðun sem hægt var að gera þar? 192 00:11:03,820 --> 00:11:08,030 Ef ég er að smella á þessi sía, vil ég líklega til að sía eftir viðkomandi aðgerð 193 00:11:08,030 --> 00:11:09,970 eða flokk. 194 00:11:09,970 --> 00:11:14,450 Svo í stað þess að þurfa að ýta Leita aftur, gat ég bara sjálfkrafa að gera sía 195 00:11:14,450 --> 00:11:17,060 konar Google stíl þar sem þeir gera það þegar í stað. 196 00:11:17,060 --> 00:11:20,440 [Malan] En ekki myndast eins og við höfum séð þá hefur hingað til að vera líkamlega fram 197 00:11:20,440 --> 00:11:23,170 með hitting inn að minnsta kosti eða að smella á hnappinn? 198 00:11:23,170 --> 00:11:26,830 Eins og þú hefur séð þá svo langt, hefur þú í raun að smella á Senda til að gera þá hluti. 199 00:11:26,830 --> 00:11:30,090 >> En eins og Tommy mun sýna þér annað, það eru í raun leiðir fyrir þig 200 00:11:30,090 --> 00:11:33,010 þannig að þegar þú smellir á þessi hlutur og það getur sjálfkrafa að senda 201 00:11:33,010 --> 00:11:38,840 það sem við köllum að AJAX beiðni og fá gögn aftur og sía niðurstöður samstundis. 202 00:11:38,840 --> 00:11:41,340 Það eru tonn af hlutum sem eru rangt með þessu tengi. 203 00:11:41,340 --> 00:11:43,530 [Malan] þú getur leitað Cambridge? 204 00:11:43,530 --> 00:11:47,030 Það er eitthvað örlítið anomalous hér þar sem þér þykir vænt um Cambridge 205 00:11:47,030 --> 00:11:54,790 og enn þú ert að fá Westford, Spring Hill, West Newton og þess háttar. 206 00:11:54,790 --> 00:11:57,930 Sennilega ekki hugsjón. >> Sennilega ekki hugsjón. 207 00:11:57,930 --> 00:12:03,900 Hvernig gæti ég verið fær um að gera reynslu notandans betur á þessari tilteknu síðu? 208 00:12:03,900 --> 00:12:07,340 Já. >> [Nemandi] Leiðbeiningar. 209 00:12:07,340 --> 00:12:09,500 Allt í lagi. Leiðbeiningar í hvers konar skilningi? 210 00:12:09,500 --> 00:12:14,630 [Nemandi] Til dæmis, a hlutur fyrir fyrstu notendur tíma, sem ekki einu sinni vita hvað Craigslist er 211 00:12:14,630 --> 00:12:17,320 eða þú veist ekki hvað þú ert að gera. 212 00:12:17,320 --> 00:12:20,150 Hægri. Svo útskýrir hvað Craigslist er á þessari síðu er mikilvægt. 213 00:12:20,150 --> 00:12:23,490 Við getum í raun segja notendum hvað þessi síða er í raun fyrir. 214 00:12:23,490 --> 00:12:27,090 Ef ég er bara að heimsækja það, ég a heild búnt af stöðum. Ég veit ekki einu sinni hvað þeir meina. 215 00:12:27,090 --> 00:12:29,730 En meira um vert, bara að horfa á þetta tengi, 216 00:12:29,730 --> 00:12:35,530 man ég þurfti að fletta niður tonn af hlutum til að finna tiltekna samfélag 217 00:12:35,530 --> 00:12:37,560 sem ég aðgát í raun um á þessu. 218 00:12:37,560 --> 00:12:39,820 Hvað er að festa vegur ég gæti gert það? Já. 219 00:12:39,820 --> 00:12:43,290 [Nemandi] skipta þeim upp í austur, vestur svæðum. >> Lagi. 220 00:12:43,290 --> 00:12:47,460 Ég gæti skipta þeim í fleiri flokka sem gæti hjálpað mér að ákvarða hraðar 221 00:12:47,460 --> 00:12:49,820 hvernig á að fá til viðkomandi stað. 222 00:12:49,820 --> 00:12:54,510 [Nemandi] Settu fellilista. >> Einmitt. Allt í lagi. 223 00:12:54,510 --> 00:12:58,240 Ég gæti notað fellivalmyndinni því að við höfum fastan sett af hlutum 224 00:12:58,240 --> 00:13:00,100 og við gátum sýnt þeim í fellilistanum. 225 00:13:00,100 --> 00:13:02,240 Þannig að það er ekki tekið upp svo mikið pláss á skjánum. 226 00:13:02,240 --> 00:13:05,630 En jafnvel betri en þessi, hvað getum við gert? 227 00:13:05,630 --> 00:13:09,220 Já. >> [Inaudible nemandi svar] >> Getur þú sagt það aftur? >> [Nemandi] leitargluggann. 228 00:13:09,220 --> 00:13:11,260 Já, leita kassi. Það er frábært. 229 00:13:11,260 --> 00:13:16,430 Það sem við getum í raun gert er að ef við lítum til baka á renna, leitargluggann. 230 00:13:16,430 --> 00:13:21,520 Sjálfvirkri útfyllingu. Mjög einföld leið til að leita í gegnum niðurstöður sem þú þekkir er í mengi. 231 00:13:21,520 --> 00:13:25,980 Ef ég byrja að slá BO, sýna bara mér allar árangri sem BO inni í þeim. 232 00:13:25,980 --> 00:13:29,030 Þannig ég get mjög auðveldlega fundið tiltekna sem ég vil að fara í 233 00:13:29,030 --> 00:13:32,390 í stað þess að þurfa að fletta í gegnum þetta mjög stór listi. 234 00:13:32,390 --> 00:13:37,450 >> Þetta eru alls konar mjög lág-hangandi ávöxt sem einhver sem er að innleiða craigslist 235 00:13:37,450 --> 00:13:42,500 geta í raun gert til að gera reynslu á vefsvæði mun betri fyrir tiltekna notandi þeirra. 236 00:13:42,500 --> 00:13:46,370 Allt í lagi. Nóg að tala um slæma vefsíður. 237 00:13:46,370 --> 00:13:49,410 Við skulum tala um Facebook. 238 00:13:50,880 --> 00:13:54,390 Þegar Facebook kom út, og einkum Facebook myndir, 239 00:13:54,390 --> 00:13:57,870 það voru fullt af öðrum þjónustu á þeim tíma sem gæti gert nákvæmlega sömu hlutina. 240 00:13:57,870 --> 00:14:00,740 Þeir gætu skipuleggja myndirnar þínar í albúm. 241 00:14:00,740 --> 00:14:03,360 Það sem þú gætir gert er að þú getur raða þeim í sett eins og heilbrigður. 242 00:14:03,360 --> 00:14:06,070 Þú getur raða þeim eftir dagsetningu. Þú getur gert allt þetta tiltekna hluti. 243 00:14:06,070 --> 00:14:11,710 En er einhver vita hvað gerði Facebook myndir sprungið á þeim tíma sem hún kom út? 244 00:14:11,710 --> 00:14:15,080 Já. >> [Nemandi] Tags. >> Tags. Einmitt. 245 00:14:15,080 --> 00:14:21,300 Við höfum Milo hérna, sem er hundur Mascot okkar með því CS50 Bandana. 246 00:14:21,300 --> 00:14:24,810 Þú getur séð að við höfum þessa merkingu í miðju. 247 00:14:24,810 --> 00:14:28,240 Og hvað gerði Facebook myndir svo áhugavert úr nothæfi sjónarhorni 248 00:14:28,240 --> 00:14:34,130 er það leyft í raun fólk í gegnum þetta til að taka vini sína á myndum sínum. 249 00:14:34,130 --> 00:14:37,680 Fyrir Facebook, þar sem vefsíða þeirra er sérstaklega félagslega, 250 00:14:37,680 --> 00:14:40,750 það er um að byggja þessa tegund af félagslegu umhverfi. 251 00:14:40,750 --> 00:14:42,620 Það að bæta reynslu af myndum miklu meira 252 00:14:42,620 --> 00:14:46,390 vegna þess að þeir gætu í raun að byrja að segja: "Þetta eru tengsl milli fólks, 253 00:14:46,390 --> 00:14:49,220 og þetta eru myndir um fólk sem þér þykir vænt raun um. " 254 00:14:49,220 --> 00:14:52,200 Hluti af því er líka raðað narcissism. 255 00:14:52,200 --> 00:14:54,980 Fólk eins og að vera komin í myndum og svoleiðis. 256 00:14:54,980 --> 00:14:58,510 Þó það er ekki endilega gott manna eiginleiki, 257 00:14:58,510 --> 00:15:01,910 á sama tíma sem það er byggt á góðum ákvörðunum hönnun 258 00:15:01,910 --> 00:15:04,860 vegna þess að fólk í raun sama um hluti eins og þessa. 259 00:15:04,860 --> 00:15:07,190 Svo er að Facebook myndir. 260 00:15:07,190 --> 00:15:09,800 >> En við skulum tala Facebook almennt. 261 00:15:09,800 --> 00:15:13,400 Ég er viss um að hellingur af fólki hér hafa skoðanir á Facebook, 262 00:15:13,400 --> 00:15:16,430 bæði góðar ákvarðanir hönnun og lélegar ákvarðanir hönnun. 263 00:15:16,430 --> 00:15:20,270 Svo skulum veg eða vera hamingjusamur. 264 00:15:23,480 --> 00:15:26,450 Komdu á. Ég veit allt um þig að nota Facebook. 265 00:15:26,450 --> 00:15:30,970 Einhver þarf að hafa eitthvað slæmt að segja eða eitthvað gott að segja um það. Já. 266 00:15:30,970 --> 00:15:35,060 [Nemandi] Í fréttastraumi það er margt sem ég er ekki alveg sama um. 267 00:15:35,060 --> 00:15:37,740 The fréttir fæða hjartarskinn sýna fullt af hlutum sem þú getur ekki vænt um. 268 00:15:37,740 --> 00:15:41,660 Þú átt vini á Facebook sem þú hefur ekki hitt í 2 eða 3 ár 269 00:15:41,660 --> 00:15:43,860 og þú sérð fréttir niðurstöður þeirra pabbi upp í fóðri fréttir 270 00:15:43,860 --> 00:15:45,870 og þú þarft ekki alveg sama um það. 271 00:15:45,870 --> 00:15:48,700 Facebook hefur í raun gert tilraun til að gera þetta betur, 272 00:15:48,700 --> 00:15:53,150 og þeir hafa í raun reynt að ýta niðurstöðurnar til the toppur af the fréttir fæða frá seint 273 00:15:53,150 --> 00:15:58,300 svo þú sérð raunverulega hluti af vinum sem eru viðeigandi fyrir þig eða nánum vinum þínum. 274 00:15:58,300 --> 00:16:01,110 Nokkuð fleira? Já. 275 00:16:01,110 --> 00:16:06,400 [Inaudible nemandi svar] >> Getur þú sagt það aftur? 276 00:16:06,400 --> 00:16:10,140 [Nemandi] Auglýsingarnar eru tiltölulega lítt áberandi. >> Í hvaða skilningi? 277 00:16:10,140 --> 00:16:16,370 [Inaudible nemandi svar] Þeir hafa ekki ljós á skjánum, eins og borðar. 278 00:16:16,370 --> 00:16:17,760 Allt í lagi. Það er gott. 279 00:16:17,760 --> 00:16:25,030 Ef þú manst internetið frá '90s - >> [Malan] ég var þarna. >> Hann var þar. [Hlátur] 280 00:16:25,030 --> 00:16:29,210 Þú gætir muna blikkandi Hreyfimyndir bakgrunn, sparkly hluti, 281 00:16:29,210 --> 00:16:31,570 Geocities stíl tegund af hlutur. 282 00:16:31,570 --> 00:16:34,080 Það er í raun ekki dæmi um góða hönnun 283 00:16:34,080 --> 00:16:36,690 því það er mjög truflandi frá Google. 284 00:16:36,690 --> 00:16:39,590 The Yale list website notað til að hafa Hreyfimyndir sem bakgrunnur þeirra 285 00:16:39,590 --> 00:16:41,800 og þú getur ekki lesið neitt á síðunni, 286 00:16:41,800 --> 00:16:44,870 en ég held að einhver raunverulega talaði við þá og nú er það svolítið öðruvísi. 287 00:16:44,870 --> 00:16:48,940 [Malan] Það er miklu betra núna. >> Það er miklu betra núna, eins og þú getur séð. >> [Malan] Ó já. 288 00:16:48,940 --> 00:16:56,020 Bara frábært, bara - Já. Allt í lagi. 289 00:16:56,020 --> 00:17:00,560 >> Hluti af því er líka að gera síðuna þína hugsanlega mjög lægstur og mjög skiljanlegt 290 00:17:00,560 --> 00:17:05,690 svo það á síðunni rennsli á þann hátt sem er mjög rökrétt og fæ ekki í vegi hvers annars. 291 00:17:05,690 --> 00:17:11,849 Konar hvað um annars eru góðar um Facebook eða slæmt um Facebook? 292 00:17:11,849 --> 00:17:15,730 Við skulum bara hafa hönnun samtal hér. 293 00:17:19,470 --> 00:17:21,339 Oh. Hvar? Já. 294 00:17:21,339 --> 00:17:25,640 [Nemandi] Hin nýja Timeline kerfi gerir þér kleift að leita uppsetningu viðkomandi um fortíð þeirra. 295 00:17:25,640 --> 00:17:28,119 Ooh, Tímalína. 296 00:17:28,119 --> 00:17:30,280 Timeline er a mikill hlutur vegna þess að það gerir þér kleift að læðast vinum þínum 297 00:17:30,280 --> 00:17:33,300 til baka þegar þeir voru í menntaskóla. 298 00:17:35,160 --> 00:17:38,060 Timeline er gott vegna þess að það leyfir þér að sía í gegnum efni mikið hraðar, 299 00:17:38,060 --> 00:17:41,500 það er hægt að finna það sem hefði annars tekið þig mjög langan tíma að finna 300 00:17:41,500 --> 00:17:45,840 bara að fletta upp og niður, upp, upp, upp, upp, upp, eins og að fara aftur í tímann. 301 00:17:45,840 --> 00:17:48,910 En þá er það líka svoleiðis í hæðir til að í skilmálar af reynslu notenda. 302 00:17:48,910 --> 00:17:51,190 Hvað gæti það verið? 303 00:17:51,190 --> 00:17:56,780 Big orð sem byrjar með P-R. >> [Nemandi] Privacy. >> Privacy, ekki satt? 304 00:17:56,780 --> 00:17:59,970 Privacy er a gríðarstór notandi reynsla vandamál. 305 00:17:59,970 --> 00:18:07,190 Þetta er eitt af því sem ég hata mest um Facebook núna. [Hlátur] 306 00:18:07,190 --> 00:18:09,000 [Malan] Eins og ég nú. 307 00:18:09,000 --> 00:18:11,380 Davíð vissi ekki þetta raunverulega gerðist fyrr en í gær. 308 00:18:11,380 --> 00:18:14,560 Svo nú veit hann að í hvert skipti sem ég spjalla honum að ég veit að hann hefur verið að hunsa mig. 309 00:18:14,560 --> 00:18:16,880 [Malan] óþægilega hluti var ég var í raun að hunsa hann, 310 00:18:16,880 --> 00:18:21,040 og ég vissi ekki að hann vissi að ég var að hunsa hann. [Hlátur] 311 00:18:21,040 --> 00:18:24,030 Privacy er a gríðarstór vandamál. 312 00:18:24,030 --> 00:18:28,670 Getur einhver hér sagt mér hvað gæti verið slæmt um Facebook næði 313 00:18:28,670 --> 00:18:32,270 auk þess sem þeir gera hlutina eins og þetta? 314 00:18:32,270 --> 00:18:37,240 Hvað er það sérstaklega erfitt að gera með tilliti til Facebook einkalíf? 315 00:18:37,240 --> 00:18:40,340 Þessi tegund af er leiðandi spurning. 316 00:18:41,680 --> 00:18:43,930 Já. >> [Nemandi] Fela myndir frá ákveðnum fólki. 317 00:18:43,930 --> 00:18:46,170 Hægri. Einmitt, til að fela myndir úr tilteknum fólk. 318 00:18:46,170 --> 00:18:51,290 Þeir hafa þetta litla, litla hnappinn í efra hægra sem gerir þér kleift að skipta einkalíf mynd. 319 00:18:51,290 --> 00:18:56,360 Næði valkostur þeirra eru mjög mismunandi á milli mismunandi tegundir af matseðlum. 320 00:18:56,360 --> 00:18:59,510 >> Þeir hafa fengið mikið betri um það undanfarið, en það er notað til að vera raunin 321 00:18:59,510 --> 00:19:04,870 að þegar þú vildir koma í veg fyrir vinum þínum frá að sjá myndir, 322 00:19:04,870 --> 00:19:08,280 þú þyrftir að fara í gegnum mjög flókið 5-þrepa ferli að vera eins og, 323 00:19:08,280 --> 00:19:11,150 láta mig smella á þennan hlekk, nú láta mig smella aftur, láta mig smella aftur, 324 00:19:11,150 --> 00:19:13,420 láta mig tilgreina sem fólk getur ekki séð myndirnar mínar. 325 00:19:13,420 --> 00:19:17,250 Það er ekki sérstaklega góður á hálfu Facebook 326 00:19:17,250 --> 00:19:20,530 vegna þess að svo mikið um reynslu notenda er í raun að gefa þeim frelsi 327 00:19:20,530 --> 00:19:22,460 að stjórna hvað fólk getur séð. 328 00:19:22,460 --> 00:19:25,550 Við köllum þetta notandanafn stjórn og frelsi. 329 00:19:25,550 --> 00:19:31,090 Ef þú ert ekki að láta notendur gera það á þann hátt sem er duglegur og innsæi, 330 00:19:31,090 --> 00:19:34,570 þá er notandi reynsla þín ekki raunverulega þessi mikill á öllum. 331 00:19:34,570 --> 00:19:38,200  Vilt þú krakkar eins og að segja neitt um Facebook? 332 00:19:38,700 --> 00:19:41,420 Hvernig slekk ég þetta burt? 333 00:19:41,420 --> 00:19:46,290 [Ong] Þú getur ekki slökkva á þessu, og það er a gríðarstór nothæfi galli af hálfu Facebook. 334 00:19:46,290 --> 00:19:49,410 Þessi eiginleiki - ég leit reyndar inn í það í gær - 335 00:19:49,410 --> 00:19:53,940 það er annað hvort að þú getur ekki gert það eða það er grafinn einhvers staðar mjög djúpt 336 00:19:53,940 --> 00:19:58,050 á lífæðar Facebook vegna þess að ég get ekki fundið út hvernig á að slökkva á þessa virkni í öllum. 337 00:19:58,050 --> 00:20:00,400 [Malan] En stundum þessar ákvarðanir eru ekki augljós 338 00:20:00,400 --> 00:20:03,890 Þar sem þú krakkar hafa gefið okkur mikið af gagnlegum endurgjöf á ýmsum CS50 umsóknir 339 00:20:03,890 --> 00:20:05,710 og vefsíður að sjálfsögðu notar. 340 00:20:05,710 --> 00:20:10,260 Við höfum ekki innleitt allar þessar beiðnir og ábendingar. 341 00:20:10,260 --> 00:20:14,550 >> Hluti af því er að fá svo margar beiðnir um að það er fall af tíma, 342 00:20:14,550 --> 00:20:17,070 en stundum við tökum bara meðvitaða ákvörðun eins og 343 00:20:17,070 --> 00:20:19,830 "Þakka þér fyrir ábendinguna, en við ósammála." 344 00:20:19,830 --> 00:20:24,350 Svo hvernig gera þú ákveður í raun hvað þú ættir að gera ef notendur held þú ættir að gera eitthvað 345 00:20:24,350 --> 00:20:28,110 jafnvel ef þú gera ekki endilega? 346 00:20:28,110 --> 00:20:32,360 Það er fínt jafnvægi milli raun að hlusta á hvað notendur þínir segja 347 00:20:32,360 --> 00:20:35,840 og í raun og veru að hafa einhvers konar línu þar sem þú segir, 348 00:20:35,840 --> 00:20:37,750 "Við ætlum ekki að gera það sem þessir notendur segja." 349 00:20:37,750 --> 00:20:42,520 Og sérstaklega, ég held að það var tilvitnun frá Henry Ford sem dregur þetta upp nokkuð vel. 350 00:20:42,520 --> 00:20:47,130 "Ef ég hefði beðið fólk um það sem þeir vildu, myndu þeir hafa sagt að þeir vildu festa hesta." 351 00:20:47,130 --> 00:20:51,840 Getur einhver konar stríða sundur hvað að vitna í raun þýðir? 352 00:20:51,840 --> 00:20:56,060 Það er ekki bara að notendur vita hvað þeir vilja, 353 00:20:56,060 --> 00:20:59,180 en það er meira að - 354 00:20:59,180 --> 00:21:02,720 [Nemandi] Þeir vita ekki hvað er mögulegt. 355 00:21:02,720 --> 00:21:06,140 Hluta sem þeir vita ekki hvað er mögulegt. 356 00:21:07,880 --> 00:21:11,440 Stríða að sundur svolítið meira. Hvað áttu við með því? 357 00:21:11,440 --> 00:21:21,340 [Inaudible nemandi svar] 358 00:21:21,340 --> 00:21:25,770 Það er gott. Það sem ég held að við erum að reyna að segja hér er að fólk veit hvað þeir vilja. 359 00:21:25,770 --> 00:21:28,050 Þeir vilja hraðari hesta. 360 00:21:28,050 --> 00:21:29,840 Það sem þeir vilja raunverulega er hæfni til að færa hraðar, 361 00:21:29,840 --> 00:21:32,310 en þeir í raun ekki vita miðil sem að ná því. 362 00:21:32,310 --> 00:21:36,330 Þegar þú kemur til notenda og notendur þínir segja þér eitthvað 363 00:21:36,330 --> 00:21:39,700 og þeir segja þér, "Við viljum þessa þætti og þessar aðgerðir og þessar aðgerðir," 364 00:21:39,700 --> 00:21:42,650 þú vilt ekki endilega að hugsa um, "Leyfðu mér að fara á undan 365 00:21:42,650 --> 00:21:44,720 "Og framkvæma það sem þeir segja skýrt," 366 00:21:44,720 --> 00:21:48,610 en það sem þú vilt að hugsa um er, "Hvers konar hugmyndir get ég fengið úr því?" 367 00:21:48,610 --> 00:21:50,450 Hvað gera þeir vilja í raun og veru? 368 00:21:50,450 --> 00:21:55,560 >> Og þaðan sem þú getur gert er að hanna eitthvað sem uppfyllir þessar beiðnir 369 00:21:55,560 --> 00:22:00,340 en ekki endilega á þann hátt sem notandinn ráð það að vera fullnægt. 370 00:22:00,340 --> 00:22:03,830 Svo fyrir eitthvað eins og lokaverkefni, í mjög raunvirði 371 00:22:03,830 --> 00:22:07,900 hvað er gagnlegt leitandi þegar það kemur að því að gera eitthvað betur, 372 00:22:07,900 --> 00:22:10,630 sérstaklega ef hönnuður hefur þetta hroka um hann 373 00:22:10,630 --> 00:22:14,360 þar sem þú veist svona hvað er best, þú might taka inntak frá notendum, 374 00:22:14,360 --> 00:22:16,580 en hvernig gera þú fara í raun um að fá þessi viðbrögð? 375 00:22:16,580 --> 00:22:21,610 Í lokaverkefnum mjög concretely, hvað framleiðir bestu niðurstöðurnar hér? 376 00:22:21,610 --> 00:22:25,030 Hvað framleiðir bestu niðurstöðurnar - og ég mun fara yfir þetta í annað - 377 00:22:25,030 --> 00:22:29,190 er þetta ferli að þróa og prófa og þá iterating. 378 00:22:29,190 --> 00:22:32,020 Það sem ég meina með því að prófa er venjulega þegar þú hannar eitthvað 379 00:22:32,020 --> 00:22:36,970 þú heldur að það er nokkuð gott, eins og: "Ég er svo mikill hönnuður. allir eru að fara að elska það." 380 00:22:36,970 --> 00:22:41,600 Og þá setja það þarna úti og fólk í raun ekki eins og það fyrir sumir ástæða. 381 00:22:41,600 --> 00:22:46,820 Það sem þú þarft að gera er að þú þarft að taka hluta af því sem fólk líkar 382 00:22:46,820 --> 00:22:49,180 og hressa upp á það sem fólk líkar ekki. 383 00:22:49,180 --> 00:22:53,080 Það hljómar eins og a mjög augljós ferli, en þetta ferli stöðugt iterating 384 00:22:53,080 --> 00:22:55,980 ofan á það sem þú hefur nú þegar byggt er ferli sem hjálpar þér 385 00:22:55,980 --> 00:22:59,730 ekki aðeins betrumbæta eigin hönnun færni heldur einnig hjálpar þér að betrumbæta hönnun 386 00:22:59,730 --> 00:23:03,790 þannig að fólk þakka reyndar vöruna enn meira en þeir gerðu áður. 387 00:23:03,790 --> 00:23:07,390 >> Ég fer yfir fleiri áþreifanleg dæmi um hvað þú getur í raun gert. 388 00:23:07,390 --> 00:23:11,390 Eins konar síðasta dæmi um vöru, við skulum líta á kajak. 389 00:23:11,390 --> 00:23:14,970 Kajak þegar hún kom út var mjög vinsæll. 390 00:23:14,970 --> 00:23:18,760 Getur einhver giska á hvers vegna? 391 00:23:18,760 --> 00:23:20,950 Hvaða tegund af hlutum sem þú vilt um þetta ef þú hefur notað það 392 00:23:20,950 --> 00:23:23,990 eða hvað eru tegund af hlutum sem þú líkar ekki? 393 00:23:23,990 --> 00:23:31,590 Já. >> [Inaudible nemandi svar] >> lagi. 394 00:23:31,590 --> 00:23:34,730 Það er hluti af því er að láta notandann hafa fyrirspurn sem er meira þenjanlegur 395 00:23:34,730 --> 00:23:38,150 en mjög takmarkandi einn eins, "Þú verður að velja dagsetningu þinn 396 00:23:38,150 --> 00:23:39,810 "Og þú verður að velja lokadagsetningu." 397 00:23:39,810 --> 00:23:44,910 Í raun, leyfir það þú vera sveigjanlegur um það og það gefur þér allar flug á þeim svið. 398 00:23:44,910 --> 00:23:46,730 Nokkuð fleira? 399 00:23:46,730 --> 00:23:50,530 [Nemandi] Þær fela í sér gjöld á verði. 400 00:23:50,530 --> 00:23:53,330 Þau innihalda gjöld á verði. 401 00:23:53,330 --> 00:23:56,720 The skattar og hlutir fara í raun beint í því verði í efri vinstri 402 00:23:56,720 --> 00:24:00,710 þannig að þú ert ekki brögð í að hugsa um að þú ert í raun að borga fyrir $ 240 flug 403 00:24:00,710 --> 00:24:03,280 þegar það er í raun 330 $. 404 00:24:03,280 --> 00:24:06,200 Nokkuð fleira? Já. 405 00:24:06,200 --> 00:24:10,140 [Inaudible nemandi svar] 406 00:24:10,140 --> 00:24:14,610 Ég er ekki viss um að ef þeir láta í raun að gera það. 407 00:24:14,610 --> 00:24:18,310 Ég gæti verið rangt. 408 00:24:18,310 --> 00:24:23,360 Það gæti verið áhugaverður hlutur ef þú vilt setja meiri þyngd á tilteknum filters 409 00:24:23,360 --> 00:24:27,000 þannig að þeir ýta niðurstöður tengjast þeirri síu á toppinn. 410 00:24:27,000 --> 00:24:31,920 En getur einhver sagt mér hvað er svo sérstakt við þessa vinstri? 411 00:24:31,920 --> 00:24:39,540 Hvernig fannst þér að líta jafnan upp flug á internetþjónustu fyrir þetta? 412 00:24:41,600 --> 00:24:44,650 >> Já. >> [Inaudible nemandi svar] >> Getur þú sagt það - 413 00:24:44,650 --> 00:24:47,530 [Nemandi] Öll flugfélög. >> Já. Hver flugfélag hefur eigin vefsíðu sinni. 414 00:24:47,530 --> 00:24:50,110 Þetta styrkir það. Og? 415 00:24:50,110 --> 00:24:52,190 [Nemandi] Þú veist nákvæmlega hvað þú ert að fara. 416 00:24:52,190 --> 00:24:54,460 Þú veist nákvæmlega hvað þú ert að fara, 417 00:24:54,460 --> 00:24:59,380 en tengist síur sérstaklega. 418 00:25:00,710 --> 00:25:03,540 Leyfðu mér að draga upp kajak. 419 00:25:11,490 --> 00:25:14,020 Ó Guð, pop-ups. Bad notandi reynsla. 420 00:25:14,020 --> 00:25:17,230 Hvað gerist þegar ég flyt þetta renna? 421 00:25:17,230 --> 00:25:21,010 [Nemendur] Sjálfvirkar uppfærslur. >> [Ong] Sjálfvirkar uppfærslur. 422 00:25:21,010 --> 00:25:23,440 Það er eitthvað sem er mjög mikilvægt. 423 00:25:23,440 --> 00:25:25,380 Áður en þetta, þegar þú vildir að fletta upp í flug, 424 00:25:25,380 --> 00:25:28,410 þú þurftir að setja í stað inntak þinni, framleiðsla staðsetningu þína, stutt á Leita 425 00:25:28,410 --> 00:25:31,190 það myndi vinna að og sýna niðurstöður þínar. 426 00:25:31,190 --> 00:25:34,120 Ef þú vildir breyta fyrirspurn þína, myndir þú verða að ýta aftur tvisvar, 427 00:25:34,120 --> 00:25:39,770 inn í nýju fyrirspurn frá grunni, og þá gera það aftur og aftur. 428 00:25:39,770 --> 00:25:43,910 The ágætur hlutur óður í eitthvað svona er það notar mjög [óskiljanlegur] hlutur í miðju. 429 00:25:43,910 --> 00:25:46,230 Alltaf þegar þú að gera eitthvað eins og þetta, skýtur það burt beiðni 430 00:25:46,230 --> 00:25:48,420 og það skilar þér allar niðurstöður strax. 431 00:25:48,420 --> 00:25:51,680 Þessi tegund af innri viðbrögð er eitthvað sem gerði kajak stórlega vinsæll 432 00:25:51,680 --> 00:25:55,910 því það er mjög auðvelt fyrir mig að bara breyta fyrirspurn mína 433 00:25:55,910 --> 00:25:58,890 og til að reikna út hluti sem eru í kringum tiltekna 434 00:25:58,890 --> 00:26:01,950 án þess að þurfa að fara fram og til baka, fram og til baka, fram og til baka. 435 00:26:01,950 --> 00:26:05,200 Svo þetta eru alls konar hlutir sem þú vilt að hugsa um þegar þú ert að hanna vefsíðu þína. 436 00:26:05,200 --> 00:26:08,930 Hvernig get ég gert það mjög duglegur fyrir notendur mínir að fara í gegnum það sem þeir eru að vinna á 437 00:26:08,930 --> 00:26:13,010 og að fá að lokum markmiði eins fljótt og auðið er? 438 00:26:13,010 --> 00:26:16,430 [Malan] og benda Jósefs fyrr um notendur ekki endilega að vita hvað þeir vilja, 439 00:26:16,430 --> 00:26:18,640 miðað við það sem þið nú vita um HTML 440 00:26:18,640 --> 00:26:22,780 og þú hefur reitina, takkana skaltu velja valmyndir, inntak sviðum og þess háttar, 441 00:26:22,780 --> 00:26:26,140 hvernig myndir þú framkvæma hugmyndina um tína upphafstíma fyrir flug? 442 00:26:26,140 --> 00:26:30,030 >> Hver af þessum ýmsu aðferðum UI myndir þú nota? 443 00:26:30,030 --> 00:26:34,100 Ef þú veist bara magn af HTML sem var kennt áður 444 00:26:34,100 --> 00:26:39,070 og þú veist að aðföng eru takkana, reitina, falla-hæðir, og inntak kassi, 445 00:26:39,070 --> 00:26:43,320 hvað myndi náttúrulega val þitt hefur verið að tína dagsetningar? 446 00:26:43,320 --> 00:26:48,670 [Nemandi] Inntak. >> Inntak. Eða kannski jafnvel falla niður með öllum dagsetningum, ekki satt? 447 00:26:48,670 --> 00:26:53,170 Svo með flóknari HÍ kerfi eins og þetta á vinstri hlið sem þú getur innleiða, 448 00:26:53,170 --> 00:26:55,500 þú getur gert þetta ferli mun meira innsæi með a renna 449 00:26:55,500 --> 00:27:01,020 vegna þess að tími er stöðugt, og fólk yfirleitt gera ekki hugsa um það í skilmálar af stakur klumpur. 450 00:27:01,020 --> 00:27:04,950 Allt í lagi. Síðast hlutur. 451 00:27:04,950 --> 00:27:07,370 Tíu nothæfi heuristics. 452 00:27:07,370 --> 00:27:10,820 Allir hlutir sem við ræddum um falla líklega undir einn af þessum flokkum. 453 00:27:10,820 --> 00:27:14,420 Ef þú ferð á þennan tengil, sem síður verða settar á netinu, 454 00:27:14,420 --> 00:27:18,900 þú munt í raun að vera fær um að, eins og þú hannar síðuna þína, halda þessum heuristics í huga 455 00:27:18,900 --> 00:27:21,330 og þessar reglur þumalfingur. 456 00:27:21,330 --> 00:27:26,610 Fyrir verkefni sem ég legg til að þú gera í því skyni að hanna app betur 457 00:27:26,610 --> 00:27:28,850 er að gera pappír prototyping fyrst. 458 00:27:28,850 --> 00:27:32,150 Þegar þú ert að hugsa um umsókn þína, mjög fljótt skissa það sem þú vilt það til að líta út eins og 459 00:27:32,150 --> 00:27:36,230 og ganga úr skugga um alla reiti er raðað á þann hátt sem er mjög leiðandi fyrir notandann til að nota 460 00:27:36,230 --> 00:27:39,820 og jafnvel sýna þessum pappír frumgerð til vina og byrja rýnihópunum. 461 00:27:39,820 --> 00:27:44,230 Bara fá 2 eða 3 manns saman og biðja þá bara tappa á þessum pappír frumgerð, 462 00:27:44,230 --> 00:27:47,650 og sýna þeim nýjar skjár til að sjá hvort að þeir skilja í raun hvað er að gerast. 463 00:27:47,650 --> 00:27:50,680 >> Það sem þú vilt gera er að gefa þeim verkefni, hvetja það verkefni, 464 00:27:50,680 --> 00:27:53,270 og bara gefa þeim app og láta þá nota það. 465 00:27:53,270 --> 00:27:56,530 Ekki gefa þeim leiðbeiningar umfram það. 466 00:27:56,530 --> 00:28:00,920 Þú vilt í raun og veru að láta þá hafa samskipti við app á þann hátt sem gerir þér kleift að sjá 467 00:28:00,920 --> 00:28:03,870 hvernig þeir myndu nota það ef þú værir ekki að standa við hliðina á þeim. 468 00:28:03,870 --> 00:28:05,250 Og það er mjög mikilvægt. 469 00:28:05,250 --> 00:28:08,780 Það mun gefa þér fullt af innsýn að fólk fá um tiltekna hluti 470 00:28:08,780 --> 00:28:10,560 á þann hátt sem ég hafði ekki ætlað þeim? 471 00:28:10,560 --> 00:28:14,680 Eru þeir með sérstaka kerfi UI á skjánum 472 00:28:14,680 --> 00:28:17,490 á þann hátt sem er góður af hacky? 473 00:28:17,490 --> 00:28:22,020 Ég vissi ekki ætla að þá að gera það þannig. 474 00:28:22,020 --> 00:28:23,940 Og þegar þú ert búinn með það, hvað þú vilt gera? 475 00:28:23,940 --> 00:28:26,010 Hönnun björg þín, ekki satt? 476 00:28:26,010 --> 00:28:29,600 Það sem þú vilt gera er að þú vilt að þróa og gera það ferli aftur. 477 00:28:29,600 --> 00:28:32,110 Svo sýna það til vina þegar þú hefur þróað það, prófa það, 478 00:28:32,110 --> 00:28:36,630 þróa, prófa, þróa, prófa, iterate, á og á og áfram. 479 00:28:36,630 --> 00:28:39,720 Hönnun er mjög endurtekningu ferli í þessum skilningi. 480 00:28:39,720 --> 00:28:43,280 Þú ert í raun að byggja upp eitthvað og þá átta hluti um það 481 00:28:43,280 --> 00:28:46,520 að þú vissi ekki áður og fara aftur og bæta úr því. 482 00:28:46,520 --> 00:28:50,890 Nú, eins og fyrir þróun hluti, það er það sem Tommy er að fara að sýna þér eftir brot 483 00:28:50,890 --> 00:28:53,220 og hvernig þú might vera fær um að framkvæma eitthvað eins AutoComplete 484 00:28:53,220 --> 00:28:56,610 á þann hátt sem er nokkuð einfalt. 485 00:28:57,440 --> 00:28:59,550 [Malan] Eins og Tommy setur upp hér, spurning þá. 486 00:28:59,550 --> 00:29:03,780 A einhver fjöldi af fyrstu vefsíður - og þegar Jósef sagði 1990 stíl website, 487 00:29:03,780 --> 00:29:07,640 það var gerð þar sem ef þú vildir velja byrjun tíma og lok tíma, 488 00:29:07,640 --> 00:29:10,380 hreinskilnislega, aftur í dag og jafnvel á sumum vefsíðum í dag, 489 00:29:10,380 --> 00:29:13,220 eins og þú að gera þetta er að velja klukkustund frá a falla-dúnn, 490 00:29:13,220 --> 00:29:15,910 þú velur mínútur frá a falla-dúnn, kannski þú velur AM, PM, 491 00:29:15,910 --> 00:29:17,440 og þá gera það 3 sinnum í. 492 00:29:17,440 --> 00:29:19,920 Og svo með 6 smelli og kannski sumir að hreyfast 493 00:29:19,920 --> 00:29:24,000 notandi getur raunverulega veita einhvers konar dagsetningu og / eða tíma svið í þessum skilningi. 494 00:29:24,000 --> 00:29:27,920 >> Svo ákveðið suboptimal og enn svona langt að við höfum séð neina tjáningar getu 495 00:29:27,920 --> 00:29:30,330 í einhverjum af þeim tungumálum sem við höfum horft á að gera eitthvað sexier 496 00:29:30,330 --> 00:29:32,620 svona sleða tími upphafs-og lokatíma. 497 00:29:32,620 --> 00:29:36,290 En ef þú heldur aftur að viku 0 þegar við ræddum um grunni, 498 00:29:36,290 --> 00:29:39,080 þar líka að það voru ekki búnaður sem bara gerði ákveðna hluti. 499 00:29:39,080 --> 00:29:42,700 Þú virkilega bara haft þessi grundvallaratriði eins og lykkjur og skilyrði og þess háttar. 500 00:29:42,700 --> 00:29:46,910 Svo svona bara að hugsa mjög abstrakt nú, óháð efnisatriðum í HTML, 501 00:29:46,910 --> 00:29:51,260 Hvað er raunverulega að gerast með eitthvað eins og þessa byrjun tíma og lok tíma renna? 502 00:29:51,260 --> 00:29:54,960 Þegar ég flyt músina mína og ég smellt á þessi litla gulrót tákn á vinstri 503 00:29:54,960 --> 00:29:59,220 og byrja að draga, kerfisbundið, hvað er það sem þú vilt vera fær um að framkvæma 504 00:29:59,220 --> 00:30:01,000 til að gera það gerast? 505 00:30:01,000 --> 00:30:04,920 Hvaða spurningar, hvað Boolean tjáning sem þú vilt vera fær um að spyrja? 506 00:30:04,920 --> 00:30:06,930 Hvað er raunverulega að gerast? Sammy? 507 00:30:06,930 --> 00:30:10,080 [Nemandi] Hvar er staða bendilinn? >> Good. Hvar er staða bendilinn? 508 00:30:10,080 --> 00:30:11,970 Þetta var eitthvað sem við þurftum til að tjá aftur í grunni, 509 00:30:11,970 --> 00:30:14,690 hvort sem það var byggt á staðsetningu eða jafnvel lit eða þess háttar. 510 00:30:14,690 --> 00:30:18,410 Þú gætir muna alltaf svo stutta stund á mánudaginn voru allir af þessum hlutum sem kallast viðburðir 511 00:30:18,410 --> 00:30:22,370 í heiminum á vefnum, og þannig að það er hlutur eins onClick og onkeypress 512 00:30:22,370 --> 00:30:25,960 og onkeyup og onMouseOver og onmouseout. 513 00:30:25,960 --> 00:30:29,130 Svo ljóst að jafnvel þessir hlutir sem við höfum verið að taka sem sjálfsögðum hlut á vefnum 514 00:30:29,130 --> 00:30:32,190 með síðum eins og Facebook og Gmail, jafnvel ef þú hefur ekki hugmynd 515 00:30:32,190 --> 00:30:34,890 hvernig þú myndir hugsanlega koma að því að það er ekkert, jafnvel eins og það á fyrirlestri 516 00:30:34,890 --> 00:30:38,570 eða Vandamál Set 7, átta sig á að með þessum nákvæmlega sömu grundvallaratriði, 517 00:30:38,570 --> 00:30:41,090 með HTTP og breytur og FÁ og POST, 518 00:30:41,090 --> 00:30:44,010 með helstu HTML inntak sem við höfum skoðað í svona langt 519 00:30:44,010 --> 00:30:47,690 og á augnabliki við forritanlegur kerfi sem er Tommy um að kynna 520 00:30:47,690 --> 00:30:51,300 getur þú byrjað að tjá þig eins og þú gerðir í viku 0 521 00:30:51,300 --> 00:30:53,800 með mjög innsæi draga og sleppa. 522 00:30:53,800 --> 00:30:58,950 >> Svo með því að segja, Tommy MacWilliam og nokkur ný stykki púsluspil fyrir okkur vefnum. 523 00:30:58,950 --> 00:31:03,450 Allt í lagi. Ég heiti Tommy og ég ætla að tala um JavaScript. 524 00:31:03,450 --> 00:31:07,150 Bara Fyrirvari: Ég er þeirrar skoðunar að JavaScript er besta forritunarmál 525 00:31:07,150 --> 00:31:09,010 í öllum allan heiminn. 526 00:31:09,010 --> 00:31:11,940 There ert hellingur af fólki sem ósammála mér, en það er bara ótrúlegt. 527 00:31:11,940 --> 00:31:16,330 Þegar þú ferð aftur til C, ef þú ert að skrifa C í öðrum flokki eða nokkrum öðrum tungumálum, 528 00:31:16,330 --> 00:31:19,780 það er bara mjög pirrandi í öllum lágmark-láréttur flötur upplýsingar sem þú þarft að fá hika við niður inn 529 00:31:19,780 --> 00:31:23,050 Svo ef þú ert alltaf tilfinning dapur um hversu pirrandi C er að skrifa, 530 00:31:23,050 --> 00:31:25,130 bara fara aftur, skrifa nokkur JavaScript. Það er nirvana. 531 00:31:25,130 --> 00:31:27,980 Þú munt líða miklu betur um slæma daginn. 532 00:31:27,980 --> 00:31:31,900 A einhver fjöldi af the galdur af JavaScript kemur frá getu þess til að vinna það 533 00:31:31,900 --> 00:31:33,730 sem eru nú þegar á síðunni. 534 00:31:33,730 --> 00:31:38,520 Þegar við skrifuðum PHP forskriftir okkar, voru þau keyrð á miðlara, 535 00:31:38,520 --> 00:31:42,270 og að lokum að PHP handrit framleiðsla líklega sumir HTML. 536 00:31:42,270 --> 00:31:45,860 Þessi HTML var send til viðskiptavinarins, og það var það. 537 00:31:45,860 --> 00:31:50,180 Ef PHP langaði að bæta við takka til síðu, til dæmis, getur það í raun ekki að gera það. 538 00:31:50,180 --> 00:31:54,350 Það þyrfti að gera alveg nýtt HTML skjal og senda það til the flettitæki. 539 00:31:54,350 --> 00:31:57,840 Með JavaScript við vitum að við getum uppfært hluti á meðan þeir eru nú þegar á síðunni, 540 00:31:57,840 --> 00:32:00,840 og vegna þessa að við getum veitt miklu meiri augnablik endurgjöf, 541 00:32:00,840 --> 00:32:06,150 sem raunverulega bæta upplifun notenda á heimasíðu okkar. 542 00:32:06,150 --> 00:32:09,330 Just a fljótur ágrip af JavaScript selectors. 543 00:32:09,330 --> 00:32:11,590 Við vitum að þegar við sækja HTML síðu, 544 00:32:11,590 --> 00:32:13,890 það er að fara að eiga fulltrúa í DOM. 545 00:32:13,890 --> 00:32:19,340 >> Dom er bara muna þetta stór tré þar þættir tengjast í þessu stóra stigveldi. 546 00:32:19,340 --> 00:32:21,810 Þegar við unnið með gagnagrunna í pset 7, 547 00:32:21,810 --> 00:32:26,280 einn af the fyrstur hlutur sem við þarf að vita hvernig á að gera var fyrirspurn í gagnagrunninn. 548 00:32:26,280 --> 00:32:29,060 Við höfum þetta stór notendur borð, og stundum viljum við bara að segja, 549 00:32:29,060 --> 00:32:33,260 "Ég vil bara nokkrar af þessum notendum sem passa sumir ástand." 550 00:32:33,260 --> 00:32:36,020 Á sama hátt, þegar við höfum DOM við þurfum á einhvern hátt að fyrirspurn það. 551 00:32:36,020 --> 00:32:39,490 Við þurfum á einhvern hátt að segja: "Ég vil að allir af the hnappur sem líta svona út 552 00:32:39,490 --> 00:32:41,860 "Eða allar myndirnar á síðunni." 553 00:32:41,860 --> 00:32:44,330 Og þessar selectors leyfa okkur að gera það. 554 00:32:44,330 --> 00:32:45,690 Svo bara fljótur ágrip. 555 00:32:45,690 --> 00:32:50,770 Þetta fyrsta hér, þetta # leggja, hvað er að fara að velja? Hefur einhver man? 556 00:32:50,770 --> 00:32:54,880 [Inaudible nemandi svar] >> Já, nákvæmlega. 557 00:32:54,880 --> 00:32:59,510 Þetta er að fara að velja stak á síðunni sem hefur ID fram. 558 00:32:59,510 --> 00:33:03,470 Og svo segir að kjötkássa merki þetta val er að fara að vinna með auðkenni. 559 00:33:03,470 --> 00:33:07,630 Hvað um hitt, þetta. Miðju, hvað það velur? 560 00:33:11,360 --> 00:33:15,180 Já. >> [Nemandi] Class. >> Einmitt. Þetta er nú að fara að velja með bekknum. 561 00:33:15,180 --> 00:33:18,840 Munurinn ID og bekk hér er almennt ID ætti að vera einstakt 562 00:33:18,840 --> 00:33:20,820 innan hvaða pláss þú ert að leita á. 563 00:33:20,820 --> 00:33:23,080 Svo ef þú varst að leita yfir heilt vefsíðu, 564 00:33:23,080 --> 00:33:27,740 þú ættir bara 1 þáttur með þeim ákveðna auðkenni, þannig að í þessu tilviki leggja. 565 00:33:27,740 --> 00:33:31,330 Með flokka, hins vegar getum við haft fleiri en 1 þáttur á sömu síðu 566 00:33:31,330 --> 00:33:33,130 með sama flokki. 567 00:33:33,130 --> 00:33:36,580 Þetta gæti verið gagnlegt fyrir að segja að ég vil velja allt sem er fyrir miðju á síðunni 568 00:33:36,580 --> 00:33:38,450 frekar en bara 1 hlutur. 569 00:33:38,450 --> 00:33:40,310 >> Og að lokum, þetta síðasta hérna er svolítið flóknara, 570 00:33:40,310 --> 00:33:43,890 en hvað er þetta að fara að velja úr DOM? 571 00:33:46,650 --> 00:33:48,810 [Inaudible nemandi svar] >> Hvað er það? 572 00:33:48,810 --> 00:33:53,250 [Nemandi] Nokkuð sem er merki. >> Við höfum 2 hlutum hér. 573 00:33:53,250 --> 00:33:58,070 Seinni hluti er að fara að segja að ég vil velja þetta merki með merki inntak, 574 00:33:58,070 --> 00:34:00,730 svo allir þáttur sem er inntak merki. 575 00:34:00,730 --> 00:34:03,080 En ég vil ekki bara velja allt inntak 576 00:34:03,080 --> 00:34:05,170 vegna þess að eitthvað eins og senda inn hnappinn gæti verið inntak 577 00:34:05,170 --> 00:34:08,409 og eitthvað eins og textareitinn getur verið inntak. 578 00:34:08,409 --> 00:34:11,909 Svo með þessum hornklofum ég að segja að ég vil bara að velja þá þætti 579 00:34:11,909 --> 00:34:14,110 sem eru af textagerð. 580 00:34:14,110 --> 00:34:17,400 Einhvers staðar í HTML tag ég hafa eiginleika sem kallast tegund, 581 00:34:17,400 --> 00:34:19,750 og gildi þess eiginleika að vera texti. 582 00:34:19,750 --> 00:34:21,340 Svo hvernig óður í þessum fyrsta hluta hér? 583 00:34:21,340 --> 00:34:25,489 Fyrsta orð þessum val er mynd þá hef ég pláss og þá er þetta inntak hluta. 584 00:34:25,489 --> 00:34:29,620 Hvað þýðir það að gera, að setja mynd framan á það? 585 00:34:33,409 --> 00:34:35,860 Þetta er að fara að í grundvallaratriðum að takmarka fyrirspurn okkar. 586 00:34:35,860 --> 00:34:38,510 Það gæti verið raunin að við höfum sumir inntak á síðunni 587 00:34:38,510 --> 00:34:41,080 sem eru ekki afkomendur formi. 588 00:34:41,080 --> 00:34:46,150 Hvað þetta mun gera er þetta mun segja að ég vil aðeins inntak tags sem hafa einhvers staðar fyrir ofan þá 589 00:34:46,150 --> 00:34:49,030 sumir foreldri þáttur formi. 590 00:34:49,030 --> 00:34:52,100 Og svo á þennan hátt getum við gert þetta meira hierarchic fyrirspurnir 591 00:34:52,100 --> 00:34:55,000 þannig að við gerum ekki bara að velja allt sem passar tilteknu val. 592 00:34:55,000 --> 00:35:00,760 Við getum konar takmarka umfang þeirrar fyrirspurn til eitthvað annað. 593 00:35:00,760 --> 00:35:04,000 Svo nú er að við vitum hvernig á að velja atriði á síðunni, 594 00:35:04,000 --> 00:35:06,780 við skulum tala svolítið um AJAX. 595 00:35:06,780 --> 00:35:12,270 AJAX er samt mjög töff skammstöfun sem stendur fyrir ósamstilltur JavaScript og XML. 596 00:35:12,270 --> 00:35:15,640 Það gerist bara svo að XML er bara leið til að tákna gögnin. 597 00:35:15,640 --> 00:35:20,920 >> Það konar misst vinsældir að undanförnu, þannig að X í AJAX er ekki notað allan tímann. 598 00:35:20,920 --> 00:35:26,220 Í grundvallaratriðum, hvað AJAX gerir okkur kleift að gera er að gera HTTP beiðnir 599 00:35:26,220 --> 00:35:28,620 af samhengi JavaScript. 600 00:35:28,620 --> 00:35:32,310 Þegar við erum í vafranum okkar og við erum að siglingar um síður og við smellt á tengilinn, 601 00:35:32,310 --> 00:35:37,790 hvaða vafra okkar er að fara að gera er að gera HTTP beiðni til hvaða tengill við smellur. 602 00:35:37,790 --> 00:35:41,670 En það er ekki alltaf hugsjón vegna þess að ef það er raunin, þá er Davíð var að segja, 603 00:35:41,670 --> 00:35:45,220 við þurfum alltaf að gera notendur smella á senda inn hnappinn eða smelltu á tengilinn 604 00:35:45,220 --> 00:35:50,380 í því skyni að gera eitthvað gerast sem er að fara að taka til HTTP beiðni. 605 00:35:50,380 --> 00:35:54,160 Svo með AJAX við getum gert þessar beiðnir hönd JavaScript. 606 00:35:54,160 --> 00:35:57,020 Það þýðir að þegar notandinn hefur virkni á síðunni eða eitthvað gerist, 607 00:35:57,020 --> 00:36:01,780 getum við í raun að programmatic beiðni einhverjum öðrum PHP skrá á heimasíðu okkar 608 00:36:01,780 --> 00:36:06,280 eða eitthvað annað og sækja gögn sem þessi skrá spits út. 609 00:36:06,280 --> 00:36:09,860 Við skulum taka a líta á dæmi um AJAX. 610 00:36:09,860 --> 00:36:16,140 Þetta er CS50 Finance síðu okkar sem vonandi sumir af okkur eru kunnugir. 611 00:36:16,140 --> 00:36:21,790 Ef við lítum á HTML á þessari síðu, við sjáum hér að ég hef bætt við nokkrum hlutum, 612 00:36:21,790 --> 00:36:23,820 eitt sem ég hef gefið þetta form auðkenni. 613 00:36:23,820 --> 00:36:26,480 Ég hef sagt id = "mynd-vitna". 614 00:36:26,480 --> 00:36:31,910 Ég hef gert þetta bara vegna þess að það er að fara að gera þetta svolítið auðveldara að velja úr DOM 615 00:36:31,910 --> 00:36:35,090 þar sem ég get bara gert mjög einfalda fyrirspurn. 616 00:36:35,090 --> 00:36:38,960 Það sem ég vil gera hér er að ég vil að festa sumir vandamál með CS50 fjármálaráðherra. 617 00:36:38,960 --> 00:36:41,550 Svo ef við förum til finance.cs50.net, 618 00:36:41,550 --> 00:36:45,700 hvert skipti sem ég vil fá tilboð, ég er að smella á þennan fá tilvísun hnappinn, 619 00:36:45,700 --> 00:36:48,960 og það Fá Quote takkann þá tekur mig í annað alla síðuna. 620 00:36:48,960 --> 00:36:52,400 Og ef ég vil annan quote, ég þarf að ýta á Back hnappinn og þá skal ég slá það inn 621 00:36:52,400 --> 00:36:54,480 Ég fá tilboð, og ég lenti þá á Bakk hnappinn. 622 00:36:54,480 --> 00:36:56,840 Þetta er í raun ekki besta notandi reynsla. 623 00:36:56,840 --> 00:37:01,570 Hver myndi virkilega nota síðuna ef það er svo hægt að fá hluti verð? 624 00:37:01,570 --> 00:37:05,630 Svo er það sem við viljum gera með AJAX fjarlægja þessi skref að fara á sérstaka síðu 625 00:37:05,630 --> 00:37:08,410 til að skoða niðurstöður. 626 00:37:08,410 --> 00:37:11,240 >> Það sem við erum í raun aðeins að biðja um er að mjög litlu verði, 627 00:37:11,240 --> 00:37:14,240 og það er bara mjög lítið magn af gögnum. 628 00:37:14,240 --> 00:37:17,400 Svo er engin þörf fyrir mig að fara aðra allt HTML síðu, 629 00:37:17,400 --> 00:37:20,670 sækja nýjan hópur HTML, kannski sækja sumir fleiri myndum, 630 00:37:20,670 --> 00:37:24,410 nokkrar aðrar CSS skrár bara fyrir mig til að svara að mjög einfaldri spurningu 631 00:37:24,410 --> 00:37:27,810 hversu mikið er þetta lager kostnaður. 632 00:37:27,810 --> 00:37:31,000 Með AJAX við getum gert þetta mikið auðveldara. 633 00:37:31,000 --> 00:37:36,400 Við sjáum hérna að ég er að tengja í JavaScript skrá sem heitir quote.js. 634 00:37:36,400 --> 00:37:40,140 Við skulum í raun að opna upp að skrá. Ekki þar. 635 00:37:42,610 --> 00:37:45,860 Allar JavaScript skrár mín eru að fara að vera í HTML 636 00:37:45,860 --> 00:37:47,630 þannig að vefur flettitæki geta nálgast það. 637 00:37:47,630 --> 00:37:50,330 Þá erum við með sérstakan möppu hér fyrir JavaScript 638 00:37:50,330 --> 00:37:54,340 og nú er hér quote.js. 639 00:37:54,340 --> 00:38:00,930 Efst á þessari skrá þetta segir hér að ég vil bíða eftir öllu síðu til að hlaða 640 00:38:00,930 --> 00:38:04,830 áður en ég reyni að gera neitt. Hvers vegna er það nauðsynlegt? 641 00:38:04,830 --> 00:38:08,650 Það kemur í ljós að næsta sem ég ætla að gera hér er að byrja að leita að frumefni 642 00:38:08,650 --> 00:38:10,810 sem passar sumir val. 643 00:38:10,810 --> 00:38:15,600 Ef JavaScript er alltaf framkvæmd áður en þátturinn er hlaðinn á síðunni, 644 00:38:15,600 --> 00:38:17,820 þá allt sem ég reyni að gera er ekki að fara að vinna 645 00:38:17,820 --> 00:38:20,580 því ég ætla að reyna að velja eitthvað sem er ekki þarna ennþá. 646 00:38:20,580 --> 00:38:23,780 Svo segir þessa línu upp ofan ég vil að þú að bíða þar til allt er hlaðinn 647 00:38:23,780 --> 00:38:28,030 þannig að við erum að tryggja að allir þættir sem ég er að leita að er í raun á síðunni. 648 00:38:29,730 --> 00:38:34,310 Þetta dollaramerki hér þýðir að ég er að nota bókasafn sem heitir jQuery. 649 00:38:34,310 --> 00:38:38,570 Þetta jQuery bókasafn leyfa okkur að nota þessar selectors sem við horfði bara á. 650 00:38:38,570 --> 00:38:44,010 Með því að segja: þá liggur í sem rök þessa # mynd-quote, 651 00:38:44,010 --> 00:38:47,910 Ég er nú að velja það form sem við tók bara að líta á. 652 00:38:47,910 --> 00:38:52,290 Nú hef ég framsetning því formi í minni einhvern veginn. 653 00:38:52,290 --> 00:38:56,760 >> Á þennan hlut nú, þessi framsetning formi, 654 00:38:56,760 --> 00:38:58,890 Ég er nú að nota aðgerðina sem kallast á. 655 00:38:58,890 --> 00:39:02,710 Hvað þessi aðgerð gerir er að það er að fara að hengja atburður dýraþjálfari. 656 00:39:02,710 --> 00:39:06,310 Ef að við erum að fara að hlusta á er á senda atburð. 657 00:39:06,310 --> 00:39:08,890 Svo þegar notandi smellir sem senda inn hnappinn eða þrýstir á Enter, 658 00:39:08,890 --> 00:39:11,730 Þessi atburður er að fara að skjóta. 659 00:39:11,730 --> 00:39:16,390 Með því að krækja í þetta, get ég nú forgang á sjálfgefna hegðun formi. 660 00:39:16,390 --> 00:39:19,770 Án JavaScript, formið myndi leggja til hvað PHP skrá 661 00:39:19,770 --> 00:39:22,110 við notuðum í þeirri aðgerð eiginleiki. 662 00:39:22,110 --> 00:39:25,440 En í staðinn, ég er nú að segja, bíddu, bíddu, bíddu, ég vil ekki að þú í raun að gera það. 663 00:39:25,440 --> 00:39:31,140 Ég vil þetta að gerast áður en þú ferð og reynir að leggja að einhverju PHP skrá. 664 00:39:31,140 --> 00:39:32,870 Nú hvað vil ég gera? 665 00:39:32,870 --> 00:39:39,270 Á þessum tímapunkti vil ég nota AJAX einhvern veginn að hlaða í það verð á hlutabréfum er. 666 00:39:39,270 --> 00:39:44,170 Það fyrsta sem ég þarf að vita er hvaða birgðir sem notandinn er að leita að. 667 00:39:44,170 --> 00:39:46,760 Til að gera það sem ég ætla að nota annað val. 668 00:39:46,760 --> 00:39:49,020 Þetta er þriðja val við skoðuðum áður. 669 00:39:49,020 --> 00:39:54,460 Það segir að ég vil byrja á þessu formi þáttur með ID Form-vitna. 670 00:39:54,460 --> 00:39:58,440 Þá einhversstaðar inni í því formi að það þarf að vera inntak þáttur 671 00:39:58,440 --> 00:40:01,270 sem hefur nafn tákn. 672 00:40:01,270 --> 00:40:05,460 Ef við lítum til baka á HTML okkar, sáum við að við höfðum aðkomu [nafn = tákn]. 673 00:40:05,460 --> 00:40:12,380 Það þýðir að þetta er að fara að velja að texti kassi sem notandinn er að slá inn. 674 00:40:12,380 --> 00:40:13,870 Það er gott. Við höfum í textareitinn. 675 00:40:13,870 --> 00:40:17,360 Nú þurfum við bara að vita hvað er inni í honum. 676 00:40:17,360 --> 00:40:20,290 Til að gera að við getum kalla þessa aðferð hér, þetta. Val, 677 00:40:20,290 --> 00:40:23,240 og það segir að ég veit hvaða texti kassi sem þú hefur. 678 00:40:23,240 --> 00:40:28,160 Ég vil að þú segir mér hvað það er notandinn slegið inn í þessi textareitinn. 679 00:40:28,160 --> 00:40:34,440 Nú höfum við band heitir tákn sem er jafn hvað notandinn slegið inn 680 00:40:34,440 --> 00:40:39,820 Það er gott. Við getum notað þessi streng núna til að gera beiðni okkar. 681 00:40:39,820 --> 00:40:42,450 Þetta er nýtt hlutverk hér, þetta $, 682 00:40:42,450 --> 00:40:44,900 nema að við erum ekki lengur að fara að velja atriði, 683 00:40:44,900 --> 00:40:48,910 við erum að fara að hringja í aðra aðgerð sem er veitt okkur með jQuery. 684 00:40:48,910 --> 00:40:54,810 Þetta AJAX virkni er það sem er í raun og veru að fara að gera þetta HTTP beiðni. 685 00:40:54,810 --> 00:40:57,000 Þannig að við verðum að segja það nokkrum hlutum. 686 00:40:57,000 --> 00:41:01,410 The fyrstur hlutur sem við þurfum að segja þessa aðgerð er þar sem ég vil að beiðni að fara. 687 00:41:01,410 --> 00:41:08,910 Einhvers staðar í verkefni sem ég hef þessa skrá inni af HTML skrá sem heitir quote.php. 688 00:41:08,910 --> 00:41:15,150 Ég get nálgast þessa skrá, sáum við, rétt eins og þetta, ef ég fer til localhost / quote.php. 689 00:41:15,150 --> 00:41:20,450 >> Ég vil JavaScript mína til að gera beiðni á þá síðu. 690 00:41:20,450 --> 00:41:22,920 Hvaða tegund af beiðni núna? 691 00:41:22,920 --> 00:41:27,210 Við sáum áður að mynd hefur þessi aðferð = "eftir" eigindi, 692 00:41:27,210 --> 00:41:29,270 og það þýðir að það er að fara að gera a staða beiðni, 693 00:41:29,270 --> 00:41:32,630 svo það er ekki að fara að setja neitt í slóð, fremur en fá beiðni, 694 00:41:32,630 --> 00:41:36,860 sem myndi bara vera rekinn ef við skoðuð bara síðu með vafra, til dæmis. 695 00:41:36,860 --> 00:41:41,260 Nú höfum við sagt að ég vil gera HTTP POST beiðni 696 00:41:41,260 --> 00:41:44,840 á síðu sem staðsett er á quote.php. 697 00:41:44,840 --> 00:41:51,490 Þegar við senda inn mynd, man að við gætum sjá inntak þætti inni í því formi 698 00:41:51,490 --> 00:41:54,430 við að $ _POST breytu. 699 00:41:54,430 --> 00:41:58,710 Svo langt í sögunni höfum við ekki í raun sent með öll gögn ennþá. 700 00:41:58,710 --> 00:42:00,640 Við höfum bara sagt að við erum að gera AJAX beiðni 701 00:42:00,640 --> 00:42:03,200 og hér er gerð af beiðni sem við erum að gera. 702 00:42:03,200 --> 00:42:07,090 Nú þurfum við í raun að senda nokkur gögn á síðunni. 703 00:42:07,090 --> 00:42:10,930 Til að gera að við getum notað þessa eign heitir gögn. 704 00:42:10,930 --> 00:42:14,950 Verðmæti þessa eign er í raun tengin array. 705 00:42:14,950 --> 00:42:19,390 Ástæðan fyrir þessu er að það gerir okkur kleift að senda meira en bara 1 stykki af gögn. 706 00:42:19,390 --> 00:42:24,750 Þess vegna höfum við þessi hrokkið axlabönd hér hreiður inni í þessum hrokkið axlabönd. 707 00:42:24,750 --> 00:42:29,680 Tökkunum í þessum tengin fylki eru að fara til vera the sami hlutur 708 00:42:29,680 --> 00:42:32,630 sem þeir nafn eiginleika í þætti formi okkar. 709 00:42:32,630 --> 00:42:35,740 Það þýðir að ef ég sendi eftir lykli á tákni, 710 00:42:35,740 --> 00:42:41,870 sem þýðir PHP síðuna mína geta nálgast þessi gögn með $ _POST [Tákn] 711 00:42:41,870 --> 00:42:44,640 bara eins og við gerðum áður þegar við vorum að senda inn mynd. 712 00:42:44,640 --> 00:42:47,090 Og nú í raun gögn sem við viljum senda 713 00:42:47,090 --> 00:42:50,790 er að fara til vera the gildi innan þessa tengin array. 714 00:42:50,790 --> 00:42:54,070 >> Við geymd þennan texta í breytu sem heitir tákn, 715 00:42:54,070 --> 00:42:57,380 og svo erum við að senda eftir nú lyklinum tákn 716 00:42:57,380 --> 00:43:01,380 og gildi hvað notandinn slegið inn 717 00:43:01,380 --> 00:43:06,270 Nú höfum við gert þetta HTTP beiðni, PHP skrá okkar hefur framkvæmt, 718 00:43:06,270 --> 00:43:11,480 og það er að fara að senda nokkur gögn til baka núna til viðskiptavinar sem bara gert þessa beiðni. 719 00:43:11,480 --> 00:43:15,220 Nú þurfum við að bregðast við hvaða miðlara sagði okkur. 720 00:43:15,220 --> 00:43:20,180 Til að gera að við höfum þetta síðasta eign hér kallast árangur. 721 00:43:20,180 --> 00:43:24,240 Verðmæti þessa velgengni lykill er í raun að fara að vera virka, 722 00:43:24,240 --> 00:43:26,910 og þetta er eitt af því sem raunverulega kaldur hlutur sem þú getur gert með JavaScript. 723 00:43:26,910 --> 00:43:31,720 Ekki aðeins er hægt að hafa ints eða fylki sem gildi inni á tengin array 724 00:43:31,720 --> 00:43:34,170 við getum líka haft hlutverk. 725 00:43:34,170 --> 00:43:36,380 Svo með því að segja vel, þetta er lykill. 726 00:43:36,380 --> 00:43:38,830 A ristill segir hér kemur gildi, 727 00:43:38,830 --> 00:43:41,810 og nú er gildi í raun virka. 728 00:43:41,810 --> 00:43:44,460 Þannig að við þurfum ekki að gefa þessa aðgerð nafn í sjálfu sér. 729 00:43:44,460 --> 00:43:48,820 Við getum bara sagt þetta er að fara að vera fall. Það er að fara að taka 1 rök. 730 00:43:48,820 --> 00:43:51,190 Þau rök að þessi aðgerð er að fara að vera 731 00:43:51,190 --> 00:43:54,460 hvað þjóninn sendi okkur til baka frá beiðni. 732 00:43:54,460 --> 00:43:57,750 Rétt eins og þegar vafrinn okkar gerir beiðni miðlara sendir eitthvað til baka 733 00:43:57,750 --> 00:43:59,060 og vafrinn sýnir það, 734 00:43:59,060 --> 00:44:03,030 í samhengi við AJAX Við gerðum bara beiðni miðlara sendi eitthvað til baka, 735 00:44:03,030 --> 00:44:07,110 og nú erum við að hafa fulltrúa sem streng. 736 00:44:07,110 --> 00:44:11,280 Með því að band sem ég vildi bara eins og að birta það á síðunni. 737 00:44:11,280 --> 00:44:14,040 Til að gera það sem ég ætla að hafa eitt síðasta val. 738 00:44:14,040 --> 00:44:17,570 Mig langar til að velja hluti með ID verð. 739 00:44:17,570 --> 00:44:20,710 Þetta er bara tóm div sem ég hef búið til á síðunni, 740 00:44:20,710 --> 00:44:26,640 og ég vil koma því að það div að vera hvað sem framreiðslumaður sendi okkur til baka. 741 00:44:26,640 --> 00:44:30,280 Ég hef reyndar breytt quote.php aðeins. 742 00:44:30,280 --> 00:44:33,460 >> Frekar en að hringja bakið og flutningur sumir síðu 743 00:44:33,460 --> 00:44:38,100 quote.php nú er einfaldlega að fara að prenta út verðmæti stofnsins sem streng. 744 00:44:38,100 --> 00:44:41,880 Svo ef þú varst í raun að heimsækja síðuna, myndir þú bara að sjá þessi litlu band 745 00:44:41,880 --> 00:44:45,030 um hvað gengi hlutabréfa er. 746 00:44:45,030 --> 00:44:50,170 Einn síðastur hlutur sem við þurfum að gera hér er bara hvort þetta skilar falskur. 747 00:44:50,170 --> 00:44:53,560 Hvað þetta segir er að ef ég er inni á atburði dýraþjálfari 748 00:44:53,560 --> 00:44:57,300 og þessi atburður dýraþjálfari False í stað þess að skila satt, 749 00:44:57,300 --> 00:45:01,510 sem þýðir að ég vil ekki upprunalega atburð til að skjóta. 750 00:45:01,510 --> 00:45:05,270 Í þessu tilfelli, ef við ekki hafa allir JavaScript og við sendum mynd, 751 00:45:05,270 --> 00:45:08,280 vefur flettitæki okkar er að fara að segja, "ég ætla að senda þessi gögn eftir," 752 00:45:08,280 --> 00:45:10,130 og hann ætlar að senda þig á aðra síðu. 753 00:45:10,130 --> 00:45:14,360 Þar sem við erum að nota AJAX nú, það er engin þörf á að senda notandanum á aðra síðu. 754 00:45:14,360 --> 00:45:17,920 Við erum bara að fara að birta niðurstöður virk á þessari sömu síðu. 755 00:45:17,920 --> 00:45:21,460 Við raunverulega vilt ekki að fara neitt, og ég vil vera á sömu síðu. 756 00:45:21,460 --> 00:45:27,060 Svo með því að fara rangt, við að tryggja að mynd er ekki að gera það fyrir okkur. 757 00:45:27,060 --> 00:45:31,170 Við skulum taka a líta á hvað þetta raunverulega lítur út. 758 00:45:31,170 --> 00:45:34,180 Vitna síðuna okkar lítur það sama. 759 00:45:34,180 --> 00:45:37,240 Leyfðu mér að draga upp skoðunarmanni niður hér svo við getum séð hvað er að gerast. 760 00:45:37,240 --> 00:45:40,270 Gerðu það aðeins minna mikið. 761 00:45:40,270 --> 00:45:44,590 Mundu ef við opna flipann Network, þetta er þar sem við getum séð allar HTTP beiðnir 762 00:45:44,590 --> 00:45:47,570 sem eru að gerast á síðunni. 763 00:45:47,570 --> 00:45:52,890 >> Fyrir tákn láta mig slá í AAPL og smelltu Fá tilboð. 764 00:45:52,890 --> 00:45:56,720 Nú sáum við að hlutdeild Apple kostar einhverja fjölda dollara 765 00:45:56,720 --> 00:46:00,410 bara fram á síðunni, en URL ekki breytt á öllum. 766 00:46:00,410 --> 00:46:04,570 Í raun, hér er HTTP beiðni um að við gert bara. 767 00:46:04,570 --> 00:46:09,980 Við gerðum POST beiðni quote.php. Það er skynsamlegt. 768 00:46:09,980 --> 00:46:12,800 Þetta er það sem miðlara sendi okkur til baka. 769 00:46:12,800 --> 00:46:16,320 Það er ekki lengur þessi risa HTML skjal með myndum og svoleiðis, 770 00:46:16,320 --> 00:46:20,920 það er bara lína af texta, og þá erum við að sýna bara línu af texta. 771 00:46:20,920 --> 00:46:26,290 Ef við förum aftur í haus og sjá hvað við sendum í raun inni í þessu HTTP beiðni, 772 00:46:26,290 --> 00:46:33,950 getum við séð niður sem við sendum með takka á tákni og verðmæti AAPL, 773 00:46:33,950 --> 00:46:36,430 sem er það sem notandinn slegið inn 774 00:46:36,430 --> 00:46:39,230 Þetta er gott, en það er samt svolítið pirrandi. 775 00:46:39,230 --> 00:46:42,490 Ég er enn að smella á þennan hnapp til að fá birgðir vitna. 776 00:46:42,490 --> 00:46:45,880 Við erum upptekinn fólk og við höfum ekki tíma til að smella hnappa. 777 00:46:45,880 --> 00:46:49,910 Google áttaði þetta smá en síðan þegar þeir innleitt Google augabragði. 778 00:46:49,910 --> 00:46:53,590 Hvað Google Instant gerir er eins og þú ert að slá það byrjar bara að birta niðurstöður fyrir þig 779 00:46:53,590 --> 00:46:56,520 svo þú þarft ekki að hafa áhyggjur þó að smella á Leita. 780 00:46:56,520 --> 00:46:58,730 Reyndar, skemmtilegur saga tengd því. 781 00:46:58,730 --> 00:47:01,100 Þegar Google Instant kom út, fólkið var eins og, "Vá, þetta er frábær ótrúlegt." 782 00:47:01,100 --> 00:47:02,540 "Þetta er svo flott." 783 00:47:02,540 --> 00:47:05,950 Og nemandi niður á Stanford, sem var 19 á þeim tíma 784 00:47:05,950 --> 00:47:09,000 gerði þessa síðu sem heitir YouTube Augnablik. 785 00:47:09,000 --> 00:47:13,170 All YouTube Augnablik gerir er í raun að leita á YouTube í stað. 786 00:47:13,170 --> 00:47:17,020 Svo frekar en að þurfa að fara til YouTube.com og högg Leita, 787 00:47:17,020 --> 00:47:21,650 þegar ég byrja að skrifa inn á YouTube Augnablik eitthvað eins CS50, 788 00:47:21,650 --> 00:47:25,320 við gátum séð hér að það er að reyna að á hægum nettenginguna 789 00:47:25,320 --> 00:47:28,500 byggja þessar niðurstöður lifa. 790 00:47:28,500 --> 00:47:35,590 Til að gera að við getum í raun gert mjög einfalda breytingar á quote.js skrá okkar. 791 00:47:35,590 --> 00:47:40,900 Núna erum við að festa þennan atburð þegar mynd er send inn. 792 00:47:40,900 --> 00:47:43,760 Við dont 'raunverulega vilja til gera the notandi skila því formi lengur, 793 00:47:43,760 --> 00:47:48,570 þannig að við skulum í staðinn skjóta þennan atburð í hvert skipti sem notandi þrýsta á takka. 794 00:47:48,570 --> 00:47:53,200 Til að gera það við skulum fyrst breyta atburð úr leggja keyup. 795 00:47:53,200 --> 00:47:55,740 Það þýðir að í stað þess að bíða eftir að mynd til að senda inn, 796 00:47:55,740 --> 00:47:58,490 í hvert skipti sem ýtt er, eitthvað er að fara að gerast. 797 00:47:58,490 --> 00:48:02,030 Það gerir ekki lengur vit í að hengja þessa keyup atburð til alls mynd. 798 00:48:02,030 --> 00:48:05,080 Við í raun bara sama um það leitargluggann. 799 00:48:05,080 --> 00:48:09,320 >> Til að velja það núna, getum við breytt þessu að vera, frekar en mynd-quote, 800 00:48:09,320 --> 00:48:14,220 mynd-vitna og við munum hafa inntak (type = texta) eða við getum sagt (nafn = tákn) - 801 00:48:14,220 --> 00:48:16,420 hvað við viljum. 802 00:48:16,420 --> 00:48:18,650 Nú er það eitt síðasta sem við þurfum að gera. 803 00:48:18,650 --> 00:48:21,190 Mundu niður hér þegar við sögðum return false 804 00:48:21,190 --> 00:48:24,370 við sögðum að við viljum ekki að sjálfgefið atburður að skjóta. 805 00:48:24,370 --> 00:48:26,390 En það gerist bara svo að ef við gera það núna, 806 00:48:26,390 --> 00:48:29,660 hvað við tegund í er ekki að fara að mæta í vafranum lengur 807 00:48:29,660 --> 00:48:33,000 vegna þess að það væri sjálfgefið hegðun slá í textareitinn. 808 00:48:33,000 --> 00:48:38,660 Við viljum ekki lengur að hunsa það, þannig að við skulum eyða þessu return false. 809 00:48:38,660 --> 00:48:44,800 Ef við spara sem og endurhlaða síðunni, nú þegar ég byrja að skrifa AAPL 810 00:48:44,800 --> 00:48:50,160 þú munt sjá að gengi hlutabréfa neðst hér er að ljúka sjálfkrafa. 811 00:48:50,160 --> 00:48:53,150 Svo er hér CS50 Fjármál Augnablik. 812 00:48:53,150 --> 00:48:55,860 Reyndar er gaman saga um YouTube Instant 813 00:48:55,860 --> 00:48:59,420 er að nemandi bara svona skrifaði hann sem 1-night verkefni, 814 00:48:59,420 --> 00:49:03,800 og næsta dag var hann boðið starf hjá YouTube forstjóra. 815 00:49:03,800 --> 00:49:10,610 Svo eins einfalt eins og þessi, þú CS50 nemendur, lokaverkefni geta fengið þér vinnu á YouTube. 816 00:49:10,610 --> 00:49:14,720 Eitthvað eins og þessi er mjög flott hugmynd fyrir lokaverkefni, ekki satt? 817 00:49:14,720 --> 00:49:18,170 Við höfðum sumir núverandi virkni sem við viljum að samþætta við. 818 00:49:18,170 --> 00:49:20,330 Við bæta upplifun notenda svolítið, 819 00:49:20,330 --> 00:49:24,340 og skyndilega að leita eitthvað á YouTube Instant gæti verið mikið auðveldara 820 00:49:24,340 --> 00:49:27,290 en að leita að því á reglulegum YouTube. 821 00:49:27,290 --> 00:49:30,790 Svo er það AJAX í hnotskurn. 822 00:49:30,790 --> 00:49:34,860 >> Í dæmum sem Jósef var að sýna, við sáum fullt af autocompletes, 823 00:49:34,860 --> 00:49:39,250 og þeir autocompletes eru virkilega, virkilega vel vegna þess að við þurfum ekki að muna - 824 00:49:39,250 --> 00:49:41,770 Til dæmis, ef þú manst ekki gengi hlutabréfa í Apple 825 00:49:41,770 --> 00:49:45,110 og við vitum bara að það er AA eitthvað, frekar en bara að segja við mig, 826 00:49:45,110 --> 00:49:48,740 "A hluti af þessu hlutur kostar þetta mikla peninga," 827 00:49:48,740 --> 00:49:52,540 Ég vil svona eins og til vita hvaða birgðir byrja með AA. 828 00:49:52,540 --> 00:49:58,340 Við getum gert það mjög vel með ræsi bókasafn sem er nú þegar með 829 00:49:58,340 --> 00:50:01,380 inni CS50 fjármálaráðherra. 830 00:50:01,380 --> 00:50:09,390 Ef þú kemur upp hér á Javascript tag og skruna niður að Typeahead, 831 00:50:09,390 --> 00:50:13,730 þetta er bara ágætur tappi sem einhver þegar skrifaði fyrir okkur, 832 00:50:13,730 --> 00:50:16,980 og við getum auðveldlega notað virkni hennar svona. 833 00:50:16,980 --> 00:50:21,410 Ég slóst í A og hér er listi af nokkrum ríkjum sem byrja með A. 834 00:50:21,410 --> 00:50:25,360 Við skulum segja að ég held að þetta sé mjög flott og það er kominn tími fyrir mig til að láta þetta á síðuna mína. 835 00:50:25,360 --> 00:50:28,300 Það kemur í ljós að þetta er virkilega, virkilega einfalt. 836 00:50:28,300 --> 00:50:32,810 Við skulum stökkva hérna til quote3.js. 837 00:50:34,890 --> 00:50:37,380 Skrá minn lítur svolítið öðruvísi. 838 00:50:37,380 --> 00:50:39,700 Down hér allt AJAX dótinu mínu er sú sama. 839 00:50:39,700 --> 00:50:43,170 Ég vil að hlaða lager gögn án þess að þurfa að fara á aðra síðu. 840 00:50:43,170 --> 00:50:46,220 En nú vil ég nota þetta tappi. 841 00:50:46,220 --> 00:50:51,020 The Bootstrap gögnum hefur mikill dæmi um hvernig nákvæmlega ég get gert það. 842 00:50:51,020 --> 00:50:54,350 Mig langar til að segja: "Hér er inntak sem ég vil AutoComplete á," 843 00:50:54,350 --> 00:50:56,640 og ég ætla að kalla þessa aðgerð kallast typeahead, 844 00:50:56,640 --> 00:50:59,730 og það er að fara að höndla allt Typeahead efni fyrir okkur. 845 00:50:59,730 --> 00:51:02,090 Það mun frumstilla lista, það mun gera allt sía okkar. 846 00:51:02,090 --> 00:51:06,680 Það eina sem það þarf að vita er hvaða gögn við erum autocompleting á. 847 00:51:06,680 --> 00:51:10,480 Svo ég fann út þennan takka bara með því að lesa skjöl og horfa á dæmi. 848 00:51:10,480 --> 00:51:14,150 Ef ég gef honum lykil uppspretta, verðmæti þessa takka 849 00:51:14,150 --> 00:51:17,770 er bara array af hlutum sem ég vil AutoComplete á. 850 00:51:17,770 --> 00:51:20,180 Þessi breyta kom af þessu aðrar skrár. 851 00:51:20,180 --> 00:51:23,400 Ég opna symbols.js. 852 00:51:23,400 --> 00:51:27,980 >> Þetta symbols.js er bara þetta virkilega, virkilega stór fylki sem inniheldur strengi 853 00:51:27,980 --> 00:51:32,080 allar þessar birgðir tákn frá NASDAQ. 854 00:51:32,080 --> 00:51:42,190 Ef ég vil að hoppa aftur til HTML, svo jharvard, vhosts, globalhost, HTML, sniðmát, 855 00:51:42,190 --> 00:51:45,820 quote_form. 856 00:51:45,820 --> 00:51:50,910 Þar sem nú heitir quote3.js, láta mig breyta javascript skrá sem ég er þar á meðal hér. 857 00:51:50,910 --> 00:51:55,110 Nú hef ég quote3.js, þannig að ég ætla að hlaða í því sérstaka javascript skrá, 858 00:51:55,110 --> 00:51:57,910 sá sem hefur þessi Bootstrap AutoComplete. 859 00:51:57,910 --> 00:52:04,430 Nú þegar ég hoppa aftur til the flettitæki, endurhlaða síðuna, og ég byrja að skrifa AA, 860 00:52:04,430 --> 00:52:06,880 það er autocompleteoff mín. Og það var í raun eins og einfaldur eins og þessi. 861 00:52:06,880 --> 00:52:11,400 Ég átti 1 lína af kóða sem bara sagði: "Hér eru hlutir sem ég vil AutoComplete á," 862 00:52:11,400 --> 00:52:16,590 og skyndilega hef ég þetta virkilega, virkilega gott virkni með ekki a heild einhver fjöldi af áreynsla á alla. 863 00:52:16,590 --> 00:52:19,810 Eins og þú ert að þróa vefsíður og sérstaklega framan enda hlið af hlutur, 864 00:52:19,810 --> 00:52:21,840 þú ert að fara að finna þetta er raunin mikið. 865 00:52:21,840 --> 00:52:25,700 There ert a einhver fjöldi, mikið, mikið af mjög kaldur frjáls bókasöfnum þarna úti 866 00:52:25,700 --> 00:52:30,190 sem gera það frábær auðvelt að gera hlutina eins og þetta. 867 00:52:30,190 --> 00:52:37,230 Getur einhver hugsa um hvaða göllum einfaldlega autocompleting á þessum stóra lista af táknum? 868 00:52:37,230 --> 00:52:41,580 Hvað gæti verið eitthvað sem er ekki það besta við þessa aðferð? 869 00:52:42,790 --> 00:52:45,960 Já. >> [Nemandi] tíma, ef þú hafa a einhver fjöldi af [inaudible] 870 00:52:45,960 --> 00:52:50,420 Já. Núna erum við að sækja þetta mikla JavaScript skrá og það er fullt af táknum. 871 00:52:50,420 --> 00:52:54,360 Og svo ef við höfum tonn af efni, þetta gæti konar auka leynd á ekki einungis að leita 872 00:52:54,360 --> 00:52:56,600 en einnig sækja í raun skrá. 873 00:52:56,600 --> 00:52:58,670 Frábært. Nokkuð fleira? 874 00:53:01,950 --> 00:53:05,280 Núna er enginn raunverulegur skilningarvit af þýðingu. 875 00:53:05,280 --> 00:53:08,190 Ef ég tegund í a, félaga að mæta hér 876 00:53:08,190 --> 00:53:11,220 gæti ekki verið vinsæll fyrirtæki sem byrja á A. 877 00:53:11,220 --> 00:53:17,130 >> Áður en ég fá að Apple gæti tekið við fleiri stafi til að finna það sem ég er að leita að. 878 00:53:17,130 --> 00:53:20,420 Þetta autocompleteoff hefur ekki þessa tilfinningu fyrir máli. 879 00:53:20,420 --> 00:53:24,400 Það er bara að fara að segja "eitthvað sem passar að ég ætla að sýna." 880 00:53:24,400 --> 00:53:30,510 Í stað þess að, langar mig til að einhvern veginn aðlagast sumir þýðingu í leitum mínum. 881 00:53:30,510 --> 00:53:36,440 Ef ég fer yfir hér til Yahoo! Finance, finance.yahoo.com, 882 00:53:36,440 --> 00:53:42,100 Ef ég reyni að slá inn tákn á blaðsíðu Yahoo! Finance er 883 00:53:42,100 --> 00:53:52,310 og ég byrja að slá goog, ég hef þetta ágætur listi af hlutur. 884 00:53:52,310 --> 00:53:57,100 Ljóst virðist, að það eins og Yahoo! Finance er að gera eitthvað meira snjall hér. 885 00:53:57,100 --> 00:53:59,790 Þeir hafa sumir máli og þeir hafa einnig frekari upplýsingar 886 00:53:59,790 --> 00:54:01,430 eins og nafn á lager. 887 00:54:01,430 --> 00:54:05,850 Það er eitthvað sem ég get ekki í raun fengið með bara lager listanum mínum af táknum. 888 00:54:05,850 --> 00:54:09,520 Ég vil þetta og ég ætla að taka það. 889 00:54:09,520 --> 00:54:11,790 Til að gera það við skulum gera nokkra hluti. 890 00:54:11,790 --> 00:54:15,580 Skulum opnar upp skoðunarmanni á þessari síðu 891 00:54:15,580 --> 00:54:18,100 vegna þess að við sáum að þessi síða er ekki að endurhlaða á alla, 892 00:54:18,100 --> 00:54:21,960 þannig að það er líklega með AJAX einhvern veginn að hlaða gögn. 893 00:54:21,960 --> 00:54:23,920 Við getum fundið út hvaða gögn það er hleðsla. 894 00:54:23,920 --> 00:54:28,390 Ef ég smelli á þennan Network flipanum eru þær að fara að vera allt um beiðnir sem byrja að vera rekinn. 895 00:54:28,390 --> 00:54:34,020 Nú ef ég tegund í Goo, getum við séð að ég fékk bara nýja HTTP beiðni. 896 00:54:34,020 --> 00:54:37,490 Þetta er líklega þar sem gögn er að koma frá. 897 00:54:37,490 --> 00:54:41,990 Viss nógur, ef ég horfi á þessa slóð, sem er dálítið undarlega nafni, 898 00:54:41,990 --> 00:54:46,930 getum við séð að það er einmitt þar sem Yahoo er að senda burt gögn frá. 899 00:54:46,930 --> 00:54:53,400 >> Ég hef búið til sérstaka skrá sem kallast suggest.php sem er mjög svipuð í anda við útlit virka. 900 00:54:53,400 --> 00:54:57,730 Það er í rauninni að fara að gera fyrirspurn til slóð Yahoo, fá aftur nokkur gögn, 901 00:54:57,730 --> 00:54:59,750 og senda hana aftur til mín. 902 00:54:59,750 --> 00:55:02,570 Nú, frekar en að nota stór, gríðarstór listi af táknum, 903 00:55:02,570 --> 00:55:05,280 Ég get notað ágætur samsvaranir Yahoo hluti, 904 00:55:05,280 --> 00:55:08,150 og ég þarf ekki að sækja að miklu JavaScript skrá. 905 00:55:08,150 --> 00:55:12,040 Ég ætla bara að fara að rífa niður í raun viðeigandi birgðir tákn. 906 00:55:12,040 --> 00:55:13,960 Við skulum hoppa inn í það. 907 00:55:13,960 --> 00:55:17,360 Svo HTML, JS. Við erum nú í quote4. 908 00:55:17,360 --> 00:55:22,120 Nú erum við ekki lengur með þessi stór listi af JavaScript skrár. 909 00:55:22,120 --> 00:55:24,430 En það er lítil konar vandamál hönnun hér. 910 00:55:24,430 --> 00:55:28,200 Við höfum sagt að A í AJAX er ósamstilltur. 911 00:55:28,200 --> 00:55:31,000 Hvað það þýðir er að þegar ég gera AJAX beiðni, 912 00:55:31,000 --> 00:55:36,490 svo hérna á línu 8, það er þar sem AJAX beiðni mín er í raun rekinn. 913 00:55:36,490 --> 00:55:40,370 Segjum nú að ég hef fengið kóða niður hér sem er að fara að gera smá dót 914 00:55:40,370 --> 00:55:43,930 eins og viðvörun the notandi eða breyta einhverju á síðunni. 915 00:55:43,930 --> 00:55:49,830 Hvað er ekki að fara að gerast er að vafrinn er ekki að fara að bíða eftir þessari beiðni um að halda áfram 916 00:55:49,830 --> 00:55:53,480 áður en kemur niður og berja þessa línu. 917 00:55:53,480 --> 00:55:55,900 Það er ósamstilltur hluti. 918 00:55:55,900 --> 00:55:58,400 Það er að fara að gera þessa beiðni og segir: "Þegar þú hefur lokið, 919 00:55:58,400 --> 00:56:03,080 "Koma aftur og kalla það virka sem ég sagði þér að hringja inni í velgengni." 920 00:56:03,080 --> 00:56:07,300 Það þýðir að við getum ekki bara sótt alla fiskistofna fyrirfram. 921 00:56:07,300 --> 00:56:10,300 Við þurfum að gera beiðni og bíða eftir einhverju til að koma til baka. 922 00:56:10,300 --> 00:56:13,330 Það þýðir að áður, þá gætum við einfaldlega sagt ræsi, 923 00:56:13,330 --> 00:56:15,580 "Hér er listi af hlutum sem ég vil að þú AutoComplete á." 924 00:56:15,580 --> 00:56:18,950 Við getum ekki lengur gert það aftur því við vitum ekki 925 00:56:18,950 --> 00:56:21,780 hvað við viljum raunverulega autocompleteoff á. 926 00:56:21,780 --> 00:56:25,190 Til allrar hamingju, Bootstrap hugsun af þessu vegna þess að þeir eru sviði krakkar þarna, 927 00:56:25,190 --> 00:56:30,160 og þeir gáfu í raun okkur aðra leið til að hlaða þessa Typeahead tappi. 928 00:56:30,160 --> 00:56:35,630 Áður gildi þessarar heimildar Hótelið var bara þetta stór fylking af hlutum til að AutoComplete á. 929 00:56:35,630 --> 00:56:39,580 >> Nú er uppspretta eign í raun virka, 930 00:56:39,580 --> 00:56:44,580 og tilgangur þessa aðgerð er að reikna út hvað það að AutoComplete á eru. 931 00:56:44,580 --> 00:56:48,730 The vegur það er að fara að reikna það út er það er að fara að biðja Yahoo! Finance 932 00:56:48,730 --> 00:56:51,750 hvaða the bestur hlutur til AutoComplete eru. 933 00:56:51,750 --> 00:56:54,500 Til að gera það sem ég ætla að gera mjög svipaða AJAX beiðni. 934 00:56:54,500 --> 00:56:59,010 Ég ætla að biðja þessa síðu á suggest.php. 935 00:56:59,010 --> 00:57:01,360 Ég vil senda með táknum enn. 936 00:57:01,360 --> 00:57:05,570 Og nú árangur minn, Bootstrap skjöl sagt mér 937 00:57:05,570 --> 00:57:09,130 að til að byggja þessi listi af hlutum, 938 00:57:09,130 --> 00:57:14,370 allt sem ég þarf að gera er að fara í þessu fylki nú í svarhringingu virka. 939 00:57:14,370 --> 00:57:15,660 En bíddu í eina mínútu. 940 00:57:15,660 --> 00:57:20,240 Ef þetta á að vera fylki og AJAX er að senda mér til baka texta, 941 00:57:20,240 --> 00:57:22,720 hvernig er það mögulegt? 942 00:57:22,720 --> 00:57:27,910 Þetta kynnir nýja leið til að skiptast á gögnum sem kallast JSON. 943 00:57:27,910 --> 00:57:33,000 Í þessu tilfelli erum við ekki bara að senda aftur einfalt band af texta. 944 00:57:33,000 --> 00:57:37,670 Nú erum við að takast á við þetta flóknari lista af táknum lager. 945 00:57:37,670 --> 00:57:41,730 Þessar birgðir tákn geta einnig hluti eins og nafn félagsins eða núverandi verð. 946 00:57:41,730 --> 00:57:47,550 Bara með því að nota stór langan streng sem er ekki sniðinn á einhvern fyrirsjáanlegri hátt 947 00:57:47,550 --> 00:57:51,970 er ekki að fara að vera besta leiðin til að fá þessar upplýsingar frá miðlara Yahoo mér 948 00:57:51,970 --> 00:57:54,540 á þann hátt sem ég get auðveldlega skilið. 949 00:57:54,540 --> 00:58:01,280 JSON er tækni sem tekur kostur af því hvernig við að búa tengin fylki í JavaScript. 950 00:58:01,280 --> 00:58:04,510 Þetta lítur mikið eins og JavaScript tengin array 951 00:58:04,510 --> 00:58:06,600 og í raun er það vegna þess að það er. 952 00:58:06,600 --> 00:58:09,710 JSON stendur fyrir JavaScript Object Ritháttur. 953 00:58:09,710 --> 00:58:15,020 Þetta er í grundvallaratriðum samþykkt snið til að flytja gögn fram og til baka. 954 00:58:15,020 --> 00:58:18,280 Hér í JSON mótmæla eða þetta JSON tengin array 955 00:58:18,280 --> 00:58:21,010 er að senda mér nokkur gögn um námskeið. 956 00:58:21,010 --> 00:58:25,110 >> Takkar þessu fylki eru hlutir eins og auðvitað sem hefur gildi cs50, 957 00:58:25,110 --> 00:58:29,140 og hérna getum við séð að ég geti haft gildi sem er fylki. 958 00:58:29,140 --> 00:58:32,730 Ég þarf ekki að gera hlutina eins og flokka út strengi og leita að kommum 959 00:58:32,730 --> 00:58:35,330 og gera brjálaður hluti eins og þessi. 960 00:58:35,330 --> 00:58:38,820 Vegna þess að þetta er lýst í JSON sniði, 961 00:58:38,820 --> 00:58:43,510 JavaScript og jQuery hafa nú þegar aðgerðir til að breyta streng 962 00:58:43,510 --> 00:58:48,140 sem lítur svona út JSON í raunveruleg JavaScript tengin array 963 00:58:48,140 --> 00:58:50,440 að við getum unnið með. 964 00:58:50,440 --> 00:58:56,660 Aðgerð sem er eins einfalt eins og að segja að ekki lengur er þetta skrá, suggest.php, 965 00:58:56,660 --> 00:58:59,040 senda mér til baka einfaldlega band texta, 966 00:58:59,040 --> 00:59:01,950 en ég veit að það er að fara að senda mig aftur JSON. 967 00:59:01,950 --> 00:59:06,760 Það þýðir að það JSON er hægt að breyta í Javascript tengin array. 968 00:59:06,760 --> 00:59:10,830 Og svo jQuery, ég vildi eins og þú að gera það fyrir mig. 969 00:59:10,830 --> 00:59:13,990 Það þýðir að þetta svar breytu hér, 970 00:59:13,990 --> 00:59:16,070 þetta er ekki lengur bara band. 971 00:59:16,070 --> 00:59:19,860 Þar sem við höfum sagt jQuery sem koma hér nokkur JSON, 972 00:59:19,860 --> 00:59:22,950 jQuery er að fara að vera klár nóg til að segja, "Þú vildir JSON?" 973 00:59:22,950 --> 00:59:26,890 "Ég ætla að breyta því í að tengin array fyrir þig." 974 00:59:26,890 --> 00:59:32,100 Skulum raunverulega taka a líta á the net flipann þegar við höfum quote4.js. 975 00:59:32,100 --> 00:59:35,400 Við munum breyta þessu og endurhlaða síðunni. 976 00:59:37,150 --> 00:59:41,250 Nú ætla ég að slá í a-a aftur. 977 00:59:41,250 --> 00:59:45,600 Ég hef gert nokkrar beiðnir um að suggest.php, en nú þetta svar, 978 00:59:45,600 --> 00:59:48,670 frekar en bara á band, það er JSON. 979 00:59:48,670 --> 00:59:52,580 Þannig að ég er með opinn hrokkið Brace sagði: "Hér kemur að tengin array." 980 00:59:52,580 --> 00:59:56,830 >> Fyrsti og eini lykillinn þessa tengin array kallast tákn, 981 00:59:56,830 --> 01:00:00,240 og þá er hér fylki af öllum viðeigandi táknum 982 01:00:00,240 --> 01:00:04,820 koma nú frá fjármálaráðherra Yahoo!, ekki frá þeim risa lista. 983 01:00:06,110 --> 01:00:10,630 Það er hvernig ég get einfaldlega byggja þetta AutoComplete tappi 984 01:00:10,630 --> 01:00:14,280 með nokkrum gögnum sem er ekki að koma frá staðnum skrá sem er nú þegar fyrirfram 985 01:00:14,280 --> 01:00:17,490 heldur eitthvað annað. 986 01:00:17,490 --> 01:00:21,160 Það kemur í ljós að við getum í raun nýtt sér tækni sem kallast JSONP, 987 01:00:21,160 --> 01:00:27,420 eða JSON með padding, sem mun útrýma þessum suggest.php milliliður. 988 01:00:27,420 --> 01:00:34,010 En í stað þess að gera það, við skulum í staðinn líta á hvernig ég get bætt þetta jafnvel meira. 989 01:00:34,010 --> 01:00:36,040 Mér finnst virkilega Typeahead ræsi er. Það er mjög gott. 990 01:00:36,040 --> 01:00:39,570 En við erum að fá góð í JavaScript og við viljum konar gera þetta sjálf, 991 01:00:39,570 --> 01:00:43,870 kannski taka a líta á hvað þessi tappi væri að gera. 992 01:00:43,870 --> 01:00:46,500 Við skulum ekki lengur nota það Typeahead hlutur, 993 01:00:46,500 --> 01:00:50,550 og við skulum reyna að gera þennan lista yfir tillögur fiskistofna sjálf. 994 01:00:50,550 --> 01:00:53,790 Hér í quote6.php við erum að fara að byrja á sama hátt. 995 01:00:53,790 --> 01:00:58,050 Í hvert skipti sem einhver tegund eitthvað, viljum við að gera AJAX beiðni. 996 01:00:58,050 --> 01:01:01,590 Þetta er svipað upprunalegu CS50 Fjármál Instant okkar. 997 01:01:01,590 --> 01:01:05,020 Frekar en að gera beiðni um að quote.php, 998 01:01:05,020 --> 01:01:08,530 við erum nú að gera beiðni um að þessi sama skrá og áður, þetta suggest.php, 999 01:01:08,530 --> 01:01:12,460 sem er bara að fara að draga gögn frá fjármálaráðherra Yahoo!. 1000 01:01:12,460 --> 01:01:19,480 >> Aftur erum við enn von JSON, en nú þar sem Typeahead er ekki að gera þetta fyrir okkur, 1001 01:01:19,480 --> 01:01:24,850 við þurfum líka að senda með gildi sem er inni í núverandi textareitinn. 1002 01:01:24,850 --> 01:01:28,120 Nú vitum við hvað ég á að biðja Yahoo! Finance fyrir, 1003 01:01:28,120 --> 01:01:34,160 og svo nú er hér virka sem við viljum framkvæma þegar beiðni lýkur. 1004 01:01:34,160 --> 01:01:36,520 Við höfum ekki viðbótina til að gera lista fyrir okkur, 1005 01:01:36,520 --> 01:01:40,630 svo hér þar sem við erum í raun að fara að byggja upp lista yfir tillögur. 1006 01:01:40,630 --> 01:01:44,850 Til að gera það, eins og í PHP við concatenated þessar stóru strings HTML 1007 01:01:44,850 --> 01:01:48,170 þá erum við að prenta þá, getum við gert sama nákvæmlega hlutur í JavaScript. 1008 01:01:48,170 --> 01:01:51,850 Fyrst við erum að fara að byrja á þessari band kallast tillögur, 1009 01:01:51,850 --> 01:01:54,590 og þetta band er bara að fara að vera smá HTML-kóða. 1010 01:01:54,590 --> 01:01:58,320 Við viljum það til að vera listi af hlutum, svo við erum að fara að byrja á þessari lista tag, 1011 01:01:58,320 --> 01:02:03,340 og nú erum við að fara að iterate yfir öll tákn sem var skilað aftur til okkar. 1012 01:02:03,340 --> 01:02:06,500 Mundu, því að við höfum sagt datatype: "JSON", þetta er ekki band. 1013 01:02:06,500 --> 01:02:09,500 Þetta er nú fylki fyrir okkur. Það er mjög svalt. 1014 01:02:09,500 --> 01:02:13,790 Við getum einfaldlega sagt: "Ég vil að þú bæta lista þáttur." 1015 01:02:13,790 --> 01:02:16,000 Við munum setja það inn í a þáttur í hlið þess, 1016 01:02:16,000 --> 01:02:19,030 við munum gefa það flokki tillögur þannig að við vitum hvað það er, 1017 01:02:19,030 --> 01:02:23,880 og nú er hér tákn sem við fengum til baka frá fjármálaráðherra Yahoo!. 1018 01:02:23,880 --> 01:02:27,230 >> Þegar við höfum búið til hluti fyrir hvert tákn sem við höfum fengið til baka, 1019 01:02:27,230 --> 01:02:30,100 við viljum bara að loka á lista. 1020 01:02:30,100 --> 01:02:33,040 Svo nú tillögur táknar þetta litla HTML brot 1021 01:02:33,040 --> 01:02:37,860 að þegar setja á síðuna er að fara til vera the listi af hlutum sem við erum að leita að. 1022 01:02:37,860 --> 01:02:41,070 Nú skulum raunverulega setja það á síðuna. 1023 01:02:41,070 --> 01:02:46,390 Til að gera sem ég hef reyndar búið til annan tóm div og ég hef gefið það kenni af ábendingum. 1024 01:02:46,390 --> 01:02:52,520 Líkt við setjum innihald div sem myndi sýna að verð á hlutabréfum gögn, 1025 01:02:52,520 --> 01:02:58,600 við nú bara að setja efni þessarar div til hvað þetta band er 1026 01:02:58,600 --> 01:03:00,290 sem inniheldur þessi tákn. 1027 01:03:00,290 --> 01:03:07,650 Með því að nota þennan HTML aðferð, þetta uppástungur breyta, þetta band er band af HTML. 1028 01:03:07,650 --> 01:03:13,490 Ég vil að þú að taka þessi HTML og setja það inn í div heitir tillögur. 1029 01:03:13,490 --> 01:03:15,680 Við höfum bara bætt eitthvað við DOM núna. 1030 01:03:15,680 --> 01:03:20,360 Við höfum bætt við nokkrum nýjum þætti til the DOM að við getum nú birt á síðunni. 1031 01:03:20,360 --> 01:03:22,540 Við skulum sjá hvað þetta lítur út. 1032 01:03:22,540 --> 01:03:29,110 Ef við hlaða í quote6 og nú erum við að koma til baka, 1033 01:03:29,110 --> 01:03:34,480 nú þegar ég byrja að skrifa AAPL, höfum við ekki lengur að ræsi AutoComplete, 1034 01:03:34,480 --> 01:03:38,470 en við höfum nú þennan lista sem við gert okkur. 1035 01:03:38,470 --> 01:03:43,230 Þetta er svolítið uglier en ræsi Typeahead, til dæmis, 1036 01:03:43,230 --> 01:03:45,580 en það er að leyfa okkur að gera eitt annað hlutur. 1037 01:03:45,580 --> 01:03:48,660 Þegar við vorum að leita á þeim ræsi tappi, 1038 01:03:48,660 --> 01:03:52,590 sáum við að þegar við autocompleted, eitt af AutoComplete gildi var AAPL. 1039 01:03:52,590 --> 01:03:54,820 Það gæti ekki verið svo hjálpsamur. 1040 01:03:54,820 --> 01:03:59,100 Sem notandi, gæti ég ekki strax viðurkenna allar birgðir tákn. 1041 01:03:59,100 --> 01:04:02,370 Það sem ég er sennilega líklegri til að viðurkenna eru raunveruleg nöfn félagsins. 1042 01:04:02,370 --> 01:04:05,310 Svo myndi það ekki vera mjög hjálpsamur ef frekar en að segja AAPL 1043 01:04:05,310 --> 01:04:07,970 þetta segir eitthvað eins og Apple Inc 1044 01:04:07,970 --> 01:04:12,240 Þar sem við höfum velt þessu sjálf, við getum mjög auðveldlega gert það. 1045 01:04:12,240 --> 01:04:17,630 Við skulum opna síðasta vitna skrá okkar hér, svo quote7. 1046 01:04:17,630 --> 01:04:23,200 >> Sami hlutur. Ég hef bara búið til annan PHP skrá sem mun skila okkur meira en bara tákn. 1047 01:04:23,200 --> 01:04:25,550 Það mun einnig gefa okkur aftur nöfn félagsins. 1048 01:04:25,550 --> 01:04:28,150 Og svo við erum að gera það sama. Við erum að gera AJAX beiðni. 1049 01:04:28,150 --> 01:04:32,370 Þegar beiðni hefur lokið, við erum að fara að framkvæma þessa aðgerð hér, 1050 01:04:32,370 --> 01:04:36,520 og þessi aðgerð er að fara að byggja upp stór band af þáttum. 1051 01:04:36,520 --> 01:04:39,520 En munurinn hér er að verðmæti þessara skráa er ekki lengur bara tákn, 1052 01:04:39,520 --> 01:04:45,370 það er nú nafn. 1053 01:04:45,370 --> 01:04:47,070 Þannig að við höfum eitt lítið vandamál. 1054 01:04:47,070 --> 01:04:51,590 Þegar við notum útlit okkar, við þurfum einhvern veginn að fara framhjá það tákn. 1055 01:04:51,590 --> 01:04:54,950 Við getum ekki framhjá útlit eitthvað eins og Microsoft Corporation. 1056 01:04:54,950 --> 01:04:57,900 Við þurfum að gefa það MSFT. 1057 01:04:57,900 --> 01:05:01,640 Þegar við erum að skrifa HTML, höfum við fullt af fallegu innbyggðum eiginleika. 1058 01:05:01,640 --> 01:05:05,440 An A gæti hafa tengst við það href eða flokki. 1059 01:05:05,440 --> 01:05:08,230 En það sem við þurfum í raun er nú á öllum þessum tenglum 1060 01:05:08,230 --> 01:05:11,120 að hafa birgðir tákn í tengslum við það. 1061 01:05:11,120 --> 01:05:14,240 Það er ekki innbyggður-í HTML eiginleiki fyrir tákn lager, 1062 01:05:14,240 --> 01:05:21,010 en sem betur fer, HTML5 leyfa okkur að búa til eigin eiginleika okkar til að vera það sem við viljum. 1063 01:05:21,010 --> 01:05:24,620 Með því að segja gögn-tákn, hef ég kynnt nýja eiginleiki 1064 01:05:24,620 --> 01:05:29,350 Ég hét bara gert upp, og þetta er allt í lagi vegna þess að ég alltaf talað það með þessum gögnum. 1065 01:05:29,350 --> 01:05:34,270 Við ætlum að geyma inni þar tákn af lager núna. 1066 01:05:34,270 --> 01:05:39,590 Hvað það þýðir er að jafnvel þó að við erum að sýna gildi nafni félagsins 1067 01:05:39,590 --> 01:05:43,380 inni autocompleteoff okkar, við erum enn að muna tákn 1068 01:05:43,380 --> 01:05:47,110 sem er tengd við hvert fyrirtæki. 1069 01:05:47,110 --> 01:05:50,350 Leiðin sem við erum að gera sem er inni í þessu frumefni sjálfs. 1070 01:05:50,350 --> 01:05:52,930 Svo þýðir að við þurfum að gera eitt breytingar. 1071 01:05:52,930 --> 01:05:57,090 Þegar við smellur það núna, við þurfum að raunverulega taka kostur af the tákn eiginleiki 1072 01:05:57,090 --> 01:06:00,220 frekar en bara gildi hennar. 1073 01:06:00,220 --> 01:06:05,010 Ef við upp aftur, hengja við atburð dýraþjálfari fyrir öllu. 1074 01:06:05,010 --> 01:06:09,280 Þegar einn af þessum tillögum er smellt nú, langar að gera eitthvað. 1075 01:06:09,280 --> 01:06:13,160 Það sem ég vil gera er að breyta gildi þess inntak kassi. 1076 01:06:13,160 --> 01:06:16,100 Nú vil ég að setja þessa sömu Val virka. 1077 01:06:16,100 --> 01:06:21,060 >> Svo án þess að rök í Val skilar þér hvað er nú þegar í textareitinn, 1078 01:06:21,060 --> 01:06:27,070 en ef þú gefur það band, er það að fara að taka þessi band og setja það inn í textareitinn. 1079 01:06:27,070 --> 01:06:28,980 Ég er að velja textareitinn sína á sama hátt. 1080 01:06:28,980 --> 01:06:31,230 Nafn það er tákn innan mynd-vitna. 1081 01:06:31,230 --> 01:06:37,540 Nú er ég að senda það gildi eiginleika gagna-tákn. 1082 01:06:37,540 --> 01:06:41,560 Þessi hlutur hér er nýtt, þetta $ (this). 1083 01:06:41,560 --> 01:06:46,850 Hvað er átt við er þáttur sem var smellt. 1084 01:06:46,850 --> 01:06:50,880 Við sjáum hér að við erum ekki að festa smella atburði 1085 01:06:50,880 --> 01:06:54,690 á hvert frumefni með flokki tillögu fyrir sig. 1086 01:06:54,690 --> 01:06:57,140 Frekar, erum við að nálgast þetta svolítið öðruvísi. 1087 01:06:57,140 --> 01:07:01,700 Í stað þess að við erum að segja þegar nokkuð inni þessa tillögur div, 1088 01:07:01,700 --> 01:07:04,080 sem er mundu bara gámur fyrir þeim lista, 1089 01:07:04,080 --> 01:07:10,150 ef eitthvað inni þessa div er smellt og það hefur flokk ábendinguna, 1090 01:07:10,150 --> 01:07:13,000 Ég vil þessi atburður til að skjóta. 1091 01:07:13,000 --> 01:07:17,490 Í grundvallaratriðum hvað þetta þýðir að við getum gert er að við getum endurnýtt þessa sömu atburði dýraþjálfari 1092 01:07:17,490 --> 01:07:20,000 fyrir allt það í listanum. 1093 01:07:20,000 --> 01:07:22,080 Þannig að við þurfum ekki að hafa einn atburð dýraþjálfari í fyrsta þáttur 1094 01:07:22,080 --> 01:07:24,550 og annað atburður dýraþjálfari fyrir annað frumefni. 1095 01:07:24,550 --> 01:07:29,880 Við getum í staðinn sagt, "Ég vil að sama atburður dýraþjálfari að taka til allt í listanum mínum." 1096 01:07:29,880 --> 01:07:34,420 En við þurfum einhvern veginn að vita hver þáttur var smellt. 1097 01:07:34,420 --> 01:07:38,450 Þetta "þetta" keyword táknar bara það. 1098 01:07:38,450 --> 01:07:42,360 Þetta er hlutur sem var bara smellt af notanda. 1099 01:07:42,360 --> 01:07:47,680 Ef ég smellti bara 3 hlekk, þetta táknar þáttur í því 3. hlekkur, 1100 01:07:47,680 --> 01:07:51,670 sem þýðir að ég get eiginleiki þess, gögn-tákn, 1101 01:07:51,670 --> 01:07:57,760 sem við vitum að innihalda táknið sem er í tengslum við fyrirtæki sem ég smellti bara. 1102 01:07:57,760 --> 01:08:04,550 Ef við að hoppa til baka fjármál síðuna okkar, 1103 01:08:04,550 --> 01:08:08,580 við sjáum nú að þegar ég byrja að skrifa eitthvað eins og MSFT, 1104 01:08:08,580 --> 01:08:11,220 við erum ekki lengur að fá bara lager tákn, 1105 01:08:11,220 --> 01:08:13,720 við erum nú að fá raunverulegt fyrirtæki. 1106 01:08:13,720 --> 01:08:20,410 En þegar ég smelli á einn af þessum félögum, 1107 01:08:20,410 --> 01:08:25,180 sjáum við að við erum í raun populating textareitinn ekki með nafni fyrirtækisins 1108 01:08:25,180 --> 01:08:29,850 en hvað var geymt inni á þessum gögnum eiginleika. 1109 01:08:29,850 --> 01:08:32,880 Og svo ef ég skoða í raun einn af þessum þáttum með því að hægri smella á það 1110 01:08:32,880 --> 01:08:36,200 og smella Skoðið frumefni, getum við í raun sjá hvað þetta lítur út. 1111 01:08:36,200 --> 01:08:40,290 >> Mundu að þetta er eitthvað sem við bjuggum inni í því fyrir lykkju 1112 01:08:40,290 --> 01:08:42,649 þegar við vorum að byggja upp að streng HTML. 1113 01:08:42,649 --> 01:08:47,870 Við sjáum hér að þessi gögn-tákn hefur gildi MSFT, sem er frábært. 1114 01:08:47,870 --> 01:08:49,189 Það er það sem við vorum að búast. 1115 01:08:49,189 --> 01:08:53,170 Það er tákn og það er hvernig við fengum á gildi sem við þurftum að nota 1116 01:08:53,170 --> 01:08:56,140 innan þessa textareitinn. 1117 01:08:56,140 --> 01:08:58,850 Það er nóg að vitna í mynd vegna þess að það er voða leiðinlegt. 1118 01:08:58,850 --> 01:09:02,990 Við skulum bara gera sumir fljótur aukahluti á eignasafni síðuna okkar. 1119 01:09:02,990 --> 01:09:08,109 Ef þú hefur notað CS50 Finance um stund og þú byrjar að kaupa og selja mikið af hlutabréfum, 1120 01:09:08,109 --> 01:09:11,300 loksins þessari töflu er að fara að fá nokkuð stór, 1121 01:09:11,300 --> 01:09:13,850 og þú ert að fara að vilja að birgðir auðkenni, að sjálfsögðu. 1122 01:09:13,850 --> 01:09:20,350 Þegar borðið er mjög, mjög stór, það gæti verið gagnlegt fyrir notendur að reyna að leita á henni. 1123 01:09:20,350 --> 01:09:23,290 Inni í the leita kassi ef ég byrja að skrifa eitthvað eins og Disney 1124 01:09:23,290 --> 01:09:26,359 og útlit fyrir minn Mikki Mús lager, getum við séð að borðið er nú sía 1125 01:09:26,359 --> 01:09:28,189 miðað við það sem ég gafst bara inn 1126 01:09:28,189 --> 01:09:31,640 Þessi virkni lítur ofur flókið, en það er mjög, mjög auðvelt 1127 01:09:31,640 --> 01:09:33,859 með jQuery og JavaScript. 1128 01:09:33,859 --> 01:09:39,189 Þetta portfolio.php skrá inniheldur JavaScript skrá sem kallast portfolio.js. 1129 01:09:39,189 --> 01:09:41,130 Við skulum taka a líta á það. 1130 01:09:41,130 --> 01:09:44,890 Svo HTML, JS, eigu. 1131 01:09:44,890 --> 01:09:49,210 Hér er þar sem við erum að gera að leita á borðinu. 1132 01:09:49,210 --> 01:09:52,750 Það fyrsta sem ég þarf að gera er að hengja atburður dýraþjálfari til að textareitinn 1133 01:09:52,750 --> 01:09:55,760 vegna þess að við vitum að við viljum að sía virka okkar til að skjóta 1134 01:09:55,760 --> 01:09:59,800 hvert skipti sem notandi þrýstir eitthvað vegna þess að við höfum ekki tíma fyrir hnappa leit. 1135 01:09:59,800 --> 01:10:03,000 The fyrstur hlutur sem við þurfum að gera er að reikna út það sem notandinn er að leita að, 1136 01:10:03,000 --> 01:10:04,780 bara eins og við gerðum áður. 1137 01:10:04,780 --> 01:10:11,320 Þetta leitarorð er átt við núverandi frumefni notandi er samskipti við. 1138 01:10:11,320 --> 01:10:14,070 >> Þar sem notandinn er að samskipti við the leita kassi, 1139 01:10:14,070 --> 01:10:17,020 $ Þetta táknar the leita kassi, 1140 01:10:17,020 --> 01:10:21,820 svo gefur this.val okkur hvað er inni í the leita kassi sem notandi er að skrifa. 1141 01:10:22,810 --> 01:10:27,320 Svo, nú það sem við viljum gera er að við viljum iterate yfir allar línur 1142 01:10:27,320 --> 01:10:29,240 inni á borði okkar. 1143 01:10:29,240 --> 01:10:35,630 Til að velja allar línur í töflunni okkar, gaf ég þeirri töflu kenni af eignasafni borð, 1144 01:10:35,630 --> 01:10:39,060 og hver röð er táknuð með TR frumefni, 1145 01:10:39,060 --> 01:10:42,080 þannig að þetta val er að fara að koma aftur til mín stór array 1146 01:10:42,080 --> 01:10:44,370 á allar línur í töflunni minni. 1147 01:10:44,370 --> 01:10:47,010 Nú vil ég að iterate yfir það fylki. 1148 01:10:47,010 --> 01:10:52,390 Ég gat þér fyrir lykkju, en jQuery raun gefur okkur gott fall sem kallast "hver." 1149 01:10:52,390 --> 01:10:55,220 Hvað hver gerir er hver tekur einn rök, 1150 01:10:55,220 --> 01:10:57,090 og þessi röksemd er fall. 1151 01:10:57,090 --> 01:11:02,760 Hvað það er að fara að gera er að það er að fara að beita þessi aðgerð að sérhver frumefni inni á þessum lista. 1152 01:11:02,760 --> 01:11:05,550 Þessi aðgerð tekur eitt rifrildi sem er E, 1153 01:11:05,550 --> 01:11:10,090 og þegar þessi aðgerð er framkvæmd, það e er að fara að skipta við fyrstu röðinni, 1154 01:11:10,090 --> 01:11:12,070 þá seinni röðinni, og svo þriðja röð. 1155 01:11:12,070 --> 01:11:15,150 Með þessum hætti, þetta er það sama og að keyra á fyrir lykkja 1156 01:11:15,150 --> 01:11:21,360 og vangaveltur núverandi þáttur byggt á vísitölu innan á þinni fyrir lykkju. 1157 01:11:21,360 --> 01:11:24,750 Á hverjum endurtekning, fyrir hvern þessara þátta í töflunni, 1158 01:11:24,750 --> 01:11:30,560 Mig langar að athuga hvort texta frumefni - texta klefi inni í röð - 1159 01:11:30,560 --> 01:11:33,130 passar það sem ég er að leita að. 1160 01:11:33,130 --> 01:11:36,390 Þetta stór langan streng af skipunum er hvernig ég gæti gert það. 1161 01:11:36,390 --> 01:11:40,900 Fyrst, aftur, þetta vísar nú til - vegna þess að það er inni í nýtt hlutverk - 1162 01:11:40,900 --> 01:11:45,020 þetta er nú núverandi línu í töflunni. 1163 01:11:45,020 --> 01:11:47,340 Ég vil taka núverandi röð í töflunni, 1164 01:11:47,340 --> 01:11:49,950 og ég vil fá öll börn hennar. 1165 01:11:49,950 --> 01:11:51,940 Mundu að DOM er hierarchic tré, 1166 01:11:51,940 --> 01:11:54,200 sem þýðir að þættir hafa fjölda barna. 1167 01:11:54,200 --> 01:12:00,180 >> Þetta. Börn virka er að fara að koma aftur til mín aftur á fjölbreytta alla þá þætti 1168 01:12:00,180 --> 01:12:03,240 sem eru börn, í þessu tilfelli, röð í töflunni. 1169 01:12:03,240 --> 01:12:07,150 Þetta er bara einfaldlega frumur inni í röð. 1170 01:12:07,150 --> 01:12:09,230 Ég vil bara að leita á fyrsta reitnum. 1171 01:12:09,230 --> 01:12:13,090 Þetta. Fyrsta aðgerð segir gefa mér fyrsta frumefnið í því fylki. 1172 01:12:13,090 --> 01:12:17,070 Þá segir textinn virka fá mér hvað nákvæmlega er inni á þeim reit 1173 01:12:17,070 --> 01:12:19,530 þar sem ég vil að leita á þeim texta. 1174 01:12:19,530 --> 01:12:21,040 Að lokum, við skulum breyta því í lágstafi 1175 01:12:21,040 --> 01:12:23,940 svo við getum gert texta ræða særandi fyrirspurnum. 1176 01:12:23,940 --> 01:12:29,990 Að lokum viljum við sjá hvort það band inni í töflu inniheldur strenginn sem við erum að leita að. 1177 01:12:29,990 --> 01:12:32,980 The indexOf virka á JavaScript er bara þessi. 1178 01:12:32,980 --> 01:12:37,060 Það segir okkur hvort þetta band inniheldur annað band. 1179 01:12:37,060 --> 01:12:40,150 Ef það er satt að klefi inniheldur það sem ég er að leita að, 1180 01:12:40,150 --> 01:12:42,140 þá vil ég vera viss um að það er sýnt. 1181 01:12:42,140 --> 01:12:45,330 Þátturinn aðferð mun segja, "Sýna þáttur." 1182 01:12:45,330 --> 01:12:50,350 Ef þetta er ekki raunin, þá þýðir það það sem ég er að leita að er ekki að finna 1183 01:12:50,350 --> 01:12:53,550 í röðinni, þannig að ég vil að fela er frá notanda. 1184 01:12:53,550 --> 01:12:59,240 Það nær að ágætur sía gildi þar ekki lengur við að sjá alla töfluna. 1185 01:12:59,240 --> 01:13:01,480 Ef þú hefur áhuga á hvernig á að gera þetta auðkenni eins og heilbrigður, 1186 01:13:01,480 --> 01:13:04,180 við setjum uppruna netinu. En það er mjög einfalt. 1187 01:13:04,180 --> 01:13:09,860 JQuery hefur ógnvekjandi aðferðir fyrir þessar hreyfimyndir og notfæra CSS eignir. 1188 01:13:09,860 --> 01:13:11,020 Svo, það er það fyrir mig. 1189 01:13:11,020 --> 01:13:15,560 >> Hvað liggur þá á undan? Eins og þú munt sjá í nokkra daga, endanleg verkefni Tillagan er vegna. 1190 01:13:15,560 --> 01:13:17,730 Endanleg verkefni Tillagan mun spyrja þig nokkurra spurninga, 1191 01:13:17,730 --> 01:13:19,420 en meðal þeirra munu vera þrír áfangar - 1192 01:13:19,420 --> 01:13:22,840 einn "góður" áfangi, einn betri áfangi, og einn besta. 1193 01:13:22,840 --> 01:13:25,870 Hugmyndin er í raun að hjálpa ykkur að setja væntingar þínar 1194 01:13:25,870 --> 01:13:29,160 þannig að litlu að þú verður ánægð með úttak síðasta verkefni 1195 01:13:29,160 --> 01:13:32,060 og það mun vera "góður" að svo miklu leyti sem þér er annt. 1196 01:13:32,060 --> 01:13:34,540 En svo í hag að fá þig til að ná bara smá í eitthvað betra 1197 01:13:34,540 --> 01:13:37,680 eða eitthvað besta, munum við einnig svona ýta þér í átt að þessi eins og heilbrigður. 1198 01:13:37,680 --> 01:13:40,660 The CS50 Hack-a-Thon, á meðan er, í nokkrar vikur. 1199 01:13:40,660 --> 01:13:44,340 Venjulega, við gerum þetta á grundvelli happdrætti grunni vegna áhuga, 1200 01:13:44,340 --> 01:13:47,680 en líkurnar eru við munum taka nokkur hundruð af okkur í rútum skutla frá Harvard Square 1201 01:13:47,680 --> 01:13:51,540 niður í Kendall Square þar sem Microsoft hefur fallega leikni viðeigandi kallast "nörd" - 1202 01:13:51,540 --> 01:13:53,830 New England Rannsóknir og þróun Center. 1203 01:13:53,830 --> 01:13:56,380 Við munum fá það í kringum 8:00 Við munum hafa mat. 1204 01:13:56,380 --> 01:13:58,160 Um 01:00 við munum hafa sumir meiri mat. 1205 01:13:58,160 --> 01:14:02,150 Um 05:00 Ef þú ert enn vakandi við munum fara yfir á IHOP eða taka þig aftur til háskólasvæðinu. 1206 01:14:02,150 --> 01:14:04,380 Markmiðið er að kafa í lokaverkefnum 1207 01:14:04,380 --> 01:14:06,190 hlið við skólafélaga og starfsfólk. 1208 01:14:06,190 --> 01:14:08,280 Þá er nokkrum dögum síðar CS50 Fair, 1209 01:14:08,280 --> 01:14:10,990 sem er í raun ætlað að vera tækifæri fyrir ykkur til að sýna vinnu þína 1210 01:14:10,990 --> 01:14:12,700 og árangur fyrir önn 1211 01:14:12,700 --> 01:14:15,610 en að nudda öxlum við hvert annað og fá tilfinningu fyrir því hvað allir gerðu. 1212 01:14:15,610 --> 01:14:17,850 Með því að segja, margir þökk sé Tommy og Jósef 1213 01:14:17,850 --> 01:14:19,960 og við munum sjá þig á mánudaginn. 1214 01:14:19,960 --> 01:14:24,070  [Lófaklapp]