Roger ZURAWICKI: Kamusta sa lahat. Maaari ba akong makakuha ng iyong pansin? Salamat, guys. Ngayon Gusto kong makipag-usap tungkol sa Meteor. Ito ay isang JavaScript framework. Susubukan naming i-pagpunta sa pamamagitan ng kung paano maaari mong gumawa talaga cool na web apps. Bago kami makakuha sa JavaScript, ako lamang nais sabihin sa iyo guys na kalooban ito ma - magkakaroon ka ng ibang pagkakataon piraso na ito semestre. Dapat ito ay tungkol sa JavaScript. Sa tingin ko [hindi marinig] ay unang pagpunta sa masaklawan ang mga web HTML mga bagay-bagay na PHP bago namin ilipat sa JavaScript. At sa CS50, JavaScript ay itinuturing tulad ng isang client code. Kaya ito lamang ay makakakuha ng tumakbo sa ang web browser. Ngunit salamat sa kamakailang mga advancements sa teknolohiya, ngayon kami ay pinamamahalaang upang tumakbo JavaScript bilang isang server pati na rin. Kaya ito ay lumikha ng isang talagang cool na balangkas dahil maaari mo na ngayong magsulat lehitimong ang parehong code para sa ang client at server. At kapag tinukoy mo ang mga function sa iyong server, ang iyong client ay maaaring tumawag sa mga parehong mga pag-andar. At ginagawang ito ng maraming mas madali. Sapagkat bago, kung gumagamit ka ng PHP sa sa server, JavaScript sa harap pagtatapos, mayroon kang magsulat ng isang function na PHP at pagkatapos ay isang bersyon ng JavaScript sa mga parehong pag-andar na gawin ang parehong uri ng trabaho. Kaya bago kami magsimula, nais ko upang ipakita sa iyo ang isang demo ng kung ano Ang maaaring magawa ng meteor para sa iyo. Ipapakita ko sa iyo ang demo, na kung saan ay kung ano ang makikita mo magagawang lumikha ng katapusan ng pantas-aral. Pumunta lang namin dito mismo. Ito ay isang Leaderboard app. Talaga Ito ay batay sa labas ng halimbawa na Meteor nagbibigay sa iyo. Meteor ay napakabuti dahil kapag nag- i-install ito bilang isang pakete, maaari mong talaga maglaro sa paligid na may mga apat na demo. At ang Leaderboard ay ang muna ng mga demo. Pagkatapos ng seminar, hinihikayat kitang lahat upang galugarin lamang ang iba pang mga demo dahil sa tingin ko ang mga ito ay talagang cool na, at ipakita nila sa iyo ang lakas ng Meteor. Kaya kung ano ito ay, ito ay naka-host sa Leaderboard. Ito ay nang tapat lamang ng isang listahan ng mga pangalan. At maaari mong piliin ang mga tao. I Sila dilaw. At pagkatapos ay maaari mong ibigay ang mga ito ng limang puntos. At mapapansin mo na sa listahan ay Uri-uriin dahil bilang Ibinibigay ko ang aking sarili nang higit pa at higit pang mga point, ako ngayon sa tuktok. Kaya ito ay kung saan namin magsimula. At kung ano ang magagawa mo upang tumagal ang layo mula sa seminar ay isang ilan pang mga mga tampok na idinagdag mo ako sa ang Leaderboard. Susubukan naming i-sumasakop sa kung paano, pati na rin ang magdagdag ng limang puntos sa isang player, na aming makakaya tanggalin ang mga manlalaro, maaari kaming magdagdag ng mga bagong mga manlalaro, at maaari naming piliin kung paano namin gusto upang pagbukud-bukurin ang mga ito. At ang mga ito ay ang lahat ng napakadaling tawag sa API na Meteor nagbibigay ng para sa iyo. Mayroon ka ding isang tampok dito sa sunod ang mga marka. Kaya kung ano ang talagang cool na tungkol sa ito ay ka guys maaari talaga lahat ng pumunta sa site. Makikita ko bang ilagay ito sa mas malaking teksto dito. One-radikal-lead na erboard.meteor.com. At kapag ikaw guys pumunta sa site, sa iyo ang dapat ma-edit ang mga site, at lahat ng iyong mga pag-edit ay makikita sa lahat ng iba pa. Kaya maaari mong - ikaw ay guys lahat magagawang upang kumonekta sa site? Kaya i-play sa paligid na may ito. Pumunta at simulan ang pagtanggal ng ilang mga pangalan. Tingnan kung ano ang mangyayari. Kaya tingnan mo maaaring i-play ang lahat ng tao. Ito ay lamang ang default na seguridad mode para sa Meteor. Ang makikita mo na lahat ng tao maaari baguhin ang data ng isa't isa. Huwag mag-alala. Meteor ginagawa mayroon seguridad. Ito ay isang napaka-madaling ipinatupad tampok na ito, kung saan maaari kang mag-set up ng mga gumagamit at mga pag-login. Ngunit ngayon, ang kahit sino kung sino ang bumisita sa maaaring magbigay ng site ang kanilang mga sarili bilang marami tumuturo sa gusto nila. Kaya ako palaging ganito dahil ito ay isang masaya na paraan upang makapagsimula. At pagkatapos ay gagamitin namin lamang makipag-usap tungkol sa mga detalye, kung paano Ginagawa ito posible Meteor. Kaya ako pupunta upang masakop ang kung ano Meteor ay, at pagkatapos ay gagamitin lamang kailangan namin upang masakop ang dalawang mga kinakailangan na CS50 ay hindi sapat na saklaw. Ngunit sa pamamagitan ng pagtatapos ng termino, dapat mong maging kumportable sa parehong HTML at JavaScript upang talagang makuha ang iyong mga kamay marumi nagtatrabaho sa Meteor. At sa tingin ko ito lamang ay isang mahusay na paraan para sa kahit na mas kumportableng mga mag-aaral na gawin huling proyekto dahil maaari silang talaga manatili sa isang wika, at makakuha sila upang makita ang mga pagbabago sa kanilang mga gumana kaagad. Kaya slide na ito ay nagpapakita lamang ng ilan sa mga mga pangunahing teknolohiya na Meteor JS ay nagbibigay sa iyo. Meteor ay hindi isang bagong teknolohiya sa sarili nitong. Ito ay talagang isang kalipunan ng iba at ibang klase ng tao ng lahat ng mga iba't ibang bagay mayroon kami sa internet. Pati na rin ang HTML, CSS, JavaScript, namin kumuha ng mga teknolohiya tulad Node.js, na kung saan ay kung ano ang nagbibigay-daan sa iyo upang tumakbo JavaScript sa dulo pabalik sa iyong server, pati na rin ang ilang JavaScript mga aklatan, tulad ng jQuery, salungguhit. Ang lahat ng mga ito ay hindi pamilyar sa sa iyo sa pamamagitan ng pagtatapos ng semestre. At kami makakuha din gumamit ng isang database na tinatawag na mongoDB, na isang talaga sikat na database na ngayon para sa mga bagong startup. Maaari mong isipin na ito bilang tulad ng MySQL, ngunit ito gumagana lubhang mabuti sa JavaScript. At mayroong ilang mga iba pang mga teknolohiya dito at marami pang hindi ko pa nakalista na ang lahat ng interface talaga mabuti na may Meteor. Kailangan ko bang ilagay ito slide dahil minsan nakukuha ko ng kalituhan tungkol na ito. Meteor lamang ang JavaScript. Ito ay hindi na PHP. Ito ay hindi Ruby sa daang-bakal. Kaya kung sumulat ka ng code, kung nais mong magsulat ng isang proyekto ng meteor, ikaw talaga hindi maaaring gumamit ng Ruby code. Ikaw talaga hindi gumagamit ng PHP. Habang ipapakita namin makita na ang mga pagkakaiba sa code at syntax ay maaaring hindi na iba't ibang, gusto kong magbigay-diin sa iyo na Meteor, ang lahat ng bagay code mo ay lamang sa JavaScript. At ang lahat na ipakita sa iyo upang user na HTML CSS. Ngunit hindi ka ng aktwal na paggamit ng alinman sa ang iba pang mga wika na iba pang mga maaaring masakop ang seminar. Ano Meteor din ay ay isang web server. Kaya kahit na wala kang anumang JavaScript, at gusto mo lang upang maghatid ng CSS at HTML file, Meteor Maaari gawin iyon para sa iyo. At narito muli ang link papunta sa demo na nakuha ko sa inyo guys nagsimula sa paglalaro ng may. Ngunit ng lumipat sa HTML ipaalam. Gaano karaming mga tao dito mayroon walang ideya kung ano ang HTML ay? OK mahusay. At iyon ay lubos na masarap. Ikaw talaga hindi mo na kailangang magkano ang tungkol alam ito dahil magpapatuloy kami sa ibabaw ng paggamit napaka-simple. Ito ay kung ano ang simple Mukhang pahinang HTML tulad ng. Maaari itong maging tulad ng iyong kumusta, mundo para sa HTML, samantalang kami makapagsimula sa C may kumusta, mundo. Hindi ko gusto mong Stress sa mga detalye ng kung ano ang HTML, ano ang ulo, kung ano katawan, kung ano ang pamagat ay ang magawa doon. Gusto ko lang ng stress sa istraktura, paano mayroon kang mga tag. At iyon ang anggulo bracket. At na kung saan mayroon kang ang iyong descriptors. Kaya na maaaring mayroon ka ng dokumentong HTML. At pagkatapos ay kakailanganin mong isara ang dokumentong HTML may backslash parehong bagay. At mayroon kang iba't ibang mga uri ng mga tag. At mapansin na nila ang lahat ng naka-naitugmang. Mayroon kang tulad ng isang katawan ng tag at pagkatapos ay isang malapit na katawan ng tag. At sa loob ng tag na katawan, na magagawa ang mga nilalaman ng iyong web page. Kaya ang web page na gusto lang ipakita sa isang puting background at itim na teksto kumusta, mundo. Ba na ang may katuturan? OK. Ngayon Pupunta ako sa mabilis masakop ang JavaScript. Sa mga salita ng isang nakaraang tf, "JavaScript ay ang pinakamahusay na programming wika na kasalukuyang nasa pag-iral. Iba pang mga tao ay susubukan na sabihin sa iyo kung hindi man. Ang mga ito ay mali. "JavaScript ay medyo magaling, at magpapadala ako ipakita sa iyo kung bakit. Kaya ito ay ang klasikong halimbawa simulan namin may sa C. Mayroon kaming kumusta, mundo. At napansin mo na kahit na pag-urong ito, kailangan mong magkaroon ng hindi bababa sa dalawang linya ng code dito. Mayroon akong ilang mga linya ng code. Ito ay maaaring tapos na napaka-simple. Isang linya sa JavaScript na may console.log, at pagkatapos ang iyong mga string, kumusta, mundo. Ngayon, kahit kami ay lumilipat sa isang bagong wika ng JavaScript, halos lahat ng mga kasanayan na iyong natutunan sa pamamagitan ng coding sa C ay direktang portable. Kaya mga string, ang ideya ng mga string sa double quote, iyon ang parehong. Semicolon Ang, iyon ang parehong. Isang kapong baka tampok tungkol sa JavaScript talaga ay na sa iyo hindi na kailangan ang tuldok-kuwit. Maaari itong hulaan na dapat mong maglagay ng tuldok-kuwit doon. Ngunit na sinabi, dapat mong laging subukan upang ilagay ang iyong mga semicolons doon. Ito ay itinuturing na mahusay na estilo. At din, walang pangunahing pag-andar. Simulan mo lang sa tuktok ng file at basahin ang mga bagay na linya sa pamamagitan ng linya. Pagkatapos ito ay kung ano ang kinakailangan upang gawing na kumusta, programa mundo. At pagkatapos ay napansin na mayroon ka sa gumawa ng halo at pagkatapos ay magpatakbo ng halo. Gamit ang JavaScript, ito ay itinuturing na isang kahulugan ng wika. Ano ang kailangan mong malaman ay na walang making. Walang compile. Patakbuhin mo lang node. At tandaan na node ay ang programa na tatakbo ang iyong JavaScript sa isang console, sa isang itim na kahon, hindi sa website. Kaya bigyan ka lang ito ang file, at ito ay pagpunta sa i-print ang kumusta, mundo. Kukunin ko talagang gawin ang isang maliit na demo ng na para sa iyo guys dito mismo. Kaya sabihin pumunta sa ibabaw sa aking Node.js terminal. OK. Ni ilipat dito Hayaan. Kaya Pupunta ako upang simulan ang node. At kukunin ko na ipakita sa iyo guys in lamang isang seg kung paano makakuha ng na na naka-install, kung hindi mo gusto. Hayaan akong gumawa na ng kaunti mas malaking. OK. Umaasa ako ka guys ay maaaring makita. Kaya ang maaari kong isulat ang code na tulad ng ginawa ko bago sa console.log. Hi, Roger. At mapapansin Wala akong gawin ang tuldok-kuwit, ngunit pagkatapos ay nakukuha ko ito kakaiba hindi natukoy na bagay. Well talagang, hindi bale tungkol sa ang hindi natukoy na bagay. Mga bagay na gusto kong mong mapansin ay na sa iyo hindi na kailangan ng mga pangunahing pag-andar dito upang simulan ang pagpapatakbo ng code. At walang backslash pagtatapos. Mayroong ilang mga maliit na mga tampok na Maaari JavaScript magawa para sa iyo. Madla: [hindi marinig]. Roger ZURAWICKI: Oh oo. Ikinalulungkot kong tungkol iyon. At arrow na lamang ay nangangahulugan na node ay handa na para sa isa pang command. Kaya maaari kang magkaroon ng ito gawin simple matematika, tulad ng 1 plus 1. At tulad ng sa C, ang mga matematika mga simbolo ay pareho lamang ang. Ang maaari kong gawin console.log ng isang numero. At pagkatapos nito ng mga Kopya dalawa. JavaScript ay magaling sa na kahulugan dahil kahit dalawang ay isang int, tulad ng sa C, kung ikaw ang may printf dalawang, makakakuha ka ng isang error. Ngunit alam ng JavaScript, oh, handa ka pag-print ng isang bagay. Pupunta ako sa kailangan ng isang string. Kaya hayaan mo akong mag-convert na dalawang sa isang string para sa iyo. At maaari mo ring gawin ang ilang mga kakatwang mga bagay-bagay tulad ng hi at pagkatapos ay i-plus dalawa. Ito ay isa lamang halimbawa kung paano ang dalawang ma-convert sa doon pati na rin. Kaya may na sumali sa paraan, sabihin masakop lamang ng kaunti pang JavaScript. Kaya sa C, mayroon kaming mga uri. Sa tuwing lumikha kami ng isang bagong variable, namin ang masasabi na ito ay pansamantalang trabaho * o string sa kaso CS50. O kung nagkaroon kami ng isang decimal na numero, namin ay may mga sasabihin ng float. Kung kinakailangan namin ng isang Boolean, namin ay may sasabihin b. At pagkatapos ay sa sandaling nagkaroon kami ng isang bagay na ay b, nagkaroon ito upang manatili isang bool. Hindi namin mai-magically baguhin ito sa isang int maliban kung kami ay sumulat sa panaklong, int ng b. Sa JavaScript, walang mga uri. Sa tingin mo lamang ng ito bilang var. At var ay kung paano ka lumikha ng isang bagong uri. Kaya maaari itong magkaroon var s pagiging isang string, var n pagiging isang float, at var b pagiging totoo. At isang bagay na hindi mo maaaring gawin sa C ay Maaari ko bang sabihin ngayon, pagkatapos na linya, b ay katumbas ng isang integer. At iyon ay gumagana lamang fine. Sapagkat sa C, mas sabihin tulad ng ang iyong integer ay hindi isang bool. Hindi ko ma gawin iyon para sa iyo. O [hindi marinig] gusto magtapon ng error. At maaari kong mabilis bumalik sa node at ipakita ang ilan sa mga na-andar. Kaya maaari akong magkaroon ng isang var isang. Tumawag ito "Apple." Kaya kapag ngayong mag-print ako ng, Nakukuha ko ang aking string, 'Apple.' Ngunit maaari ko din ngayon sabihin isang katumbas ng 3. At mapansin walang error. At isang ngayon ay katumbas ng 3. Ang anumang mga katanungan sa ngayon? Oo. Madla: Maghintay, kaya console.log ay isa lamang printf, tama? Roger ZURAWICKI: Console.log ay ang iyong printf. Madla: Mag-right. Kaya kung paano dumating kung lang nagta-type ka sa walong o [hindi marinig], ano ang ginagawa na [Hindi marinig]? Roger ZURAWICKI: Mag-right. Kaya ito ay may - ang mga bagay-bagay sa berde ay makakakuha ng naka-print sa console. At kung ano ang makikita namin makita ang susunod ay kapag ilipat namin sa web pahina, ay hindi ginagawa namin - Ay JavaScript ay pagkakaroon ng HTML template, na kung saan kukunin ko na masakop sa Meteor bahagi ng pantas-aral. At na kung saan maaari mong sabihin, ibigay sa akin ang halaga ng isang, at ito ay maglagay ng sa iyong website. Dahil ang bawat web browser talaga May maliit na console. At kapag tiningnan mo napaka maingat, mo Gusto makakuha ng ilang impormasyon, tulad ng iyong printf ay lumitaw doon sa bawat web page na iyong load. Madla: Papaano pinino kang makakuha ng sa shell screen? Roger ZURAWICKI: Kaya mayroong isang command tinatawag na node, at ito ay may Meteor. Kaya ko makikita lamang huminto sa labas ng doon. Node ay ang programa na ay nagpapatakbo ng JavaScript. Kung pupunta ka sa meteor.com, mo maaaring mag-install ng meteor, at Meteor ay may node. Dahil Meteor ay isang koleksyon lamang ng lahat ng mga software package. Kapag makuha namin sa aming halimbawa, ay ako maglakad lahat ng tao sa pamamagitan ng pag-install Meteor, at pagkatapos ay maaari mong i-play may node sa iyong sarili. OK, mahusay. Kaya isa pang mahusay na tampok tungkol sa pagtatrabaho may JavaScript ay mga loop ay pareho. Ang parehong Pretty magkano eksakto. Para sa mga loop, habang loop, gawin habang loop, kung tao. Ang lahat ng ito ang parehong na may tirante. Ito ay ang parehong syntax. Sa kaso ng isang para sa loop, ang kaunti detalye na mayroon kang magbayad ng pansin sa ay sa halip ng int i katumbas ng 0, mayroon kaming sasabihin var i katumbas ng 0. Ngunit iyon dahil sa ang mga variable uri na usapan natin ang tungkol sa bago. Mapapansin na ang printf nagiging isang log, isang console.log. At hindi namin na kailangan na gawin ang porsiyento p backslash n at pagkatapos ay pumasa sa i. Maaari mo lamang sabihin i. At ito ay i-print ang mga numero mula sa zero sa apat. Kung nais mong guys upang subukan ito, sapagkat ka nagdala up ng isang magandang punto. Kung gusto mong patakbuhin ang code na ito sa iyong sariling browser, Gusto ko inirerekumenda na lahat ng tao ay bubukas sa Google Chrome. Google Chrome o sa anumang web browser talaga, pero gusto ko ang Google Chrome dahil napaka itong Standardized. Maaari kang pumunta sa, naniniwala ako, kung ikaw mismo mag-click sa anumang website, lamang sa white space, makikita mo ang isang pagpipilian tinatawag Siyasatin ang Elemento. Ito ay karaniwang ang huling isa. At kapag nag-click mo ito, dapat mong makakuha ng isang bagay sa ilalim lilitaw dito. Hayaan akong mag-zoom in dito. At mayroon kaming ilang mga tab dito. Ang isa na mahalaga sa iyo ay console. At ito ay isang JavaScript console na maaari mo na ngayong gamitin. Mahusay. Kaya ang maaari kong i-type sa parehong mga bagay-bagay Ako ay pag-type ng bago sa node. Isa isa plus ay dalawa. Var isang katumbas ng "Apple". At pagkatapos Gusto ko i-print ang isang, at isang ay 'Apple'. Kaya sa anumang web browser, Firefox, Chrome, Safari, kahit anong gamitin mo, bilang hangga't mayroon kang access sa isang JavaScript console, ang parehong uri ng code ako sa pagtakbo dahil sa node mo maaaring tumakbo sa iyong sariling console. Madla: [hindi marinig]? Roger ZURAWICKI: Paano kumuha sa console? Mayroon kang mag-right click sa walang laman na lugar sa pahina, at pagkatapos mong pumunta sa Siyasatin ang Elemento. Kaya talaga, Gusto ko mo guys upang tiyakin lamang na maaari mong Siyasatin ang Elemento sa Chrome. At makita kapag nagta-type ka sa ilang code sa console na ito ay tumatakbo nang maayos. Huwag mag-atubiling magtanong sa anumang mga katanungan kung isang bagay na hindi malinaw dito. Madla: [hindi marinig]. Roger ZURAWICKI: Anumang uri, i-right. Mayroon lamang isang uri para sa lahat mga variable sa JavaScript. At kapag mayroon kang idedeklara isang variable, sabihin mo var. Madla: [hindi marinig]. Roger ZURAWICKI: Oo. Ginagawa nito, ngunit sa JavaScript, ito ay napaka matalino tungkol sa paglaan ng memorya. Walang malloc. Walang libre. Kaya hindi mo kailangang mag-alala tungkol sa na. Iyon ay isa pang magaling na tampok na JavaScript ay nagbibigay sa iyo. Kaya Gusto kong magpatuloy. Gusto na maging OK? OK. Mahusay. Madla: lamang Nagkakaproblema ako sa pag paghahanap ng [? Siyasatin ang Elemento. ?] Roger ZURAWICKI: hitsura Kaya Safari medyo naiiba, ngunit huwag mo mayroon Chrome o Firefox? Iyon ang mga mas madali mga bago upang gumana sa. At para sa iyong mga proyekto, inirerekumenda ko nananatili sa isang browser dahil makakakuha ka ng maraming mga bug halos dahil ang bawat Treat browser JavaScript HTML medyo naiiba. Kaya sa tingin ko ang iyong buhay ay magiging marami mas madali kung manatili ka sa Chrome dahil ito ay magagamit sa lahat ng mga machine. At ito ay isang medyo popular na browser. OK? Kaya sa susunod na paksa na dapat namin maipambayad sa JavaScript - Sorry tungkol sa pag-format dito. Nagkaroon na ako upang mabatak ang mga slide upang tumugma sa ang widescreen projector. Ngunit Gusto ko ngayon gusto na makipag-usap tungkol sa kung paano mo gawin function. Sa C, mayroon kaming na idedeklara bawat function. Tulad ng int magdagdag, at ito ay tumatagal ng isang int sa x, at isang int y, at pagkatapos ay idagdag namin ang mga ito at ibalik ito. Sa JavaScript, mga pag-andar ay aktwal na isa pang uri ng variable. Kaya sinasabi namin lamang var magdagdag, at ito ay katumbas ng isang function. Ang isang function na tumatagal ng isang x at y. At kung ano ang na-andar gawin? Ibinabalik nito ang x plus y sa eksaktong magkatulad na syntax tulad ng sa C. At napansin mo na sa JavaScript, hindi ka nasabihan kung ano ang function na ay nagbabalik dahil simula mga variable ay walang pa din ang mga uri, ito hindi ito talaga produktibo, hulaan ko, na tumutukoy ng lahat ng iyong mga mga uri sa iyong mga pag-andar. At pagkatapos ay kapag tumawag ka ng isang function, ito ay ang eksaktong parehong syntax bilang C. mo pumasa lamang sa iyong dalawang argumento. Gusto kong subukan ito sa aking mga node. Maaari ko bang baguhin ang slide? Madla: [hindi marinig]. Makakaapekto ba kami makakuha ng isang kopya ng mga slide? Roger ZURAWICKI: Oo. Kaya sabihin bumalik sa node. OK. Kaya Sasabihin kong var add ay katumbas ng function. Pagkuha ng isang x, pagkuha ng y. At pagkatapos ay nalalaman na nito na ang mga pahayag ni hindi nakumpleto. Kaya sa node o sa iyong console, mapapansin mo na tuldok tuldok tuldok. Kaya maaari mong mapanatili ang pag-type ng iyong code. At ngayon, Sasabihin kong balik x plus y. At pagkatapos isara ang suhay. At ang mga sandali isinara ko ang suhay, ito nakikita na ang mga pahayag ay natapos. At ngayon maaari kong sabihin magdagdag ng isa at dalawa. At Kukunin ko ang mga tatlong out. Tandaan na kung ko lang idinagdag, ito Sinasabi sa akin ito ay isang function. At isang bagay na magbayad lamang ng pansin sa ay kung bibigyan mo ito sa maling bilang ng mga mga argument, ito ay gumawa. Ito ay tatakbo, subalit maaari kang makakuha ng ilang mga talagang kakaiba mga resulta. Uri ng tulad ng isang halaga ng basura, maaari mong isipin na ito. Kaya mangyaring at susubukan ito sa iyong browser. OK, kaya sa interes ng oras, idedetalye ko ngayon ilipat sa susunod na tampok sa JavaScript. Kaya na-usapan natin ang tungkol sa mga pag-andar. Na-usapan natin ang tungkol sa mga loop, kung pahayag masyadong. Syntax Ang ay pareho bilang C at variable. At ngayon gusto kong makipag-usap tungkol sa array. Ako ng paumanhin na ang mga slide Mayroon ka bang isang bit maputol. Pero sa totoo, sa unang seksyon, lahat ng kailangan mo ang gagana. Kaya mayroon kaming isa pang uri para sa variable na tinatawag na array. At ginagamit namin square bracket upang tukuyin ang mga ito. Kaya sa unang halimbawa, var arr, walang laman ang array. Ito ang walang laman na listahan, kaya isang array na naglalaman ng walang sangkap. At maaari ka ring magkaroon ng isang array may tatlong mga string. Sa C, ang bawat sangkap sa iyong array ay dapat parehong uri. Ngunit dahil sa JavaScript mayroon lamang isang uri, array maaari talaga May iba't ibang uri ng mga halaga. Tulad dito, mayroon kaming isang array na may isang float, isang bool, at isang int. Ang paraan kumuha ka ng isang haba ng isang array, hindi mo talaga na kailangang gumamit ng laki ng o kahit ano. Sasabihin mo lang array at pagkatapos dot haba. At ito haba tuldok, maaari mong isipin ito uri ng ng isang struct, paano bawat array ay may isang patlang, isang dagdag na variable sa loob nito na tinatawag na haba, na Sinusubaybayan ng kung gaano katagal ang iyong mga array ay. Kaya ako mabilis lang ng pagpunta sa pumunta sa node at ipakita mo guys ang parehong bagay. Kaya ang maaari kong magkaroon ng isang array. Maaari itong maging ang walang laman na listahan. At ito ay i-print sa akin i-back isang walang laman na listahan. Mahusay. Maaari ko ngayon sabihin na ang array May 1, at 2.3, at totoo. Kaya lahat ng mga iba't ibang mga uri. At napansin mo ito gumagana lamang fine. Ang array makakuha ako pabalik sinusuportahan ng lahat ng mga halaga Nagbigay ako ng ito. Kung Nais kong makuha ang unang elemento ng ang array, ang syntax ay ang tunay katulad ng nasa C. mo Maaaring sabihin ng array zero. At kumuha ka ng isa. Maaari ko bang sabihin ang parehong para sa array dalawa, at nakukuha ko totoo. Kung gagawin ko ang isang bagay sa labas ng array, JavaScript ay isang ligtas na wika dahil hindi ako ay makakuha ng isang seg fault. Kukunin ko ang hindi natukoy. At ito ang hindi natukoy, maaari mong uri ng isipin ang tungkol ito bilang null. Ngunit maaari itong maging talagang nakakainis kapag nag- code dahil kailangan mong suriin na halos lahat ng bagay gagawin mo, mo gumagana sa ay hindi natukoy. At ipapakita namin makita ang ilang mga halimbawa ng ito kapag nagtatrabaho kami sa Meteor. Kahit na array apat na ay hindi natukoy, Maaari ba akong magtalaga ito ng halaga. Kaya Sasabihin kong ito ay katumbas ng isa. At pagkatapos kung pumunta ako sa array, ako magkaroon ng dagdag na halaga doon. At mapansin na array tatlong, na rin ay hindi natukoy, ang nanatiling hindi natukoy. Kaya Mayroon akong ngayon isang array na may isang butas sa gitna. Ngunit kung naka-print na ako ng array apat, Gusto ko makakuha ng isa. Kung ginawa ko array tatlong, nakakatanggap ako ng hindi natukoy. Kaya ang magaling na tampok na JavaScript nagpapahintulot sa iyo na gawin ay na listahan maaari baguhin ang laki. Ang mga array, array pagiging mga listahan, magbago ang mga ito laki. At maaari mong tukuyin ang anumang lokasyon sa loob ng mga ito. At lahat ng mga gaps ay napuno sa mga hindi natukoy na mga halaga. Kaya na-usapan natin ang tungkol sa array. Ngayon, ang huling bagay na gusto ko upang masakop sa JavaScript, at ito ay napakahalaga sa pag-unawa ng code na Pupunta ako upang ipakita sa iyo, ay magiging mga bagay. At bagay ay isang termino sa - talaga, nasa sila maraming wika programming. At bawat wika programming ang may gusto sa palagay sa kanila ng kaunti naiiba. Ngunit sa tingin ko para sa Meteor, isang magandang pagkakatulad ay ang C struct. Sa C, kung gusto naming mahanap ang struct mag-aaral, nais naming magkaroon upang tukuyin ang lahat ng mga bagay sa loob nito. Kaya ito ay ang magkaroon ng isang pangalan. Ito ay upang magkaroon ng isang taon. Ito ay upang magkaroon ng isang kasarian. Ngunit mayroon din kaming mabigyan ang mga ito ng mga uri ng lahat ng mga bagay. At ngayon, mayroon kaming ito magkaroon ng amag para sa struct tinatawag na mag-aaral, maaari kaming magkaroon ng bagong struct, at pagkatapos ay manu-mano ang aming makakaya sabihin kung ano ang bawat isa sa mga patlang ay. At na kung saan ginagamit namin tuldok pangalan, tuldok taon, dot kasarian. At pagkatapos namin, sa huling linya ng code dito, tingin lang ako sa pag-print out ang pangalanan ng mga mag-aaral struct. Sa JavaScript mundo, mayroong walang ganoong bagay bilang mag-aaral struct. Wala kang bumuo ng isang preset na kaayusan. Ikaw lang talaga, sa mga bracket, sasabihin mo kung ano ang lahat ng bagay ay. At ito ay ito kakaiba pagtatanda na may colon at pagkatapos ay ang kuwit, ngunit makakakuha ka masanay ito sa lalong madaling panahon sapat. At ito ay tunay na isang talagang madali, nababaluktot paraan ng lang pagmamanipula ng mga bagay. Mapapansin mo na kapag gusto kong makuha ngayon pangalanan mula s, lang gagawin ko s.name. Mayroon bang anumang mga katanungan tungkol dito? Karaniwan ay naging isang napaka nakalilito kapag topic ipakilala kami ng mga tao sa JavaScript. Magtatagal ako gumawa ng ilang mga halimbawa ng mga ito sa node. Oo? Madla: [hindi marinig]. Roger ZURAWICKI: Kaya gawin mo magkaroon ng isang halimbawa, ang maramihang mga variable ng uri iyon. Madla: [hindi marinig]. Madla: [hindi marinig]. Roger ZURAWICKI: OK. Kaya hulaan ko ang paraan na gusto mong pumunta tungkol sa ay Gusto mong ilagay ang mga bagay sa isang array, at ngayon magkakaroon ka ng isang hanay ng mga bagay. Na sagutin ang iyong tanong? Madla: [hindi marinig]. Roger ZURAWICKI: Oo. S ay isa sa bagay. Kaya maaari naming pumunta sa node at lamang maglaro sa paligid ng isang maliit na bit. Madla: [hindi marinig]? Roger ZURAWICKI: Oh, OK. Kaya't kung ikaw ay nagtatanong kung ano class, mga klase ay itinuturing napaka naiiba, at mayroon silang isang talagang kakaiba scheme tinatawag prototyping, na hindi mo gusto kailangang malaman tungkol sa. Walang nakapirming paraan upang gawin ito. Kaya kung nais mo upang makabuo ng maramihang, mo Gusto uri ng mayroon lamang isang function o isang bagay. Kang bumuo ng iyong sariling mga function. At gusto mong ibalik ang isang bagay. Iyon ay magiging ang pinakamadaling paraan upang gawin ito. Ba na magkaroon ng kahulugan? OK. Mahusay. Kaya sa sandaling mayroon kami ng pang-unawa ng JavaScript bagay, ang mga ito - oh, yes. Madla: [hindi marinig] Halimbawa, kung ano ang mga pagkakaiba sa pagitan ng "Roger" na may double quote kumpara sa [Hindi marinig] may single quote. Roger ZURAWICKI: OK. Kaya ito ay nasa C, mayroon kaming mga single quote na kumakatawan sa mga char, at i-double quote na kumakatawan sa mga string. Talaga throws ito ang layo ng JavaScript dahil maaari kang magkaroon ng mga string na may single o double quote, at mayroong walang ganoong bagay bilang isang solong pansamantalang trabaho. Ngunit kung nakopya mo lamang ang parehong C code, JavaScript gagawin ituring ito lamang fine. Aling ang dahilan kung bakit itinuturing ko ito bilang - na ang dahilan kung bakit maaari kong literal na port ang code sa na kahulugan. At gusto kong ipakita sa iyo ang isang halimbawa ng isang mas kumplikadong mga bagay. Kaya maaari mong mapansin na ang isa sa bagay na ay maaaring magkaroon ng mga string bilang halaga. Maaari itong magkaroon ng isa pang listahan ng mga halaga. Maaari itong magkaroon ng isang listahan ng mga mga bagay tulad ng mga halaga. Mayroon talagang walang limitasyon sa ito. Kaya dito, ito lamang ay isang mahusay na pagpapakita kung paano mo maaaring makakuha ng isang pulutong iba't ibang uri ng pagpunta sa lahat sa isang bagay. Gumawa ba nito ang pakiramdam? Ngayon, maaari mo ring magkaroon array ng mga bagay. At dito ay uri ng katulad ng kung ano mo tinanong, kung maaari kang magkaroon ng mga bagay ng parehong uri. Ngunit ang problema ay, walang nakapirming format para sa mga bagay sa JavaScript. Kaya ikaw ay may upang tukuyin ang mga ito sa iyong sarili. At mayroon kang upang tiyakin na ang mga ito ay pare-pareho. Kaya dito, kapag lumikha ako ng isang bagay na, mayroon akong upang matiyak na ang bawat isa ay may pangalanan, at ang bawat isa ay may bahay. At pagkatapos Mayroon akong isang array ng mga, at na maaaring maging aking cottage. At pagkatapos dito maaari mong uri ng tingnan ang para sa loop ng pagpunta sa. Ang para sa loop sa pagiging lamang ng isang talagang karaniwang paraan upang tumawid sa ibabaw ng isang array sa JavaScript. Pansinin na ang pattern na ito ay katulad na katulad sa ang katumbas C, kung saan mo mayroon int i katumbas ng zero. ako Mas mababa kaysa sa haba. At pagkatapos ay i plus plus. Ito ay halos ang parehong code, maliban para sa ilang mga detalye. Kaya ang lahat ng tao maunawaan kung ano ang isang bagay ay? Sa tingin lamang tungkol dito bilang isang C struct. At ang paraan na-access mo ang mga patlang ay may lamang ang tuldok. At hangga't tandaan mo kung paano gamitin ang tuldok, ikaw ay fine. OK, kaya ngayon maaari lahat ng tao basahin ang link na iyon? Ito ang link sa proyekto. Ay sinuman nagkakaproblema nakikita ang mga link? OK, palitan ng ito pagkatapos ay hayaan. Hindi ito - Oo, na marahil ang pinakamadaling paraan upang gawin ito. Mahusay. Kaya kung pupunta ka sa site na ito, mayroong dapat maging ilang mga tagubilin na idedetalye ko pumunta sa paglipas ng sa kung paano namin maaaring i-install Meteor at kumuha ng aming mga tumatakbong mga sample na proyekto. Gusto kong tiyakin na lahat ng tao ay ang link na pababa bago ko ilipat. Maaari ba akong lumipat sa? OK, mahusay. Kaya dito ako sa website. Mapapansin mo sa Readme file, mayroon kaming ilang mga tagubilin sa kung paano upang makakuha ng ika-set up. Kailangan ninyong maging alinman sa CS50 appliance o lamang sa Mac. Windows ay hindi gagana. Ngunit isa lamang ang anumang bagay na hindi Dapat na gumana sa Windows na may mga tagubilin lamang fine. Ngunit maaari ko ito ng kaunti gumawa mas malaki rin. Kaya makikita mo patakbuhin ang unang pares ng mga utos. Ang mga guys ay lamang i-install ng meteor. Maaari ba akong pumunta sa aking terminal. At kung nagpatakbo ako ang parehong bagay ngayon, Ako mayroon itong naka-install na. Kaya ito ay isang bit mas maikli. Maaaring tumagal nang kaunti mas mahaba para sa iyo guys. Pero gusto kong siguraduhin munang na mayroon Meteor running namin. Pagkatapos na-install na Meteor, dapat mong magagawang upang makakuha ng node sa console. Madla: ang mga ito hinihiling para sa isang password. Roger ZURAWICKI: Iyon ay magiging iyong gumagamit password, kung ikaw ay nasa isang Mac. Kailangan lang ito ng pahintulot na baguhin ang ilang mga file system. Kaya ang tanong ay, kung hihilingin ito sa iyo para sa isang password, lamang ito ay humihiling sa iyo para sa iyong password username kapag kang mag-log in sa iyong Mac. At ito ay sa gayon ay maaari kang baguhin ang mga file system. At kapag handa ka na, maaari mong ilipat sa sa susunod na hakbang, na kung saan ay kopyahin ang mga sample code Mayroon akong mula sa website. At makakakuha ka ng isang bagong direktoryo sa iyong home directory na tinatawag na leaderboard, at maaari naming simulan ang nagtatrabaho mula doon. Kaya ako ng pagkopya lang at i-paste ang mga utos sa aking terminal. At para sa akin, kopya ko na ito. Kaya ang maaari kong ngayon lang ilipat sa leaderboard. At ang dapat kong magkaroon ng ilang mga file sa doon. Ang anumang mga katanungan? Madla: [hindi marinig] hindi gumagana. Roger ZURAWICKI: Oh, maaari mong kailangan Git na naka-install pati na rin. Madla: [hindi marinig]. Roger ZURAWICKI: Paumanhin? Madla: [hindi marinig]. Roger ZURAWICKI: Oh, OK. OK. Iyon ay dahil maaaring kailangan mong maging log in sa GitHub upang makakuha ng link na ito. Kung ang maaaring makakita sa iyo guys na, ang pinakamadaling paraan upang gawin ito ko pagkatapos sabihin ay i-download ang zip. At ito ay magda-download lamang sa lahat ng file. At pagkatapos ay sa sandaling inilagay mo ito sa iyong i-download o ang iyong home directory - Inirerekumenda ko ang paglalagay ng ito sa iyong home directory sa gayon maaari namin ang lahat ng patakbuhin ang parehong mga utos. Hangga't mayroon kaming ang mga file, kami ay magagawang upang simulan ang nagtatrabaho sa kanila. Ipaalam sa akin kung ang mga tao ay nagkakaroon ng sa pagda-download ang file. Madla: Sa pamamagitan ng home directory, ibig mong sabihin - Roger ZURAWICKI: Kaya home directory ng ginagawa maging John Harvard, kung ikaw ay nasa ang CS50 appliance. Upang makapunta sa iyong home directory, i-type lamang sa C. Madla: [hindi marinig] CS50 appliance [hindi marinig]. Roger ZURAWICKI: Oo. Gusto mong patakbuhin ang mga utos sa iyong terminal. Madla: [hindi marinig]. Nakakuha ako ng isang error na nagsasabing walang tulad file o direktoryo. Roger ZURAWICKI: Maaari kaming magsagawa ng mabilis masira at tiyakin lamang na May naka-install ng meteor lahat ng tao, at idedetalye ko pumunta lamang subukan upang matulungan ang mga tao out. Mangyari lamang na subukan upang matulungan ang isa't isa kung nagpapatakbo ka ng mga problema. Paumanhin, oo. Sigurado ka pareho sa appliance? Madla: Oo. Mayroon akong ang RISA Roger ZURAWICKI: OK. Kung pumunta ka pabalik sa mga website, pumunta mag-scroll pataas sa tuktok. At mayroong ito HTTPS. Madla: Kopyahin ito? Roger ZURAWICKI: Oo. At pagkatapos ay nais mong i- nagta-type sa Git na-clone. Kaya kung pinindot mo ang Control A - Madla: Narito? At gawin [hindi marinig]? Roger ZURAWICKI: G-ko-T. Madla: [hindi marinig]. Roger ZURAWICKI: Git at pagkatapos ay I-clone. Kaya ito ay halos kapareho sa utos mo Nagkaroon itaas, ngunit ang URL ay nagbago. Kaya bago ito ay ito, ngayon na ito. Hayaan ang mga update sa akin ang - oo. Madla: [hindi marinig]. Roger ZURAWICKI: na-download na ito. Madla: [hindi marinig]. Roger ZURAWICKI: Oh, kaya ito Hindi I-clone ng tama. Ako ay ayusin iyon. Mayroong isang error sa sinusubukan upang i-download ang mga file. Hayaan ang mga update sa akin ang command para sa iyo guys kaya ang maaari kong tiyakin na ito ay gumagana. Ikinalulungkot kong tungkol iyon. Dapat itong maging katulad para sa Mga Mac o CS50 appliance. Madla: [hindi marinig]. Roger ZURAWICKI: na-update ko ang utos para sa numero ng dalawa, kung mo i-refresh ang pahina. At sa pamamagitan na ito, URL, ikaw ay dapat na makakapag-download ng mga file. Madla: Kaya, kung hindi kami pa rin pag-download ng [hindi marinig]. Roger ZURAWICKI: Kung ikaw ay nagda-download pa rin ng meteor? Madla: [hindi marinig]. Roger ZURAWICKI: Oo, kung nais mong upang bumuo sa iyong Mac. Ngunit kailangan mo ang Xcode nag-develop mga kasangkapan na naka-install. Sinubok ko ang mga utos sa CS50 appliance, kaya ang maaari kong ginagarantiya na ito ay gumagana. Oo. hayaan mo akong pumunta at tumulong sa iyo. Madla: [hindi marinig]. Ko ang aking password. Ito ay Mac. At pagkatapos ay gagawin ko [hindi marinig]. Roger ZURAWICKI: OK. Gusto ko subukang patakbuhin ang lahat ng mga utos tanging sa CS50 appliance terminal. Madla: [hindi marinig]. Roger ZURAWICKI: kong nais makakuha ng ito gumagana muna sa terminal, sa CS50 appliance, at pagkatapos ay terminal sa Mac. Madla: Kaya kung gagawin mo ito sa CS50 appliance tulad na, [hindi marinig]. Roger ZURAWICKI: Gusto kong ilipat sa, ngunit kung ang mga tao ay nagkakaroon pa rin pag-set up ng meteor, Kevin ay mas kaysa masaya na tulungan ka guys out, Kevin sa kulay abong shirt. Ano ang dapat naming mayroon ay kami ay pagpunta sa tumakbo ang huling utos, numero ng tatlo, sa ang aming terminal. Kapag ginagawa namin iyon, muli naming patakbuhin ang Meteor. At dapat mong - oh, ako ay may Meteor running na. Kaya ito ay hindi pagpunta upang ipagbigay - ipaalam sa akin isara na lamang ang aking iba pang mga Meteor. Kapag nagpatakbo ako ng meteor, mo dapat na ngayon makita na - dapat mong makita ang kasalukuyang direktoryo na ito ay paghahatid. At ngayon ito ay pagpunta sa sabihin sa server ay tumatakbo sa http://localhost. Iyan ang URL na gusto mong ilagay sa sa iyong web browser. At sa URL na iyon, dapat mong ma- ma-access ang gandang kaunti sa leaderboard. Kaya mapapansin na ito ay nasa localhost, na nangangahulugan na kung gagawin kang anumang mga pagbabago, hindi ka pagpunta sa makita ang mga pagbabago ng bawat isa. Sapagkat sa website ay nagpakita ko sa iyo sa simula, maaari naming makuha pagbabago lahat ng tao dahil lahat ng tao ay pag-access sa parehong website. Kaya ipaalam sa pumunta lamang sa akin sa [? salita?] 3,000. Kaya dapat mo magagawang upang kumpirmahin lamang na ang pag-andar gumagana. Maaari kang pumili ng iba't ibang mga tao, at maaari mong bigyan sila ng iba't ibang mga punto. Kaya bigyan ako ng isang tao puntos. Maaari mo ring makita na bumangon sila sa ranggo. Ngayon, sa interes ng oras, mayroong tatlong mga tampok na na hindi ko na ipinatupad. At kami ay pagpunta sa ipatupad ang pagtanggal mga gumagamit ng aming unang tampok. Ngunit bago ilipat namin sa, mga Mayroon bang anumang mga katanungan? Nagkaroon ka ng iyong mga kamay up. Oo? Madla: [hindi marinig]. Roger ZURAWICKI: Maaari mong suriin ang na Meteor naka-install? Madla: [hindi marinig]. Roger ZURAWICKI: Lokal na host 3,000? At ikaw ay nasa CS50 appliance? Ang maaari kong gawin - hindi mo na kailangang maging sa Mac. Ito ay gagana sa appliance. Madla: [hindi marinig]. Roger ZURAWICKI: Sa mga normal web browser, oo. Madla: [hindi marinig]. Roger ZURAWICKI: Ay Meteor tumakbo? Kaya OK, mayroong isang pagkakaiba dito. Kung nagpapatakbo ka nito sa appliance, kailangan mo lang gawin localhost sa loob ng appliance. Kung nagpapatakbo ka ng ito sa iyong Mac, tulad Ako, pagkatapos ay maaari kong gawin aking Mac Google Chrome. Ngunit kung ginagamit mo ang CS50 appliance, kailangan mong gawin ang lahat ng bagay sa appliance. Kaya ikaw ay may upang magamit ang Google Chrome sa appliance. Madla: [hindi marinig]. Roger ZURAWICKI: Ito ay Hindi pa rin gumagana? Madla: [hindi marinig]. Roger ZURAWICKI: Kaya lamang upang ulitin, paano mo ma-access ang website ngayon. Mayroon kang isang URL dito sa localhost 3000. Kung ikaw ay nasa CS50 appliance, mayroon kang upang buksan CS50 appliance ng Google Chrome. At sa na ang Google Chrome sa loob ng appliance, maaari mong i-type ang URL na iyon, at dapat mong makita ang isang leaderboard. Kaya Pupunta ako sa ilagay ito sa labas lamang sa gilid dito nang kaunti. At ngayon Pupunta ako upang buksan ang aking editor ng teksto sa paglipas dito. Kaya hayaan ang gumawa lang ako sigurado na ang code ay sa pagkakasunud-sunod. OK. Mahusay. Gusto kong maglakad ngayon sa pamamagitan ng ang code ng kaunti. At ang unang file Gusto kong magsimula may sabihin leaderboard.html. Magagawa mong upang makakuha ng ang code na ito pagkatapos ang seminar, kaya gusto ko lang ipakita mo sa aking computer kung ano ang nangyayari sa. Kaya Umaasa ako lahat ng tao ang makakakita nito. Kaya sa pinakadulo simula ng file, namin mayroon ang aming mga ulo at ang pamagat, na ay katulad ng kung ano ang nakita natin sa bawat dokumentong HTML. At pagkatapos ay kami ay pagpunta sa may ang katawan tag dito. Ano na napili ko ay ang pangunahing katawan, talaga kung ano ang pagpunta upang makakuha ng ipinapakita. Ngunit mayroong ilang mga bagong non-HTML bagay, at iyon ang sa double anggulo bracket. At ang mga ito ay template na tag. Kaya makikita mo dito ang bracket bracket bagong leaderboard. At ito ay uri ng - tingin ng mga ito bilang ng pagtawag ng isang function para sa HTML. Ito ay isang espesyal na bersyon ng HTML. Ito ay ang bersyon na gumagamit ng Meteor, na ang dahilan kung bakit maaari mong ipakita ang iba't ibang mga bagay, tulad ng sa leaderboard mga pangalan at mga pindutan. Ngunit sa leaderboard ay nagsasabi sa iyo upang pumunta sa template na may pangalan na leaderboard. Kaya template ay hindi makakuha ng ipinapakita sa pamamagitan ng mismo, ngunit ito ay isang function, kaya ito ay makakuha ng tinatawag na. At makikita mo palitan sa lahat ng ito code dito mismo sa leaderboard. Ang kagiliw-giliw na bahagi ng leaderboard dito lamang ang talahanayan na ito. Kung nabasa mo lang ito, basahin ang code na ito pasigaw, dapat itong maging madaling maunawaan dahil sa leaderboard, lahat tayo mayroon dito ay isang table. Ito ID klase bagay-bagay hindi mo gusto kailangang mag-alala tungkol sa. Alam lamang na mayroong isang header table. Iyon ito thead. At nakita ng ito ng isang pangalan at isang iskor. Lahat ng mga tag na ito, tulad ng thtable, thead, makikita mo lamang malaman bilang pumunta ka kasama. Ito ay hindi mahalaga na tandaan mo mga dahil maaari mong i-access lamang ang anumang isangguni sa online. O kaya sa pamamagitan ng pagtatapos ng semestre, ang mga Magiging masyadong pamilyar sa mo lamang. Pagkatapos ng header ng talahanayan, ang bahagi na gusto kong iguhit ang iyong pansin sa mga ito ay h tag. Dahil ito ay nasa double bracket, ito ay isang template. Kaya nangangahulugan na para sa bawat isa sa mga manlalaro, kahit anong mga manlalaro ay, mayroon kaming upang ipapakita ito. At pumunta kami sa template player. Kung mag-scroll pababa kami ng kaunting pa - Inaasahan ko makita ang lahat ng tao na iyon. Mayroon kaming mga template player. At ang template na ito talaga ay tumutukoy sa isang cell talahanayan, kung saan inilagay mo sa pangalan dito at ang iskor. Pag-zoom out ngayon, maaari naming makita na ito tipak ng code - at iyon ay ang aming player na down na doon - Tinutukoy ang isa sa mga cell na ito. Ang bawat bagay na aking i-click ang nagiging dilaw. Ang isang simpleng paraan maaari ko ba itong baguhin ngayon. Tiyaking Meteor ay tumatakbo pa rin. Meteor ay dapat na isang proseso ng server, kaya iwan mo ito lamang tumatakbo kapag binuo mo. Sabihin nating nais kong baguhin lahat ang mga pangalan o ang iskor. At Gusto ko sabihin ako pupunta upang magdagdag ng mga punto dito. Kaya ang pagbabago na ginawa ko dito noon, sa halip na lamang score, ako magdagdag ng puwang puntos ng kalidad. Pupunta ako sa mag-zoom out, at ako ay pagpunta sa i-save ang aking file. At pagkatapos kong i-save ang aking file, Kailangan ko upang matiyak na Meteor ay tumatakbo. Paumanhin tungkol na. Gusto kong ipakita sa iyo ang mga pag-edit ay tapos na sa real time. Kaya ko makikita lamang baguhin ng ilang teksto. I-click ang isang player. Ako ng paglalagay dito sa lahat ng mga cap. At ito ay kailangang maging na kung ito ay gumagana maayos, kapag na-save ko ito, ito Gusto update. Oh, sa tingin ko sa ngayon ang problema ay Hindi ako sa kanang direktoryo. OK. Ikinalulungkot kong tungkol iyon. Kaya dito, kung ano ang napansin mo ay aking pagbabago nagpunta sa pamamagitan ng. Ngayon sabihin gusto kong ibalik ang mga pagbabago. Gusto kong bumalik sa kung ano ako nagkaroon. Lamang pupuntahan ko type ito normal. I-click ang isang player. Ang sandali i-save ko ito, ang nagre-refresh ng site para sa akin. At makikita ko ang aking pagbabago sa ang site agad-agad. Ito ay isang kapaki-pakinabang na talagang tampok sa pag-debug dahil ngayon Hindi ko na kailangang - kapag isulat namin C code, ginawa naming hindi lamang mayroon upang i-save ang file, ngunit namin ay may sa gawin itong at pagkatapos patakbuhin itong muli. Meteor ay napakabuti dahil hindi tulad ng C, sa sandaling i-save mo ang iyong HTML o JavaScript na file, ang pagbabago Ipinapakita up agad. Isang tanong ay, sa mga template na ito, kung paano ako makakakuha ng ang mga halaga tulad ng mga manlalaro o pumili ng isang pangalan? Kung mag-zoom ko in dito sa aking code, Nakikita ko ito para sa bawat manlalaro. Kaya alam ng template na Mayroon akong mga player kahit papaano. At alam ito na mayroong isang napiling pangalan. Saan ito nagmumula ang mula sa? Iyon ay mula sa JavaScript. At kung pumunta ka sa leaderboard.js, ito file, ngayon kapag pumunta ako dito, mayroon kaming isang tinukoy na ilang mga utos. Ito ay espesyal na Meteor syntax. Pansinin na hindi mo kailangang vars o kahit ano. Ngunit ang mga ito ay structs lamang sa structs sa structs o mga bagay na ito. At lahat ako pagtukoy ay ang template tinatawag na leaderboard. Leaderboard dapat makakuha ng isang bagay na tinatawag na mga manlalaro. At ano ang mga manlalaro? Ito'y kahit anong ito na expression ay nagbabalik. At ano ang napiling pangalan? Ito ang ilang higit pang mga code. Ang mga detalye ng code na aming masakop ang isang bit mamaya. Ngunit sa ngayon ang gusto ko sa iyo upang maunawaan na sa code na ito, kami ay pagkuha mga manlalaro, at kami ay nagbibigay sa ito ng isang halaga. Sa kasong ito, ito ay isang function na maipo-pinaandar. Kaya maaari naming makuha ang halaga pabalik kapag tumakbo namin ang pag-andar. Ito ay isang pag-log. Ba na magkaroon ng kahulugan? Maaari ko bang baguhin ang paraan na ito ay pinagsunod-sunod. Dito, mayroong isang uri ng object. At kung ano ang sinasabi ay Pupunta ako upang ayusin sa pamamagitan ng unang marka ng pababang at pagkatapos pangalanan pataas. Kung babaguhin ko ito sa isa, ito ay pagpunta upang pagbukud-bukurin iskor pataas. Kaya zero ay dapat nasa tuktok. At kapag ako mag-zoom in sa aking website, namin ngayon makita na ang mga website na-update. At ang score ay umakyat. Ang susunod na pag-andar na gusto ko lang upang masakop ay click paglakas. Out ng interes ng oras, hindi ako'y magagawang upang masakop ang higit pa sa mga Meteor code, ngunit may mga din ng maraming mga mapagkukunan magagamit, at ako ay maging dito pagkatapos ng seminar. Pero gusto ko lang upang masakop ang leaderboard kaganapan. Syntax na ito ay matutunan mo kung ang isang bit mamaya sa lecture. Ito ang JavaScript. Naka lamang ang sinasabi namin, kapag makuha namin ang isang pag-click, at ito ay sa pagdagdag, ito hash lamang ay nangangahulugan ID. Sa tag paglakas ID, pagkatapos ay nais naming upang i-update - ang key na mga salita kong gusto mo upang panoorin ang update at piliin at player. Kaya kung anuman ang player ng napili, update namin ito. At ano ang ginagawa namin ay dinagdagan namin nito na iskor sa pamamagitan ng limang. At iyon ay ilarawan ang pag-andar mayroon kaming dito. Pagkatapos ng pagtatapos ng seminar, kami ay magagawang makita ang ilang higit pang mga code. Ngunit ng pagpunta pabalik sa aking layunin na gusto kong baguhin ang site, Nais kong sa paglipas dito upang magdagdag ng isang pindutan na alisin kaya Maaari ko bang tanggalin ang player. Kaya upang gawin iyon, kailangan ko upang gawin ang dalawang bagay. Kailangan ko upang i-update ang HTML, i-update ang tingnan, ano ay makakakuha ng ipinapakita sa gumagamit, at pagkatapos ay magkakaroon ng ilang JavaScript na kapag ang pindutan ay pinindot, Meteor ay pagpunta upang gawin ang isang bagay. Ito ay pagpunta sa alisin na player. Kaya may mga ng maraming chunks ng code na may isa lamang na ang nagawa para sa akin. Kung tumingin ako dito, kong mayroon nang paraan ng pagkuha ng mga napiling player. Iyon bagay-bagay na ito, kung maaari mong makita ito. Kaya kung ko lang - Pupunta ako sa may isa pang kaganapan. Kaya ako pupunta upang kopyahin kung ano mayroon akong. Dahil ito ay isang listahan, Kailangan ko lang ng isang kuwit. Kaya ngayon pupuntahan ko i-click ang tanggalin. At pagkatapos ay sa halip ng pag-update ng mga manlalaro, Pupunta ako sa ginagawa manlalaro tanggalin. At lahat ng mga manlalaro tanggalin ang mga pangangailangan ay isang napiling player. Kaya ito function ay ang lahat ng kailangan namin. Ko na kailangang magdagdag ng ilang HTML dito bagaman. Kaya kung mag-scroll ko pababa dito, ito ang HTML view. Nagkaroon kami ng isang bagay dito, na kung saan ay isang ng tag. Hindi mo kailangang mag-alala tungkol sa na. Ano ang mga bagay na sa iyo ay ang ID na ito paglakas. At ito ay kung ano ang pinapayagan sa amin upang sabihin, kapag nag-click kami pagdagdag, mayroon kaming upang magbigay ng limang puntos. At makikita mo na ito ay isang button. Iyan ay ano ang ibig sabihin ng btn. At ang teksto sa button ay magbibigay sa limang puntos. Kaya kung ano pupuntahan ko lang gawin ay ako pagpunta sa kopyahin ang line. Pupunta ako upang baguhin ang ID tanggalin. At ako pupunta upang baguhin ang text dito upang tanggalin. Kaya tiyaking ang lahat ng naka-save na. Gusto kong bumalik sa aking JavaScript upang matiyak na mayroon akong tanggalin lined up dito. Mahusay. Kaya Pupunta ako upang i-save ang parehong mga file. Pagkatapos i-save ang parehong mga file, namin Maaari bumalik sa ibaba. At ngayon nakita namin na mayroon kami isang tanggalin ang mga pindutan. At isa pang hakbang. Mapapansin mo na maaari mong makakuha ng isang error na ito dahil kapag nag-click ako tanggalin, walang nangyayari. Ang isang paraan upang i-debug na ito ay upang pumunta pabalik sa Siyasatin ang Elemento. Ako ginagawa ito sa layunin sa gayon maaari mong makita kung paano mo gustong i-debug ang isang bagay. Sa Siyasatin ang Elemento, mayroon kami lahat ng aming mga teksto pababa dito. Gusto kong bumalik sa console. At ano ang mangyayari kapag pumunta ko dito ay nakukuha ko ng ilang mga uri ng error. Sinasabi nito walang paraan tanggalin. Kaya kung ano ito ay sinasabi ay kapag pumunta ako pabalik sa code, na tinatawag ko na player tanggalin dito. Tanggalin ay talagang hindi ang tamang command. Kaya upang malaman kung ano ang karapatan na command ay, naroon ang Meteor API. Ang dokumentasyon gusto kong ituro sa iyo guys sa ay nasa lamang meteor.com. Kaya Mayroon akong ito up dito. Ito ay kaya lang alam mo guys kung saan upang matuto nang higit pa. Mayroong isang link sa mga papeles. At isa lamang, maaari ko lang nakahanap para sa pagtanggal. At ano ang nakikita mo, tanggalin ay talagang alisin. Iyon ay ang command na Kailangan kong tumawag. Kaya ngayon na alam namin na, ako ng pagpunta upang baguhin ito tanggalin alisin. Kaya ngayon, kapag pumunta ako pabalik sa aking leaderboard site, pupuntahan ko i-click ang tanggalin, at ngayon ako sumakabilang-buhay na. Walang higit pang Roger. At maaari kong panatilihin ang pagpunta sa pagtanggal ng bawat iisang pangalan hanggang Mayroon akong wala na natitira. Kaya na noon ay isang maliit na preview ng kung paano gamitin ang Meteor. Ikaw ay pag-aaral ng maraming higit pa JavaScript at HTML kinakailangan upang gawing ito tumingin prettier, na tatalakayin namin sa [ito linggong ito? piraso? set] para sa HTML at JavaScript sa susunod [? piraso?] set. Kaya huwag makakuha ng nag-aalala kung hindi lahat ng bagay-bagay na ito ay madaling sa iyo. Ito ay sa pamamagitan ng mga oras ng ang huling proyekto. Salamat sa paglitaw. Ang link na ito ay i-update ko sa lalong madaling panahon pagkatapos ng pantas-aral sa gayon maaari mong makita ang ilang higit pa halimbawa na ipinatupad ako sa kung paano upang makuha ang mas advanced na leaderboard na mayroon akong sa website na ito dito sa isa-radikal-leaderboard.meteor. Salamat sa inyo. [Palakpakan]