[Powered by Google Translate] [Week 9, Ikompli] [David J. Malan - Università ta 'Harvard] [Dan huwa CS50. - CS50.TV] Dan huwa CS50. Dan huwa l-aħħar ta 'ġimgħa 9. Grazzi ħafna. Fl-aħħarnett. Ġimgħa 9. Sibt. Illum aħna tkompli konversazzjoni tagħna dwar l-ipprogrammar tal-web b'ħarsa lejn il-proġett finali, mhux għaliex inti għandek tagħmel xi ħaġa fuq l-internet għall-proġetti finali iżda għaliex jew għal proġetti finali jew wara CS50 din hija ċertament l-direzzjoni li fiha software modern huwa għaddej. And yet mhuwiex attwalment ħaġa faċli. Fil-fatt, waħda mill-affarijiet aktar diffiċli biex tagħmel huwa l-aspett tad-disinn. Per eżempju, mid-disinn rridu nfissru attwalment jkollna l-user interface jew l-utent esperjenza tajba. I daresay - u nafu minn sett problema riċenti meta ftit inti imxandra gripes tiegħek dwar xi biċċa ta 'softwer jew hardware li infuriates inti, kemm jekk fuq il-kampus jew off - hemm ħafna ta 'siti hemmhekk, hemm ħafna ta' hardware hemmhekk, dan it-tip ta 'sucks. Iżda r-realtà hi li tagħmel affarijiet li huma faċli li jintużaw għadhom huma madankollu qawwija hija sfida diffiċli ħafna. So għal-lum I talab Joseph u Tommy jissieħbu me up here sabiex inkunu nistgħu ikollhom konverżazzjoni, kemm dwar id-disinn u liema tipi ta 'proċessi ta' ħsieb għandha tibda għaddejja ras meta inti disinn proġetti finali tiegħek, jagħmlu sforz fil-futur tiegħek. U mbagħad bl-għajnuna Tommy s aħna ser tħares lejn uħud mill-elementi ta 'implementazzjoni. Kif tista ikollok xi ftit viżjoni fuq il-karta jew fil-moħħ tiegħek inti tista 'mbagħad tesegwixxi programmatically billi tuża xi wħud mill-teknoloġiji u t-tekniki konna biss beda jitkellem dwar, jiġifieri JavaScript u xi ħaġa anke aktar ġodda, jiġifieri Ajax, JavaScript mhux sinkroniku. Li jippermetti li inti toħloq l-dinamika aktar ta 'interface għall-utent billi fetching data aktar u aktar progressivament minn server. Allura aħna ser tara xi wħud minn dawk siltiet kif ukoll illum. Bħala twarrib, jekk inti interessat fil-konċentrazzjoni fil-xjenza tal-kompjuter jew minoring fix-xjenza tal-kompjuter, taf li din il-ġimgħa f'nofsinhar fil Maxwell Dworkin 221 se jkun hemm avveniment pizza fejn tista 'titgħallem daqsxejn aktar dwar ix-xjenza tal-kompjuter. Fit-triq tiegħek l-bieb tal-lum inti ser tkun kapaċi li jtellgħu gwida mhux uffiċjali għas CS fil-Harvard. Aħna ser poġġih fuq il-bottijiet Trash barra fl-għoli tal-qadd b'tali mod li jekk inti tixtieq li grab din u jitgħallmu ftit aktar dwar CS, li se jkun hemm għalik kif kienet fil-ġimgħa 0. Ukoll jekk inti tixtieq li jingħaqdu magħna għal CS50 ikla din il-ġimgħa fi 1:15, ras għal cs50.net/lunch. Mingħajr aktar dewmien, I jagħtuk sħabi tagħlim Joseph Ong. Hi. [Applause] Grazzi. L-ewwel darba I tgħallmu dwar id-disinn kien fi klassi hawn imsejjaħ CS179. Il-professur fil-ħin qalulna l-istorja dwar ieħor professur li marru għall-lukanda u użati l-viti. Jista 'xi ħadd tell me dak li pumi 2 fuq ix-xellug u tal-lemin tagħmel? [Student] Sħun u kiesaħ. >> Hot u kiesaħ. Tajba. X'tista normalment jistenna, id-dritt? Dan professur wara li tuża l-faucet trid tieħu doċċa, u hu tipproċedi biex jużaw dan. Huwa jaħseb ix-xellug u l-ġnub dritt huma għall sħun u kiesaħ, id-dritt? Iżda jista 'xi ħadd tell me dak li dawn fil-fatt jagħmlu? Kwalunkwe idejn? [Rispons istudent inaudible] >> Wieħed mis-suġġerimenti huwa? [Inaudible student rispons] Temperatura >>? Allura wieħed minnhom jikkontrolla temperatura u l-kontrolli l-oħra? >> [Student] pressjoni Ilma. Pressjoni Ilma. Tajba. Dan professur mixjiet fil dan u, ħsieb huma jikkontrollaw sħun u kiesaħ, dawriet-dritt wieħed, li jidhirlu hija għal hot, it-triq kollha sa minħabba li huwa jixtieq li tieħu doċċa sħun. Ukoll, dawn ma verament jaqblu, hekk hu gets din l-esperjenza ma tantx gost li jkunu fil-doċċa kiesħa, u aħna lkoll nafu dak li jħoss simili. Dan huwa eżempju ta 'difett disinn. What I tfisser li huwa aspettattiva tiegħu mill-faucet ma jaqblux ma 'dak li ħareġ mill-doċċa, li huwa tip ta sfortuna għalih. Allura dan huwa eżempju ta 'difett disinn li jiġri fil-ħajja reali. Iżda naraw kull xorta ta 'dawk l-oħra ukoll. Aħna probabbilment mhux fannijiet tas-sistema MBTA. Din hija sistema subway attwalment f'Londra, li tgħid, "Dan buttuna mhux fl-użu." Għaliex huwa anki fuq hemmhekk? Għalfejn nagħmlu anki kura? Meta ġejt a kid, ikun dak sofistikati ta 'teknoloġija fid-dar, kull meta l-kompjuter ikun tiġrifa, mom tiegħi come lili, juru me dan ta 'l-iskrin u tistaqsi lili dak li ġara. Anke I do not know liema dan ifisser. [Rires] What? [Daħk] Kultant naħsbu simili iżviluppaturi ta 'softwer huma biss trejjix us. Bħala utenti aħna simili, "X'inhu jiġri? Xi ħadd tgħidilna." Dan kollu jaqa 'għal kwistjoni ta' disinn. Disinn, kif nistgħu naraw, mhux purament dwar estetika, mhuwiex dwar kif l-affarijiet jidhru. Naraw hawnhekk li dan ftit pop-up minn hawn attwalment jistenna pretty sbieħ. Hija għandha dell qatra fl-isfond, hija għandha radiuses fruntieri għaddejjin. Huwa tip ta 'pretty. Mhuwiex verament mfassla tajjeb għaliex mhuwiex faċli ħafna. Li ftit pop-up li jitla 'ma verament tagħti me xi informazzjoni dwar x'inhu għaddej, ma tell me xejn kif l-utent dwar kif tirkupra minn dan l-iżball. Aħna tixtieq li jaħsbu dwar affarijiet li d-disinn ma jkunx. L-ewwel, mhuwiex estetika. Huwa wkoll mhux mili app tiegħek ma 'tunnellati ta' funzjonalità bla bżonn. Jekk int restorant Tajlandiż, inti probabilment ma tridx tkun ta 'dentist fl-istess ħin. U ma Mistoqsijiet Facebook, mhux li ħafna nies użati u ma kienx verament fil-qalba ta 'dak li kienu bini. U għalhekk huwa sbieħ li wieħed jaħseb dwar mhux tant il-kwantità ta 'l-affarijiet li int tqegħid għall-applikazzjoni tiegħek iżda l-kwalità u kif int tagħmel dik l-esperjenza aħjar għall-utent billi fil-fatt it-titjib fuq dak li diġà għandek. Fil-qosor, id-disinn jgħidilna dak li għandna nibnu. Per eżempju, jekk aħna qed jibnu xi ħaġa li jgħidilna tfittex affarijiet up, bħall-Google, per eżempju, għandna nagħmlu l-affarijiet b'mod li teħtieġ l-utent biex jieħdu lottijiet ta 'klikks biex jiksbu dak li jridu, jew għandna nagħmlu dan b'mod, per eżempju, ma 'Google Instant jew AutoComplete li tikri us tikseb riżultati tagħna aktar malajr? Inġinerija tinvolvi, bħal Tommy se nuruk, attwalment bini tagħha. Hemm ħafna tipi ta 'disinn. Per eżempju, jekk int bini xi ħaġa li tuża xi ħaġa f'pajjiż Tielet Dinja fejn ma jkunx hemm l-elettriku ħafna jew li t-teknoloġija ħafna, inti għandek disinn dak int bini b'tali mod li faċilment jagħti aċċess lill-poplu hemmhekk. Imma liema tipi ta 'deċiżjonijiet oħra tad-disinn jista' jkun hemm jew tista 'tkun involuta fil xi ħaġa bħal din? Yeah. Nara idejn. [Inaudible student rispons] Dritt >>. Eżattament. L-aċċessibilità hija ħaġa waħda. Ħafna nies ma jaħsbu dwar, "Xi ngħidu dwar l-utenti tiegħi?" bħall-estremi ta 'kemm l-ispettru. Għandi l-utenti li jista 'jkollhom diżabilitajiet li jien ma jaħsbu dwar u jien biss jaħsbu dwar tfassil għall-utent ġenerali. L-Internet huwa aċċessibbli minn kulħadd illum, u I għandhom iħejju għal dawk in-nies ukoll. Liema tipi ta 'deċiżjonijiet oħra tad-disinn tista' inti tagħmel? Iva. >> [Student]. Cost Cost. Tajjeb ħafna. Ħaġa oħra nistgħu tibbaża d-deċiżjonijiet tad-disinn tagħna fuq huma l-ispejjeż. Jekk aħna qed negozju, inti trid tibni xi ħaġa li ma tieħu spiża ħafna biex jipproduċu iżda jistgħu jbiegħu bi prezz partikolarment għoli jew tista 'tikseb us xi profitt. Dawn huma t-tipi kollha differenti ta 'disinn, iżda meta aħna qed jibnu xi ħaġa fuq l-Internet jew meta aħna qed jibnu xi ħaġa li probabbilment ma ispiża li ħafna biex jibnu issa, bħall-applikazzjonijiet tal-Internet - inti ma għandekx tarmi kapital ħafna fis dan sabiex jagħmlu xi ħaġa li attwalment xogħlijiet - dak li aħna qed aktar inkwetati dwar huwa l-utent esperjenza. Aħna nsejħu dan id-disinn utent ċċentrata. Essenzjalment dak id-disinn utent ċċentrata jinvolvi qed tqiegħed yourselves fl-żraben ta 'l-utenti tiegħek. Jekk xi ħadd jiffirma għall-dak li jien bini, li ħadthom ovvjament jaslu għal applikazzjoni partikolari tiegħi bil-għan fil-ħsieb, bil-kompitu li jridu biex jitlesta. U l-impjieg tiegħek mhux biss biex tgħinhom ilestu dan il-kompitu iżda biex tgħinhom ilestu dan il-kompitu b'mod li huwa effiċjenti, intuwittivi, u, kif xi persuna qal hemmhekk,. aċċessibbli Xi tfisser effiċjenza ma? Effiċjenza ifisser kif malajr ma l-utent tiegħi tlesti l-kompitu mogħti interface tiegħi. Ma jieħdu lottijiet ta 'klikks għalihom li jiksbu minn post għall-ieħor? Huwa tedious? Do huma għandhom iwettqu lottijiet ta 'kompiti ripetittivi? Aħna rridu li jagħmlu dan il-proċess effiċjenti kemm jista 'jkun sabiex dawn ma jkollhom jagħmlu dawn it-tipi ta 'affarijiet. Fir-intuitiveness, jiġifieri, per eżempju, jekk utent jistenna up interface tiegħi, huwa faċli għalihom li jiksbu minn post għall-post? Huwa faċli għalihom biex insemmu dak li għandhom ikklikkja fil-interface tiegħi sabiex għalihom biex jintlaħaq l-għan jew kompitu li jkunu jridu jilħqu? U fl-aħħarnett, bħala persuna waħda qal hemmhekk, l-aċċessibilità hija importanti ħafna. [Kelliem maskili] Niġu għall-aċċessibilità għal affarijiet bħall-viżjoni, simili kif nista attwalment disinn xi ħaġa għal xi ħadd li hu blind? Oh. Għall-persuni li ma tistax tara xejn, aħna għandna xi ħaġa imsejħa qarrejja iskrin. Dak li għandek tagħmel hu li għandek tibni website tiegħek b'mod li, per eżempju, teknoloġiji partikolari dak li aħna sejħa - Hemm ħafna affarijiet issa. Naħseb li hemm qarrejja iskrin imsejħa JAWS. A lott ta 'dawn l-affarijiet jiddependu fuq dak li nsejħu regoli żona sabiex jinqara lill-utent dak li huwa preżenti fuq il-paġna. Għal dawk in-nies li ma tistax tara, inti għandek bżonn tagħmel ċert li dawn il-qarrejja iskrin jistgħu attwalment jittellgħu l-kontenut fuq il-paġna u tista 'effettivament juru l-utenti tiegħek, jekk inti ma tistax tara, għall-inqas inti xorta tista 'tifhem il-kontenut fuq il-paġna. Yeah. Okay. Biżżejjed jitkellem dwar disinn tajjeb. Ejja nitkellmu dwar id-disinn ħażin. Dawn huma affarijiet li inti m'għandekx tagħmel. Jista 'xi ħadd tell me dwar l-esperjenzi tagħhom ma' Craigslist u dak li jaħsbu huwa mhux daqshekk kbir dwar dan id-disinn? Iva. >> [Student] Naħseb li hemm kliem wisq f'qasam wieħed. Kliem wisq, id-dritt? Kompletament kbira. Inti jaslu għal din il-paġna u int greeted bil-mazz sħiħ ta 'affarijiet up here li ma jista 'anke materja lilek. Per eżempju, inti tgħix fi stat wieħed li ma jibdew din l-ittra. Ejja ngħidu li inti tgħix fl Texas jew xi ħaġa. Int għandek iscroll-triq kollha fl-paġna li jasal sal-post inti fuq. Jien minn Boston, so let me ħarsa f'Massachusetts. Fejn hi Massachusetts? Oh, huwa dritt hawn. Oh, huwa Boston. Okay. Ejja nħarsu lejn Boston. [Daħk] Pretty kbira, id-dritt? Affarijiet strambi hemmhekk. [Daħk] Ejja ngħidu jien infittxu x'imkien biex jgħixu. Kif ħafna nies jkunu attwalment użati Craigslist? Tunnellata ta 'inti. Hemm modi pjuttost ħżiena li tħares lejn din, imma ejja nħarsu lejn dan. X'hemm differenza bejn img u pic? Jista 'xi ħadd tell me? M'hemm l-ebda differenza fil-fatt. Huma jfissru eżattament l-istess ħaġa, iżda dawn ikollhom tikketti differenti għalihom għal xi raġuni. Jekk I ikklikkja fuq Has Image, xejn ma jiġri fuq il-paġna. I attwalment għandhom ikklikkja Tiftix għal darb'oħra għal xi ħaġa li jiġri. Liema jista 'jkun deċiżjoni ta' tfassil aħjar li jista 'jsir hemmhekk? Jekk jien tikklikkja fuq dak il-filtru, I probabbilment jridu biex filtru billi din l-azzjoni partikolari jew li partikulari kategorija. Allura minflok li għall-istampa Fittex għal darb'oħra, I jistgħu biss awtomatikament jagħmlu l-filtrazzjoni tip ta 'stil Google fejn huma jagħmlu dan istantanjament. [Malan] Imma ma tifforma kif aħna stajt tidher minnhom s'issa għandhom jiġu fiżikament sottomessa billi jolqot Ikteb inqas jew tikklikkja l-buttuna? Kif inti stajt tidher minnhom s'issa, inti fil-fatt għandek ikklikkja Submit biex tagħmel dawk l-affarijiet. Imma kif Tommy se nuruk fit-tieni, hemm attwalment modi għalik tali li meta inti ikklikkja fuq dik ħaġa li tista 'awtomatikament jibgħat nsejħu talba Ajax u tikseb data b'lura u ffiltra riżultati tiegħek istantanju. Hemm tunnellata ta 'affarijiet li huma ħażin ma' din l-interfaċċa. [Malan] Tista 'tfittex għal Cambridge? Hemm xi ħaġa kemmxejn anomala hawn fejn inti care about Cambridge u għadhom int jkollna WESTFORD, tar-Rebbiegħa Hill, West Newton u simili. Probabbilment ma ideali. >> Probabbilment ma ideali. Kif jista I tkun tista 'tagħmel l-esperjenza l-utent aħjar fuq din il-paġna partikolari? Iva. >> [Student] Istruzzjonijiet. Okay. Struzzjonijiet fil x'tip ta 'sens? [Student] Pereżempju, xi ħaġa għall-utenti ewwel darba li lanqas biss jafu dak Craigslist huwa jew inti ma taf dak li qed suppost tagħmel. Dritt. Allura li tispjega dak li Craigslist huwa fuq din il-paġna hija importanti. Nistgħu attwalment tgħid utenti liema din il-paġna huwa attwalment għall. Jekk jien biss jżuru dan, nara mazz sħiħ ta 'postijiet. I lanqas biss jafu dak li jfisser. Iżda aktar importanti minn hekk, biss tħares lejn dan l-interface, ftakar I kellha iscroll ton ta 'affarijiet li ssib komunità partikolari li attwalment I jieħdu ħsiebhom dwar dwar dan. X'hemm mod aktar malajr I jistgħu jagħmlu dan? Iva. [Student] Aqsam iwettquhom f'reġjuni lvant-punent,. Okay. >> I jistgħu klassifikazzjoni tagħhom f'kategoriji aktar li jistgħu jgħinu me aktar malajr jiddeterminaw kif tikseb għal dak lokalità partikolari. [Student] Poġġi lista drop-down. >> Dritt. Okay. I tista 'tuża menu drop-down għaliex għandna sett fiss ta' l-affarijiet u nistgħu juru lilhom fi drop-down menu. B'dak il-mod ma jieħdu spazju tant fuq l-iskrin. Iżda anke aħjar minn dik, x'nistgħu nagħmlu? Iva. >> [Rispons istudent inaudible] >> Tista 'tgħid li għal darb'oħra? >> [Student] kaxxa Search. Yeah, kaxxa ta 'tfittxija. Li l-kbir. Dak li nistgħu nagħmlu huwa attwalment jekk inħarsu lura lejn il-pjastri kaxxa ta 'tfittxija,. AutoComplete. Mod faċli ħafna biex tfittex permezz ta 'riżultati li inti taf huma sett. Jekk nibda ittajpjar BO, biss urini-riżultati kollha li għandhom ġewwa BO minnhom. B'dak il-mod I tista 'faċilment isibu l-waħda partikolari Irrid immur għal minflok li tiskrollja permezz din il-lista verament kbir. Dawn huma kollha xorta ta 'verament baxx mdendlin frott li xi ħadd li qiegħed jimplimenta Craigslist jistgħu attwalment jagħmlu biex jagħmlu l-esperjenza fuq il-websajt ħafna aħjar għall-utent partikolari tagħhom. Okay. Biżżejjed jitkellem dwar websajts ħżiena. Ejja nitkellmu dwar Facebook. Meta Facebook ħareġ, u b'mod partikolari l-ritratti Facebook, kien hemm lottijiet ta 'servizzi oħra fil-ħin li jistgħu jagħmlu eżattament l-istess affarijiet. Huma jistgħu jorganizzaw ritratti tiegħek fis-albums. Dak li inti tista 'tagħmel huwa li inti tista jorganizzaw lilhom fis-settijiet ukoll. Inti tista jorganizzaw lilhom skond id-data. Inti tista 'tagħmel dawn l-affarijiet partikolari. Imma ħadd ma jaf dak li għamel Facebook ritratti jisplodu fiż-żmien li kien rilaxxat? Iva. >> [] Istudenti Tags. >> Tags. Eżattament. Għandna Milo hawn fuq, li huwa kelb Mascot tagħna ma 'dik bandana CS50. Tista 'tara li aħna għandna din il-karatteristika tagging fin-nofs. U dak magħmul ritratti Facebook hekk interessanti mil-lat użabilità huwa li attwalment jitħallew nies permezz ta 'dan biex jinvolvu ħbieb tagħhom fil-ritratti tagħhom. Għal Facebook, peress websajt tagħhom hija partikolarment soċjali, huwa dwar il-bini dan it-tip ta 'atmosfera soċjali. Li tittejjeb l-esperjenza ta 'ritratti ħafna aktar għaliex dawn setgħu effettivament tibda tgħid, "Dawn huma konnessjonijiet bejn in-nies, u dawn huma ritratti dwar in-nies ma attwalment jimpurtahom. " Parti minnha hija wkoll narcissism tip. Nies bħal li jiġu ttikkettati fil-ritratti u affarijiet bħal dik. Filwaqt li mhux neċessarjament karatteristika tal-bniedem tajjeb, fl-istess ħin huwa bbażat fuq deċiżjonijiet tad-disinn tajba għaliex in-nies fil-fatt kura dwar affarijiet bħal dan. Allura dak ritratti Facebook. Imma ejja nitkellmu Facebook aktar ġenerali. Jien ċert lottijiet ta 'nies hawn' jkollhom opinjonijiet dwar Facebook, iż-żewġ deċiżjonijiet tad-disinn tajba u deċiżjonijiet tad-disinn ħażin. Mela ejja vent jew ikunu kuntenti. Come fuq. Naf kollha inti tuża Facebook. Xi ħadd li jkollhom xi ħaġa ħażina li jgħidu jew xi ħaġa tajba li jgħidu dwar dan. Iva. [Student] Fil-għalf aħbarijiet hemm ħafna affarijiet I ma verament jimpurtak. L-għalf aħbarijiet ma juru ħafna affarijiet li inti tista 'ma jimpurtahom. Inti għandek ħbieb fuq Facebook li inti ma jkunux sodisfatti għal 2 jew 3 snin u tara r-riżultati aħbarijiet tagħhom popping up fil-għalf aħbarijiet tiegħek u inti ma verament kura dwar dan. Facebook tkun attwalment magħmula sforz biex jagħmlu dan aħjar, u ħadthom attwalment ppruvaw biex timbotta riżultati rilevanti għall-quċċata tal-għalf aħbarijiet bħala tard sabiex inti attwalment tara affarijiet mill-ħbieb li huma rilevanti għall inti jew ħbieb qrib tiegħek. Xi ħaġa oħra? Iva. [Inaudible student rispons] >> Tista 'tgħid li għal darb'oħra? [Student] Il ads huma relattivament jagħtux fil-għajn. >> F'liema sens? [Inaudible student rispons] Huma ma għandhomx dawl fuq l-iskrin, bħal banners. Okay. Li tajjeb. Jekk tiftakar l-Internet mill-snin 90 - >> [Malan] I kien hemm. >> Huwa kien hemm. [Daħk] Inti tista 'tiftakar sfondi jteptep gifs, sparkly affarijiet, GeoCities style tip ta 'affarijiet. Li verament mhux eżempju ta 'disinn tajjeb għaliex dan huwa verament jfixkluh mill-kontenut. Il-websajt arti Yale użati li jkollhom GIFs animati bħala sfond tagħhom u inti ma tista 'taqra xi ħaġa fuq il-paġna, iżda I raden xi ħadd fil-fatt tkellem lilhom u issa huwa daqsxejn differenti. [Malan] Huwa ħafna aħjar issa. >> Huwa ħafna aħjar issa, kif tista 'tara. >> [Malan] Oh yeah. Just kbira, biss - Yeah. Okay. Parti minnha hija wkoll tagħmel il-paġna tiegħek possibilment ħafna minimalista u ħafna tinftiehem sabiex l-affarijiet fuq il-fluss paġna b'mod li huwa ħafna loġiku u ma jsibux fil-mod ta 'xulxin. Xorta Liema ta 'affarijiet oħra huma tajba dwar Facebook jew ħżiena dwar Facebook? Ejja biss ikollhom konverżazzjoni disinn hawn. Oh. Fejn? Yeah. [Student] Is-sistema l-ġdida Kronoloġija iħallik tfittex profil tal-persuna dwar il-passat tagħhom. Ooh, Timeline. Kronoloġija hija ħaġa kbira għaliex inti tikri zokk ħbieb tiegħek lura meta kienu fl-iskola għolja. Kronoloġija hija tajba għaliex ihallik ffiltra l-kontenut ħafna aktar malajr, ihallik ssib affarijiet li nkella kienu ttieħdu inti żmien twil verament biex isibu biss scrolling u 'l isfel, up, up, up, up, up, simili tmur lura fil-ħin. Imma mbagħad hemm ukoll tip ta 'tnaqqis għal dik f'termini ta' esperjenza utent. Liema jista 'jkun? Kelma Big li tibda bi P-R. >> [Student] Privatezza. Privatezza >>, id-dritt? Privacy hija kwistjoni enormi utent esperjenza. Din hija waħda mill-affarijiet ddejjaqni l-aktar dwar Facebook issa. [Daħk] [Malan] Kif do I issa. David ma jirrealizzaw dan fil-fatt ġara sal-bieraħ. Allura issa li jaf li kull darba I chat lilu naf hu kien jinjora lili. [Malan] Il-parti skomdi kien I kien attwalment jinjora lilu, u ma kontx naf li kien jaf I kien jinjora lilu. [Daħk] Privacy hija kwistjoni enormi. Jista 'xi ħadd hawnhekk tell me dak li jista' jkun ħażin dwar Facebook privatezza minbarra l-fatt li dawn jagħmlu affarijiet bħal dan? X'inhu partikolarment diffiċli li tagħmel fir-rigward Facebook privatezza? Dan it-tip ta hija kwistjoni ewlenija. Iva. >> [Student] Aħbi ritratti tiegħek minn ċerti nies. Dritt. Eżattament, biex jaħbu ritratti tiegħek minn ċerti nies. Huma għandhom dan żgħar, buttuni ftit fil-lemin ta 'fuq li ihallik toggle-privatezza ta' ritratt. Għażliet ta 'privatezza tagħhom huma varjati ħafna bejn tipi differenti ta' menus. Li ħadthom gotten ħafna aħjar dwar dan l-aħħar, iżda li jintuża biex tkun il-każ li kull meta inti riedu biex jipprevjenu ħbieb tiegħek minn ritratti jaraw, inti jkollok biex tmur permezz ta 'kkumplikata ħafna 5-pass tal-proċess li jkunu simili, let me ikklikkja din ir-rabta, issa let me ikklikkja darb'oħra, let me ikklikkja darb'oħra, let me tispeċifika liema nies ma tistax tara ritratti tiegħi. Dan mhuwiex partikolarment tajba min-naħa Facebook minħabba tant dwar l-esperjenza utent huwa fil-fatt jagħtihom il-libertà biex jikkontrollaw dak in-nies tista 'tara. Aħna nsejħu dan il-kontroll utent u l-libertà. Jekk int ma kiri utenti tiegħek tagħmel dan b'mod li huwa effiċjenti u intuwittivi, imbagħad utent esperjenza tiegħek mhuwiex verament li kbir fil-livelli kollha.  Would you guys nixtieq ngħid xi ħaġa dwar Facebook? Kif nista jibdlu din off? [Ong] Ma tistax iddawwar dan off, u li hija difett użabilità enormi fuq il-parti ta 'Facebook. Din il-karatteristika - I attwalment ħares lejn dan bieraħ - huwa jew li inti ma tistax tagħmel dan jew huwa midfun x'imkien ħafna, ferm fil-fond fil-daħliet ta 'Facebook minħabba I ma tistax figura kif li jiskonnettja din il-funzjonalità fil-livelli kollha. [Malan] Imma xi kultant dawn id-deċiżjonijiet mhumiex ovvji għaliex inti guys tawna ħafna feedback utli fuq diversi CS50 applikazzjonijiet u websajts li l-kors użi. Aħna ma implimentawx kollha ta 'dawn it-talbiet u s-suġġerimenti. Parti ta 'dan huwa għall jkollna bosta talbiet li huwa funzjoni ta' ħin, imma xi kultant aħna biss tagħmel deċiżjoni konxja simili, "Grazzi għall-suġġeriment, imma aħna ma jaqblux." Allura kif taħseb li attwalment tiddeċiedi x'għandek tagħmel jekk l-utenti tiegħek taħseb li għandek tagħmel xi ħaġa anki jekk inti ma neċessarjament? Huwa bilanċ fin bejn attwalment jisimgħu dak l-utenti tiegħek jgħidu u fil-fatt li għandhom xi tip ta 'linja fejn inti tgħidli, "Aħna mhux se tagħmel dak dawn l-utenti jgħidu." U b'mod partikolari, naħseb li kien hemm kwotazzjoni minn Henry Ford li somom dan up pretty ukoll. "Jekk I kien talab lin-nies dak li riedu, huma kienu qalu li riedu żwiemel aktar malajr." Jista 'xi ħadd issolvi tat tease apparti dak li jikkwotaw verament tfisser? Huwa mhux biss li l-utenti jkunu jafu dak li jridu, iżda huwa aktar li - [Student] Huma ma jafux x'inhu possibbli. Fil-parti li ma jkunux jafu dak li hu possibbli. Tease li apparti xi ftit aktar. X'tifhem minn dak? [Rispons istudent inaudible] Li tajjeb. What I think we qed nipprova ngħid hawnhekk hija li n-nies jafu dak li jridu. Huma jridu żwiemel aktar malajr. Dak li verament jixtiequ hija l-abbiltà li jimxu aktar malajr, iżda dawn ma verament jafu l-mezz li bih jintlaħaq dak l-. Meta inti tidħol għall-utenti tiegħek u utenti tiegħek jgħidlek xi ħaġa u dawn jgħidulek, "Irridu dawn il-karatteristiċi u dawn l-karatteristiċi u dawn l-karatteristiċi," inti ma tridx li neċessarjament jaħsbu dwar, "Let me jimxi 'l quddiem "U jimplimentaw dak li espliċitament jgħidu," imma dak li inti tixtieq li jaħsbu dwar huwa, "X'tip ta 'ideat nista' nikseb minn dak?" What do huma fil-fatt tixtieq? U minn hemm x'tista 'tagħmel huwa disinn xi ħaġa li jissodisfa dawn it-talbiet iżda mhux neċessarjament fil-mod li l-utent jistenna li din tkun sodisfatta. Allura għal xi ħaġa bħal proġetti finali, f'termini reali ħafna, x'hemm heuristic utli meta niġu biex tagħmel xi ħaġa aħjar, speċjalment jekk il-disinjatur għandu dan arroganza dwar lilu fejn inti tip ta 'know x'inhu l-aħjar, inti tista' tieħu l-input mill-utenti tiegħek, imma kif taħseb li fil-fatt imorru dwar jkollna dan feedback? Fi proġetti finali, ħafna konkret, dak li jipproduċi l-aħjar riżultati hawn? Liema jipproduċi l-aħjar riżultati - u jien se jmorru fuq dan fit-tieni - huwa dan il-proċess ta 'żvilupp u mbagħad ittestjar u mbagħad iterazzjoni. What I jfisser minn ittestjar huwa normalment meta inti disinn xi ħaġa taħseb li huwa pjuttost tajba, bħal, "jien tali disinjatur kbir. Kulħadd se imħabba din." U allura ma tqiegħed hemmhekk u n-nies ma verament bhalu għal xi raġuni. Dak li għandek tagħmel huwa li inti għandek tieħu l-partijiet ta 'affarijiet li n-nies jagħmlu bħal u nġeddu mill-qiegħ l-affarijiet li n-nies ma simili. Din tinstema 'qisha proċess ovvja, iżda dan il-proċess ta' dejjem iterazzjoni fuq quċċata ta 'dak li inti stajt diġà bnew huwa proċess li jgħinek mhux biss jirfinaw il-ħiliet tiegħek disinn stess imma wkoll jgħinek tirfina d-disinn sabiex in-nies fil-fatt japprezzaw il-prodott tiegħek anke aktar milli kien qabel. I ser tmur fuq aktar eżempji konkreti ta 'dak li inti tista' fil-fatt jagħmlu. Bħala tip ta 'eżempju aħħar ta' prodott, ejja nħarsu lejn Kayak. Kayak meta ħareġ kien ħafna, ħafna popolari. Jista 'xi ħadd raden għaliex? X'inhuma l-xorta ta 'affarijiet li tixtieq dwar dan jekk inti użajt dan jew liema huma l-xorta ta 'affarijiet li inti ma simili? Iva. >> [Rispons istudent inaudible]. >> Okay Li parti minnu huwa kiri l-utent ikollu mistoqsija li hija aktar espansiva minn waħda restrittiva ħafna simili, "Int għandek pick data tal-bidu tiegħek "U inti għandek pick data finali tiegħek." Fil-fatt, ihallik tkun flessibbli dwar dan u jagħtik kollha tal-titjiriet f'dik il-firxa. Xi ħaġa oħra? [Student] Dawn jinkludu l-miżati fil-prezz. Huma jagħmlu jinkludu l-miżati fil-prezz. It-taxxi u l-affarijiet fil-fatt imorru straight fis dak il-prezz fil-xellug ta 'fuq hekk int ma tricked fis-ħsieb li qed attwalment tħallas għal titjira $ 240 meta huwa verament $ 330. Xi ħaġa oħra? Iva. [Rispons istudent inaudible] M'inix ċert jekk dawn attwalment tavżak tagħmel dan. I jista 'jkun żbaljat. Li jista 'jkun ħaġa interessanti jekk inti tixtieq li tqiegħed aktar enfasi fuq filtri partikolari sabiex ikunu timbotta riżultati relatati għal dik filtru għall-quċċata. Iżda jista 'xi ħadd tell me x'hemm hekk speċjali dwar din in-naħa tax-xellug? Kif sirt tradizzjonalment tfittex up titjira fuq servizzi bl-Internet qabel dan? Iva. >> [Rispons istudent inaudible] >> Tista 'tgħid li - [Student] Kull ajru. >> Yeah. Kull linja għandu website tiegħu stess. Dan tikkonsolida l-affarijiet. U? [Student] Inti taf eżattament dak iż-żmien li qed tħalli. Inti ma taf eżattament dak iż-żmien li qed tħalli, iżda relatati ma 'l-filtri b'mod partikolari. Let me pull up Kayak. Oh Alla, pop-ups. Utent esperjenza Bad. X'jiġri meta nimxi dan slider? [Student] aġġornamenti awtomatiċi. >> [Ong] aġġornamenti awtomatiċi. Dik xi ħaġa li importanti ħafna. Qabel dan, kull meta inti riedu tfittex up titjira, inti kellhom jitqiegħdu fil-post input tiegħek, il-post-produzzjoni tiegħek, Search istampa, ikun proċess li u juru riżultati tiegħek. Jekk inti riedu bidla mistoqsija tiegħek, inti jkollok l-istampa lura darbtejn, jidħol fil-mistoqsija ġdida mill-bidu, u mbagħad tagħmel dan aktar u aktar mill-ġdid. Il-ħaġa sbieħ dwar xi ħaġa bħal din huwa juża ħafna [mhux intelliġibbli] ħaġa fin-nofs. Kull meta inti tagħmel xi ħaġa bħal din, huwa rimjiet off talba u dan jirritorna inti l-riżultati immedjatament. Din it-tip ta 'rispons immedjat hija xi ħaġa li għamel Kayak wildly popolari għaliex dan huwa verament faċli għalija li biss bidla mistoqsija tiegħi u biex insemmu l-affarijiet li huma madwar firxa partikolari mingħajr ma jkollhom imorru quddiem u lura, u lura, u lura. Allura dawn huma kollha xorta ta 'affarijiet li inti tixtieq li wieħed jaħseb dwar meta int tfassil tal-website tiegħek. Kif nista 'nagħmel dan effiċjenti ħafna għall-utenti tiegħi li jmorru permezz ta' kwalunkwe dawn qed jaħdmu fuq u biex tikseb l-għan eventwali tagħhom malajr kemm jista 'jkun? [Malan] U għall-punt Ġużepp preċedenti dwar l-utenti mhux neċessarjament jafu dak li jridu, ibbażati fuq dak li inti guys issa jkunu jafu dwar HTML u inti għandek checkboxes, buttuni tar-radju, menus tagħżel, l-oqsma ta 'input u simili, kif tista timplimenta l-kunċett ta 'picking ħin tal-bidu għal titjira? Liema minn dawn il-mekkaniżmi UI varji kieku inti tuża? Jekk inti biss taf l-ammont ta HTML li kien mgħallma qabel u inti taf l-inputs huma buttuni tar-radju, checkboxes, qatra-downs, u l-kaxxa l-input, dak li l-għażla naturali tiegħek kienu għal picking dati? [Student] Input. Input. >> Jew forsi anki drop-down kollha tad-dati, id-dritt? Allura ma 'mekkaniżmi UI aktar kumplessi bħal dan fuq in-naħa tax-xellug li inti tista' timplimenta, inti tista 'tagħmel dan il-proċess ferm aktar intuwittivi ma' slider minħabba l-ħin huwa kontinwu, u n-nies normalment ma think minnha f'termini ta 'biċċiet diskreti. Kull dritt. L-aħħar ħaġa. Użabilità heuristics Għaxar. L-affarijiet tkellimna dwar probabilment jaqgħu taħt waħda minn dawn il-kategoriji. Jekk inti tmur din ir-rabta, li s-siti se jkunu stazzjonati online, inti ser fil-fatt tkun tista ', kif inti disinn sit tiegħek, iżommu dawn heuristics f'moħħu u dawn ir-regoli ta 'thumb. Għall-proġetti tiegħek, dak li nissuġġerixxi inti tagħmel sabiex ifasslu app tiegħek aħjar huwa li tagħmel prototipi ewwel karta. Meta inti qed jaħsbu dwar l-applikazzjoni tiegħek, malajr ħafna skizz dak li trid li look like u kun żgur il-kaxxi kollha huma rranġati b'mod li huwa ħafna intuwittivi għall-utent li juża u anki juru dawn prototipi tal-karti lill-ħbieb tiegħek u tibda grupp ta 'mira. Biss tikseb 2 jew 3 min-nies flimkien u jistaqsihom għal ftit vit fuq dawn prototipi karta, u juru lilhom l-iskrins ġodda biex tara jekk dawn attwalment jifhmu x'inhu għaddej. Dak li trid tagħmel hu li jagħtuhom kompitu, jimmotivaw dak il-kompitu, u biss jagħtihom l-app u ħallihom jużawh. M'għandekx jagħtuhom struzzjonijiet lil hinn dak. Inti tixtieq li attwalment jħallu lilhom jinteraġixxu ma 'app tiegħek b'mod li ihallik tara kif huma jistgħu jużawha biss jekk inti ma kinux wieqfa jmiss lilhom. U li importanti ħafna. Li se jtik lottijiet ta 'għarfien dwar huma nies jkollna madwar affarijiet partikolari b'mod li jien ma intenzjoni li? Dawn huma jużaw mekkaniżmi UI partikolari fuq l-iskrin b'mod li huwa tip ta 'hacky? I ma kienx biħsiebu għalihom li jagħmlu dan il-mod. U ladarba inti qed isir ma 'dan, dak li inti trid tagħmel? Blat disinn tiegħek, id-dritt? Dak li trid tagħmel huwa li inti tixtieq li tiżviluppa u mbagħad tagħmel dan il-proċess aktar mill-ġdid. Allura juru lill-ħbieb ladarba inti stajt żviluppati dan, tittestja, jiżviluppaw, jittestjaw, jiżviluppaw, jittestjaw, jtenni, u fuq u 'l quddiem. Disinn huwa ferm proċess iterattiv f'dan is-sens. Inti attwalment ikollhom jibnu xi ħaġa u mbagħad tirrealizza affarijiet dwar dan li inti ma jirrealizzaw qabel u mur lura u jitjieb minn dak. Issa, kif għall-parti l-iżvilupp, dan huwa dak Tommy se nuruk wara l-waqfa u kif inti tista 'tkun kapaċi jimplimentaw xi ħaġa bħal AutoComplete b'mod li hija pjuttost sempliċi. [Malan] Kif Tommy jistabbilixxi hawn, kwistjoni imbagħad. A lott tal-websajts kmieni - u meta Joseph qal websajt stil 1990, kien implimentazzjonijiet fejn jekk int riedu li tagħżel ħin tal-bidu u l-ħin il-għan, franchement, lura fil-ġurnata u anke fuq xi websites llum, il-mod inti tagħmel dan huwa inti pick siegħa minn drop-down, pick minuti minn drop-down, forsi inti tagħżel AM, PM, u allura inti tagħmel li 3 darbiet aktar. U hekk ma '6 klikks u forsi xi scrolling utent tiegħek jistgħu attwalment jipprovdu xi tip ta 'data u / jew firxa ta' żmien f'dan is-sens. Allura definittivament subottimali u għadhom s'issa Rajna l-ebda kapaċitajiet espressiva fi kwalunkwe waħda mil-lingwi konna ħares lejn tagħmel sexier xi ħaġa bħal dan slider tal-bidu u ħin tat-tmiem. Imma jekk inti taħseb lura għal ġimgħa 0 meta tkellimna dwar Scratch, hemm wisq ma kienx hemm widgets li ftit għamlet ċerti affarijiet. Int verament biss kellhom dawn fundamentali bħall linji u l-kondizzjonijiet u simili. Allura tip ta 'biss jaħsbu ħafna astratt issa, indipendenti mill-partikolaritajiet tal-HTML, dak li hu verament għaddejjin ma 'xi ħaġa bħal din ħin tal-bidu u slider ħin tat-tmiem? Meta I jimxu maws tiegħi u I ikklikkja fuq dak is-simbolu karrotta ftit fuq ix-xellug u tibda jittrattienu, programmatically, dak li huwa inti tixtieq li tkun tista 'timplimenta biex naraw li dan iseħħ? Liema mistoqsijiet, liema espressjonijiet Boolean tridu li tkun tista 'titlob? X'qed verament jiġri? Sammy? [Student] Fejn hi l-pożizzjoni tal-cursor? >> Tajba. Fejn hi l-pożizzjoni tal-cursor? Din kienet xi ħaġa li aħna meħtieġa biex jesprimu lura fl Scratch, jekk kien ibbażat fuq il-post jew saħansitra kulur jew affarijiet simili. Inti tista 'recall qatt tant fil-qosor dwar it-Tnejn kien hemm kollha ta' dawn l-affarijiet imsejħa l-avvenimenti fid-dinja tal-Web, u għalhekk hemm affarijiet simili onclick u onkeypress u onkeyup u onmouseover u onmouseout. Allura jirrealizzaw li anke dawn l-affarijiet aħna kont qed jieħdu għal mogħtija fuq il-Web ma 'siti bħal Facebook u Gmail, anki jekk inti ma jkollu ebda idea kif inti tista 'possibbilment jimplimentaw dik għaliex hemm xejn anke bhalu fil lecture jew Problema Set 7, jirrealizzaw li dawn il-prinċipji fundamentali istess eżatt, ma HTTP u parametri u IKOLLOK u POST, mal-inputs HTML bażiċi li konna ħares lejn s'issa u fil-mument mal-mekkaniżmi programmatiċi li s Tommy waslet biex jintroduċu tista 'tibda biex tesprimi lilek innifsek eżatt bħal għamilt fil f'ġimgħa 0 billi ħafna intuwittivament jittrattienu u twaqqa. Allura ma 'dak imsemmi, Tommy MacWilliam u xi biċċiet puzzle ġodda għalina għal Web. Kull dritt. Jisimni Tommy u jien ser tkun jitkellem dwar JavaScript. Just dikjarazzjoni ta 'ċaħda: jiena tal-fehma li JavaScript huwa l-lingwa ta' programmar aħjar fid-dinja kollha kollu. Hemm ħafna nies li ma jaqblux miegħi, iżda huwa biss aqwa. Ladarba inti tmur lura għall-C, jekk inti għandek tikteb C għal klassi oħra jew xi lingwi oħra, huwa biss verament frustranti fil-dettalji kollha ta 'livell baxx għandek staġnati pulzieri Mela jekk int qatt tħossok imdejjaq dwar kif annoying C huwa li tikteb, biss jmorru lura, jiktbu xi JavaScript. Huwa Nirvana. Ser tħoss ħafna aħjar dwar ġurnata ħażina tiegħek. A lott tal-maġija ta 'JavaScript ġej mill-kapaċità tagħha li jimmanipulaw l-affarijiet li huma diġà fuq il-paġna. Meta aħna kiteb skripts PHP tagħna, kienu esegwiti fuq is-server, u eventwalment li PHP iskrittura probabbilment output xi HTML. Dan HTML kien mibgħut lill-klijent, u mbagħad li ma kien. Jekk PHP ried iżid buttuna għal paġna, per eżempju, ma tista 'verament tagħmel dan. Huwa għandu jkollu li jagħmel fajl sħiħ HTML ġodda u jibgħat dik il-browser. Bil JavaScript nafu li nistgħu taġġorna l-affarijiet waqt li jkunu qed diġà fuq il-paġna, u minħabba dan nistgħu nipprovdu rispons ħafna aktar instant, li se verament ittejjeb l-esperjenza utent fuq il-websajt tagħna. Just terġa 'malajr ta' seletturi JavaScript. Aħna nafu li meta aħna tniżżel paġna HTML, li għaddej biex tkun rappreżentata fil-DOM. Il-DOM ftakar huwa biss din is-siġra kbira meta l-elementi huma relatati f'dan ġerarkija kbar. Meta aħna ħadem ma 'databases fil pset 7, waħda mill-ewwel affarijiet aħna meħtieġa biex tkun taf kif tagħmel kien jikkonsultaw id-database. Għandna din it-tabella utenti kbar, u xi kultant aħna biss trid tgħid, "I biss trid xi wħud minn dawn l-utenti li jaqblu xi kondizzjoni." Bl-istess mod, meta aħna għandna l-DOM għandna bżonn xi mod ta 'juri dubji tiegħu. Għandna bżonn xi mod ta 'tgħid, "Irrid kollha tal-buttuni li jixbhu dan "Jew kollha mill-immaġini fuq il-paġna." U dawn seletturi inessu li jagħmlu dan. Hekk biss terġa 'malajr. Dan ewwel waħda hawn, din # jissottomettu, dak hu li se tagħżel? Ftakar ħadd Does? [Rispons istudent inaudible] >> Yeah, eżattament. Dan ser tagħżel element fuq il-paġna li għandha ID tal jissottomettu. U għalhekk li tag hash tgħid dan selettur se taħdem ma IDs. Kif dwar it-tieni waħda, dan. Ċċentrata, x'se li tagħżel? Yeah. >> [Student]. Klassi >> Eżattament. Dan issa se tagħżel skont il-klassi. Id-differenza bejn ID u klassi hawnhekk hija ġeneralment l-ID għandu jkun uniku fi kwalunkwe spazju int tiftix fuq. Mela jekk inti kienu tiftix fuq paġna web kollu, inti verament għandhom biss għandek 1-element ma 'dak ID ċert, u għalhekk f'dan il-każ ta jissottometti. Bil-klassijiet, min-naħa l-oħra, jista 'jkollna aktar minn 1 element fuq l-istess paġna bl-istess klassi. Dan jista 'jkun utli għall tgħid Irrid li tagħżel dak kollu li iċċentrata fuq il-paġna aktar milli biss 1 ħaġa. U fl-aħħarnett, dan il-aħħar wieħed hawn huwa xi ftit aktar kumplikata, imma dak li hu dan se tagħżel mill-DOM? [Inaudible student rispons] >> X'hemm li? [Student] Kwalunkwe ħaġa li l-tag. >> Aħna 2 partijiet hawnhekk. It-tieni parti hija se ngħid nixtieq li jagħżlu dawn it-tags ma 'tag ta' input, sabiex kwalunkwe element li huwa ta 'lametta tal-input. Imma jien ma jridux biss tagħżel kollha ta 'l-inputs minħabba xi ħaġa bħal buttuna issottometti jista 'jkun l-input u xi ħaġa simili kaxxa ta 'test tista' tkun input. Allura ma 'dawn parentesi kwadri jien qal I biss tixtieq li tagħżel dawk l-elementi li huma ta 'test tat-tip. X'imkien fil HTML tag tiegħi I jkollhom attribut imsejħa tat-tip, u l-valur ta 'dik l-attribut għandu jkun it-test. Allura kif madwar din il-parti 1 hawn? L-ewwel kelma ta 'dan selettur huwa forma imbagħad I jkollhom spazju u allura din il-parti input. Xi jfisser li tagħmel, tqegħid-forma quddiem ta 'dan? Dan ser bażikament limitat mistoqsija tagħna. Dan jista 'jkun il-każ li għandna xi inputs fuq il-paġna li mhumiex dixxendenti ta 'formola. X'inhu dan se tagħmel huwa dan se ngħid I jridux biss il-tags ta 'input li jkollhom x'imkien fuqhom xi element prinċipali ta 'forma. U hekk b'dan il-mod nistgħu nagħmlu dawn il-mistoqsijiet aktar ġerarkiċi hekk aħna ma sempliċiment għandek tagħżel dak kollu tqabbil selettur partikolari. Nistgħu tip ta 'limitu tal-kamp ta' applikazzjoni ta 'dik query għal xi ħaġa oħra. Allura issa li nafu kif jagħżel l-elementi fuq il-paġna, ejja nitkellmu ftit dwar Ajax. Ajax huwa akronimu għadu ħafna trendy li stands għall JavaScript mhux sinkroniku u XML. Huwa biss hekk jiġri li XML huwa biss xi mod biex jirrapreżenta data. Dak it-tip ta 'popolarità mitlufa reċentement, sabiex il-X fil Ajax ma jintużax il-ħin kollu. Bażikament, dak Ajax jippermetti li tagħmel hu li tagħmel talbiet HTTP mill-kuntest tal-JavaScript. Meta aħna qed fil-web browser tagħna u aħna qed jinnavigaw madwar paġni u aħna ikklikkja rabta, dak browser tagħna se tagħmel hu li tagħmel talba HTTP għal kwalunkwe rabta aħna ikklikkja. Iżda li mhux dejjem ideali għaliex jekk dan huwa l-każ, allura kif David kien qal, aħna dejjem ikollhom jagħmlu l-utenti ikklikkja l-buttuna Submit jew ikklikkja rabta sabiex jagħmlu xejn jiġri li għaddej biex tinvolvi talba HTTP. Allura ma Ajax nistgħu nagħmlu dawn it-talbiet għan-nom ta 'JavaScript. Dan ifisser kull meta l-utent jinteraġixxi mal-paġna jew xejn jiġri, nistgħu attwalment jagħmlu talba programmatiku biex xi fajl PHP oħra fuq il-websajt tagħna jew xi ħaġa oħra u jieħdu d-data li dan il-fajl spits out. Ejja tagħti ħarsa lejn eżempju ta 'Ajax. Dan huwa CS50 Finanzi tagħna paġna li magħhom nittamaw xi wħud minna huma familjari. Jekk inħarsu lejn il-HTML ta 'din il-paġna, naraw hawn li stajt miżjud ftit affarijiet, waħda minnhom stajt mogħtija f'din il-formola ta 'ID. Stajt qal id = "formola ta 'kwotazzjoni". I ghamilt dan sempliċement minħabba li għaddej biex jagħmlu dan daqsxejn ftit aktar faċli li jagħżlu mill-DOM peress I tista 'biss tagħmel mistoqsija sempliċi ħafna. Dak li nixtieq do hawnhekk huwa li nixtieq li tiffissa xi problema bil CS50 Finanzi. Mela jekk immorru finance.cs50.net, kull darba nixtieq li jiksbu kwotazzjoni, għandi ikklikkja din il-buttuna Quote Get, u li Get buttuna Quote mbagħad tieħu me għal paġna oħra kollha. U jekk irrid ieħor kwotazzjoni, għandi li laqat il-buttuna Lura u mbagħad I tip fil- I jiksbu kwotazzjoni, u I laqat il-buttuna Lura. Dan huwa verament mhux l-esperjenza utent aħjar. Min kien verament jużaw is-sit jekk huwa li bil-mod biex jiksbu prezzijiet istokk? Allura dak li rridu nagħmlu ma 'Ajax hu li tneħħi dak il-pass ta' jmur lejn paġna separata sabiex ħsieb ir-riżultati. Dak li aħna qed verament biss tistaqsi għall huwa dak il-prezz tassew żgħar, u li jinsab biss ammont verament żgħir ta 'data. Allura hemm ebda bżonn għalija li jmorru paġna oħra HTML kollha, tniżżel lott ġdid sħiħ ta 'HTML, forsi tniżżel immaġini ftit aktar, xi fajls CSS oħra biss għalija li twieġeb din id-domanda sempliċi ħafna ta 'kemm din l-ispiża istokk. Bil Ajax nistgħu nagħmlu dan il-lott aktar faċli. Naraw stabbiliti hawn li jien jgħaqqdu fil-fajl JavaScript imsejjaħ quote.js. Ejja attwalment jiftaħ dan il-fajl. Mhux hemmhekk. Kollha ta 'fajls JavaScript tiegħi ser ikunu jinsabu fil-HTML sabiex il-web browser tista 'aċċess għaliha. Imbagħad għandna direttorju separata hawn għal JavaScript, u issa hawnhekk huwa quote.js. Fil-quċċata ta 'dan il-fajl dan jgħid hawnhekk li nixtieq li tistenna l-paġna sħiħa li għandha tiġi mgħobbija qabel I jipprova jagħmel xi ħaġa. Għaliex huwa li hemm bżonn? Jirriżulta li l-ħaġa li jmiss jien ser tagħmel hawnhekk huwa bidu tfittex għal element li taqbel xi selettur. Jekk dan JavaScript huwa qatt eżegwit qabel dan l-element huwa mgħobbi fuq il-paġna, allura kollox I jipprova jagħmel hu ma jkunx sejjer jaħdem għaliex jien ser tipprova tagħżel xi ħaġa li mhix wasalniex. Allura din il-linja up top tgħid nixtieq li tistenna sakemm kollox huwa mgħobbi hekk aħna qed garantit li kull element jien tfittex huma attwalment fuq il-paġna. Dan is-sinjal dollaru hawnhekk tfisser jien jużaw il-librerija jQuery imsejħa. Din il-librerija jQuery jippermetti li jużaw dawn seletturi li aħna biss ħares lejn. Billi qal $ imbagħad jgħaddu fi bħala argument f'dan # forma-kwotazzjoni, Jien issa għażla li forma li aħna biss ħa ħarsa lejn. Issa għandi rappreżentazzjoni ta 'dik formola fil-memorja b'xi. Fuq dan l-oġġett issa, din ir-rappreżentanza tal-formola, Jien issa jużaw funzjoni msejħa fuq. X'inhu dan il-funzjoni ma huwa għaddej biex ehmeż handler avveniment. L-avveniment li aħna qed tmur biex tisma għall huwa l-avveniment tissottometti. Allura meta l-klikks utent li Issottometti buttuna jew jagħfas Daħħal, dan l-avveniment se nar. Billi hooking fis dan, issa nista 'jwarrab l-imġieba default tal-formola. Mingħajr dan JavaScript, il-forma tressaq għal dak kollu fajl PHP aħna użati f'dak attribut azzjoni. Iżda minflok, jien issa qal, stenna, stenna, stenna, ma rridx li inti fil-fatt jagħmlu dan. Irrid dan iseħħ qabel ma tmur u jippruvaw jissottomettu lill xi fajl PHP. Issa dak li nixtieq do? Fuq dan il-punt I jridu jużaw Ajax b'xi mod it-tagħbija fil dak il-prezz ta 'l-istokk huwa. L-ewwel ħaġa I bżonn tkun taf huwa dak l-istokk l-utent qed tfittex up. Biex tagħmel dan jien ser jużaw ieħor selettur. Dan huwa l-selettur 3 ħarisna lejn qabel. Dan jgħid li nixtieq li jibdew off dan l-element forma ma 'ID ta' formola ta 'kwotazzjoni. Imbagħad x'imkien ġewwa tal-formola għandu jkun hemm element input li għandha isem ta 'simbolu. Jekk inħarsu lura lejn HTML tagħna, rajna li kellna input [isem = simbolu]. Dan ifisser li dan se tagħżel li kaxxa ta 'test li l-utent huwa ittajpjar fis. Li sbieħ. Għandna l-kaxxa tat-test. Issa aħna biss jeħtieġ li tkun taf x'hemm ġewwa ta 'dan. Biex tagħmel dan nistgħu sejħa dan il-metodu hawn, dan val., u dan jgħid naf liema kaxxa ta 'test li għandek. Irrid li inti tgħidli liema huwa l-utent ittajpjat fil-kaxxa test. Issa għandna string imsejjaħ simbolu li huwa ugwali għal dak kollu l-utent ittajpjat pulzieri Li sbieħ. Nistgħu nużaw dak string issa biex tagħmel talba tagħna. Din hija funzjoni ġdid hawn, dan $, ħlief aħna qed m'għadhomx se tkun għażla elementi, aħna qed tmur biex tkun sejħa funzjoni differenti li l-ipprovdut lilna mill jQuery. Din il-funzjoni Ajax huwa dak li fil-fatt se tagħmel din it-talba HTTP. Allura aħna għandna li tgħid li ftit affarijiet. L-ewwel ħaġa li għandna tgħid din il-funzjoni huwa fejn nixtieq t-talba li tmur. X'imkien fil-proġett tiegħi għandi dan il-fajl ġewwa tad-direttorju HTML imsejħa quote.php. I jista 'jkollhom aċċess dan il-fajl, rajna, biss bħal dan, jekk immur localhost / quote.php. Irrid JavaScript tiegħi biex jagħmlu talba għal dik il-paġna. Liema tip ta 'talba issa? Rajna qabel li l-formola tkun dak il-metodu = "posta" attribut, u dan ifisser li għaddej biex tagħmel talba POST, dan mhuwiex se timplimenta xejn fil-URL, aktar milli talba IKOLLOK, li jkun biss sparati jekk aħna biss aċċessata-paġna ma 'l-web browser, per eżempju. Issa aħna stajt qal Irrid nagħmel talba POST HTTP lejn paġna li tinsab fil quote.php. Meta aħna jissottomettu l-formola, ftakar nistgħu aċċess għall-elementi ta 'input ġewwa ta' dik il-formola ma 'dak varjabbli $ _POST. S'issa fl-istorja aħna ma attwalment mibgħuta flimkien xi data s'issa. Imxejna biss qal li aħna qed tagħmel it-talba Ajax u hawn l-tip ta 'talba li aħna qed jagħmlu. Issa għandna bżonn li attwalment jibgħat xi data lill-paġna. Biex tagħmel dan nistgħu nużaw din il-proprjetà msejħa data. Il-valur ta 'din il-proprjetà hija attwalment firxa assoċjattiva. Ir-raġuni għal dan hija li jippermetti li jibagħtu aktar minn sempliċiment 1 biċċa tad-data. C'est pourquoi għandna dawn ċineg kaboċċi hawn nested ġewwa ta 'dawn il-ċineg kaboċċi oħra. L-imfietaħ f'dawn arrays assoċjattiva ser ikunu l-istess ħaġa bħal dawk Isem attributi fl-elementi forma tagħna. Dan ifisser li jekk jien tibgħat tul ewlieni ta 'simbolu, dan ifisser il-paġna PHP tiegħi tista 'aċċess din id-data ma $ _POST [simbolu] bħad għamilna qabel meta konna jissottomettu formola. U issa d-data attwali irridu li jibgħat se tkun il-ġewwa valur ta 'din array assoċjattiva. Aħna maħżuna dan it-test fil-simbolu varjabbli imsejħa, u hekk aħna qed jibgħat flimkien issa ewlieni ta 'simbolu u valur ta 'kwalunkwe l-utent ittajpjat pulzieri Issa aħna ħadna din it-talba HTTP, fajl PHP tagħna tkun wettqet, u li għaddej biex jibgħat xi data lura issa lill-klijent li biss magħmula din it-talba. Issa għandna bżonn biex jirrispondu għal dak kollu li l-server qal lilna. Biex tagħmel li għandna din il-proprjetà aħħar hawn jissejjaħ suċċess. Il-valur ta 'dan is-suċċess ewlieni huwa attwalment se tkun funzjoni, u dan huwa wieħed mill-affarijiet verament jibred inti tista 'tagħmel ma JavaScript. Mhux biss tista 'inti għandek ints jew arranġamenti bħala ġewwa valur ta' firxa assoċjattiva, nistgħu wkoll ikollhom funzjoni. Allura billi qal suċċess, dan huwa importanti tiegħi. A kolon jgħid hawnhekk jidħol l-valur, u issa l-valur ta 'dan huwa attwalment funzjoni. Allura aħna ma bżonn li tingħata din il-funzjoni ta 'isem fih innifsu. Nistgħu biss jgħidu li din se tkun xi funzjoni. Huwa ser tieħu 1 argument. L-argument li din il-funzjoni se tkun tkun xi tkun l-server mibgħuta lilna lura mit-talba. Eżatt bħal meta browser tagħna tagħmel talba, il-server jibgħat xi ħaġa lura u l-browser displays, fil-kuntest ta 'Ajax aħna biss għamlu talba, il-server mibgħuta xi ħaġa lura, u issa għandna li rappreżentati kif string. Ma 'dak string I biss nixtieq li juri li fuq il-paġna. Biex tagħmel dan jien ser jkollhom waħda selettur aħħar. Irrid li jagħżlu l-element bl-prezz ID. Dan huwa biss div vojta li stajt maħluqa fuq il-paġna, u nixtieq li jistabbilixxu l-kontenut ta 'dik div li jkun x'ikun il-server mibgħuta lilna lura. Stajt attwalment modifikati quote.php daqsxejn. Pjuttost milli ssejjaħ jirrendi u li uħud paġna, quote.php issa huwa sempliċiment se jistampa l-valur ta 'l-istokk bħala sekwenza. Mela jekk inti kienu fil-fatt żur il-paġna, inti biss tara li string żgħir ta 'kwalunkwe l-prezz tat-titoli huwa. Ħaġa waħda aħħar għandna bżonn tagħmel hawnhekk huwa biss tagħmel ċert li din il-funzjoni jirritorna falza. X'inhu dan jgħid huwa li jekk jien ġewwa ta 'handler avveniment u li handler avveniment prospetti falza minflok jirritornaw veru, dan ifisser li jien ma jridu li l-avveniment oriġinali għan-nar. F'dan il-każ, jekk aħna ma kellhomx xi JavaScript u aħna bagħat formola, web browser tagħna se ngħid, "jien ser jibagħtu dik id-data flimkien," u dawn qed tmur biex inti tibgħat għal paġna oħra. Għaliex aħna qed tuża Ajax issa, hemm ebda bżonn li tibgħat l-utent għal paġna oħra. Aħna biss se juri r-riżultati dinamiku fuq din il-paġna istess. Aħna verament ma rridux li tmur kullimkien, u nixtieq li jibqgħu fuq l-istess paġna. Allura billi jirritorna foloz, niżguraw li l-forma ma tagħmel dan għalina. Ejja tagħti ħarsa lejn dak li din attwalment tidher qiesha. Paġna kwotazzjoni tagħna jistenna l-istess. Let me pull up-ispettur stabbiliti hawn hekk nistgħu naraw x'inhu għaddej. Jagħmluha ftit inqas enormi. Ftakar jekk aħna tiftaħ il-tab Netwerk, dan huwa fejn nistgħu tara kollha tat-talbiet HTTP li qed jiġri fuq il-paġna. Għal simbolu let me tip fl AAPL u kklikkja Get Quote. Issa rajna li sehem ta 'Apple ispejjeż xi numru ta' dollari biss deher fuq il-paġna, iżda l-URL ma jinbidilx għal kollox. Fil-fatt, hawnhekk huwa t-talba HTTP li aħna biss magħmula. Aħna għamlet talba POST biex quote.php. Li jagħmel sens. Dan huwa dak li l-server mibgħuta lilna lura. Huwa m'għadux dan id-dokument HTML ġiganteski bi stampi u affarijiet bħal dik, huwa biss linja tat-test, u allura aħna biss murija l-linja tat-test. Jekk immorru lura għall-headers u ara dak li għandna attwalment mibgħuta ġewwa ta 'din it-talba HTTP, nistgħu naraw stabbiliti hawn li aħna mibgħuta tul ewlieni ta simbolu u valur ta 'AAPL, li huwa dak li l-utent ittajpjat pulzieri Dan huwa sbieħ, iżda huwa għadu ftit annoying. I għadhom biex ikklikkja din il-buttuna biex tikseb l-kwotazzjoni istokk. Aħna busy nies u aħna ma jkollhom il-ħin biex ikklikkja buttuni. Google realizzati dan ftit filwaqt li ilu meta implementaw Google Instant. Dak Google Instant ma huwa kif int ittajpjar hija biss jibda wiri riżultati għalik sabiex inti ma għandekx għalfejn tinkwieta dwar anki tikklikkja Search. Attwalment, storja divertenti relatati ma 'dik. Ladarba Google Instant ħareġ, in-nies kienu simili, "Whoa, dan huwa super aqwa." "Dan huwa hekk jibred." U student isfel fil Stanford li kien 19 fil-ħin magħmula dan is-sit imsejħa YouTube Instant. Kollha Instant YouTube ma jkollu effettivament tfittxija YouTube istantanjament. Allura aktar milli jkollhom imorru għall YouTube.com u hit Search, meta nibda ittajpjar fis YouTube xi ħaġa Instant bħal CS50, nistgħu naraw hawnhekk li huwa attentat biex fuq konnessjoni Internet bil-mod timla dawn ir-riżultati ħajjin. Biex tagħmel dan nistgħu ngħidu jagħmel modifika sempliċi ħafna sabiex quote.js fajl tagħna. Dritt issa aħna qed jorbtu dan l-avveniment meta l-formola tiġi sottomessa. Aħna ma verament irridu li jagħmlu l-utent jissottometti dik il-forma aktar, hekk ejja minflok nar dan l-avveniment kull darba li l-utent jagħfas buttuna. Biex tagħmel dan l-ewwel ejja jibdlu l-avveniment minn tissottometti lill keyup. Dan ifisser li minflok ma tistenna għall-formola biex jissottomettu, kull darba li l-muftieħ hija ppressata, xi ħaġa jiġri. Hija m'għadux jagħmel sens li tehmeż dan l-avveniment keyup għall-forma kollu. Aħna verament biss jimpurtahom li kaxxa ta 'tfittxija. Biex tagħżel li issa, nistgħu nbiddlu dan ikun, minflok formola ta 'kwotazzjoni, forma-kwotazzjoni u aħna ser jkollhom dħul (tip = test) jew nistgħu ngħidu (isem = simbolu) - xi rridu. Issa hemm ħaġa waħda aħħar għandna nagħmlu. Ftakar stabbiliti hawn meta aħna imsemmi prospett falz għidna aħna ma rridux li avveniment ta 'inadempjenza għan-nar. Iżda huwa biss hekk jiġri li jekk aħna jiskonnettja li issa, irrispettivament għandna tip mhux se juru fil-browser aktar għaliex dan ikun l-imġieba default ta 'tajping fil-kaxxa test. Aħna m'għadhomx jixtiequ li jiskarta dan, hekk ejja jeqirdu dan il-prospett falz. Jekk aħna ħlief li u rikarigu-paġna, issa meta I tibda ittajpjar AAPL tkun taf tara li l-prezz tat-titoli fil-qiegħ hawnhekk qed ilesti awtomatikament. Allura hawnhekk huwa Instant Finanzi CS50. Attwalment storja divertenti dwar il Instant YouTube huwa li l-istudent biss tip ta 'kiteb dan bħala proġett 1-lejl, u l-jum li jmiss kien offrut impjieg mill-CEO YouTube. Hekk sempliċi bħal dik, inti CS50 istudenti, proġetti finali tiegħek inti tista 'tikseb impjieg fil-YouTube. Xi ħaġa bħal dik hija idea verament jibred għal proġett finali, id-dritt? Kellna xi funzjonalità eżistenti li ridna li jintegraw ma. Aħna itejbu l-esperjenza utent ftit, u f'daqqa waħda xi ħaġa tiftix fuq YouTube Instant jista 'jkun aktar faċli ħafna minn tiftix għal fuq YouTube regolari. Allura dak Ajax fil-qosor. Fl-eżempji li Joseph kien li juru, rajna ħafna ta 'autocompletes, u dawk autocompletes huma tassew, tassew handy għaliex aħna ma jkollhomx biex tiftakar - Per eżempju, jekk inti ma tiftakarx il-prezz tat-titoli għall-Apple u aħna biss nafu huwa xi ħaġa aa, aktar milli sempliċiment tgħid lili, "Sehem ta 'dan il-ħaġa spejjeż din ħafna flus," I d xorta ta 'jixtieq ikun jaf liema ħażniet tibda bil aa. Nistgħu nagħmlu li verament nicely mal-librerija bootstrap dak li diġà inkludew ġewwa ta 'CS50 Finanzi. Jekk inti toħroġ hawn biex l-tikketta JavaScript u iscroll isfel sa Typeahead, din hija biss plugin sbieħ li xi ħadd diġà kiteb għalina, u nistgħu faċilment tuża funzjonalità tagħha bħal dan. I ittajpjat fil-A u hawnhekk hija lista ta 'xi stati li tibda bil A. Ejja ngħidu li Naħseb li dan huwa verament jibred u wasal iż-żmien biex nagħmel biex tinkludi dan fil-paġna tiegħi. Jirriżulta li dan huwa tassew, tassew sempliċi. Ejja jaqbżu fuq hawn biex quote3.js. Fajl tiegħi jistenna xi ftit differenti. Down hawn kollha ta 'għalf Ajax tiegħi hija l-istess. Irrid li jgħabbi l-informazzjoni istokk mingħajr ma jkollhom imorru għal paġna oħra. Imma issa nixtieq li jużaw dan plugin. Id-dokumentazzjoni għandha bootstrap eżempji kbira ta 'kif eżattament I tista' tagħmel dan. Irrid ngħid, "Hawn il-kontribut li nixtieq li AutoComplete fuq," u jien ser sejħa din il-funzjoni tissejjaħ typeahead, u li għaddej biex jimmaniġġjaw kollha ta 'l-għalf Typeahead għalina. Hija se initialize-lista, hija se tagħmel kollha ta 'filtrazzjoni tagħna. L-unika ħaġa li teħtieġ tkun taf liema data aħna qed autocompleting fuq. So I sab din ewlenin biss mill-qari tad-dokumentazzjoni u tħares lejn l-eżempji. Jekk I tagħtiha prinċipali ta 'sors, il-valur ta' dan ewlenija huwa biss ftit firxa ta 'affarijiet nixtieq li AutoComplete fuq. Dan il-varjabbli ġew minn dan il-fajl oħra. I jiftħu symbols.js. Dan symbols.js huwa biss dan array tassew, tassew kbir li jkun fih kordi kollha ta 'dawn is-simboli istokk mill-NASDAQ. Jekk irrid jaqbżu lura lill-HTML, hekk jharvard, vhosts, globalhost, html, templates, quote_form. Peress li l-issa msejjaħ quote3.js, let me jibdlu l-fajl JavaScript jien inkluż hawn. Issa għandi quote3.js, hekk jien ser tagħbija f'dak il-fajl JavaScript separat, il-wieħed li ma jkollu l bootstrap AutoComplete. Issa meta I jaqbżu lura lill-browser, rikarigu-paġna, u nibda ittajpjar aa, hemm AutoComplete tiegħi. U kien verament sempliċi bħal dik. Kelli 1 linja tal-kodiċi li biss qal, "Hawn huma l-affarijiet nixtieq li AutoComplete fuq," u f'daqqa waħda għandi din il-funzjonalità tassew, tassew sbieħ ma mhux lott kollu ta 'sforz fil-livelli kollha. Kif int iżvilupp websajts u b'mod partikolari l-ġenb tarf ta 'quddiem ta' affarijiet, int ser issib dan huwa l-każ ta 'lott. Hemm ħafna, ħafna, ħafna libreriji verament jibred ħielsa hemmhekk li jagħmluha super faċli biex tagħmel affarijiet bħal dan. Jista 'xi ħadd jaħseb ta' xi żvantaġġi ta sempliċement autocompleting fuq din il-lista kbir ta 'simboli? Liema jista 'jkun xi ħaġa li mhux l-aħjar ma' dan l-approċċ? Yeah. >> [Student] Ħin, jekk ikollok ħafna ta '[inaudible] Yeah. Dritt issa aħna qed tniżżil dan il-fajl JavaScript enormi u hemm ħafna ta 'simboli. U hekk jekk ikollna ton ta 'għalf, dan it-tip tista tat iżidu l-latency ta' mhux biss tiftix iżda wkoll tniżżil l-fajl attwali. Great. Xi ħaġa oħra? Dritt issa hemm l-ebda sens reali ta 'rilevanza. Jekk tip I li tipproċessa A, il-kumpaniji li juru up hawn jista 'ma jkunx il-kumpaniji l-aktar popolari li tibda ma' A. Qabel ma niġi għall-Apple, jista 'jieħu karattri ftit aktar biex isibu dak li jien tfittex. Dan AutoComplete ma jkollux dan is-sens ta 'rilevanza. Huwa biss se ngħid, "Xi ħaġa li taqbel jien ser juru." Minflok dan, nixtieq li b'xi mod tintegra xi rilevanza fl tfittxijiet tiegħi. Jekk immur fuq hawn biex Yahoo! Finanzi, finance.yahoo.com, Jekk nipprova li jidħol simbolu fuq il-paġna Yahoo! Finanzi u nibda ittajpjar GOOG, għandi din il-lista sbieħ ta 'l-affarijiet. Ovvjament, jidher qisu Finanzi Yahoo! qed tagħmel xi ħaġa aktar għaqlija hawn. Huma għandhom xi relevanza u huma wkoll għandhom l-informazzjoni addizzjonali bħall-isem tal-istokk. Dik xi ħaġa li ma nistax verament biss ma 'lista istokk tiegħi ta' simboli. Irrid dan u għalhekk jien ser teħodha. Biex tagħmel dan ejja nagħmlu ftit affarijiet. Ejja 1 jiftħu l-ispettur dwar din il-paġna għaliex rajna li din il-paġna mhix tagħbija mill-ġdid fil-livelli kollha, hekk huwa probabbilment jużaw Ajax b'xi mod li tkun it-tagħbija tad-data tiegħu. Aħna tista 'ssib liema data huwa tagħbija. Jekk I ikklikkja fuq din tab Netwerk, dawn ser ikunu kollha ta 'l talbiet li jibdew li jiġi sparat. Issa jekk jien tip goo, nistgħu naraw li I biss ltqajna talba HTTP ġdid. Din hija probabbilment fejn dik id-data hija ġejjin minn. Sure biżżejjed, jekk I ħarsa lejn dan il-URL, li huwa daqsxejn stramba jismu, nistgħu naraw li dan huwa eżattament fejn Yahoo hija li jibgħat off data tiegħu minn. Stajt ħolqot fajl separat imsejjaħ suggest.php li ħafna simili fl-ispirtu tal-funzjoni lookup. Huwa bażikament se tagħmel mistoqsija lill URL Yahoo, terġa 'lura xi data, u jibgħatha lura lili. Issa, minflok li jużaw dan big, lista enormi ta 'simboli, I jistgħu jużaw affarijiet Yahoo rilevanza sbieħ, u jien ma jkollhom biex tniżżel dan il-fajl JavaScript enormi. Jien biss se jiġbdu r-simboli ħżin li realment rilevanti. Ejja Mur fis dan. Allura html, JS. Aħna issa fil quote4. Issa aħna qed m'għadekx jużaw dik il-lista kbir ta 'fajls JavaScript. Iżda hemm tip żgħir ta 'problema disinn hawn. Imxejna qal li l-A fil Ajax huwa mhux sinkroniku. X'inhu dan ifisser huwa li meta I jagħmlu talba Ajax, hekk dritt hawn fuq linja 8, din hija fejn it-talba Ajax tiegħi huwa attwalment sparat. Ejja ngħidu issa għandi xi kodiċi stabbiliti hawn li għaddej biex jagħmlu xi għalf bħall twissi lill-utent jew xi ħaġa bidla fuq il-paġna. X'hemm ma jiġri hija l-browser mhux se tistenna għal din it-talba biex tkompli qabel ma tonqos u laqtu din il-linja. Dik hija l-parti mhux sinkroniku. Huwa ser jagħmel din it-talba u jgħidu, "Kull meta inti finitura, "Terga 'lura u sejħa dik il-funzjoni li I qallek li inti sejħa ġewwa ta' suċċess." Dan ifisser li ma nistgħux biss tniżżel l-istokkijiet qabel. Għandna bżonn li jagħmlu t-talba u stenna għal xi ħaġa li jiġu lura. Dan ifisser li qabel, nistgħu sempliċiment tgħid bootstrap, "Hawn il-lista ta 'affarijiet nixtieq li inti AutoComplete fuq." Nistgħu m'għadhomx jagħmlu dan jibqgħalu għaliex ma nafux dak li rridu li attwalment AutoComplete fuq. Fortunatament, bootstrap ħsieb ta 'dan għaliex dawk huma guys intelliġenti hemmhekk, u huma fil-fatt tana mod ieħor biex jgħabbu dan plugin Typeahead. Qabel, il-valur ta 'din il-proprjetà sors kien biss dan firxa kbira ta' affarijiet li AutoComplete fuq. Issa l-proprjetà sors huwa attwalment funzjoni, u l-għan ta 'din il-funzjoni huwa li ċifra barra dak l-affarijiet għall AutoComplete fuq huma. Il-mod li għaddej biex figura li out hija li għaddej biex jistaqsu Finanzi Yahoo! dak li l-affarijiet aħjar li AutoComplete huma. Biex tagħmel dan jien ser tagħmel talba Ajax simili ħafna. Jien ser titlob din il-paġna fuq suggest.php. Irrid li jibgħat tul il-simboli xorta. U issa suċċess tiegħi, id-dokumentazzjoni bootstrap told me li sabiex timla dik il-lista ta 'affarijiet, kollha I bżonn tagħmel huwa jgħaddi f'din firxa issa għall-funzjoni callback. Imma stenna minuta. Jekk dan suppost tkun firxa u Ajax hija li jibgħat me lura test, kif huwa possibbli li? Din tintroduċi mod ġdid ta 'skambju ta' data msejħa JSON. F'dan il-każ aħna qed mhux biss jibgħat lura sensiela sempliċi ta 'test. Issa aħna qed jittrattaw ma 'din il-lista aktar kumplessa ta' simboli istokk. Dawn is-simboli istokk jistgħu wkoll jinkludu affarijiet bħall-isem tal-kumpanija jew il-prezzijiet kurrenti. Just użu ta 'sensiela twila big li mhux formatted bl-ebda mod prevedibbli mhux se tkun l-aħjar mod biex jiksbu din id-data minn server Yahoo lili b'mod li I jista 'jifhem faċilment. JSON hija teknoloġija li jieħu vantaġġ ta 'kif aħna joħolqu matriċi assoċjattiva fl JavaScript. Dan jistenna ħafna bħal firxa JavaScript assoċjattiva, u fil-fatt, huwa minħabba li huwa. JSON stands għall Notazzjoni Għan JavaScript. Dan huwa bażikament miftiehma format għat-trasferiment tad-data u lura. Hawnhekk dan l-oġġett JSON jew dan array JSON assoċjattiva huwa jibghatni xi dejta dwar kors. L-imfietaħ ta 'din array huma affarijiet simili kors li għandu valur ta' cs50, u 'l isfel hawn nistgħu naraw li I jista' jkollhom valur li huwa firxa. I ma jkollhom jagħmlu affarijiet simili parse out kordi u jfittxu virgoli u jagħmlu affarijiet crazy bħal dik. Minħabba dan ikun iddikjarat f'dan il-format JSON, JavaScript jQuery u diġà għandhom funzjonijiet li jikkonvertu string li tidher bħal dan JSON fis-firxa JavaScript attwali assoċjattiva li għandna jistgħu jaħdmu ma '. Jsir li hija sempliċi kemm qal li m'għadhomx hu dan il-fajl, suggest.php, jibghatni lura sempliċiment sekwenza ta 'test, imma naf li għaddej biex tkun qed tibgħat me lura JSON. Dan ifisser li din JSON jistgħu jiġu kkonvertiti firxa JavaScript assoċjattiva. U hekk jQuery, nixtieq li tagħmel dan għalija. Dan ifisser li dan il-parametru tweġiba hawn, dan m'għadux biss sekwenza. Għaliex aħna ħadthom qallek jQuery li hawnhekk jidħol xi JSON, jQuery se tkun intelliġenti biżżejjed biex jgħidu, "Inti ridt JSON?" "Jien ser tikkonverti dan in-firxa assoċjattiva għalik." Ejja fil-fatt tagħti ħarsa lejn l-tab Network ladarba għandna quote4.js. Aħna ser tbiddel dan u rikarigu-paġna. Issa jien ser tip fil--a-ġdid. Stajt għamel talbiet koppja lil suggest.php, iżda issa din it-tweġiba, aktar milli biss il-sekwenza, huwa JSON. So I jkollhom Brace kaboċċi miftuħa qal, "Hawnhekk tidħol firxa assoċjattiva." Iċ-ċavetta ewwel u biss ta 'dan array assoċjattiva tissejjaħ simboli, u allura hawnhekk hija firxa ta 'l-simboli rilevanti ġejjin issa minn Yahoo! Finanzi, mhux minn dik il-lista ġiganteski. Li kif I tista 'sempliċement timla dan il-plugin AutoComplete ma 'xi data li mhux ġejjin minn fajl lokali li li diġà predeterminat iżda minn xi ħaġa oħra. Jirriżulta li nistgħu attwalment jieħdu vantaġġ ta 'teknoloġija msejħa JSONP, jew JSON bl-ikkuttunar, li se jelimina dan middleman suggest.php. Iżda minflok tagħmel dan, ejja minflok tagħti ħarsa lejn kif I jistgħu jtejbu din saħansitra aktar. I really simili Typeahead bootstrap s. Huwa tassew sbieħ. Iżda aħna qed jkollna tajba fil JavaScript u rridu li tip ta 'jagħmel dan lilna nfusna, forsi tagħti ħarsa lejn dak li dan plugin jistgħu jagħmlu. Ejja ma jibqgħux jużaw dak ħaġa Typeahead, u ejja jippruvaw jagħmlu din il-lista ta 'ħażniet suġġeriti nfusna. Hawnhekk fil quote6.php aħna qed tmur biex tibda off bl-istess mod. Kull darba xi ħadd tipi xi ħaġa, irridu li jagħmlu talba Ajax. Dan huwa simili għal Instant Finanzi tagħna oriġinali CS50. Pjuttost milli tagħmel talba biex quote.php, aħna qed issa jagħmlu talba għal dan il-fajl istess bħal qabel, dan suggest.php, li huwa biss se pull data minn Yahoo! Finanzi. Għal darb'oħra, aħna qed għadhom jistennew JSON, iżda issa peress li l-Typeahead ma tagħmel dan għalina, aħna wkoll bżonn li tibgħat tul il-valur li huwa ġewwa tal-kaxxa tat-test attwali. Issa nafu dak li jistaqsu Finanzi Yahoo! għal, u hekk issa hawn l-funzjoni li aħna rridu li teżegwixxi meta t-talba tikkompleta. Aħna ma jkollhomx il-plugin biex jagħmlu l-lista għalina, hekk hawn fejn aħna qed attwalment għaddejjin biex tinbena lista ta 'suġġerimenti. Biex tagħmel dan, ferm simili fil-PHP aħna concatenated dawn il-kordi kbar ta 'HTML allura aħna stampati minnhom, nistgħu nagħmlu l-istess ħaġa eżatt fil JavaScript. L-ewwel aħna qed tmur biex tibda off din is-sekwenza imsejħa suġġerimenti, u din is-sekwenza huwa biss se jkollhom xi HTML. Irridu li jkun hemm lista ta 'affarijiet, hekk aħna qed tmur biex tibda off ma' din il-lista tag, u issa aħna qed tmur biex jtenni fuq kollha ta 'l-simboli li ġew irritornati lura lilna. Ftakar, għaliex aħna stajt qal datatype: "JSON", dan mhuwiex string. Dan huwa diġà firxa għalina. Li verament jibred. Nistgħu sempliċement jgħidu, "Irrid li inti tehmeż element lista." Aħna ser tqiegħed lilha ġewwa element ta 'fil-ġenb ta' dan, aħna ser tagħtiha klassi ta 'suġġerimenti hekk nafu dak li hi, u issa hawnhekk huwa s-simbolu li sirna lura mill Yahoo! Finanzi. Ladarba ħloqna element għal kull wieħed mill-simboli konna gotten lura, aħna biss jixtiequ li tagħlaq mil-lista. Allura issa suġġerimenti jirrappreżenta dan framment HTML ftit li meta jitqiegħdu fuq il-paġna se tkun l-lista ta 'affarijiet li aħna qed tfittex. Issa ejja fil-fatt imqiegħda li fuq il-paġna. Biex tagħmel li stajt attwalment maħluqa ieħor div vojta u stajt jagħtiha ID ta 'suġġerimenti. Ħafna bħall aħna waqqafna l-kontenut tal-div li juru l-prezz tad-dejta istokk, aħna issa biss jixtiequ jistabbilixxu l-kontenut ta 'dan div għal dak kollu li din is-sekwenza huwa li fih dawn is-simboli. Meta tuża dan il-metodu HTML, dan il-varjabbli suġġerimenti, din is-sekwenza, hija sekwenza ta HTML. Nixtieq li jieħdu dik HTML u poġġih ġewwa ta 'l div imsejħa suġġerimenti. Imxejna biss mehmuż xi ħaġa li l-DOM issa. Imxejna żied xi elementi ġodda għall-DOM li nistgħu issa juru fuq il-paġna. Ejja naraw dak li dan qisu. Jekk aħna tagħbija fl quote6 u issa aħna ġejjin lura, issa meta nibda ittajpjar AAPL, aħna m'għadx għandhom l bootstrap AutoComplete, iżda issa għandna din il-lista li għamilna lilna nfusna. Dan huwa uglier ftit mill-Typeahead bootstrap, per eżempju, iżda ma inessu li jagħmlu ħaġa waħda oħra. Meta konna tħares lejn dak plugin bootstrap, rajna li meta aħna autocompleted, wieħed mill-valuri AutoComplete kien AAPL. Li jista 'ma jkunx hekk utli. Bħala utent, I ma jista 'immedjatament jirrikonoxxi l-simboli istokk. Dak li jien probabbilment aktar probabbli li jirrikonoxxu huma ismijiet reali tal-kumpanija. Għalhekk ma kienx ikun verament utli jekk minflok qal AAPL dan qal xi ħaġa bħal Apple Inc Minħabba li aħna ve rrumblati dan lilna nfusna, nistgħu verament faċilment tagħmel dan. Ejja jiftħu l-aħħar kwotazzjoni tagħna fajl hawn, hekk quote7. L-istess ħaġa. Stajt biss maħluqa ieħor fajl PHP li se terġa 'lura lilna aktar milli sempliċement l-simboli. Huwa se jipprovdi wkoll tagħtina lura ismijiet tal-kumpanija. U hekk aħna qed tagħmel l-istess ħaġa. Aħna qed tagħmel it-talba Ajax. Ladarba t-talba tkun tlestiet, aħna qed tmur biex tesegwixxi din il-funzjoni hawn, u din il-funzjoni se jibni sensiela kbira ta 'elementi. Iżda d-differenza hawnhekk huwa li l-valur ta 'dawn il-listi m'għadhiex biss is-simbolu, issa huwa l-isem. Allura aħna għandna problema waħda żgħira. Meta nużaw Lookup tagħna, għandna bżonn li b'xi mod jgħaddu s-simbolu. Aħna ma jistgħux jgħaddu xi ħaġa lookup bħal Microsoft Corporation. Għandna bżonn li jgħaddu MSFT. Meta aħna qed tikteb HTML, għandna lottijiet ta 'sbieħ mibnija fil-attributi. An A jista 'jkollhom assoċjati magħha href jew klassi. Imma dak li aħna verament bżonn issa huwa għal kull wieħed minn dawn ir-rabtiet li jkollhom simbolu stokk assoċjati magħha. M'hemm l-ebda mibnija fil-attribut HTML għall simbolu istokk, iżda fortunatament, HTML5 jippermetti li tinħoloq attributi tagħna stess li jkun xi rridu. Billi qal data-simbolu, stajt introduċa attribut ġdida li ismu I biss magħmula, u dan huwa okay minħabba I prefazju ma din id-data. Aħna ser taħżen ġewwa tal m'hemm l-simbolu mill-istokk issa. X'inhu dan ifisser huwa li anke jekk aħna qed juri l-valur ta 'l-isem tal-kumpanija ġewwa ta 'AutoComplete tagħna, aħna qed għadhom ftakar-simbolu li huwa assoċjat ma 'kull kumpannija. Il-mod kif aħna qed tagħmel dan huwa ġewwa ta 'dan l-element innifsu. Allura dan ifisser li għandna bżonn li jagħmlu tibdil wieħed aktar. Meta aħna ikklikkja dan issa, għandna bżonn li attwalment jieħdu vantaġġ ta 'l-attribut simbolu aktar milli biss il-valur tagħha. Jekk aħna back-up, aħna nagħtu l handler avveniment għal suġġerimenti. Kull meta wieħed minn dawn is-suġġerimenti huwa għafast issa, I trid tagħmel xi ħaġa. Dak li nixtieq tagħmel hu li jibdlu l-valur ta 'dik il-kaxxa input. Issa nixtieq li jistabbilixxu din il-funzjoni val istess. Allura mingħajr ebda argument din il-funzjoni val lura lilek x'hemm diġà fil-kaxxa ta 'test, imma jekk inti tagħti string, li għaddej biex jieħdu dik string u poġġih fil-kaxxa ta 'test. Jien għażla kaxxa ta 'test tagħha bl-istess mod. Huwa isem huwa ġewwa simbolu ta 'formola ta' kwotazzjoni. Issa jien bagħtitlu l-valur tal-attribut tad-data simbolu. Din ħaġa hawnhekk huwa ġdid, din $ (dan). X'inhu dan jirreferi għall huwa l-element li kien għafast. Nistgħu naraw hawn li aħna mhux qed titwaħħal avveniment klikk għal kull element ma 'klassi ta' suġġeriment individwalment. Pjuttost, aħna qed toqrob dan ftit differenti. Minflok aħna qed tgħid kull meta ġewwa xejn ta 'dan div suġġerimenti, li tiftakar huwa biss il-kontenitur għal dik il-lista, jekk xi ħaġa ġewwa ta 'dan div hija għafast u għandu klassi ta' suġġeriment, Irrid dan l-avveniment għan-nar. Bażikament dak li dan ifisser li nistgħu nagħmlu huwa li nistgħu użu mill-ġdid dan il-handler avveniment istess għall kollha ta 'l-affarijiet fil-lista. Allura aħna ma jkollhomx li jkollhom waħda avveniment handler għall-ewwel element u handler avveniment differenti għall-element tat-tieni. Nistgħu ngħidu minflok, "Irrid li l-handler avveniment istess japplika għall-kollox fil-lista tiegħi." Iżda għandna bżonn li b'xi mod tkun taf liema element ġie għafast. Dan "dan" keyword jirrappreżenta biss li. Dan huwa l-oġġett li kien biss għafast mill-utent. Jekk I biss għafast il-link 3, dan jirrappreżenta l-element ta 'din ir-rabta 3, li jfisser li nista 'nikseb l-attribut tagħha, data-simbolu, li nafu għandu jkun fiha s-simbolu li huma assoċjati mal-kumpannija I biss għafast. Jekk aħna jaqbżu lura għall-paġna finanzi tagħna, nistgħu naraw issa li ladarba I tibda ittajpjar xi ħaġa simili MSFT, aħna qed m'għadhomx jkollna biss l-simboli istokk, aħna qed issa jkollna l-kumpaniji attwali. Imma meta I ikklikkja fuq waħda minn dawn il-kumpaniji, nistgħu naraw li aħna qed attwalment populating-kaxxa ta 'test mhux bl-isem tal-kumpanija iżda bi kwalunkwe kien maħżun ġewwa ta 'dawk l-attributi tad-data. U hekk jekk I attwalment jispezzjona waħda minn dawn l-elementi mill-dritt tikklikkja u tikklikkja Spezzjona Element, nistgħu attwalment ara dak li dan qisu. Ftakar din hija xi ħaġa li aħna maħluqa ġewwa ta 'dik loop meta konna bini li sensiela ta 'HTML. Nistgħu naraw hawnhekk li din id-data 'simbolu għandu l-valur tal-MSFT, li hija kbira. Dak hu li aħna qed nistennew. Dik hija l-simbolu u li l-mod kif aħna ltqajna l-valur li aħna meħtieġa għall-użu ġewwa ta 'din il-kaxxa test. Dik hija biżżejjed għall-forma kwotazzjoni għaliex dan huwa tip ta 'boring. Ejja biss tagħmel xi titjib malajr għall-paġna portafoll tagħna. Jekk inti ħadthom użati CS50 Finanzi għal waqt u tibda xiri u bejgħ ta 'lott ta' ħażniet, eventwalment din it-tabella hija se tikseb pjuttost kbar, u int ser jridu ticker stokk, tal-kors. Ladarba l-mejda huwa tassew, tassew kbir, jista 'jkun utli għall-utent biex tipprova tfittxija fuqha. Ġewwa tal-kaxxa tat-tfittxija jekk nibda ittajpjar xi ħaġa bħal Disney u tfittex għall-istokk tiegħi Mickey Mouse, nistgħu naraw li l-tabella hija issa filtrazzjoni ibbażati fuq dak I biss ittajpjat pulzieri Din il-funzjonalità jistenna super ikkumplikata, imma huwa tassew, tassew faċli ma jQuery u JavaScript. Dan il-fajl portfolio.php jinkludi fajl JavaScript imsejjaħ portfolio.js. Ejja tagħti ħarsa lejn dak. Allura html, JS, portafoll. Hawn fejn aħna qed tagħmel dan it-tiftix fuq il-mejda. L-ewwel ħaġa I bżonn tagħmel huwa ehmeż handler avveniment għal dak kaxxa ta 'test għaliex aħna nafu li aħna rridu funzjoni ta 'filtrazzjoni tagħna għan-nar kull darba li l-utent jagħfas xi ħaġa għaliex aħna ma jkollhomx ħin għall-buttuni Fittex. L-ewwel ħaġa li għandna bżonn tagħmel hu li ċifra barra dak l-utent huwa tiftix għal, bħad għamilna qabel. Dan keyword tirreferi għall-element attwali l-utent huwa interazzjoni ma. Minħabba li l-utent huwa interazzjoni ma 'l-kaxxa tat-tfittxija, $ Dan jirrappreżenta l-kaxxa tat-tfittxija, hekk this.val tagħtina x'hemm ġewwa tal-kaxxa tat-tfittxija l-utent bħalissa ittajpjar. Allura, issa dak li rridu nagħmlu hu li rridu jtenni fuq kollha tal-fillieri ġewwa ta 'mejda tagħna. Biex tagħżel kollha ta 'l-ringieli fit-tabella tagħna, I taw dik it-tabella ta' ID tal-portafoll tal-mejda, u kull ringiela huwa rappreżentat minn element TR, għalhekk dan selettur se terġa 'lura lili firxa kbira ta 'l-ringieli fit-tabella tiegħi. Issa nixtieq li jtenni matul dak array. I jistgħu inti għal loop, iżda jQuery attwalment jagħtina l-funzjoni sbieħ imsejħa "kull wieħed." Dak kull ma huwa kull tieħu waħda argument, u dan l-argument huwa funzjoni. Dak li għaddej biex tagħmel hu li għaddej biex japplikaw dik il-funzjoni għal kull element ġewwa ta 'din il-lista. Din il-funzjoni tieħu waħda argument li l-e, u meta din il-funzjoni hija esegwita, dan e se jiġu sostitwiti bl-ewwel ringiela, allura l-tieni ringiela, u mbagħad l-tielet ringiela. Permezz ta 'dan il-mod, dan huwa l-istess ħaġa bħat-tmexxija ta' għall-loop u mbagħad jidhru l-element attwali bbażata fuq il-ġewwa indiċi tal tiegħek għall-loop. F'kull iterazzjoni, għal kull wieħed minn dawn l-elementi fit-tabella, Irrid li jivverifika jekk it-test ta 'l-element - it-test taċ-ċellula ġewwa tar-ringiela - logħbiet dak li jien tfittex. Dan sensiela twila kbir ta 'kmandi huwa kif I jistgħu jagħmlu dan. L-ewwel, għal darb'oħra, dan issa jirreferi għall - għaliex dan huwa ġewwa ta 'funzjoni ġdida - dan issa hu l-ringiela kurrenti fit-tabella. Irrid li tieħu l-ringiela kurrenti fit-tabella, u nixtieq li tikseb kollha tat-tfal tagħha. Ftakar, il-DOM hija siġra ġerarkika, li jfisser li l-elementi għandhom numru ta 'tfal. Din il-funzjoni tfal. Se jirritornaw lura lili firxa ta 'l-elementi kollha li huma t-tfal ta ', f'dan il-każ, ringiela fit-tabella. Dan huwa biss sempliċement l-ċelluli ġewwa tar-ringiela. I biss trid tfittex fuq l-ewwel ċellola. Din il-funzjoni. 1 jgħid agħtini l-ewwel element f'dak firxa. Imbagħad il-funzjoni test jgħid nikseb me eżattament x'hemm ġewwa ta 'dik iċ-ċellola peress li jien trid tfittex fuq dak it-test. Fl-aħħarnett, ejja jaqilbu għal zghar, hekk nistgħu nagħmlu każijiet mistoqsijiet test insensittivi. Fl-aħħarnett, irridu naraw jekk dak string ġewwa ta 'tabella fiha l-sekwenza aħna qed tfittex. Il-funzjoni indexOf fl JavaScript ma dan. Hija tgħidilna jekk jew le dan sekwenza fih ieħor sekwenza. Jekk huwa veru li l-ċellola fih dak li jien tiftix għal, imbagħad I jixtiequ jagħmlu ċert li huwa muri. Il-metodu juru se ngħid, "Uri l-element." Jekk dan ma jkunx il-każ, allura dan ifisser kwalunkwe jien tiftix għal mhux kontenuta f'dak ringiela, u għalhekk nixtieq li jaħbu hija mill-utent. Dan tikseb dak l-effett sbieħ filtrazzjoni fejn m'għadux naraw il-mejda kollu. Jekk int interessat fl kif jagħmlu dan ticker kif ukoll, aħna ser post-sors online. Imma huwa verament sempliċi. JQuery jkollu metodi tal-biża 'għal dawn animazzjonijiet u l-proprjetajiet manipulazzjoni CSS. Allura, li fiha għalija. X'inhu allura tinsab quddiem? Kif tkun taf tara fi ftit jiem, il-proposta proġetti finali stabbilita jkun dovut. Il-proposta proġetti finali se jgħidlek ftit mistoqsijiet, iżda fosthom se jkun ta 'tliet stadji - 1 "tajba" pass, wieħed pass aħjar, u wieħed li l-aħjar. L-idea hija verament biex jgħinu inti guys jistabbilixxu aspettattivi tiegħek hekk li minimament inti ser ikunu kuntenti bil-output ta 'proġett finali tiegħek u se jkun "tajjeb" sa fejn inti huma kkonċernati. Imma mbagħad fl-interess ta 'jkollna inti tilħaq biss ftit għal xi ħaġa aħjar jew xi ħaġa aħjar, aħna ser wkoll sort ta push inti lejn dak ukoll. Il-CS50 Hack-a-Thon, sadanittant, hija fi ftit ġimgħat. Tipikament, nagħmlu dan fuq bażi bażi lotterija minħabba l-interess, iżda odds huma aħna ser tagħti ftit mijiet ta 'magħna fil-shuttle buses minn Harvard Square sa Kendall Square fejn Microsoft għandha l-faċilità beautiful aptly imsejjaħ "NERD" - il Riċerka Ingilterra l-Ġdida u Żvilupp Center. Aħna ser naslu s'hemm madwar 8:00 Aħna ser ikollhom xi ikel. Madwar 01:00 aħna ser ikollhom l-ikel ftit aktar. Madwar 05:00 jekk int xorta imqajjem aħna ser ras fuq il IHOP jew tieħdok lura għall-kampus. L-għan hemm biex adsa fis proġetti finali flimkien ta 'klassi u l-persunal. Imbagħad ftit jiem wara l-Fiera CS50, li huwa tassew maħsub li jkun opportunità għalik guys li nuru x-xogħol tiegħek u kisbiet għall-semestru filwaqt tħakkik ispallejn ma 'xulxin u jkollna sens ta' għamlet kulħadd dak. Ma 'dak imsemmi, grazzi ħafna għall Tommy u lil Joseph, u aħna se tara int nhar it-Tnejn.  [Applause]