DAVID J. Malan: zote haki, hivyo hii hapa ni mkono Myo bendi, wanandoa wa ambayo sisi kuwa kwa CS50 miradi ya mwisho. Na kwamba alikuwa maandamano sisi queued wewe hadi mapema ambapo kimsingi mkono huu haki tight bendi hapa anasikiliza harakati wako misuli kwamba ni basi mapped katika programu kwa Colton ya mbali zaidi ya hapa ambayo alikuwa iTunes na kwamba wimbo tayari foleni juu. Badala ya mimi demoing hii, Colton imekuwa katika maabara wazi wiki yote kupata maandamano tayari kwa ajili ya moja jasiri kujitolea. Kama mtu angependa kuja juu ya up-- aliona mkono wako wa kwanza. Kuja juu juu. [00:01:09] Wote haki. Na jina lako ni nini? [00:01:13] Watazamaji: Uh, Maria. [00:01:14] DAVID J. Malan: Maria, nzuri ya kuona wewe. Kuja juu zaidi ya hapa. Napenda kuanzisha wewe Colton. Colton, hii ni Maria. [00:01:21] COLTON: Hi, ni vyema kukutana na wewe. [00:01:23] DAVID J. Malan: zote haki, hivyo hatua moja, tuko kwenda na kuweka hii kwenye forearm yako hivyo kwamba pretty tight juu karibu elbow yako. Na wakati huo huo, hebu kuwa kuweka juu ya Google kioo wetu na tutaweza kuchanganya teknolojia ya leo. [00:01:33] COLTON: Kwanza itabidi kunasa huu katika mambo. [00:01:36] DAVID J. Malan: Sawa. Kweli, hebu kuweka mkono wako kama karibu na cable hii iwezekanavyo ili tuweze kwanza kusawazisha it up. [00:01:41] COLTON: Hebu kufanya hivyo. [00:01:42] DAVID J. Malan: Na wakati huo huo, hivyo kwamba kila mtu anaweza kupata mtazamo wa karibu, tutaweza toss kamera Andrew juu ya screen huko. Hivyo tuna USB cable kwamba kuwa plugged katika uzinge Maria. Na napenda toss screen Colton ya juu projector ijayo. [00:02:00] Hivyo Colton ni kusajili kifaa sasa kama Myo kushikamana na cable hii. Na sasa nini Maria kwenda kufanya momentarily ni kweli kutembea kwa njia ya hatua calibration na kufundisha programu jinsi misuli yake kujibu wakati yeye kufanya baadhi ya kabla defined ishara kwamba programu anaelewa. Kama Ningependa kwenda katika mbele ya screen. OK, kuendelea kujaribu. [00:02:30] COLTON: Nenda kama hii. Na kama hiyo. Na njia yote ya haki. Kurudi nyuma. [00:02:35] DAVID J. Malan: Sawa. Tofauti mtazamo. Ni si wewe. Ni sisi. [00:02:40] MARIA: OK. DAVID J. Malan: Hapana Hebu hoja hiyo juu juu hivyo ni karibu na elbow yako, au hata stramare. Wote haki. [00:02:52] Hapa sisi kwenda. Hii itakuwa ni wakati mzuri kwa ajili ya CS52X. Kuna sisi kwenda. [00:02:57] Nzuri sana. OK. Gumba kwa Pinky. [00:03:02] Nzuri sana. Kuenea vidole. Nzuri. Kukitikisa haki. Ni ajabu kuonyesha kwa hand-- kushoto [00:03:17] COLTON: Yeah, hiyo ni weird. DAVID J. Malan: Mganda kwa haki na kusonga mbele. Kufunga mbele ruka au ijayo. Hiyo ni sawa Mganda haki. [00:03:25] MARIA: Mimi don't-- kusubiri. [00:03:26] DAVID J. Malan: Haja ya baadhi ya msaada? [00:03:28] COLTON: Hivyo wewe ni kwenda kama hii. MARIA: Ni kugeuka Jambo jingine, ingawa. COLTON: Ni. DAVID J. Malan: Yeah sijui nini ni kuonyesha wewe leftie. COLTON: Mbona wewe try-- tu kujaribu kwenda kama hii. [00:03:38] DAVID J. Malan: Hakuna? Labda kufikia mkono wako nje kidogo straighter na kufanya hivyo zaidi ya ghafla kama hii. Yeah, sawa, kuja juu. [00:03:48] MARIA: Mimi nina sorry. DAVID J. Malan: Ni si makosa yako. COLTON: Ni faini. DAVID J. Malan: zote Haki. Well-- [00:03:56] MARIA: Je, sisi ruka hii, basi? DAVID J. Malan: Ndiyo, hebu basi wewe kutokuhusika. Hivyo kama mtu yeyote angependa kufanya mradi wa mwisho kwa kutumia makali hii kukata vifaa, kutambua hilo ili tu kuchukua kidogo kupata kutumika. Na ukweli this-- ni hii ni kweli damu sana makali. [00:04:10] Hii ni kile kinachoitwa developer kit, ambayo ni maana ya kuwa kimsingi kabla ya kutolewa ili watu waweze kufanya hasa this-- kupambana na hayo, takwimu jinsi miili ya watu kufanya kazi na teknolojia. Hivyo kama unataka baadaye, baada ya hotuba, tunaweza basi wewe kuja na kuchukua kumchoma mwingine saa yake. Lakini vinginevyo, duru ya applause, kama tunaweza, kwa Maria kwa ajili ya kuja juu juu. [00:04:26] MARIA: Asante. [00:04:28] DAVID J. Malan: Asante. Tutaweza hutegemea hii, lakini sisi kutoa you-- vipi kuhusu msongo mpira hapa? Oh, and-- if-- yeah, shukrani. Wote haki. Hivyo kwa curious, kama ungekuwa usio wa kawaida na uchaguzi sauti kwamba sisi alifanya huko mapema, TV kushangaza kuonyesha kwamba ni lazima kabisa kuwa binge-kuangalia juu ya Netflix ni moja hii hapa. [00:04:51] SPIKA 1: Mabibi na mabwana, mchawi aitwaye Josh. [00:05:04] DAVID J. Malan: Na inaonekana, ni jambo Nakala mimi wakati wa hotuba sasa. Mimi kuambiwa kuwa Maria alikuwa kuzaliwa jana. Hivyo furaha ya kuzaliwa kutoka CS50 kwa Maria kama vizuri. [00:05:18] Hivyo unaweza kuwa na kusoma katika mwezi wa hivi karibuni kwamba hii waungwana hapa, Steve Ballmer, ambaye alikuwa kweli darasa la 1977 katika chuo, aliyestaafu hivi karibuni kwa ajili ya Microsoft. Alikuwa shahada ya kwanza hapa, basi miaka michache baadaye alijikuta katika Stanford Shule ya Biashara wakati yeye kupokea simu simu kutoka kwa rafiki wa ambaye yake alikuwa akiishi chini ya ukumbi kutoka kwake hapa katika Harvard. Jina kwamba rafiki ilikuwa Bill Gates, na wakati huo, alikuwa anajaribu kuajiri Steve kuwa kwanza ya biashara ya mtu, kwa kweli, katika kampuni ndogo jina Microsoft. [00:05:45] short hadithi ya muda mrefu, Steve ilikuwa hatimaye alishinda juu, alijiunga Microsoft wakati wao alikuwa wafanyakazi 30 tu. Na wakati yeye wastaafu hivi karibuni kabisa, kampuni alikuwa wafanyakazi 100,000 zaidi ya miaka michache iliyopita. Na hivyo tovuti inayojulikana kama hatihati tayari kulipa kodi hii kwenye video kwamba sisi walidhani tunatarajia pamoja kwamba anatoa hisia ya jinsi gani nishati Steve huleta kuwasilisha yoyote anatoa. [Video avspelning] -Microsoft Kama mtoto wa nne. Watoto kufanya kuondoka nyumbani. Katika kesi hiyo, mimi nadhani Mimi kuondoka nyumbani. Hey Bill, whazzap? [00:06:23] -Wazzap? [00:06:24] -Hey, Wazzap? Tumekuwa aliyopewa nafasi kubwa sana. Na Muswada wa Sheria ya alitupa nafasi hiyo. Nataka kuwashukuru Bill kwa ajili hiyo. Mimi nataka wewe pia. kasi ya uvumbuzi si kwenda polepole. [00:06:42] Ni kwenda kupata kasi zaidi na zaidi. Huenda kuna washindani chache kuwa ni bahati mbaya kuondolewa! [00:06:54] Nampenda kampuni hii. Ndiyo! Mimi ni PC, na mimi upendo kampuni hii! [00:07:08] Watengenezaji, watengenezaji, watengenezaji, watengenezaji, watengenezaji, watengenezaji, watengenezaji, watengenezaji. Ndiyo! Mtandao watengenezaji! [00:07:19] Mtandao watengenezaji! Mtandao watengenezaji! Kusikiliza nini kingine kupata bila malipo ya ziada! [00:07:28] Mtendaji MS-DOS, uteuzi kalenda, rundo kadi, kumbuka pedi, saa, jopo kudhibiti. Na, unaweza kuamini hilo? Reversie! [00:07:35] Kuchoma yao CD! Baada yao kwa MSN! Wewe barua yao kwa marafiki! [00:07:40] Wote na click moja! Moja Microsoft, mkakati mmoja, team-- umakini, nidhamu, mtaalamu, na mtaalam katika wote kwamba sisi kufanya. Napenda kutumia mstari kutoka movie zamani. [00:07:52] Mahusiano ni kama papa. Wao kusonga mbele au kufa. Mimi kwa kweli nadhani tech makampuni ni sawa. [00:08:01] [MWISHO video avspelning] DAVID J. Malan: Hivyo sisi ni hivyo radhi kwa kutangaza kwamba Steve itakuwa kujiunga na sisi hapa katika CS50 Jumatano ijayo katika mahali ya kawaida na wakati hapa. Nafasi uwezekano mkubwa kuwa mdogo. Na hivyo kujiunga na sisi katika mtu, tafadhali kichwa leo au baada ya muda mfupi kwa cs50.harvard.edu/register. [00:08:22] Na sisi kufuatilia na Jumanne kuthibitisha matangazo. Kuangalia mbele kwa kuwa ijayo Jumatano wakati wa hotuba katika CS50. Sasa, katika habari nyingine, mimi kilichotokea kwa kuja hela hii katika Crimson tu siku nyingine. [00:08:34] Ni zinageuka kuwa mmoja wa wafanyakazi CS50 ya na angalau moja ya CS50 ya wanafunzi sasa mbio kwa UC rais na makamu wa rais, ambayo akanirudisha siku yangu mwenyewe nyuma wakati mimi waliopotea uchaguzi UC vibaya. Lakini bitana fedha katika kwamba ni mimi daima hadithi ni kwamba moja ya mimi nina uhakika sababu nyingi mimi waliopotea uchaguzi lilikuwa ni ukosefu kamili vipaji kwa akizungumza umma. Na hivyo kwa uaminifu kabisa, hivyo alimfukuza yangu, kwamba uzoefu Nadhani mwaka wangu junior, kwa kweli kusaini up kwa Harvard Computer Society, ambayo ni kundi juu ya chuo kuwa ana mazungumzo ya kiufundi mbalimbali na mambo mengine. Na mimi alichukua juu ya mafundisho yao semina na hivyo alikuwa na nafasi, nafasi ya ajabu, kuanza kufanya kazi juu ya hasa hili. Lakini pia, mimi alikuwa na nafasi wakati wa uzoefu huu kufundisha mwenyewe HTML wote zaidi. Na hivyo mimi procrastinated jana usiku na kuangalia njia ya tovuti HTML makao Mimi alifanya katika kama 1997, '98, kwa yangu kampeni ambayo inaonekana kama hii hapa. Mimi najua. [00:09:29] Because-- na bila shaka, ilani kubuni ajabu uamuzi huu mwaka 1998 au whatnot. Jambo la kwanza unataka watumiaji kufanya juu ya kutembelea tovuti yako ni kuwa na bonyeza kiungo mwingine tu kuingia tovuti yako hapa na mtawa nyuma ya pazia kama yamefunikwa ambapo inaonekana kampeni jukwaa yangu ilikuwa. Na hii yote ni utapata leo ni tu screenshot. Lakini mimi nilikuwa kusoma kwa njia ya, kama, kampeni yangu mabango jana usiku na jukwaa yangu. [00:09:50] Na mimi alikuwa na hasira wakati huo. Jukwaa yangu was-- ilikuwa ya kuvutia. Hivyo nimekuwa calmed chini tangu wakati huo. Lakini siku moja, mimi kukimbia tena na hopefully bora mbali wakati huu. [00:10:03] Hivyo HTML, kwamba lugha ambayo mimi alifanya kwamba in-- utasikia haraka kufanya more-- sana ni kitu tumekuwa kuzungumza juu ya marehemu na kwa kiasi kikubwa kuchukua kwa nafasi sasa kwamba tumekuwa wakiongozwa juu ya lugha nyingine. Lakini hebu pause kwa muda tu na kuweka baadhi ya mambo haya katika mazingira. Hivyo katika hukumu, ni nini HTML? [00:10:18] Au, kile kutumika kwa ajili ya? Mtu yeyote? Ndiyo. [00:10:20] Watazamaji: ghafi kwa ajili ya Nje. DAVID J. Malan: ghafi kwa ajili ya tovuti. Hivyo ni ghafi lugha kwamba inakuwezesha kuunda ukurasa wa mtandao. Header huenda juu hapa, cheo huenda hapa, huenda mwili hapa. Hii ni boldface, hii ni italics-- kwamba aina ya kina. [00:10:33] OK, vizuri. Hivyo CSS lets you-- na mimi alichukua baadhi ya uhuru kuna na ujasiri-yanayowakabili na italics sababu hiyo ni bora kutekelezwa na hili. CSS is-- nini? Kusema katika hukumu. Mtu yeyote wakati wote. Yeah. [00:10:46] Watazamaji: embellishments na mambo, kama jinsi ya kubuni yake. DAVID J. Malan: Sawa, nzuri. Embellishments kwamba kuruhusu kubuni au stylize ni na mambo kama boldface na italics na rangi na pia ni zaidi faini grained nafasi ya vipengele. Ni aina ya inakuwezesha kuchukua mambo mwisho maili ili kwamba kama, kwa mfano, katika Pset7, unaweza kuwa niliona juu ya yako kwingineko ukurasa kama wewe ni katika hatua hii tayari kwamba meza default kwamba kufanya kuonyesha mtumiaji hisa Holdings na fedha taslimu pengine inaonekana pretty hideous by default na hakuna nafasi nyeupe. Aina ya kila kitu ya crammed pamoja katika safu na nguzo. [00:11:18] Vizuri, na kidogo ya CSS, kama unaweza kutambua, unaweza kweli tweak kwamba na kufanya hivyo kitu zaidi ya ukoo na mengi prettier kuangalia. Hivyo CSS ni kuhusu stylization ya Nje. Lakini basi sisi ilianzisha bado mwingine lugha, PHP, ambayo lets sisi kufanya nini? [00:11:36] Hebu tu kufanya nini? Mtu yeyote. Got kujitosa zaidi kwanza safu ya wanandoa. Yeah. [00:11:40] Watazamaji: Kutoa maudhui ya nguvu. DAVID J. Malan: Perfect. Kuzalisha maudhui ya nguvu. Na unaweza kufanya hivyo katika idadi yoyote ya lugha. Sisi kutokea kwa kutumia PHP kwa sababu ni katika sehemu hivyo sawa na C syntax. [00:11:50] Lakini PHP gani hasa kwamba. Ni inakuwezesha dynamically kuzalisha pato. Na baadhi ya pato ambayo inaweza kuwa HTML, kama tumekuwa kawaida wamekuwa wakifanya. Na pia ni, kwa sababu ni lugha ya programu, ni utaratibu kupitia ambayo tunaweza kuongea na database. [00:12:03] Na tunaweza kufanya maswali kwa nyingine servrar kama Yahoos na programmatically kufanya kitu chochote kweli kwamba wewe inavyopaswa wanataka kumlazimisha kompyuta kufanya. Hivyo PHP inatusaidia kuanza dynamically outputting maudhui. Hivyo kwa mantiki hii, sikuwa na Tovuti nguvu nyuma katika 1998. [00:12:16] Ni mara tu tuli mtandao ukurasa. Maudhui yangu alikuwa na kubadilishwa na manually na gedit au baadhi sawa. Lakini PHP ni nini sisi kutumika au inaweza kutumika, badala yake, kwa kitu kama Frosh IMS tovuti, ambayo ilitakiwa kuchukua usajili na kusimamia orodha ya mambo users-- kwamba ni kweli kubadilisha juu ya muda, hata kama sisi kutokea kutumia Perl, tofauti Lugha kwa wakati. [00:12:35] Na kisha mwisho, sisi ilianzisha SQL-- Strukturerad Query lugha. Hivyo bado lugha nyingine hiyo ni kutumika kwa ajili ya nini? Kutumika kwa ajili ya nini? Tunaweza kujitosa slight-- OK, sisi siyo kwenda kupata mbali zaidi kuliko orchestra hapa. Watazamaji: Ni itifaki kutumika kwa kuzungumza na database. DAVID J. Malan: itifaki kutumika kwa kuzungumza na database. Napenda tweak. Ni lugha ya asili kutumika kuzungumza na kuchagua databases-- na kuwekeza na ufutaji na updates na kwa kweli hata makala zaidi kwamba sisi si hata dived ndani ya lakini unaweza kuwa na explore-- kuchunguza kwa, kusema, mradi wa mwisho. Hivyo kuna vipande hayo mbalimbali. [00:13:09] Na hopefully Pset7, ingawa vipimo yake ni muda mrefu kabisa, ni kwa makusudi kwa muda mrefu kwa kutembea wewe kupitia jinsi mambo haya anaweza yote kuwa typed pamoja. Sasa, juu ya Jumatatu, sisi ilianzisha lugha yetu iliyopita kwamba tutaweza kuanzisha rasmi katika course-- yaani, JavaScript. Hii, kama PHP, ni tafsiri ya lugha. [00:13:25] Lakini tofauti muhimu Mimi mapendekezo ya Jumatatu ni kwamba wakati ambapo PHP ni utekelezaji au Maana yake juu ya server, ambayo katika kesi hii ni CS50 appliance, au inaweza kuwa baadhi ya mtandao wa biashara server kwenye mtandao, JavaScript ujumla ni lugha ya kwamba anaendesha upande wa mteja si server side-- hivyo katika browser. Ambayo ni kusema, kama wakati mimi kufunguliwa up Facebook chanzo kanuni na kupatikana yote ya wale files .js, maana alikuwa kwamba wakati wa ziara Facebook au zaidi Nje siku hizi, unaweza kupata si tu HTML, si tu CSS, lakini rundo zima la JavaScript kificho mara nyingi katika fomu ya .js files. Na basi ni browser-- yako mwenyewe Mac au PC-- kwamba executes kwamba kanuni. [00:14:03] Lakini browser yako executes yake. Unaweza kufikiri katika aina ya sandbox. Ili JavaScript kificho haipaswi uwezo wa kufuta kwenye kompyuta yako. Ni lazima kuwa na uwezo wa kutuma barua pepe kwa niaba yako. Browser yako aina ya inapinga nini unaweza kufanya hivyo. [00:14:17] Hivyo kwa maana kwamba, ni kidogo chini ya nguvu, pengine, kuliko C. Lakini JavaScript unaweza, kama kando, kutumika kwenye server, ingawa tutaweza huwa si kuzungumza kuhusu hilo katika mazingira. Hivyo sasa hebu kufunga hizi pamoja. wiki iliyopita pamoja, sisi aliwasilisha baadhi HTML juu ya left-- super boring mtandao ukurasa. [00:14:34] Tu anasema hujambo dunia. Na kisha mimi mapendekezo juu ya haki tunaweza aina ya kuiba mawazo kutoka mjadala wetu wa miundo data katika C na kufikiri kuhusu jinsi kihierarkia hii ghafi lugha upande wa kushoto inaweza kuwa inayotolewa au kutekelezwa katika kumbukumbu kama mti halisi ya muundo na michoro na kuyatumia na aina wale wa maelezo. Juu ya haki, sisi kuwaita kwamba Document DOM-- Kitu Model-- ambayo ni tu njia dhana ya kusema mti. [00:14:56] Sasa, kwa nini ni hii muhimu kwa kufikiria ni kwa njia hii? Kwa sababu sasa na JavaScript, kwa sababu tuna kificho kwamba anapata kucheza katika hii mazingira, HTML halisi kwamba wametumwa browser tayari na tayari wamekuwa kubeba katika kumbukumbu na browser katika mti katika kompyuta yako RAM kama hii, tunaweza kutumia JavaScript kwa kweli traverse au kutembea au tafuta au kubadilisha kwamba DOM mti hata hivyo tunataka. Hivyo kwa kweli, kama unadhani kuhusu facebook.com, kama wewe kutumia mazungumzo kipengele, kama wewe matumizi ya Gmail na Gchat kipengele, chochote ambapo una ujumbe kuja tena na tena na tena, wale ujumbe pengine, kama, LI tag, Orodha Item vitambulisho, labda. [00:15:35] Au labda wao ni tu divs kwamba kushika kuonekana kila wakati wewe kupata ujumbe papo. Na hivyo kuwa tu nini maana ya Facebook au Google ni kufanya ni wakati wowote kupata ujumbe kutoka server, pengine wao ni kutumia JavaScript kwa kuongeza tu nodi mwingine hii tree-- nodi mwingine hii mti kisha kuibua inaonekana tu kama mstari wa mwezi wa maandishi kwenye screen yako. Lakini wao ni kuingiza ndani ya muundo huu data. [00:15:57] Hivyo katika madarasa kama CS124 na wengine, utasikia kweli kuandika kificho zaidi dhidi ya miundo data kama hii. Lakini kwa sasa katika JavaScript, tutaweza tu kudhani sisi kupata yote ya utendaji hii kwa ajili ya bure kutoka lugha yenyewe. Basi hebu tuangalie mfano. [00:16:09] Napenda kufungua faili inayoitwa form.html. Ni super rahisi. Ni tu inaonekana kama hii. [00:16:15] Hakuna CSS, hakuna mawazo kwa aesthetics. Ni rena kazi na inaonekana mimi nina kuuliza kwa barua pepe, password, password tena, na kisha kuangalia kukubali baadhi ya sheria na masharti. Nini chanzo kanuni kwa ajili ya hii Inaonekana kama pengine ni kitu unaweza nadhani kwa kidogo ya fikra sasa. Mimi nimepata tag fomu hapa. [00:16:32] hatua inaonekana kwenda kwenda faili inayoitwa register.php. Njia mimi nina kwenda kutumia ni kupata. Na kisha mimi nimepata maandishi uwanja ambaye jina lake ni email. [00:16:40] Mimi nimepata uwanja password ambaye jina lake ni password. Mimi nimepata mwingine uwanja password jina lake ni uthibitisho fulani kiholela. Ni mwingine tu parameter HTTP. [00:16:49] Na kisha sisi tumekuwa si kutumika hivi ila tangu IMS Frosh demo katika class-- hundi sanduku ambayo ni sawa aina tu kuangalia. Na mimi itabidi kuwaita makubaliano hayo. Hivyo nimekuwa aina ya kiholela lakini conveniently aitwaye mashamba hayo. Hivyo kwamba sasa wakati fomu hii anapata kuwasilishwa, hebu angalia nini kinatokea. Kama mimi kufanya malan@harvard.edu, Mimi itabidi kufanya password ya bendera. Mimi itabidi kufanya password ya kitu chochote. Hebu kushirikiana. [00:17:10] Na mimi si kuangalia sanduku. Napenda bonyeza Daftari. Na inasema, hm, wewe ni kusajiliwa. Si kweli. [00:17:16] Lakini URL iliyopita. Hivyo aina hii ilikuwa wazi kuruhusiwa kuwasilisha kwa register.php. Lakini labda, mimi lazima kuambukizwa baadhi ya makosa hayo. Sasa, katika Pset7 na baadhi ya hotuba ya mifano yetu, tunataka magazeti nje kwa ujumla kubwa nyekundu kosa ujumbe hapa akisema, kukosa jina, au kukosa password. Tumefanya kwamba kabla na tumekuwa done upande server kosa kugundua. [00:17:37] Lakini wengi tovuti siku hizi kufanya hitilafu ya mteja upande kutambua ambapo URL haina mabadiliko. ukurasa nzima haina mahitaji. Kupata maoni ya papo kutoka browser. Labda kitu huenda nyekundu. [00:17:48] Labda wewe kupata pop up. Lakini huna kupoteza muda kutuma kwa server data hiyo ni pungufu. Basi hebu angalia jinsi sisi anaweza kufikia kipengele kwamba pia. [00:17:56] Napenda kwenda form1.html, ambayo inaonekana sawa. Lakini kama wakati huu mimi kufanya malan@harvard.edu na mimi aina bendera na mimi si kushirikiana zaidi lakini bonyeza Daftari, taarifa sasa. Siyo sexiest ufumbuzi. Nimekuwa angalau hawakupata kosa hili. Na nimekuwa kutumika tahadhari kazi katika JavaScript-- ambayo sisi ni kutumia tu darasani. Kwa ujumla, unapaswa kutumia hii sababu inaweza haraka sana kupata nje ya kudhibiti. Lakini nywila si mechi ni kosa. [00:18:19] Basi mimi kwenda mbele na bonyeza OK. Lakini nini takeaway muhimu hapa ni kwamba URL hakuna mabadiliko. Hivyo nimekuwa si bothered kupoteza seva wakati kuuliza yake swali kwamba mimi naweza kuwa figured jibu mimi mwenyewe. [00:18:30] Na user, ingawa wamekuwa wakizungumza kuhusu hili tena kuliko mtumiaji kwenda kufikiri juu ya hili, ni kwenda na maoni papo. Hakuna latency na kuunganishwa mtandao. Hivyo hebu tuangalie kanuni hii chanzo. [00:18:40] Inaonekana Form1.html kimuundo sawa hapa. aina ni ukweli huo. Lakini hebu angalia nini mimi hapa chini. Na kuna njia tofauti za kufanya hivyo. Na mimi tumefanya sawa zaidi wafuasi lakini si njia ya kifahari zaidi bado. Nina tag script. Mimi kisha kuwaita document.getElementByID ('usajili'). Na mimi kuhifadhi thamani kwamba katika fomu, kutofautiana. [00:19:04] Hivyo kile nimefanya? Unaweza kufikiria document.getElementByID kama kuwa kazi maalum kwamba JavaScript inakupa kwamba literally mikono yenu pointer moja ya nodes au mistatili katika mti huu. Hivyo sasa kwamba ni nini fomu yetu kutofautiana katika JavaScript ni kweli akizungumzia katika. [00:19:21] Hivyo sasa syntax ni tofauti na C. Lakini sisi ni kufanya mambo machache hapa. Moja, hii ni moja ya ajabu kidogo kuangalia, hakika dhidi ya C. Lakini kuangalia line 35. Kadhalika form.onsubmit kushoto. Kumbuka kwamba onsubmit ni kama uwanja katika struct. Kama unafikiri ya aina ya kutofautiana ni kuwa tu C struct, inaweza kuwa baadhi ya mashamba. [00:19:42] Nyuma katika siku, tulikuwa na wanafunzi majina, Vitambulisho, nyumba, wale aina ya mashamba. Hebu fikiria onsubmit kama uwanja mwingine. Lakini ni uwanja maalum kwa sababu browser ni preprogrammed kutarajia .onsubmit kwa kuwa thamani kama idadi au kamba, lakini kwa kweli kuwa kazi au anwani ya kazi katika kumbukumbu ya kompyuta. [00:20:02] Na kwa kweli, kwamba ni nini Keyword hii hapa gani. Hii inasema, nipe kazi mpya. Lakini jina lake ni nini kwenda kuwa, inaonekana? [00:20:09] Kufikiri nyuma ya Jumatatu. Jina ya hii ni nini kazi kulingana na syntax hii? Hakuna, I mean, kuna wazi hakuna jina associated-- hakika si katika kile nimepata yalionyesha hapa. [00:20:21] Lakini hiyo ni kweli sawa. Hii ni kazi bila majina, au lambda kazi kama baadhi wanaweza kuiita. Na kwamba tu maana bado ni kazi. Ni tu, huwezi kumwita kwa jina. Lakini hiyo ni sawa. Kwa sababu tena, browser imekuwa preprogrammed na makampuni kama Google au Microsoft au Mozilla au wengine tu kujua kwamba kama uwanja .onsubmit ndani ya fomu kipengele ina thamani, kutibu kama function-- kazi pointer, kama wewe. Na kuiita wakati fomu ni kuwasilishwa. [00:20:46] Hivyo kile kificho wanyongwe wakati fomu ni kuwasilishwa? Inavyoonekana, kila kitu ndani ya brace curly. Na hii ni Stylistic. [00:20:53] Unaweza kufanya hivyo kama sisi huwa na kufanya katika CS50. Lakini katika JavaScript, watu wengi huwa na kuweka juu ya mstari huo tu kwa sababu ni wazi zaidi ni kuhusishwa na kwamba keyword kazi. Hivyo sasa nini mimi kufanya? [00:21:03] Kama form.email.value sawa sawa kamba tupu au chochote, hapa tahadhari ambapo mimi nina kwenda kusema, lazima kutoa anwani yako ya barua pepe, na kisha kurudi uongo. Na ni kwamba kurudi uongo kwamba kuzuia aina kutoka kuwa kuwasilishwa. Wakati huo huo, kama thamani password ni tupu, mimi nina kwenda yell saa user na kusema, lazima kutoa password. [00:21:21] Wakati huo huo mambo ni kupata kidogo fancier hapa. Kama form.password.value haina form.confirmation.value sawa, uwanja mwingine, yell saa user kwamba nywila si mechi kama wao hawakuwa wakati iliyopita. Na kisha hii moja ni sexier kidogo kwa sababu mimi kujua nilijua conceptually kwamba checked ni jina hundi sanduku ya. [00:21:40] Hivyo siwezi tu kutumia Moderators uhakika na kusema kama hundi ni si checked-- ni Boolean thamani, kweli au false-- Mimi itabidi yell saa user kwa sababu hiyo. Vinginevyo, kama sisi kupata njia yote ya masharti haya, hebu tu kurudi kweli. Hebu fomu kuwasilishwa. Na hii itakuwa basi kutokea. [00:21:56] Hebu aina katika bendera. Hebu angalia sanduku, click Daftari. Na sasa mimi kwenda kwa njia ya marudio. Sasa, hakuna database huko. Kuna kitu ya kuvutia katika register.php. Mimi tu zinahitajika kitu kwa kweli kuzungumza. Hivyo basi mimi pause, hapa. Maswali yoyote juu ya nini tumefanya tu au kile baadhi ya syntax hii mpya ni? OK, yeah? [00:22:17] Watazamaji: Hivyo checkbox yoyote ni moja kwa moja Boolean. Huna kutangaza ni kama hiyo. [00:22:21] DAVID J. Malan: Sawa. Checkbox yoyote kwamba alimtuma kwenu kutoka HTML fomu kwa JavaScript kificho yako Itakuwa kutibiwa, ndiyo, kama Boolean value-- kweli au uongo. Ni swali nzuri. Wakati maadili mengine, ya Bila shaka, wamekuwa maandishi, AKA masharti. [00:22:36] Haki wote, hivyo basi mimi rewind kidogo zaidi. Nini hatua nzima ya hii ilikuwa? Tu kuwa wazi. Kama, sisi tayari kujua, hata kutoka Pset7 na hata kutoka hotuba wiki iliyopita mifano, kwamba tunaweza wazi kuangalia $ _GET $ _POST Kuona kama user kutupatia thamani tupu. Kumbuka kazi tupu katika PHP. [00:22:54] Hivyo tu kuwa wazi, nini sababu moja tupate pia wanataka kufanya hii kuangalia makosa ndani ya browser? Nini motisha hapa? Yeah. [00:23:06] Watazamaji: Kasi, na huna kutuma data hakufai server. DAVID J. Malan: Good. Ni kwa kasi zaidi. Huna kutuma bure data kwa seva. [00:23:12] Hivyo kupata nyuma zaidi jibu la haraka. Na kwa ujumla, user uzoefu ni bora. Fikiria juu ya njia mbadala. [00:23:17] Kama kwa Gmail-- na alikuwa kesi miaka mingi iliyopita. Tuseme wewe got email mpya Gmail yako akaunti, lakini njia pekee kupitia kuona kwamba ni, kama, upya ukurasa nzima. Au tuseme click kwenye kiungo kusoma email. [00:23:29] Kila kitu ina Reload hivyo kwamba unaweza kuona email. Au Facebook-- kupata ujumbe mazungumzo. Huna kuona mpaka upya ukurasa au click baadhi ya kiungo. [00:23:36] Kama, hii itakuwa awfully annoying user uzoefu. Na hii ni nini ilikuwa kama, wazi, nyuma wakati mimi mbio kwa UC na mtandao chini mno nguvu na JavaScript si kama umaarufu kama ilivyo sasa. Na mambo ni kupata kiasi nguvu zaidi na mengi zaidi mteja upande kwa maana kwamba. [00:23:49] Lakini kuna samaki hapa, na hii ni aina ya gotcha annoying. Tu kwa sababu wewe kuongeza upande wa mteja kutambua kama hii haina maana unaweza au wanapaswa kuachana upande kutambua server. Wewe kimsingi wanataka kuweka yako makosa ya kuangalia katika maeneo yote mawili. Kwa sababu gani alikuwa mmoja somo kujifunza kutoka makala mimi kusoma baadhi ya sehemu kutoka kwa hii kijinga CMS system-- Maudhui ya Usimamizi System-- kwamba alikuwa kutekeleza mfumo wake wa uthibitishaji, kuingia wake kupitia kile utaratibu? JavaScript. [00:24:20] Watazamaji: JavaScript. DAVID J. Malan: JavaScript, hasa, haki? Ilikuwa kutumia JavaScript. Na halisi, wewe guys kuwa alicheza kidogo pengine na Chrome Inspekta. Na kama naweza kupata hiyo, kukagua kipengele. [00:24:30] Nivuke kufanya yote ya chaguzi Chrome. Na hii ni jinsi gani ni rahisi kwa afya JavaScript katika browser. Angalia, hakuna zaidi JavaScript. [00:24:38] Hivyo katika haki, mengi ya mtandao siku hizi ni kwenda tu kuvunja kwa sababu Gmail na sites-- nyingine Facebook-- kudhani kwamba JavaScript ni kuwezeshwa. Lakini kama wewe ni kufanya kitu kijinga kama tu kuhalalisha watumiaji pembejeo na kuangalia ni kwa ajili ya makosa kwa upande wa mteja, adui wangeweza kufanya hivyo. Na kisha hata nadhifu adui kama wewe guys sasa inaweza kutumia Telnet au Curl au amri tu line amri na kwa kweli kutuma ujumbe kwa server kwamba vile vile si kosa checked. [00:25:05] Hivyo hii ni zaidi ya user interface uamuzi kuliko ilivyo halisi kiufundi improvement-- kutekeleza kitu mteja upande kama hii. Hivyo sasa mtazamo wa haraka, lakini basi Mimi itabidi kuahirisha kwa kutembea online kupitia kwa hii moja. Katika fomu mbili, sisi kweli alikwenda kupitia na kusafishwa up kificho kidogo. Lakini ngoja kuahirisha kwa moja ya video tutaweza uwezekano kupachika katika Pset8 kwamba inaonyesha wewe tu syntax sawa kutumia maktaba inayoitwa jQuery, ambayo ni super, super maktaba maarufu katika JavaScript kwamba watu kusema ukweli zaidi tu kutumia siku hizi na hata kuwachanganya kama kiumbe JavaScript yenyewe. [00:25:37] Na inaelekea kuhusisha baadhi ya ishara ya dola na maneno kama hati katika mabano hapa. Lakini tena, napenda kuahirisha kwa tutorials baadhi polepole online badala ya kupata fumba katika tu syntax. Hebu kuendelea na kitu baridi kidogo katika suala la maombi ya hii. [00:25:50] Hivyo hasa, napenda kwenda mbele na kufungua hii hapa. Kuja juu. Kuna sisi kwenda. [00:25:59] Napenda kufungua picha hii hapa. Usiokuwa ngumu kuangalia, lakini inaeleza mbinu aitwaye AJAX-- Asynchronous JavaScript na XML, ambapo X kwa XML ni kweli tena kweli kutumika. Inaelekea kutumia kitu mwingine aitwaye JSON. [00:26:13] Lakini hapa ni jinsi kitu kama Google Maps au Google Earth kazi. Hebu jaribu hii juu ya kuruka, kwa kweli. Basi mimi kwenda mbele na kufungua up Chrome juu ya browser yangu. [00:26:21] Na napenda kwenda katika, kusema, maps.google.com. Na kwa kweli, kama wewe ni umri kutosha kukumbuka nini, kama, MapQuest ilikuwa kama nyuma katika siku, na labda bado kazi kama hii. Wakati kutumika kutafuta something-- 33 Oxford Street, Cambridge, Misa, hebu kufanya this-- unaweza ingekuwa kweli, kama wewe alitaka sufuria juu na chini, kushoto na kulia, ungependa kuangalia kama mshale kubwa juu, na wataonyesha mwingine sura ya ramani hapa. Au ungependa click kushoto na wewe aliamua kwenda zaidi ya hapa, au click mwingine na ungependa kwenda zaidi ya hapa. Lakini badala yake hizi siku, sisi bila shaka tu kuchukua nafasi ya kwamba tunaweza kwenda karibu Cambridge pretty haraka tu kwa kubonyeza na dragging. Lakini taarifa kuna baadhi ya glitches. [00:26:59] Kama mimi kufanya hili kwa kasi ya kutosha, nini inaonekana kuwa kinachotokea kama mimi Drag kidogo pia kufunga kwa ajili ya kompyuta na kuweka juu? Unaona nini? Yeah. [00:27:07] Watazamaji: saizi hawana mahitaji. DAVID J. Malan: saizi hawana mahitaji. Kuna actually-- na wewe kuona hii, kwa kweli, kama wewe ni kuangalia online na pause hii au kweli kupungua mambo chini kwa once-- utaona kwamba kuna matofali, mraba, au mistatili kwamba ni kukosa kutoka ramani mpaka kupasuliwa pili baadaye, data zaidi, picha zaidi kweli kuonekana kwenye screen. Na kwa kweli, kama sisi kufanya hivyo kwa kuangalia up Chrome's-- hebu sema, Chrome-- hebu angalia. Hatuwezi kufanya hivyo. [00:27:31] Oh, whoops. Hebu kufungua maps.google.com. Napenda kufanya dirisha kubwa tena. [00:27:36] Kwenda nyuma 33 Oxford Street. Ilikuwa tovuti nilikuwa kwenye karibuni nini? Mimi nilikuwa hii, kama, binafsi rant kwa kwamba mimi mwenyewe d ujumbe basi papo rafiki yeyote ambaye alikuwa online ambaye alitaka kusikia. Kuna baadhi ya tovuti. Nadhani ni Comcast-- hivyo kubwa sana ya Kaskazini ISP. Unaweza, wakati kusainiwa kwa ajili ya cable mpya Modem huduma au cable TV huduma, wana aina ya sababu sana ambapo wao kuuliza wewe kwa anwani yako. Na kuwa na huu wa ajabu kipengele inayoitwa auto kamili, kama Google, kwamba kuanza kujaza katika jibu la swali lako. [00:28:04] Tatizo ni, wao kufanya auto kamili juu ya mambo ya kwanza kwamba wewe aina. Hivyo kama wewe kuanza kuandika katika 33, ni kuonyesha halisi kila nyumba katika Amerika kwamba kuanza pamoja na idadi 33 kabla ya kuendelea wanatarajia aina zaidi. Hivyo kama wewe aina 33 Oxford, basi inaonyesha kila mitaani katika Amerika ya kwamba ina 33 Oxford katika jina lake, bila ya kujali mji kwamba wewe ni katika. [00:28:25] Na kisha kuendelea kuandika. Na hatimaye, ni anatambua kwamba hawana kutoa huduma kwa nyumba yako katika Cambridge au kitu kama hicho. Lakini uhakika ni, hii ni zaidi asinine utekelezaji wa auto kukamilisha milele. [00:28:34] Na mimi nina kwenda tu mbali juu ya tangent hii tena. Lakini kuna njia nzuri ya kutumia JavaScript na njia mbaya. Na kwamba si lazima moja bora. [00:28:40] Lakini uhakika hapa, kabla ya hii tirade, alikuwa kufungua zana chini hapa na kufungua zana developer, kama tumekuwa moyo kabla, na kuangalia Mtandao tab kama mimi click kweli kasi. Na taarifa rundo zima ya kupata maombi kilichotokea. Hayo yote yalitokea tangu mimi kuvutana. [00:28:57] Na uwezekano mkubwa, kwa kweli mengi ya safu hizi sasa ni picha kufyeka JPEG Aina ya MIME au aina ya maudhui. Hii ni kwa sababu gani chrome ni kufanya kila wakati mimi click na Drag, click na Drag, ni ni kutambua, oh, mimi haja ya kwenda kuuliza Google kwa tile kwenye ramani hiyo zaidi ya hapa, haraka kushusha ni kupitia HTTP, na kisha kuongeza kwa kinachojulikana DOM kwa browsers mtandao katika kumbukumbu ya mti uwakilishi ili mtumiaji, yangu, anaona kwamba tile updated. Na hii ni kwa sababu ya mbinu aitwaye AJAX. Nyuma katika siku, ni kweli ilivyokuwa kwamba kama wewe alitaka kubadili nini juu ya screen, ingekuwa bonyeza juu, chini, kushoto, haki. Na kisha ukurasa mpya itakuwa kufungua. Lakini siku hizi, kila kitu ni nguvu zaidi. Ni hutokea katika njia ya sisi binadamu ingekuwa matumaini ni kweli ingekuwa interactively. Na inafanikisha hii kwa njia ya mbinu ya kuitwa AJAX, ambayo ni labda bora kuelezwa na mfano. Kwanza, napenda kwenda mbele na kufungua faili aitwaye quote.php katika leo usambazaji kificho. [00:29:53] Na kisha basi mimi kufanya whoops symbol--. Basi mimi kufanya ishara = GOOG kwa baadhi tu ya hisa. Au kweli, hebu kufanya mmoja kutoka pset bure. Kuingia. [00:30:05] Na sasa taarifa gani mimi kupata nyuma. Hivyo hii ni kweli short PHP faili kwamba mimi aliandika kwamba tu borrows kificho kutoka Pset7 ya Luke kazi na akimtemea nje kwa kutumia brace curly hii na quotes na koloni nukuu, inaonekana, bei ya hisa ya sasa ya kwa kampuni hiyo kupita katika kupitia kupata. Hivyo hii ni tofauti kutoka zaidi ya kile tumekuwa kufanyika katika ilani kwamba mimi nina halisi kutema nje kile kinachoonekana kama JavaScript kificho. [00:30:27] Kwa kweli, hii ni JavaScript kitu. Kwa kweli, tu kuwa wazi zaidi, JavaScript Object Notation-- JSON-- ni njia tu dhana ya kusema kwamba wewe wanaweza kuwakilisha data katika JavaScript kiasi kama unaweza katika PHP kutumia thamani jozi muhimu. Hivyo kama mimi alitaka kutangaza kutofautiana katika JavaScript kwa inawakilisha Zamyla, kwa instance-- struct kwa Zamyla-- na tutaweza kumwita mwanafunzi, kutofautiana huu. ID yake ni moja, nyumba ni Winthrop, na jina ni Zamyla. [00:30:53] Lakini siwezi pia kuwa safu ya vitu. Hivyo kama mimi kwa kweli alitaka kuwa safu katika JavaScript zenye vitu mbalimbali kama, hii wakati anayewakilisha wafanyakazi, Nipate kuwa hawa watatu chunks ya kificho nyuma nyuma kwa nyuma kwa ajili ya haya wafanyakazi wa zamani watatu. Hivyo syntax, pretty sawa na both-- kwa PHP. Lakini hii ni hasa JavaScript. Ni kitu nukuu. Hivyo ni nini muhimu kwa ajili ya hii? [00:31:17] Kama mimi kuandika kificho kwamba akimtemea nje JSON-- JavaScript Object Notation-- mambo ambayo Inaonekana kama hii au kwamba mambo Inaonekana kama muundo Zamyla ya, Mimi unaweza kweli kutumia hii katika mipango mimi kuandika. Napenda kwenda ajax0.html. Na hii too-- si mengi walidhani aliyopewa aesthetics. Lakini kuangalia nini kinatokea. [00:31:34] Basi mimi kwenda mbele na aina ya bure hapa. Bonyeza kupata quote. Na taarifa URL si iliyopita. Lakini mimi kupata pop up na inaonekana leo hisa senti bei ya $ 0.15. Hivyo siyo mbaya wote. Lakini tofauti ni kwamba kwa namna fulani, data hii alikuja nyuma yangu moja kwa moja. Lakini hebu kuchukua hatua kuelekea kitu zaidi ya ukoo. Katika toleo moja ya hii, napenda aina ya bure tena, click Kupata quote, na now-- oh, hii ilikuwa kweli toleo jQuery. Hivyo basi me-- sikuwa kufunga-mbele kabisa mbali kutosha. Napenda kwenda toleo mbili, ambayo ni ambapo nilitaka. Taarifa ya nini mimi tumefanya hapa. Nina mtandao page-- super rahisi toleo ya ukurasa wowote mtandao unaweza kutumia leo na shamba Nakala hapa kwa ajili ya bure na kisha inaonekana tu Nakala. [00:32:14] Hii si aina hapa, inaonekana. Lakini kama mimi click kupata quote, taarifa mtandao ukurasa wangu ni kuhusu kubadilika kama ingawa mimi tu got mpya ujumbe wa papo au kama ingawa mimi tu wakiongozwa ramani na walihitaji kupata data zaidi aliongeza dynamically kwa ukurasa wa mtandao bila URL kubadilisha na user uzoefu kupata kuingiliwa. Hakika, mimi bado nina katika exact place-- ajax2.html. [00:32:35] Basi hebu angalia tu katika mfano huu na kuona jinsi hii inajitokeza. Napenda kwenda katika ajax2.html. Na taarifa aina ya kwanza. [00:32:44] Chini hapa, mimi nina kugeuka mbali auto kamili. Wakati mwingine anapata annoying kama browser ni kujaribu kuonyesha historia yako yote. Hivyo unaweza kufanya hivyo katika HTML na kusema tu auto kukamilisha mbali. [00:32:53] Nimekuwa kupewa hii Nakala uwanja a symbol-- badala yake, ID ya ishara. Na sasa, hii ni hulka ya kuvutia. Sisi si aliongea kuhusu span, lakini unaweza kufikiri juu yake kama tag aya au tag div. Ni kile kinachoitwa katika-line kipengele, ambayo ina maana huwezi kupata aya kuvunja juu na chini yake. Ni tu kwenda kukaa katika mstari bila kupiga sawa kuingia. Hivyo nimewapa chunk hii ya HTML kuwa amedhamiria kitambulisho kipekee kwamba mimi kiholela aitwaye bei. Na mimi kuwa Kuwasilisha kifungo. [00:33:21] Kwa sababu sasa juu here-- na hii ni kweli super kushangaza kificho jinsi kidogo unaweza kuandika kwa kufanya kiasi nadhifu things-- taarifa ya nini mimi tumefanya hapa kama mimi kitabu juu na mkuu wa ukurasa huu. Nimekuwa ni pamoja na ya kwanza katika kichwa yangu tag script kwamba kweli marejeo JavaScript faili mahali pengine. Hii ni kutoka shirika kwamba anaandika jQuery, na hii ni kutoa tu wewe karibuni toleo la maktaba yao jQuery. [00:33:42] Hivyo hii ni aina ya kama mkali pamoja katika C au kuhitaji katika PHP. Matumizi tag script na chanzo sifa. Lakini sasa kificho yangu mwenyewe ni itakuwa haki katika hapa. [00:33:52] Taarifa nina kazi kuitwa Quotes. Na inaonekana kidogo cryptic katika mtazamo wa kwanza. Lakini hebu tease hii kusambaratika. Nipe variable inayoitwa URL. Hawawajui ni halisi kamba hii. Hivyo, quotes moja, mbili quotes katika JavaScript tu anitiaye kamba. Nini pamoja kufanya? Concatenation. [00:34:08] Hivyo hii ni sasa jQuery syntax ambayo inachukua kidogo kupata kutumika. Lakini hii tu ina maana kwenda kupata yangu DOM nodi ambaye kipekee kitambulisho ni ishara. hashtag kuna maana kipekee kitambulisho ishara. [00:34:21] ishara ya dola katika mabano maana tu, wrap hii katika jQuery aina ya mchuzi siri ili kupata utendaji ziada. Na kisha .val ni inaonekana kazi, au kama sisi kusema sasa, Njia ya ndani ya nodi hii kwamba tu inakupa thamani. Hivyo katika muda mfupi, mbaya na utata kama hii inaonekana katika mtazamo wa kwanza, hii ina maana tu kupata na user typed katika, kuweka mwisho wa kamba na concatenating yake. Hayo ni yote. [00:34:43] Hivyo sasa, mistari mitatu iliyopita. Unaweza itapunguza mengi ya utendaji nje ya mistari mitatu. Hii ishara ya dola, kama kando, ni tu jina la utani kwa maalum variable kimataifa aitwaye halisi jQuery. [00:34:55] Dola ishara tu inaonekana baridi. Hivyo jamii jQuery tu aina ya kutumika kama ishara yao maalum. Haina maana nini maana katika PHP. Katika JavaScript, ishara ya dola ni kama barua ya alfabeti au simu kwa kutofautiana. [00:35:07] Unaweza tu kuwa ni kama jina. Tu inaonekana baridi. Hivyo jamii iliyopitishwa ni kama jina la utani kwa ajili ya maktaba yao wenyewe aitwaye jQuery. [00:35:13] Na ni super maarufu. Hivyo kupata JSON ni hasa kwamba. Ni kazi ambayo folks katika jQuery aliandika kwamba anapata JSON kutoka server-- JavaScript Object nukuu. Kutokana na kile URL ni kwenda kupata habari hiyo? Inavyoonekana kutoka URL hii hapa. [00:35:27] Na kile lazima kufanya kama browser haraka kama anapata nyuma majibu hili? Na hii ni uchawi wa AJAX, hivyo speak-- Asynchronous JavaScript katika XML. Ni vigumu kuona kwa vile a mfano rahisi kama tulikuwa hapa. [00:35:41] Lakini hii ilikuwa Asynchronous katika hisia kwamba kificho wangu wakati kunyongwa alimtumia ujumbe server kwenda kupata nami baadhi JSON. Na ilivyotokea super haraka kwamba mimi got jibu. Lakini nini kuvutia ni kwamba hii mstari wa kanuni hakuwa hutegemea kompyuta yangu. [00:35:55] Sikuona inazunguka icon. Sikuwa kupoteza uwezo wa hoja ya panya yangu. Browser yangu alikuwa kweli kikamilifu faini. [00:36:01] Sababu njia JavaScript Hushughulikia majibu kutoka server ni kama ifuatavyo. Kujiandikisha nini d wito callback kazi, ambayo tu ina maana, hey, JavaScript. Haraka kama server anajibu na JSON, tafadhali piga kazi hii bila majina. [00:36:18] Na tafadhali kupita katika kazi hii chochote kamba server mate nje kama hoja aitwaye data. Hivyo katika nyingine, maneno, kama Mimi kukusanyika dynamically URL quote.php kupita katika hii alama kama za au GOOG au whatnot, Mimi kisha kuwaambia JavaScript kwenda kupata kwamba URL. Kumbuka kwamba browser ni kwenda na kurudi kitu kwamba inaonekana kama tuliona earlier-- hii. [00:36:42] Na nini hoja ya pili hapa kupata JSON ni kusema ni kuwaita kazi hii wakati server anapata nyuma kama ni 10 milliseconds kuanzia sasa au sekunde 10 kuanzia sasa. Na haraka kama wewe kufanya, kuongeza bei kwa ukurasa. Syntax hii hapa tu ina maana kwenda kupata nodi mti ambao kipekee kitambulisho ni price-- kwamba span tuliona mapema. [00:37:01] Njia hii inaitwa HTML tu anasema, kwenda kuchukua nafasi ya HTML kwamba kuna na data.price. Nini data.price? Naam, browser, kukumbuka, alinionyeshea hii kuja nyuma. Hivyo hii ni data. [00:37:14] Na hivyo ni kidogo cryptic kuona koma hapa. Lakini kwa kweli, basi mimi kufanya hili. Napenda tu kuweka hii halisi haraka katika gedit na kuonyesha hii kama sisi ilionyesha Muundo Zamyla ya awali. [00:37:27] Nini server ni kutuma nyuma ni kitu kidogo kwamba inaonekana kama hii. Na hivyo data.price ni kutoa tu mimi 0.1515. Hivyo mengi ya kusonga sehemu hapa wote kwa mara moja. [00:37:39] Lakini takeaways muhimu ni kwamba tuna uwezo huo kufanya HTTP ziada maombi ya kutumia JavaScript bila ya kuwa na upya ukurasa. Na kisha tunaweza kweli kubadili ukurasa wa mtandao juu ya kuruka. Na zinageuka kuwa JavaScript na lugha nyingine inaweza kutumika sasa si tu mutate kurasa za mtandao, lakini kwa kweli kuandika programu katika kompyuta halisi, si tu funge na Chrome au kama. [00:38:00] Kwa kweli, if-- Colton, unaweza kama kujiunga nasi nyuma hadi hapa na maabara yako kificho, na Chang pia? Hebu kwenda mbele, baada ya kuongelea kazi bila majina na callbacks na kwa kweli kumjaribu hatma hapa na demo ya kuishi na kutokwa na damu makali ya teknolojia, moja ya haya vifaa Wasomi Motion. Sasa, kifaa hiki, kukumbuka, ni kifaa USB kidogo pamoja that-- kwamba beautiful-- kwamba plugs katika bandari yako USB. [00:38:25] Na kisha inatoa pembejeo katika fomu ya ishara ya binadamu na kuchunguza kwa kutumia mihimili infrared, kimsingi, harakati kutoka mkono wako. Hivyo ambapo gani Maria walijaribu mbele alikuwa misuli, kweli hisia nini kubadilisha mkono wako, hii ni infrared msingi. Hivyo ni kuangalia kwa harakati ndani ya aina ya nyanja ya mguu au hivyo ya kifaa yenyewe. [00:38:46] Hivyo kwa nini si mimi kuchukua kumchoma saa hii ya kwanza? Na hebu kwenda mbele na kutupa wewe juu ya uendeshaji hapa. Basi hebu kuweka mbali Colton ya juu hapa. Sisi tumepewa Andrew juu ya TV. Na nini ungependa mimi kufanya kwanza? [00:39:00] COLTON: Kwenda mbele na tu kuweka mikono yako juu ya guy hii na utaona baadhi pambo Fabulous. [00:39:04] DAVID J. Malan: nzuri sana. Hii yote yanayotokea katika muda halisi. OK. Haki zote, na yep. Hivyo nzuri. Haki wote, kile kingine tunaweza kufanya? [00:39:15] COLTON: Nenda screen ijayo na kuona. [00:39:17] DAVID J. Malan: zote haki. [00:39:19] COLTON: mchezo furaha kidogo ambapo unaweza kupata kufanya robots. [00:39:21] DAVID J. Malan: zote haki, hivyo hii ni mikono bandia kuonyesha mimi nini cha kufanya. COLTON: Ndiyo Hivyo kwenda mbele na kunyakua moja ya vitalu na kuiweka juu ya mwili kwamba robot ya. DAVID J. Malan: Oh, kuna mkono wangu. Oh. OK, adorable. Kusubiri dakika, OK. Kuna sisi kwenda. [00:39:41] COLTON: Mimi alifanya moja juu ya ajali. [00:39:43] DAVID J. Malan: Sawa, mimi itabidi kupata guy hii. Damn it! Wakati sisi walikuwa wakifanya hii iliyopita usiku, unajua nini ulisababisha hii katika? [00:39:51] Kama hii. OK. Ijayo moja? [00:39:55] COLTON: Hakika. [00:39:56] DAVID J. Malan: zote haki, na kuna tatu. Wote haki. COLTON: Na katika hili moja, unaweza kupata to-- DAVID J. Malan: Oh, hii moja ya mazuri. COLTON: --yeah, pick mbali ua hili. DAVID J. Malan: Sawa. Hakuna? Amekosa. [00:40:14] COLTON: Oh, kuna kwenda. [00:40:15] DAVID J. Malan: Ah, Angalia kwamba. Nzuri sana. Vizuri, kwa nini dont 'sisi kuchukua nje moja kujitolea hapa ambao wangependa kuja juu juu. Vipi kuhusu haki pale katika kijani, ni? [00:40:27] Haki zote, na hebu have-- badala ya kufanya hivyo, baadhi yenu wapate kujua mchezo huu here-- kukata kamba, labda? Hebu angalia. Tuna glasi wetu juu juu hapa? [00:40:37] OK. Asante. Nini jina lako? [00:40:39] Watazamaji: Laura. [00:40:40] DAVID J. Malan: Laura? Nzuri ya kuona. Kama huna akili kuweka Google kioo juu ya glasi yako. Hii ni Colton. [00:40:46] COLTON: Hi. Nice kukutana na wewe. [00:40:48] DAVID J. Malan: Sawa, kuja juu kote. Haki wote, hivyo nini wewe kwenda kufanya hapa, baada ya kucheza hii kabla, ni kuweka mkono wako juu ya Leap Motion hapa. Na sasa mshale yako lazima hoja. Oh, nope. [00:40:57] Watazamaji: Hapana [00:40:58] DAVID J. Malan: Sisi hawataki kuacha bado. OK, kusubiri. Zaidi ya hapa. Hivyo taarifa kama wewe kushikilia yako kidole juu ya kitu, panya kuanza kwenda kijani, ambayo ni jinsi wewe click. [00:41:06] Hivyo hover juu kucheza. Na kidole moja tu ni faini. Na sasa bonyeza kidogo kijani guy upande wa kushoto. Na sasa kushikilia mpaka huijaza up kijani. Nzuri. Sasa, kama, ngazi moja juu ya juu. [00:41:16] Watazamaji: Yeah, tunataka ngazi moja, hapa. [00:41:20] DAVID J. Malan: Good. OK, hivyo wote una kufanya ni kukata kamba. Mshale moja nyeupe chini huko. [00:41:28] Nzuri sana. Haki zote, ni kuhusu kupata ngumu. Hivyo kushikilia kidole yako juu ijayo sasa. Nzuri. Hii moja ngumu. [00:41:39] Watazamaji: Oh crap. OK. Ni anataka kwenda kwa njia hiyo. Oh crap, that-- [00:41:44] DAVID J. Malan: Yeah. Lengo sekondari ni kupata nyota wote. Haki wote, ijayo. [00:41:53] Hebu angalia kama unaweza kupata hii moja ya tatu. Nzuri. OK, kwenda zaidi ya hapo. [00:42:06] Uhakika. Oh, nzuri sana. Wote haki. [00:42:11] Hivyo kwa nini sio sisi kuahirishwa hapa leo? Mtu yeyote kuja juu juu ambaye anataka kucheza. Asante sana kwa Laura kujitolea yetu. Na sisi kuona juu ya Jumatatu. [00:42:18] Watazamaji: Wewe pengine wanataka hizi nyuma. [00:42:21] SPIKA 2: Katika CS50-- ijayo