DAVID J. Malan: Tout dwa, kidonk sa a isit la se bra a Myo bann, yon koup la ki nou gen pou CS50 pwojè final la. Ak sa ki te yon demonstrasyon nou atant ou leve davans ki kote esansyèlman sa a bra san patipri sere bann moute isit la koute mouvman miskilè ou ke yo Lè sa a, trase nan lojisyèl nan konpitè pòtatif Colton a sou isit la ki te gen iTunes epi ki chante deja atant yo. Olye de sa pase m 'demoing sa a, Colton te gen nan laboratwa a byen klè tout semèn ap resevwa yon demonstrasyon pare pou yon sèl volontè brav. Si yon moun ta renmen vini sou up-- wè men ou premye. Vini non sou yo. [00:01:09] Tout dwa. Ak sa ki non ou? [00:01:13] ODYANS: Uh, Maria. [00:01:14] DAVID J. Malan: Maria, bèl yo wè ou. Vini non sou sou isit la. Kite m 'entwodui ou nan Colton. Colton, sa a se Maria. [00:01:21] COLTON: Hi, bèl al kontre ou. [00:01:23] DAVID J. Malan: Tout dwa, se konsa etap yon sèl, nou ap ale nan gen ou mete sa a sou avanbra ou se konsa ke li la trè sere moute tou pre manch rad koud bra ou. Ak pandan se tan, se pou yo gen mete yo sou Google Glass nou an epi nou pral melanje teknoloji jodi a. [00:01:33] COLTON: Premye nou pral oblije zen sa a nan bagay sa yo. [00:01:36] DAVID J. Malan: OK. Aktyèlman, kite a mete bra ou kòm fèmen nan kab sa a ke posib pou nou ka premye sync fè l '. [00:01:41] COLTON: Se pou nou fè sa. [00:01:42] DAVID J. Malan: Epi pandan se tan, se konsa ke tout moun ka jwenn yon ti koutje sou pi pre, nou pral voye kamera Andre a moute sou ekran an la. Se konsa, nou gen yon kab USB sa a, se ke yo te konekte nan Brasher Maria la. Ak kite m 'voye ekran Colton a moute sou pwojektè kap vini an. [00:02:00] Se konsa, Colton se enskri aparèy la kounye a kòm yon Myo konekte nan kab sa a. Koulye a, kisa Maria a pral fè ti tan se aktyèlman mache nan etap sa yo kalibrasyon epi anseye lojisyèl an ki jan misk li reponn lè li fè sèten pre-defini jès ki lojisyèl an konprann. Si w ta renmen yo ale nan devan ekran an. OK, kontinye eseye. [00:02:30] COLTON: Ale tankou sa a. Li te tankou sa. Apre sa, tout wout la nan bò dwat la. Ale tounen. [00:02:35] DAVID J. Malan: OK. Diferan pèspektiv. Li pa ou. Li nan nou. [00:02:40] MARIA: OK. DAVID J. Malan: No Se pou yo avanse pou li moute pi wo se konsa li a pi pre koud ou, oswa menm pi sere. Tout dwa. [00:02:52] Isit la nou ale. Sa a ta dwe yon bon moman pou CS52X. Gen nou ale. [00:02:57] Trè bèl. OK. Thumb pinki. [00:03:02] Trè bèl. Gaye dwèt ou. Bon. Balanse dwat. Li nan kiryozite ki montre ou ak hand-- gòch la [00:03:17] COLTON: Yeah, sa a, se Wierd. DAVID J. Malan: Vag dwat la yo epi li deplase pi devan. Vit pou pi devan pou sote oswa pwochen. Sa a OK dwa Vag. [00:03:25] MARIA: Mwen don't-- tann. [00:03:26] DAVID J. Malan: Bezwen kèk èd? [00:03:28] COLTON: Se konsa, w ap ale tankou sa a. MARIA: Li vire nan lòt bagay, menm si. COLTON: Li se. DAVID J. Malan: Yeah Mwen pa konnen poukisa li a ki montre ou yon leftie. COLTON: Poukisa ou pa try-- jis eseye ale tankou sa a. [00:03:38] DAVID J. Malan: Se pa? Petèt rive jwenn bra ou soti yon ti kras pla , epi fè li plis brid sou kou tankou sa a. Yeah, OK, vini sou. [00:03:48] MARIA: Mwen regrèt. DAVID J. Malan: Li pa fòt ou. COLTON: Li nan amann. DAVID J. Malan: Tout dwa. Well-- [00:03:56] MARIA: Eske nou ta dwe sote sa a, lè sa a? DAVID J. Malan: Wi, se pou yo kite ou nan zen an. Se konsa, si nenpòt moun ki ta renmen fè yon pwojè final lè l sèvi avèk sa a kwen koupe pyès ki nan konpitè, reyalize li ta ka jis pran yon ti kras ap resevwa itilize yo. Epi this-- reyalite a se sa a se aktyèlman trè senyen kwen. [00:04:10] Sa a se sa ki rele pou twous lan pwomotè, ki ki te vle di yo dwe esansyèlman se yon pre-lage se konsa ke gen moun ki ka fè egzakteman this-- goumen ak li, figi konnen ki jan kò moun nan travay ak teknoloji a. Se konsa, si ou vle apre sa, apre yo fin konferans, nou ka kite ou ale epi pou pran yon lòt koud nan li. Men, otreman, yon wonn nan aplodisman, si nou te kapab, pou Maria pou vini sou yo. [00:04:26] MARIA: Mèsi poutèt ou. [00:04:28] DAVID J. Malan: Mèsi poutèt ou. Nou pral kwoke sou sa a, men nou pral bay you-- ki jan sou yon boul estrès isit la? Oh, and-- if-- yeah, mèsi. Tout dwa. Se konsa, pou kirye a, si ou te abitye avèk chwa a son ke nou te fè gen pi bonè, yon televizyon etonan yo fè montre ke ou ta dwe absoliman gen repa egzajere-l ap gade sou Netflix se yon sèl sa a isit la. [00:04:51] Oratè 1: Ladies ak Mesye, yon majisyen ki te rele Joz. [00:05:04] DAVID J. Malan: Ak aparamman, li nan yon bagay nan tèks m 'pandan konferans kounye a. Mwen te di yo ke Maria te gen yon anivèsè nesans yè. Se konsa, kè kontan anivèsè nesans soti nan CS50 Maria kòm byen. [00:05:18] Se konsa, ou ka te li nan mwa ki sot pase ki Mesye sa a isit la, Steve Ballmer, ki moun ki te aktyèlman klas nan 1977 nan kolèj la, dènyèman pran retrèt pou Microsoft. Li te gen yon bakaloreya isit la, Lè sa a, ane yon koup pita te jwenn tèt li nan Stanford Business School lè li te resevwa yon telefòn rele nan men yon zanmi nan ki moun li te viv desann sal la nan men l 'isit la nan Harvard. Non ke zanmi a te Bill Gates, ak nan moman an, li te ap eseye rekrite Steve yo dwe moun nan biznis premye, reyèlman, nan yon ti konpayi non Microsoft. [00:05:45] Yon kout istwa long, Steve te finalman te genyen sou, Joined Microsoft lè yo te gen jis 30 anplwaye yo. E pa lè a li pran retrèt byen dènyèman, konpayi an te gen 100,000 anplwaye sou ane ki sot pase yo kèk. Se konsa, yon sit entènèt li te ye tankou Wout pou prepare sa a peye lajan taks sou videyo ke nou te panse nou ta pataje ki ba ou yon sans de jis ki jan anpil enèji Steve pote nan nenpòt ki prezantasyon li bay. [Lèktur VIDEO] -Microsoft A tankou yon timoun katriyèm. Timoun fè kite kay la. Nan ka sa a, mwen devine Mwen kite kay la. Hey Bill, whazzap? [00:06:23] -Wazzap? [00:06:24] -Hey, Wazzap? Nou te ap bay yon menmen opòtinite. Ak Bill te ban nou opòtinite sa a. Mwen vle Bill mèsi pou sa. Mwen vle nou tou. Mach la nan inovasyon a pa pral ralanti. [00:06:42] Li nan ale nan jwenn pi vit ak pi vit. Gen ta kapab yon konpetitè kèk ke yo malerezman elimine! [00:06:54] Mwen renmen konpayi sa a. Wi! Mwen se yon PC, e mwen renmen konpayi sa a! [00:07:08] Devlopè, devlopè, devlopè, devlopè, devlopè, devlopè, devlopè, devlopè. Wi! Devlopè Web! [00:07:19] Devlopè Web! Devlopè Web! Koute sa lòt bagay ou jwenn nan pa gen chaj siplemantè! [00:07:28] Pouvwa egzekitif la MS-DOS, yon randevou calender, yon pil kat, yon pad nòt, yon revèy, yon panèl kontwòl. Epi, ou ka kwè ke li? Reversie! [00:07:35] Boule yo CD! Afiche yo MSN! Ou voye yo bay zanmi! [00:07:40] Tout ak yon sèl klike sou! Youn Microsoft, youn estrateji, yon sèl team-- konsantre, disipline, pwofesyonèl, ak ekspè nan tout sa nou fè. Kite m 'sèvi ak yon liy ki soti nan yon fim fin vye granmoun. [00:07:52] Relasyon yo tankou reken yo. Yo avanse pou pi devan oswa yo mouri. Mwen aktyèlman panse teknoloji konpayi yo se menm bagay la. [00:08:01] [Lèktur videyo END] DAVID J. Malan: Se konsa, nou yo, se pou kontan anonse ke Steve pral rantre nan nou isit la nan CS50 Mèkredi pwochen nan plas la abityèl ak tan isit la. Espas ap gen chans pou dwe limite. Se konsa, rantre nan nou nan moun, tanpri tèt jodi a oswa yon ti tan apre sa cs50.harvard.edu/register. [00:08:22] Apre sa, nou pral swiv moute pa Madi konfime tach. Gade pou pi devan pou ke pwochen Mèkredi pandan konferans nan CS50. Koulye a, nan lòt nouvèl, mwen te rive vini nan tout sa a nan Crimson la jis lòt jou a. [00:08:34] Li sanble ke youn nan anplwaye CS50 a ak omwen youn nan elèv CS50 nan se kounye a kouri pou UC prezidan ak vis-prezidan, ki te fè m 'tounen nan jou pwòp mwen tounen lè m 'pèdi eleksyon an UC miserable. Men, pawa an ajan nan ki se mwen toujou rakonte istwa a se ke youn nan mwen an se asire w ke anpil rezon Mwen pèdi nan eleksyon se te yon mank konplè nan yon talan pou pale an piblik. Se konsa, byen onètman, li te kondwi m ', ke eksperyans Mwen panse ke ane jinyò m 'yo, yo aktyèlman siyen moute pou Harvard Sosyete Odinatè, ki se gwoup la sou lakou lekòl la ki kenbe divès kalite chita pale teknik ak lòt bagay. Apre sa, mwen te pran plis pase ansèyman yo seminè ak Se poutèt sa te gen yon opòtinite, yon opòtinite bèl bagay, yo kòmanse ap travay sou egzakteman sa a. Men, tou, mwen te gen yon opòtinite pandan eksperyans sa a yo anseye tèt mwen tout HTML a plis ankò. Se konsa, mwen ranvwaye yè swa pa kap nan sit entènèt la HTML ki baze Mwen te fè nan tankou 1997, '98, pou m ' kanpay ki sanble tankou sa a isit la. Mwen konnen. [00:09:29] Because-- ak nan kou, avi sa a desizyon konsepsyon etonan nan 1998 oswa etajèr. Premye bagay ou vle itilizatè moun fè gwo vizite sit entènèt ou se yo gen klike yon lòt lyen jis a antre nan sit entènèt ou isit la ak mwàn a dèyè tankou yon rido kache kote aparamman platfòm kanpay mwen te ye a. Lè sa a se tout sa ou pral jwenn jodi a se jis yon D. Men, mwen te lekti atravè, tankou, postè kanpay mwen yè swa ak platfòm m 'yo. [00:09:50] Apre sa, mwen te tèlman fache nan moman an. Platfòm mwen was-- li te enteresan. Se konsa, mwen te kalme depi lè sa a. Men, yon jou, mwen pral kouri ankò, li èspere ke pi bon moman sa a. [00:10:03] Se konsa, HTML, ki lang nan ki mwen te fè ki in-- ou pral byento fè more-- pi se yon bagay nou ve yo te ap pale de nan byen ta nan ak lajman pran pou yo akòde kounye a ke nou te te deplase sou lòt lang. Men, kite a pran yon poz sèlman pou moman yon ak mete kèk nan bagay sa yo nan yon kontèks. Se konsa, nan yon fraz, ki sa ki HTML? [00:10:18] Oswa, sa ki itilize pou? Nenpòt moun ki? Wi. [00:10:20] ODYANS: markeup pou sit entènèt. DAVID J. Malan: markeup pou sit entènèt. Se konsa, li yon lang markeup ki pèmèt ou estrikti yon paj entènèt. Header ap moute isit la, tit ale isit la, kò ale isit la. Sa a se Tipografi, sa a se italics-- ki sòt de detay. [00:10:33] OK, bon. Se konsa, CSS pèmèt you-- ak mwen te pran kèk libète gen ak fonse-fè fas a ak italik paske ki nan pi bon aplike avèk sa a. CSS is-- ki sa? Di nan yon fraz. Nenpòt moun ki nan tout. Yeah. [00:10:46] ODYANS: anbelisman ak bagay, tankou ki jan nan konsepsyon li. DAVID J. Malan: OK, bon. Anbelisman ki pèmèt ou nan konsepsyon li oswa stilize li ak bagay sa yo tankou Tipografi ak italik ak koulè epi tou plis amann grenn fen pwezante nan eleman. Li sòt de pèmèt ou pran bagay sa yo dènye mil se konsa ke si, pou egzanp, nan pset7, ou ta ka remake gen sou ou paj pòtfolyo si w ap nan pwen sa a deja ke yon tab default ke ou fè yo montre itilizatè a HOLDINGS stock ak lajan kach pwobableman sanble trè efreyan pa default ki pa gen okenn espas blan. Kalite Tout la nan anpile ansanm nan ranje ak kolòn. [00:11:18] Oke, ak yon ti jan nan CSS, jan ou ka reyalize, ou ka aktyèlman ajiste ki, epi fè li yon bagay pi plis yo konnen yo ak anpil bèl pase fè yon gade nan. Se konsa, CSS se sou la stilizasyon nan sit entènèt. Men, lè sa a nou prezante ankò yon lòt lang, PHP, ki pèmèt nou fè ki sa? [00:11:36] Se pou nou jis fè sa? Nenpòt ki moun. Te rive nan antrepriz pi lwen pase premye koup ranje yo. Yeah. [00:11:40] ODYANS: Jenere kontni dinamik. DAVID J. Malan: pafè. Jenere kontni dinamik. Epi ou ka fè sa nan nenpòt ki kantite lang. Nou rive yo sèvi ak PHP paske li nan nan pati se konsa menm jan ak C sentaks. [00:11:50] Men, PHP fè egzakteman sa. Li pèmèt ou dynamique jenere pwodiksyon. Se konsa, kèk nan ki pwodiksyon ta ka HTML, kòm nou te tipikman te fè. Ak li la tou, paske li nan yon lang programmation, se mekanis a atravè ki nou ka pale ak baz done. [00:12:03] Apre sa, nou ka fè demann lòt serveurs tankou Yahoos ak programatik fè anyen reyèlman ke ou ta ka otreman vle fòse yon òdinatè fè. Se konsa, PHP pèmèt nou kòmanse dynamique sorti kontni. Se konsa, pa lojik sa a, mwen pa t 'gen yon sit entènèt dinamik tounen nan 1998. [00:12:16] Li te jis yon paj entènèt estatik. Kontni mwen te dwe chanje pa manyèlman ak jdi oswa kèk ekivalan. Men, PHP se sa nou itilize oswa te kapab itilize, olye, pou yon bagay tankou nan IMS Frosh sit entènèt, ki te sipoze pran anrejistreman ak jere yon lis bagay ki users-- yo aktyèlman chanje sou tan, menm si nou rive yo sèvi ak pèrl, yon diferan lang nan moman an. [00:12:35] Lè sa a, anfen, nou prezante SQL-- estriktire rekèt Lang. Se konsa, yon lòt lang ankò ki nan itilize pou ki sa? Yo itilize pou ki sa? Èske nou ka antrepriz slight-- OK, nou pa ap ale yo ka resevwa pi pi lwen pase òkès ​​la isit la. ODYANS: Li se yon pwotokòl itilize pou pale ak baz done. DAVID J. Malan: Yon pwotokòl itilize pou pale ak baz done. Kite m 'ajistè. Se yon lang natirèl yo itilize pou pale ak seleksyone databases-- ak foure Et supprime ak dènye ak aktyèlman menm plis karakteristik ki nou pa gen menm plonje nan men ou ka vle explore-- gen yo eksplore pou, di, yon pwojè final la. Se konsa, gen pyès sa yo divès kalite. [00:13:09] Ak èspere ke pset7, menm si spesifikasyon li yo se byen long, li nan fè espre long yo mache ou a ki jan bagay sa yo kapab tout dwe tape ansanm. Koulye a, nan Lendi, nou prezante ak lang dènye nou an ke nou pral fòmèlman prezante nan course-- a se sa ki, JavaScript. Sa a, tankou PHP, se yon entèprete lang. [00:13:25] Men, yon diferans kle Mwen pwopoze nan Lendi se ke Lè nou konsidere ke PHP se egzekite oswa ke yo te entèprete sou sèvè a, ki nan ka sa a se aparèy la CS50, oswa ka gen kèk sit entènèt komèsyal sèvè sou entènèt la, JavaScript jeneralman se yon lang ki kouri bò kliyan pa sèvè side-- se konsa nan navigatè a. Sa vle di, jis tankou lè m 'louvri moute Facebook kòd sous epi li te jwenn tout nan moun ki dosye js, enplikasyon la te ki lè ou vizite Facebook oswa pi sit jou sa yo, ou jwenn pa sèlman HTML, pa sèlman CSS, men yon pakèt antye nan JavaScript Kòd souvan nan fòm lan nan dosye js. Lè sa a, li nan navigatè pwòp nan ou Mac oswa PC-- ki ègzekutra ki kòd. [00:14:03] Men, navigatè ou a ègzekutra li. Ou ka panse nan sòt de yon sandboks. Se konsa, ki JavaScript Kòd pa ta dwe kapab efase dosye sou òdinatè ou. Li pa ta dwe kapab voye Imèl sou non ou. Kalite navigatè ou nan limit sa ou kapab fè ak li. [00:14:17] Se konsa, nan sans sa, li nan yon ti kras mwens pwisan, petèt, pase C. Men, JavaScript kapab, kòm yon sou kote, dwe itilize sou sèvè a, menm si nou pral yo gen tandans pa pale sou li nan ki kontèks. Se konsa, kounye a kite a mare sa yo ansanm. Yon semèn plis de sa, nou prezante kèk HTML sou bò gòch paj wèb la super raz. [00:14:34] Jis di alo nan lemonn. Lè sa a, mwen pwopoze sou la dwa nou ka kalite vòlè lide soti nan diskisyon nou an estrikti done nan C epi reflechi sou ki jan sa a yerarchize lang markeup sou bò gòch la te kapab yo dwe desine oswa aplike nan memwa kòm yon estrikti pye bwa aktyèl ak nœuds ak endikasyon ak sa yo kalite detay. Sou bò dwat la, nou rele ke yon Dokiman DOM-- Objet Model-- ki se jis yon fason anpenpan nan li di pye bwa. [00:14:56] Koulye a, poukisa sa a itil nan panse a li nan fason sa a? Paske kounye a ak JavaScript, paske nou gen Kòd ki vin yo jwe nan sa a anviwònman, HTML aktyèl la sa a, se te voye nan navigatè a deja e li gen deja te chaje nan memwa pa la navigatè nan yon pye bwa nan la òdinatè w lan RAM tankou sa a, nou ka sèvi ak JavaScript yo aktyèlman Traverse oswa mache oswa rechèch oswa chanje sa Dom pye bwa sepandan nou vle. Se konsa, an reyalite, si ou panse sou facebook.com, si ou itilize karakteristik nan chat, si ou itilize Gmail ak karakteristik nan Gchat, anyen ki kote ou gen mesaj vini ankò e ankò e ankò, sa yo mesaj yo se pwobableman, tankou, LI tag, Tags lis atik, petèt. [00:15:35] Oswa petèt yo ap jis div ki kenbe parèt chak fwa ou jwenn yon mesaj enstantane. Se konsa, ki jis vle di sa ki Facebook oswa Google ap fè se nenpòt ki lè ou jwenn yon mesaj soti nan sèvè a, yo ap pwobableman lè l sèvi avèk JavaScript jis ajoute yon lòt ne nan sa a yon lòt ne tree-- a sa a pye bwa ki Lè sa a, vizyèlman jis sanble tankou yon liy nouvo nan tèks sou ekran an. Men, yo ap mete nan estrikti sa a done. [00:15:57] Se konsa, nan kou tankou CS124 ak lòt moun, ou pral aktyèlman ekri plis Kòd kont estrikti done tankou sa a. Men, pou kounye a nan JavaScript, nou pral jis asime nou jwenn tout nan sa a fonctionnalités pou gratis nan lang nan tèt li. Se konsa, kite pou yo gade nan yon egzanp. [00:16:09] Kite m 'louvri moute yon dosye rele form.html. Li nan super senp. Li jis sanble tankou sa a. [00:16:15] Pa gen CSS, pa gen te panse yo estetik. Li nan piman fonksyonèl ak aparamman mwen se mande pou yon imèl, yon modpas, modpas ankò, ak Lè sa a yon chèk dakò pou al nan kèk tèm ak kondisyon. Ki sa ki kòd la sous pou sa a sanble se pwobableman yon bagay ou ta ka devine ak yon ti kras nan te panse kounye a. Mwen te gen yon tag fòm isit la. [00:16:32] Yon aksyon se aparamman ale nan ale nan yon dosye rele register.php. Metòd la, mwen pral sèvi ak se jwenn. Lè sa a, mwen te gen yon tèks jaden ki gen non se imel. [00:16:40] Mwen te gen yon jaden modpas ki gen non se modpas. Mwen te gen yon lòt modpas jaden ki gen non se konfimasyon yon ti jan abitrèman. Li nan jis yon lòt paramèt HTTP. [00:16:49] Lè sa a, nou nou pa te itilize sa yo eksepte depi IMS Frosh yo Demo nan class-- yon bwat chèk ki se kalite jis egal chèk la. Apre sa, mwen pral rele ke akò. Se konsa, mwen te kalite abitrèman men fasilman yo te rele jaden yo sa yo. Se konsa, ki kounye a lè fòm sa a vin soumèt, kite a wè sa ki rive. Si m 'fè malan@harvard.edu, Mwen pral fè yon modpas nan wouj. Mwen pral fè yon modpas nan pa gen anyen. Se pou yo pa kolabore. [00:17:10] Apre sa, mwen pa pral tcheke ti bwat lan. Kite m 'klike sou Anrejistre. Epi li di, HM, w ap anrejistre. Pa vrèman. [00:17:16] Men, URL la chanje. Se konsa, fòm sa a te klèman pèmèt pou soumèt a register.php. Men, prezimableman, mwen ta dwe pwan kèk nan erè sa yo. Koulye a, nan pset7 ak kèk nan egzanp konferans nou an, nou ta jeneralman enprime soti yon wouj mesaj erè gwo isit la li di, ki manke non, oswa ki manke modpas. Nou te fè sa anvan ak nou te fè a bò sèvè erè deteksyon. [00:17:37] Men, anpil sit jou sa yo fè kliyan deteksyon erè bò ki kote adrès URL la pa chanje. Paj la antye pa rafrechi. Ou jwenn fidbak enstantane soti nan navigatè a. Petèt yon bagay ale wouj. [00:17:48] Petèt ou jwenn yon moute pòp. Men, ou pa gaspiye tan voye done a sèvè sa a, se enkonplè. Se konsa, kite a wè ki jan nou ta ka reyalize ke karakteristik kòm byen. [00:17:56] Kite m 'ale nan form1.html, ki sanble menm bagay la. Men, si tan sa a mwen fè malan@harvard.edu ak mwen tape wouj epi mwen pa kolabore plis men klike Rejis, remake kounye a. Li pa solisyon an sèksi. Mwen te omwen kenbe erè sa a. Apre sa, mwen te itilize alèt la fonksyon nan JavaScript ki nou ap sèlman lè l sèvi avèk nan klas la. An jeneral, ou pa ta dwe itilize sa a paske li ka trè byen vit jwenn soti nan kontwòl. Men, modpas pa matche ak se erè a. [00:18:19] Kite m 'ale pi devan epi klike sou OK. Men, sa ki Takeaway kle a isit la se ke URL la pa t 'chanje. Se konsa, mwen pa te anmande gaspiye tan sèvè a mande li yon kesyon ke mwen te ka gen kalkile konnen repons lan nan tèt mwen. [00:18:30] Ak itilizatè a, menm si te pale sou sa a pi long pase a nan itilizatè ale nan panse osijè de sa a, ki pral gen fidbak enstantane. Gen nan pa gen latansi ak koneksyon nan rezo. Se konsa, kite pou yo gade nan sa a kòd sous. [00:18:40] Sanble Form1.html struktural ki sanble moute isit la. Fòm nan se an reyalite menm bagay la. Men, kite a wè sa mwen te fè desann isit la. Apre sa, nan diferan fason yo fè sa. Apre sa, mwen te fè pi tou dwat nan disip men se pa fason ki pi elegant ankò. Mwen gen yon tag script. Mwen Lè sa a rele document.getElementByID ('enskripsyon'). Apre sa, mwen magazen ke valè nan fòm, yon varyab. [00:19:04] Se konsa, sa m 'fè? Ou ka panse a document.getElementByID tankou se te yon fonksyon espesyal ki JavaScript ba ou ki literalman men ou yon konsèy nan youn nan nœuds yo oswa rektang nan pye bwa sa a. Se konsa, kounye a ke a ki sa varyab nou an fòm nan JavaScript se aktyèlman montre nan. [00:19:21] Se konsa, kounye sentaks la se diferan de C. Men, n ap fè yon bagay kèk isit la. Youn, yon sèl sa a se yon ti kras etranj kap, sètènman kont C. Men, gade nan liy 35. Se konsa, sou form.onsubmit gòch la. Sonje byen, onsubmit se tankou yon jaden nan yon struct. Si ou panse nan varyab la fòm se jis ke yo te yon struct C, li ta ka gen kèk jaden yo. [00:19:42] Retounen nan jou a, nou te gen elèv yo non, Idantite, kay, sa yo ki kalite nan jaden. Sèlman panse a kòm yon lòt onsubmit jaden. Men, li la yon jaden espesyal paske nan se navigatè preprograme ou kapab espere .onsubmit pa yo dwe yon valè tankou yon nimewo oswa fisèl, men yo aktyèlman ap yon fonksyon oswa adrès la nan yon fonksyon nan memwa òdinatè a. [00:20:02] Ak tout bon, se sa ki mo kle sa a isit la fè. Sa a di, ban m 'yon fonksyon nouvo. Men, sa ki non li pral fè, aparamman? [00:20:09] Panse tounen nan Lendi. Ki sa ki se non an nan sa a fonksyon ki baze sou ki sentaks sa a? Non, mwen vle di, gen nan byen klè okenn non associated-- sètènman pa nan sa mwen te make isit la. [00:20:21] Men, sa a aktyèlman OK. Sa a se yon fonksyon anonim, oswa yon fonksyon LAMBDA tankou kèk ta ka rele li. Epi ki jis vle di li la toujou yon fonksyon. Se jis, ou pa ka rele li pa non. Men, sa a OK. Paske ankò, te navigatè a te preprograme pa konpayi tankou Google oswa Microsoft oswa Mozilla oswa lòt moun jis konnen ke si jaden an .onsubmit andedan nan yon eleman fòm gen nan valè, trete li kòm yon fonksyon yon konsèy fonksyon, si ou pral. Ak rele li lè se soumèt fòm nan. [00:20:46] Se konsa, sa Kòd ta dwe egzekite lè se soumèt fòm lan? Aparamman, tout bagay andedan nan atèl a Curly. Lè sa a se jis stylistic. [00:20:53] Ou te kapab fè sa tankou nou gen tandans fè nan CS50. Men, nan JavaScript, pi fò moun yo gen tandans kenbe l 'sou liy lan menm jis paske li pi klè se ki asosye ak ki fonksyon mo kle. Se konsa, kounye a ki sa mwen fè? [00:21:03] Si form.email.value egal egal fisèl la vid oswa pa gen anyen, isit la nan yon alèt kote mwen pral di, ou dwe bay adrès imel ou, ak Lè sa a retounen fo. Lè li nan ki fo retounen ki anpeche fòm nan nan men yo te soumèt. Pandan se tan, si valè a se modpas vid, mwen pral rele nan itilizatè a ak di, ou dwe bay yon modpas. [00:21:21] Pandan se tan bagay sa yo ap resevwa yon ti kras amateur isit la. Si form.password.value pa fè sa egal form.confirmation.value, jaden an lòt, rele nan itilizatè a ki modpas yo pa matche ak jan yo pa t 'yon ti moman de sa. Lè sa a, yon sèl sa a nan yon ti kras sexier paske mwen konnen mwen te konnen concept ki tcheke se non yon bwat chèk la. [00:21:40] Se konsa, mwen ka jis sèvi ak yon esklamasyon pwen nan di si chèk la se pa checked-- li nan Boolean a valè, vre oubyen fo Mwen pral rele nan itilizatè a pou rezon sa. Sinon, si nou jwenn nan tout nan kondisyon sa yo, kite yo jis retounen vre. Se pou dwe soumèt fòm nan. Lè sa a pral Lè sa a rive. [00:21:56] Se pou yo tape nan twal lenn tou. Se pou yo tcheke bwat la, klike sou Anrejistre. Koulye a, mwen ale nan nan destinasyon an. Koulye a, gen nan pa gen baz done a. Pa gen anyen ki enteresan nan register.php. Mwen jis bezwen yon bagay yo aktyèlman pale ak. Se konsa, kite m 'pran yon poz, isit la. Nenpòt kesyon sou sa nou te jis fè oswa sa ki kèk nan sentaks nouvo sa a se? OK, yeah? [00:22:17] ODYANS: Se konsa, nenpòt toulède kaz se otomatikman yon Boolean. Ou pa bezwen deklare li tankou sa. [00:22:21] DAVID J. Malan: kòrèk. Nenpòt toulède kaz ki nan voye ba ou soti nan yon fòm HTML nan kòd JavaScript ou Y ap trete, se wi, kòm yon Boolean value-- vre oubyen fo. Li se yon bon kesyon. Lè nou konsidere ke lòt valè yo, nan kou, yo te tèks, strings AKA. [00:22:36] Tout dwa, se konsa kite m ' remonte yon ti jan pi lwen. Ki sa ki te pwen an antye nan sa a? Jis yo dwe klè. Tankou, nou deja konnen, yo soti nan pset7 e menm soti nan konferans semèn pase a egzanp, ke nou ka evidamman tcheke $ _GET $ _POST Wè si itilizatè a ban nou yon valè vid. Sonje fonksyon an vid nan PHP. [00:22:54] Se konsa, jis yo dwe klè, sa ki nan yon rezon ki fè nou ta ka tou vle fè sa kont kouran erè andedan nan navigatè a? Ki sa ki nan motivasyon an isit la? Yeah. [00:23:06] ODYANS: Pi vit, epi ou pa fè sa voye done initil nan sèvè a. DAVID J. Malan: Bon. Li nan pi vit. Ou pa voye initil done nan sèvè a. [00:23:12] Se konsa, ou jwenn tounen yon plis imedya repons. Epi an jeneral, itilizatè a eksperyans se pi bon. Reflechi sou altènatif la. [00:23:17] Si pou Gmail-- e li te ka a anpil ane de sa. Sipoze ou te resevwa yon nouvo imel Gmail ou kont, men wout la sèlman nan yo wè ke se yo, tankou, Reload paj la tout antye. Ann sipoze ou klike sou yon ap mennen nan li yon imel. [00:23:29] Tout bagay te Reload konsa ke ou ka wè imel la. Oswa Facebook-- ou jwenn yon mesaj chat. Ou pa wè li jiskaske ou rechargement paj la oswa klike sou kèk lyen. [00:23:36] Tankou, sa a ta dwe yon vrèman anmèdan itilizatè eksperyans. Lè sa a se sa li te tankou, byen klè, tounen lè mwen kouri pou UC ak entènèt la te anpil mwens dinamik ak JavaScript pa t 'kòm vulgarize kòm li se kounye a. Ak bagay sa yo ap resevwa pi plis dinamik ak plis ankò bò kliyan nan sans sa. [00:23:49] Men, gen yon trape isit la, ak sa a se kalite yon gotcha anmèdan. Jis paske ou ajoute bò kliyan deteksyon tankou sa a pa vle di ou ka oswa ta dwe abandone sèvè bò deteksyon. Ou esansyèlman vle mete ou erè tcheke nan tou de kote. Paske sa se te youn nan leson an te aprann soti nan atik la mwen li kèk Ekstrè soti nan ak sa a estipid CMS system-- Content Management System-- ki te mete ann aplikasyon sistèm otantifikasyon li yo, login li yo atravè sa mekanis? JavaScript. [00:24:20] ODYANS: JavaScript. DAVID J. Malan: JavaScript, egzakteman, dwa? Li te lè l sèvi avèk JavaScript. Ak literalman, ou nèg gen te jwe yon ti kras pwobableman ak Enspektè Chrome a. Men, si mwen ka jwenn li, enspekte eleman. [00:24:30] Kite m 'janbe lòt bò nan fè tout nan opsyon Chrome a. Lè sa a se ki jan fasil li se yo enfim JavaScript nan yon navigatè. Tcheke, pa plis JavaScript. [00:24:38] Se konsa, nan etidye ekite Règleman, yon anpil nan entènèt la jou sa yo se jis ale nan kraze paske Gmail ak lòt sites-- Facebook-- asime ke JavaScript pèmèt. Men, si w ap fè yon bagay estipid tankou sèlman validation itilizatè D ' epi tyeke li pou erè sou bò kliyan, yon lènmi te kapab fasilman fè sa. Lè sa a, menm pi entelijan lènmi tankou ou nèg kounye a ta ka itilize telne oswa Curl oswa lòd jis liy kòmandman ak aktyèlman voye mesaj nan sèvè a ki Menm jan an tou yo pa erè w tcheke yo. [00:25:05] Se konsa, sa a se plis nan yon itilizatè desizyon koòdone pase sa li se yon vrè teknik improvement-- mete ann aplikasyon bò kliyan yon bagay tankou sa a. Se konsa, kounye Yon ti koutje sou rapid, men Lè sa a, Mwen pral ranvwaye yo mache byen sou entènèt nan pou yon sèl sa a. Nan fòm de, nou aktyèlman te ale nan epi netwaye moute kòd la yon ti kras. Men, kite m 'ranvwaye nan yon sèl nan videyo yo nou pral gen anpil chans embed nan pset8 ki jis montre ou yon menm jan sentaks lè l sèvi avèk yon bibliyotèk rele jQuery, ki se yon super, super bibliyotèk popilè nan JavaScript ki franchman pi fò moun jis itilize jou sa yo e menm konfonn kòm ke yo te JavaScript tèt li. [00:25:37] Epi li gen tandans fè paran yo kèk siy dola ak mo kle tankou dokiman nan parantèz isit la. Men, ankò, kite m 'ranvwaye kèk tutoryèl pi dousman sou entènèt olye ke jwenn mare nan jis sentaks. Se pou yo deplase sou li nan yon bagay yon ti kras pi fre an tèm de aplikasyon yo nan sa a. [00:25:50] Se konsa, an patikilye, kite m 'ale pi devan epi louvri moute sa a isit la. Vini non sou. Gen nou ale. [00:25:59] Kite m 'louvri moute foto sa a isit la. San nesesite konplike kap, men li dekri yon teknik yo rele AJAX-- Asenkron JavaScript ak XML, kote X a pou XML se aktyèlman pa gen okenn ankò reyèlman itilize. Sa gen tandans yo sèvi ak yon bagay lòt rele JSON. [00:26:13] Men, isit la se ki jan yon bagay tankou Google Maps oswa Google Latè ap travay. Ann eseye sa a sou vole a, aktyèlman. Kite m 'ale pi devan epi louvri moute Chrome sou navigatè m 'yo. [00:26:21] Ak kite m 'ale nan, di, maps.google.com. Ak aktyèlman, si w ap fin vye granmoun ase yo sonje sa, tankou, MapQuest te tankou tounen nan jou a, e petèt yo toujou travay tankou sa a. Lè ou itilize pou fè rechèch pou something-- 33 Oxford Street, Cambridge, Mass, kite a fè this-- ou ta aktyèlman, si ou te vle Pan leve, li desann, kite la ak dwa, ou ta gade tankou yon gwo flèch sou tèt, epi li ta montre ou yon lòt ankadreman nan kat jeyografik la moute isit la. Oswa ou ta klike sou bò gòch, epi ou ta ale sou isit la, oswa yon lòt klike sou epi ou ta ale sou isit la. Men, olye pou yo jou, nou nan kou jis pran pou yo akòde ke nou ka ale alantou Cambridge trè byen vit jis pa Sur Et derapaj. Men, remake gen nan kèk pepen. [00:26:59] Si m 'fè sa a rapid, sa ki sanble yo dwe ap pase jan mwen trennen yon ti kras twò vit pou òdinatè a kenbe moute? Kisa ou wè? Yeah. [00:27:07] ODYANS: piksèl yo pa rafrechi. DAVID J. Malan: nan piksèl pa rafrechi. Genyen aktyèlman epi ou te kapab wè sa a, aktyèlman, si w ap gade sou entènèt ak pran yon poz sa a oswa aktyèlman ralanti bagay sa yo desann pou once-- ou pral wè ke gen mozayik, kare, rektang oswa ki yo ki disparèt nan kat la jouk yon dezyèm fann pita, plis done, plis imaj aktyèlman parèt sou ekran an. Ak an reyalite, si nou fè sa pa gade moute Chrome's-- kite la di, Chrome-- kite a wè. Nou pa ka fè sa. [00:27:31] Oh, whoops. Se pou nou louvri moute maps.google.com. Kite m 'fè fenèt la pi gwo ankò. [00:27:36] Tounen nan 33 Oxford Street. Ki sa ki te sou sit wèb la mwen te sou dènyèman? Mwen te gen sa a, tankou, divage prive yo tèt mwen ke mwen ta Lè sa a, mesaj enstantane nenpòt zanmi ki moun ki te sou entènèt ki te vle tande li. Genyen kèk sit entènèt. Mwen panse ke li se konsa Comcast-- yon trè gwo ISP Ameriken. Ou ka, lè ou ap enskri pou nouvo kab sèvis oswa kab modem sèvis televizyon, yo gen yon fòm trè rezonab kote yo mande w pou adrès ou. Epi yo gen sa a etonan karakteristik rele konplè oto, tankou Google, ki kòmanse ranpli nan repons lan nan kesyon ou yo. [00:28:04] Pwoblèm lan se yo, yo fè konplè oto sou bagay ki premye ke ou tape. Se konsa, si ou kòmanse sezisman nan 33, li pral montre w literalman chak kay nan Amerik ki kòmanse avèk nimewo a 33 anvan kontinye atann ou a tape plis. Se konsa, si ou tape 33 Oxford, Lè sa a, li montre ou tout lari nan Amerik ki gen 33 Oxford nan non li, endepandaman nan vil la ki w ap nan. [00:28:25] Lè sa a, ou kontinye sezisman. Epi finalman, li reyalize ke yo pa fè sa sèvis ofri bay kay ou nan Cambridge oswa yon bagay tankou sa. Men, pwen an se, sa a se pi plis nan so aplikasyon nan oto ranpli tout tan. [00:28:34] Apre sa, mwen jis ale nan sou tanjant sa a ankò. Men, gen fason bon yo itilize JavaScript ak move fason. Epi sa a, pa nesesèman yon sèl la pi byen. [00:28:40] Men, pwen an isit la, anvan sa a dyatrib, te yo louvri moute zouti desann isit la epi louvri moute zouti pwomotè, kòm nou te ankouraje anvan, ak yo gade Rezo a tab jan mwen klike reyèlman vit. Ak Avi yon pakèt antye nan jwenn demann ki te pase. Tout sa ki te pase depi m 'trennen. [00:28:57] Lè gen plis chans, tout bon yon anpil nan ranje sa yo kounye a se imaj koupe JPEG Kalite pantomim oswa kalite kontni. Sa a se paske sa chrome ap fè chak fwa mwen Sur Et faites, klike sou ak trennen, se li nan ka akonpli, o, mwen bezwen ale mande Google Pou mozayik la sou kat jeyografik la sa a, se sou isit la, byen vit download li via HTTP, ak Lè sa a ajoute li nan sa yo rele Dom la navigatè yo wèb nan pye bwa memwa reprezantasyon pou ke itilizatè a, m ', wè ke mozayik mete ajou. Lè sa a se paske nan yon teknik yo rele Ajax. Retounen nan jou a, li vrèman te ka a ke si ou te vle chanje sa ki nan sou ekran an, ou ta gen klike leve, desann, kite, dwat. Lè sa a, yon paj nouvo ta louvri. Men, jou sa yo, tout bagay se pi plis dinamik. Li k ap pase nan chemen an nou moun ta espere ke li aktyèlman ta enteraktif. Epi li rive reyalize pwogrè sa a pa fason pou yon teknik yo rele Ajax, ki se petèt pi byen eksplike pa yon egzanp. Premyèman, kite m 'ale pi devan epi louvri moute yon dosye rele quote.php nan kòd distribisyon a jodi a. [00:29:53] Lè sa a, kite m 'fè whoops senbòl. Kite m 'fè senbòl = GOOG pou jis kèk machandiz. Oswa aktyèlman, kite a fè nan yon sèl soti nan Pset GRATIS la. Antre nan. [00:30:05] Epi, koulye a remake sa mwen jwenn tounen. Se konsa, sa a se yon vrèman dosye PHP kout ke mwen te ekri ki tou senpleman prete Kòd soti nan fonksyon Passage pset7 la ak krache soti lè l sèvi avèk sa a atèl Curly ak quotes ak notasyon kolon, aparamman, pri stock aktyèl la a pou la konpayi ki ou pase nan via jwenn. Se konsa, sa a se diferan soti nan pi fò nan sa nou te fè l 'nan ki avi mwen se literalman voye krache deyò sa ki sanble JavaScript kòd. [00:30:27] An reyalite, sa a se yon objè ki JavaScript. An reyalite, jis yo dwe plis klè, JavaScript objè Notasyon JSON-- se jis yon fason anpenpan nan di ke ou ka reprezante done nan JavaScript anpil tankou ou ka nan PHP lè l sèvi avèk valè kle pè. Se konsa, si mwen te vle deklare yon varyab nan JavaScript reprezante Zamyla, pou instance-- yon struct pou Zamyla-- epi nou pral rele li elèv, sa a varyab. ID li se yon sèl, kay se Winthrop, ak non se Zamyla. [00:30:53] Men, mwen ka gen tou yon etalaj de objè yo. Se konsa, si mwen aktyèlman te vle gen yon etalaj nan JavaScript ki gen miltip objè sa yo, sa a tan reprezante anplwaye yo, Mwen ta ka gen sa yo twa fragman nan Kòd tounen nan do nan do pou sa yo twa manm anplwaye ansyen. Se konsa, sentaks la, bèl menm jan ak both-- PHP. Men, sa a se patikilyèman JavaScript. Li nan notasyon objè. Se konsa, sa se sa a itil pou? [00:31:17] Si mwen ekri kòd ki krache soti JSON-- JavaScript objè Notasyon bagay ki sanble tankou sa a oswa bagay ki sanble estrikti Zamyla a, Mwen ka aktyèlman sèvi ak sa a nan pwogram mwen ekri. Kite m 'ale nan ajax0.html. Lè sa a too-- pa anpil te panse bay estetik. Men, gade sa ki rive. [00:31:34] Kite m 'ale pi devan epi tape gratis isit la. Klike sou jwenn quote. Ak Avi URL la pa te chanje. Men, mwen t 'jwenn yon pòp moute ak aparamman pri a jodi a stock peni nan $ 0.15. Se konsa, pa tout sa ki move. Men, diferans lan se ke yon jan kanmenm, done sa a te vin tounen nan m 'dirèkteman. Men, kite a pran yon etap nan direksyon yon bagay ki pi konnen yo. Nan vèsyon youn nan sa a, kite m ' tape gratis ankò, klike sou Jwenn quote, ak now-- oh, sa a te aktyèlman vèsyon an jQuery. Se konsa, kite me-- mwen pa t ' vit-pou pi devan byen lwen ase. Kite m 'ale nan vèsyon de, ki se kote mwen te vle. Avi sa m 'te fè isit la. Mwen gen yon sit entènèt page-- yon super senp vèsyon nan nenpòt ki paj entènèt ou ta ka itilize jodi a ak yon jaden tèks isit la pou gratis ak Lè sa a aparamman jis tèks. [00:32:14] Sa a se pa yon fòm isit la, aparamman. Men, si mwen klike sou jwenn quote, remake paj entènèt mwen an se sou yo chanje tankou si m ' jis te resevwa yon nouvo mesaj enstantane oswa tankou si m 'jis te deplase nan kat ak bezwen yo ka resevwa plis done te ajoute dynamique nan paj wèb la san li pa chanje nan URL ak itilizatè a eksperyans ap resevwa koupe. Vreman vre, mwen se toujou nan la egzak menm ajax2.html place--. [00:32:35] Se konsa, kite pou yo gade sèlman nan egzanp sa a ak wè ki jan sa a ap pase. Kite m 'ale nan ajax2.html. Ak Avi fòm nan premye. [00:32:44] Desann isit la, mwen vire koupe konplè oto. Pafwa li vin anmèdan si navigatè a ap eseye montre w antye istwa ou yo. Se konsa, ou ka fè li nan HTML pa jis di oto ranpli la. [00:32:53] Mwen te bay sa a tèks jaden yon senbòl olye, yon ID nan senbòl. Epi, koulye a, sa a se yon karakteristik enteresan. Nou pa t 'te pale osijè de span, men ou ka panse sou li tankou yon tag paragraf oswa div tag. Li nan sa ki rele yon nan-liy eleman, ki vle di ou pa pral resevwa yon paragraf kraze pi wo a ak anba a li. Li nan jis ale nan rete nan-liy san yo pa frape ekivalan a nan antre. Se konsa, mwen te bay sa a ti moso nan HTML yo dwe detèmine yon idantifyan inik ke mwen abitrèman rele pri. Apre sa, mwen gen yon bouton soumèt. [00:33:21] Paske kounye a moute isit lan-- ak sa a se aktyèlman super etonan Kòd ki jan ti kras ou ka ekri yo fè relativman byen òdone things-- remake sa mwen te fè moute isit la si mwen woulo liv moute nan tèt la nan paj sa a. Mwen te enkli premye nan tèt mwen yon tag script ki aktyèlman referans yon JavaScript depoze yon lòt kote. Sa a se soti nan òganizasyon an ki ekri jQuery, ak sa a se jis ban nou dènye a vèsyon an bibliyotèk jQuery yo. [00:33:42] Se konsa, sa a se kalite tankou byen file ladan yo nan C oswa mande pou nan PHP. Ou sèvi ak tag nan script ak yon atribi sous. Men koulye a, kòd pwòp mwen an se ale yo dwe gen dwa nan isit la. [00:33:52] Avi Mwen gen yon fonksyon rele Quotes. Epi li sanble yon ti kras skre nan zye premye. Men, kite a toumante sa a apa. Ban m 'yon varyab rele URL. Bay li literalman sa a fisèl. Se konsa, quotes sèl, quotes doub nan JavaScript jis ban m 'yon fisèl. Ki sa ki plis la fè? Seri. [00:34:08] Se konsa, sa kounye a se sentaks la jQuery ki te pran yon ti kras ap resevwa itilize yo. Men, sa a jis vle di ale jwenn m 'Dom la ne ki gen inik idantifyan se senbòl. Hashtag a gen vle di inik idantifyan senbòl. [00:34:21] Siyen an dola nan la parantèz jis vle di, vlope sa a nan jQuery yon sòt de sòs sekrè se konsa ou jwenn plis fonctionnalités. Lè sa a, Val se aparamman yon fonksyon, oswa kòm nou di kounye a, yon metòd andedan nan sa a ne ki jis ba ou valè an. Se konsa, nan kout, lèd ak konfizyon tankou sa a sanble nan premye gade, sa a jis vle di jwenn ak itilizatè a tape nan, mete l 'nan fen fisèl la pa konkatenan li. Sa a tout. [00:34:43] Se konsa, kounye a, dènye twa liy yo. Ou ka peze yon anpil nan fonctionnalités soti nan twa liy yo. Sa a siy dola, kòm yon sou kote, se jis yon tinon pou yon varyab mondyal espesyal rele literalman jQuery. [00:34:55] Siy dola jis sanble fre. Se konsa, kominote a jQuery jis kalite nan itilize li kòm senbòl espesyal yo. Li pa vle di sa li vle di nan PHP. Nan JavaScript, siy dola se jis tankou yon lèt nan alfabè a oswa yon nimewo pou yon varyab. [00:35:07] Ou ka jis genyen li kòm non an. Jis sanble fre. Se konsa, kominote a adopte li kòm yon tinon pou bibliyotèk pwòp yo rele jQuery. [00:35:13] Lè li nan super popilè. Se konsa, jwenn JSON se egzakteman sa. Li se yon fonksyon ki nan jan nan jQuery te ekri ki vin JSON soti nan yon server-- JavaScript Notasyon objè. Soti nan ki sa URL se li pral jwenn enfòmasyon sa? Aparamman soti nan sa a URL isit la. [00:35:27] Ak sa ki ta dwe navigatè a fè kòm pli vit ke li vin tounen repons sa a? Lè sa a se majik la nan Ajax, se konsa yo speak-- Asynchrone JavaScript nan XML. Li difisil yo wè ak sa yo senp egzanp kòm nou te gen isit la. [00:35:41] Men, sa a te asenkron nan sans ke Kòd mwen lè egzekite voye yon mesaj bay la sèvè yo ale jwenn m 'kèk JSON. Epi li te rive Super vit ke mwen te resevwa yon repons. Men, sa ki nan enteresan an se ke sa a liy nan kòd pa t 'pann òdinatè mwen an. [00:35:55] Mwen pa t 'wè yon icon k ap vire. Mwen pa t 'pèdi nan kapasite pou avanse pou pi sourit mwen. Navigatè m 'te aktyèlman parfe amann. [00:36:01] Paske wout la JavaScript manch la repons nan men sèvè a se jan sa a. Ou enskri sa ou ta rele yon fonksyon kalbak, ki jis vle di, hey, JavaScript. Le pli vit ke sèvè a reponn ak JSON, tanpri rele fonksyon sa a anonim. [00:36:18] Ak tanpri pase nan fonksyon sa a tou sa fisèl sèvè a krache soti kòm yon agiman yo rele done. Se konsa, nan lòt, mo, si Mwen rasanble dynamique yon quote.php URL pase nan sa a senbòl tankou GRATIS oswa GOOG oswa etajèr, Mwen Lè sa a, di JavaScript ale jwenn ki URL. Sonje ke navigatè a ki pral retounen yon bagay ki sanble ak nou te wè pi bonè sa a. [00:36:42] Ak sa ki agiman, dezyèm lan isit la yo ka resevwa JSON ap di se rele fonksyon sa a lè sèvè a vin tounen si li nan 10 milisgond soti nan kounye a oswa 10 segonn soti nan kounye a. Epi kòm pli vit ke ou fè sa, ajoute pri a nan paj la. Sa a sentaks isit la jis vle di ale jwenn ne an soti nan pye bwa a ki gen inik idantifyan se price-- ki span nou te wè pi bonè. [00:37:01] Metòd sa a rele HTML jis di, ale ranplase HTML a sa a, se la ansanm ak data.price. Ki sa ki nan data.price? Oke, navigatè a, sonje, te montre m 'sa a vini tounen. Se konsa, sa a se done. [00:37:14] Se konsa, li nan yon ti kras skre wè vigil yo isit la. Men, an reyalite, kite m 'fè sa. Kite m 'jis kole sa a reyèl vit nan jdi epi montre sa a tankou nou te montre Estrikti Zamyla a pi bonè. [00:37:27] Ki sa ki sèvè a ap voye tounen se yon ti kras bagay ki sanble tankou sa a. Se konsa, data.price se jis bay m '0,1515. Se konsa, yon anpil nan k ap deplase pati isit la tout nan yon fwa. [00:37:39] Men, takeaways kle yo se ke nou gen kapasite sa a fè plis HTTP demann lè l sèvi avèk JavaScript san yo pa gen Reload paj la. Lè sa a, nou kapab aktyèlman chanje paj wèb la sou vole a. Epi li vire soti ki JavaScript ak lòt lang kapab itilize kounye a pa sèlman k ap paj wèb, men yo aktyèlman ekri lojisyèl nan yon òdinatè aktyèl, pa sèlman nan prizon nan Chrome oswa tankou an. [00:38:00] An reyalite, if-- Colton, ou ta renmen rantre nan nou tounen moute isit la ak kòd laboratwa ou a, ak Chang kòm byen? Se pou nou ale pi devan, li te gen te pale osijè de fonksyon anonim e kalbak ak reyèlman tante sò isit la ak yon Demo viv ak senyen teknoloji kwen, youn nan sa yo elit Mouvman aparèy. Koulye a, aparèy sa a, sonje, se yon aparèy ti kras USB kòm byen that-- sa a, se beautiful-- ki ploge nan pò USB ou. [00:38:25] Lè sa a, li bay opinyon nan fòm lan nan jès moun pa detekte lè l sèvi avèk travès enfrawouj, esansyèlman, mouvman soti nan bra ou. Se konsa, Lè nou konsidere ke sa Maria te eseye sou anvan te miskilè, aktyèlman santi sa k ap chanje bra ou, sa a se enfrawouj ki baze sou. Se konsa, li kap chèche mouvman ki nan sòt nan nan esfè nan yon pye oswa konsa nan aparèy nan tèt li. [00:38:46] Se konsa, poukisa pa mwen pran yon koud nan sa a an premye? Li kite yo ale pi devan epi voye jete ou moute sou tèt la isit la. Se konsa, kite a mete laptop Colton nan moute isit la. Nou te gen Andre sou televizyon an. Ak sa ki ou ta renmen m 'fè an premye? [00:39:00] COLTON: Ale pi devan epi jis mete men ou sou sa a Guy epi ou pral wè kèk briye fantastik. [00:39:04] DAVID J. Malan: Trè bèl. Sa a se tout k ap pase nan tan reyèl. OK. Tout dwa, ak YEP. Se konsa, bèl. Tout dwa, ki lòt bagay nou ka fè? [00:39:15] COLTON: Ale nan pwochen ekran an epi wè. [00:39:17] DAVID J. Malan: Tout dwa. [00:39:19] COLTON: Yon plezi jwèt ti kras ki kote ou jwenn fè robo. [00:39:21] DAVID J. Malan: Tout dwa, se konsa sa a se men fo ki montre m 'sa ki fè. COLTON: Wi Se konsa, ale pi devan ak gen tan pwan youn nan blòk yo li mete l 'sou tèt kò ki robo la. DAVID J. Malan: Oh, gen nan men m '. Oh. OK, adorabl. Tann yon minit, OK. Gen nou ale. [00:39:41] COLTON: mwen te fè yon sèl sou aksidan. [00:39:43] DAVID J. Malan: OK, mwen pral jwenn sa a Guy. Damn li! Lè nou te pratike sa a dènye mitan lannwit, ou konnen ki sa sa a dekonsantre nan? [00:39:51] Tankou sa a. OK. Next yon sèl? [00:39:55] COLTON: Asire w. [00:39:56] DAVID J. Malan: Tout dwa, ak gen nan yon twazyèm. Tout dwa. COLTON: Ak nan yon sèl sa a, ou jwenn to-- DAVID J. Malan: Oh, yon sèl sa a nan bèl. COLTON: --yeah, chwazi apa sa a flè. DAVID J. Malan: OK. Pa gen? Rate. [00:40:14] COLTON: Oh, gen ou ale. [00:40:15] DAVID J. Malan: Ah, Gade nan sa. Trè bèl. Oke, poukisa Dont 'nou pran soti yon sèl volontè isit la ki ta renmen vini sou yo. Kouman sou dwa gen nan vèt la, se li? [00:40:27] Tout dwa, e kite yo have-- olye pou yo fè sa, kèk nan nou ta ka konnen jwèt sa a isit lan-- koupe kòd la, petèt? Ann wè. Nou gen linèt nou an sou plis pase isit la? [00:40:37] OK. Mèsi poutèt ou. Ki sa ki nan non ou? [00:40:39] ODYANS: Laura. [00:40:40] DAVID J. Malan: Laura? Nice yo wè. Si ou pa lide mete Google Glass sou linèt ou. Sa a se Colton. [00:40:46] COLTON: Hi. Nice al kontre ou. [00:40:48] DAVID J. Malan: OK, vini sou alantou. Tout dwa, se konsa sa ki w ap ale nan fè isit la, li te gen te jwe sa a anvan, se mete men ou sou Mouvman nan Alavan isit la. Epi, koulye a flèch ou ta dwe deplase. Oh, non. [00:40:57] ODYANS: No [00:40:58] DAVID J. Malan: Nou pa vle kite fimen ankò. OK, rete tann. Plis pase isit la. Se konsa, remake jan ou kenbe ou dwèt sou yon bagay, sourit la kòmanse yo ale vèt, ki se ki jan ou klike sou. [00:41:06] Se konsa, hover sou Jwe. Ak jis yon dwèt se amann. Epi, koulye a klike sou ti kras nan nèg vèt sou bò gòch la. Epi, koulye a kenbe jouk li ranpli moute vèt. Bon. Koulye a, tankou, nivo yon sèl moute tèt. [00:41:16] ODYANS: Yeah, nou vle nivo yon sèl, isit la. [00:41:20] DAVID J. Malan: Bon. OK, se konsa tout sa ou dwe fè se koupe kòd la. Kurseur ou a youn nan blan anba isit la. [00:41:28] Trè bèl. Tout dwa, li nan sou yo ka resevwa pi rèd. Se konsa, kenbe dwèt ou sou pwochen kounye a. Bon. Sa a yon sèl difisil. [00:41:39] ODYANS: Oh krap. OK. Li vle ale ki fason. Oh krap, that-- [00:41:44] DAVID J. Malan: Yeah. Segondè objektif se jwenn tout zetwal yo tou. Tout dwa, vini an. [00:41:53] Ann wè si ou ka jwenn yon tyè sa a. Bon. OK, ale sou la. [00:42:06] Asire w. Oh, trè bèl. Tout dwa. [00:42:11] Se konsa, poukisa pa nou ajoune isit la jodi a? Se pou nenpòt moun ki vin sou moute ki moun ki vle jwe. Mèsi tèlman yo Laura volontè nou an. Epi nou pral wè ou nan Lendi. [00:42:18] ODYANS: Ou pwobableman vle sa yo tounen. [00:42:21] Oratè 2: Nan CS50-- nan pwochen