ROGER ZURAWICKI: Hello semua orang. Bolehkah saya mendapatkan perhatian anda? Terima kasih, guys. Hari ini saya ingin bercakap tentang Meteor. Ia adalah satu rangka kerja JavaScript. Kami akan pergi melalui bagaimana anda boleh membuat aplikasi web benar-benar sejuk. Sebelum kita masuk ke dalam JavaScript, saya hanya ingin memberitahu anda semua bahawa kemahuan ini akan - anda akan mempunyai kemudian sekeping semester ini. Ia perlu kira-kira JavaScript. Saya fikir [didengar] mula-mula akan menampung PHP barangan web HTML sebelum kita berpindah ke JavaScript. Dan dalam CS50, JavaScript dianggap seperti kod pelanggan. Jadi ia hanya mendapat dijalankan dalam pelayar web. Tetapi terima kasih kepada kemajuan terkini dalam teknologi, kita kini telah berjaya untuk menjalankan JavaScript sebagai pelayan juga. Jadi ini telah mewujudkan satu benar-benar sejuk rangka kerja kerana sekarang anda boleh menulis sah kod yang sama untuk pelanggan dan pelayan. Dan apabila anda menentukan fungsi dalam anda pelayan, pelanggan anda boleh menghubungi mereka fungsi yang sama. Dan ia menjadikannya lebih mudah. Sedangkan sebelum ini, jika anda menggunakan PHP pada pelayan, JavaScript di bahagian depan akhir, anda perlu satu fungsi PHP dan kemudian versi JavaScript daripada fungsi yang sama untuk melakukan jenis kerja yang sama. Jadi sebelum kita bermula, saya mahu menunjukkan demo apa Meteor boleh lakukan untuk anda. Saya akan menunjukkan kepada anda demo, iaitu apa yang anda akan dapat untuk mewujudkan oleh akhir seminar ini. Kami hanya pergi di sini. Ini adalah aplikasi Leaderboard. Ini sebenarnya berdasarkan daripada contoh Meteor yang memberikan anda. Meteor adalah sangat bagus kerana apabila anda memasangnya sebagai satu pakej, anda boleh pada dasarnya bermain-main dengan empat demo. Dan Leaderboard adalah pertama demo ini. Selepas seminar itu, saya menggalakkan anda semua hanya meneroka demo lain kerana saya fikir mereka benar-benar sejuk, dan mereka menunjukkan kepada anda kuasa Meteor. Jadi apa ini, ini adalah dihoskan pada Leaderboard. Ini hanya terus-terang satu senarai nama. Dan anda boleh memilih orang. Mereka bertukar menjadi kuning. Dan kemudian anda boleh memberi mereka lima mata. Dan anda akan melihat bahawa senarai itu ialah disusun kerana seperti yang saya memberikan diri saya lebih banyak mata, saya kini di bahagian atas. Jadi ini adalah di mana kita bermula. Dan apa yang anda akan dapat mengambil dari seminar ini adalah beberapa lagi ciri-ciri yang saya ditambah kepada yang Leaderboard. Kami akan meliputi bagaimana untuk, dan juga menambah lima mata kepada pemain, kita boleh memadam pemain, kami boleh menambah pemain baru, dan kita boleh memilih bagaimana kita mahu untuk menyusun mereka. Dan semua ini adalah panggilan API sangat mudah Meteor yang menyediakan untuk anda. Anda juga mempunyai ciri di sini untuk Rawakkan markah. Jadi apa yang benar-benar sejuk kira-kira ini adalah anda semua boleh sebenarnya semua pergi ke laman web ini. Saya akan memasukkannya ke dalam teks yang lebih besar di sini. Satu-radikal-lead erboard.meteor.com. Dan apabila kamu pergi ke laman web ini, anda akan dapat mengedit laman web, dan semua suntingan anda akan dapat dilihat kepada orang lain. Jadi, anda boleh - khabar kalian semua dapat menyambung ke Laman? Jadi bermain-main dengannya. Pergi dan mula memotong beberapa nama. Lihat apa yang berlaku. Jadi anda lihat semua orang boleh bermain. Ini hanyalah keselamatan lalai mod untuk Meteor. Anda melihat bahawa semua orang boleh menukar data masing-masing. Jangan bimbang. Meteor tidak mempunyai keselamatan. Ini adalah sangat mudah dilaksanakan ciri, di mana anda boleh menubuhkan pengguna dan log masuk. Tetapi sekarang, sesiapa yang melawat tapak boleh memberi diri mereka sebagai banyak menunjukkan yang mereka mahu. Jadi saya sentiasa seperti ini kerana ini adalah cara yang menyeronokkan untuk memulakan. Dan kemudian kita akan bercakap mengenai butir-butir, bagaimana Meteor membuat ini mungkin. Jadi saya akan menutup apa Meteor adalah, dan kemudian kita hanya perlu untuk menampung dua prasyarat yang CS50 telah tidak dilindungi mencukupi. Tetapi pada akhir penggal, anda harus selesa dengan kedua-dua HTML dan JavaScript untuk benar-benar mendapatkan tangan anda kotor bekerja dengan Meteor. Dan saya fikir ia hanya satu cara yang baik untuk walaupun kurang selesa pelajar melakukan projek akhir kerana mereka boleh benar-benar tinggal dalam satu bahasa, dan mereka dapat melihat perubahan mereka merta. Jadi slaid ini menunjukkan beberapa teknologi utama yang Meteor JS memberikan kepada anda. Meteor tidak adalah satu teknologi baru dengan sendiri. Ia merupakan satu gagasan daripada semua perkara ini berbeza kita ada di internet. Dan juga HTML, CSS, JavaScript, mempunyai beberapa teknologi seperti Node.js, yang adalah apa yang membolehkan anda untuk menjalankan JavaScript pada akhir kembali kepada anda pelayan, dan juga beberapa JavaScript perpustakaan, seperti jQuery, garis bawah. Semua ini akan menjadi biasa kepada anda pada akhir semester. Dan kita juga boleh menggunakan pangkalan data yang dikenali sebagai mongoDB, yang merupakan benar-benar pangkalan data yang popular sekarang untuk ini syarikat baru. Anda boleh menganggapnya sebagai seperti MySQL, tetapi ia berfungsi dengan baik dengan JavaScript. Dan ada beberapa teknologi lain di sini dan banyak lagi yang saya tidak disenaraikan bahawa semua muka benar-benar baik dengan Meteor. Saya perlu meletakkan slaid ini kerana kadang-kadang saya mendapatkan kekeliruan tentang perkara ini. Meteor hanya JavaScript. Ia bukan PHP. Ia tidak Ruby on Rails. Jadi, jika anda menulis kod, jika anda mahu menulis projek Meteor, anda benar-benar tidak boleh menggunakan kod Ruby. Anda benar-benar tidak menggunakan PHP. Walaupun kita akan melihat bahawa perbezaan dalam kod dan sintaks mungkin tidak begitu yang berbeza, saya ingin tekankan kepada anda bahawa Meteor, semua yang anda diaktifkan hanya dalam JavaScript. Dan semua yang anda menunjukkan kepada pengguna akan HTML CSS. Tetapi anda tidak benar-benar menggunakan mana-mana bahasa-bahasa lain yang lain seminar mungkin meliputi. Apa Meteor juga adalah pelayan web. Jadi, walaupun anda tidak mempunyai apa-apa JavaScript, dan anda hanya mahu berkhidmat CSS dan HTML fail, Meteor boleh melakukannya untuk anda. Dan di sini adalah link lagi ke demo yang saya dapatkan anda semua mula bermain dengan. Tetapi mari kita bergerak ke HTML. Berapa ramai orang di sini mempunyai tidak tahu apa HTML? OK besar. Dan yang benar-benar halus. Anda benar-benar tidak perlu tahu banyak tentang kerana kita akan pergi ke atas penggunaan sangat mudah. Ini adalah apa yang mudah Halaman HTML kelihatan seperti. Ini boleh menjadi seperti anda hello, dunia untuk HTML, sedangkan kita bermula pada C dengan hello, dunia. Saya tidak mahu anda untuk menekankan yang butir-butir apa HTML, apa yang kepala, apa yang badan, apa tajuk lakukan di sana. Saya hanya mahu menekankan struktur, bagaimana anda perlu tag. Dan itulah kurungan sudut. Dan di mana anda mempunyai perihalan anda. Jadi anda mungkin mempunyai dokumen HTML. Dan kemudian anda akan menutup dokumen HTML dengan garis sendeng terbalik perkara yang sama. Dan anda mempunyai pelbagai jenis tag. Dan notis bahawa mereka sedang dipadankan. Anda akan mempunyai seperti tag badan dan kemudian tag badan dekat. Dan di dalam tag badan, yang akan menjadi kandungan laman web anda. Jadi laman web ini hanya akan memaparkan di latar belakang putih dan teks hitam hello, dunia. Adakah ini masuk akal? OK. Sekarang saya akan dengan cepat meliputi JavaScript. Dalam kata-kata seorang TF sebelumnya, "JavaScript adalah pengaturcaraan terbaik bahasa pada masa ini wujud. Orang lain akan cuba untuk memberitahu anda sebaliknya. Mereka salah. "JavaScript agak bagus, dan saya akan menunjukkan kepada anda mengapa. Jadi ini adalah contoh klasik kita mula dalam C. Kami mempunyai hello, dunia. Dan anda dapati walaupun anda mengecut , anda perlu mempunyai sekurang-kurangnya dua baris kod di sini. Saya mempunyai beberapa baris kod. Ini boleh dilakukan dengan mudah. Satu baris dalam JavaScript dengan console.log, dan kemudian tali anda, hello, dunia. Sekarang, walaupun kita bergerak kepada yang baru bahasa JavaScript, hampir semua kemahiran yang anda telah belajar dengan pengekodan dalam C secara langsung mudah alih. Jadi tali, idea tali di petikan berganda, itu yang sama. Koma bertitik, itu yang sama. Satu ciri kemas mengenai JavaScript sebenarnya adalah bahawa anda tidak perlu koma bernoktah. Ia boleh meneka bahawa anda harus meletakkan koma bernoktah di sana. Tetapi itu berkata, anda perlu sentiasa cuba untuk meletakkan koma bertitik anda di sana. Ia dianggap gaya yang baik. Dan juga, tidak ada fungsi utama. Anda hanya bermula di bahagian atas fail dan membaca perkara baris demi baris. Maka ini adalah apa yang diperlukan untuk membuat yang hello, program dunia. Dan kemudian melihat bahawa anda perlu membuat khabar dan kemudian berjalan hello. Dengan JavaScript, ia dianggap bahasa ditafsirkan. Apa yang anda perlu tahu ialah tidak ada membuat. Tiada menyusun. Anda hanya menjalankan nod. Dan ingat nod adalah program yang akan berjalan anda JavaScript pada konsol, pada kotak hitam, tidak laman web. Jadi anda hanya memberikan fail tersebut, dan ia akan mencetak hello, dunia. Saya benar-benar akan melakukan demo sedikit yang untuk anda semua di sini. Jadi mari kita pergi ke saya Terminal Node.js. OK. Mari kita bergerak di sini. Jadi saya akan memulakan nod. Dan saya akan menunjukkan kepada anda semua dalam hanya a sec bagaimana untuk mendapatkan yang dipasang, jika anda tidak lakukan. Izinkan saya membuat yang sedikit lebih besar. OK. Saya harap anda semua boleh lihat. Jadi saya boleh menulis kod seperti yang saya lakukan sebelum di console.log. Hi, Roger. Dan notis saya tidak perlu melakukan koma bertitik, tetapi kemudian saya mendapat ini pelik perkara ditentukan. Well sebenarnya, tidak pernah fikiran tentang perkara ditentukan. Perkara yang saya mahu anda untuk notis adalah bahawa anda tidak memerlukan fungsi utama di sini untuk mula menjalankan kod. Dan tidak ada akhir garis sendeng terbalik. Ada beberapa ciri-ciri kecil yang JavaScript boleh lakukan untuk anda. PENONTON: [didengar]. ROGER ZURAWICKI: Ya. Saya minta maaf tentang itu. Dan anak panah yang hanya bermakna nod sedia untuk arahan lain. Jadi, anda boleh mempunyai ia melakukan mudah matematik, seperti 1 campur 1. Dan seperti dalam C, matematik ini simbol yang sama saja. Yang boleh saya lakukan console.log nombor. Dan kemudian ia mencetak dua. JavaScript adalah baik dalam erti kata bahawa kerana walaupun dua adalah int an, seperti dalam C, jika kamu printf dengan dua, anda akan mendapat ralat. Tetapi JavaScript tahu, oh, anda mencetak sesuatu. Saya akan perlu rentetan. Jadi biarlah saya menukar bahawa dua ke dalam tali untuk anda. Dan anda juga boleh melakukan beberapa perkara pelik seperti hi dan kemudian tambah dua. Ini adalah satu lagi contoh bagaimana dua boleh ditukar di sana juga. Maka dengan itu keluar dari jalan, mari kita hanya meliputi sedikit lebih JavaScript. Jadi, dalam C, kita mempunyai jenis. Apabila kita mewujudkan satu pembolehubah baru, kami perlu mengatakan bahawa ia adalah char * atau tali di CS50 kes itu. Atau jika kita mempunyai nombor perpuluhan, kita buat apung. Jika kita memerlukan Boolean, kita buat b. Dan kemudian sebaik sahaja kami mempunyai sesuatu yang telah b, ia terpaksa tinggal bool a. Kami tidak dapat ajaib perubahan kepada satu int melainkan kita menulis dalam kurungan, int b. Dalam JavaScript, tiada jenis. Anda hanya memikirkan ia sebagai var. Dan var ialah bagaimana anda membuat jenis baru. Jadi ia boleh mempunyai var s menjadi tali, var n menjadi apungan, dan var b menjadi benar. Dan satu perkara yang anda tidak boleh lakukan dalam C adalah Saya kini boleh berkata, selepas itu talian, b sama integer. Dan itu berfungsi dengan baik. Manakala dalam C, ia akan berkata seperti integer anda tidak bool a. Saya tidak boleh melakukannya untuk anda. Atau [didengar] akan membuang kesilapan. Dan saya cepat boleh kembali ke nod dan menunjukkan beberapa fungsi itu. Jadi saya boleh mempunyai var a. Memanggilnya "Apple." Jadi sekarang apabila saya mencetak, Saya mendapat tali saya, 'Apple.' Tetapi saya boleh juga kini berkata yang sama 3. Dan notis tidak ada kesilapan. Dan sekarang bersamaan 3. Apa-apa soalan setakat ini? Ya. PENONTON: Tunggu, jadi console.log pada dasarnya printf, bukan? ROGER ZURAWICKI: Console.log adalah printf anda. PENONTON: Betul. Jadi bagaimana datang jika anda taip lapan atau [didengar], apakah yang [Didengar]? ROGER ZURAWICKI: Betul. Jadi ia adalah - barangan hijau mendapat dicetak di konsol. Dan apa yang kita akan melihat seterusnya adalah apabila kita bergerak ke web halaman, kita tidak akan melakukan - JavaScript akan mempunyai HTML template, yang saya akan buat di dalam yang Meteor sebahagian daripada seminar tersebut. Dan di mana anda boleh berkata, memberikan saya nilai, dan ia akan dimasukkan ke dalam laman web anda. Kerana setiap pelayar web sebenarnya mempunyai konsol sedikit. Dan jika anda melihat dengan teliti, anda akan mendapat beberapa maklumat, seperti anda printf yang muncul di sana dengan setiap laman web anda memuatkan. PENONTON: Bagaimana anda mendapatkan ke skrin shell? ROGER ZURAWICKI: Jadi ada arahan yang dipanggil nod, dan ia datang dengan Meteor. Jadi saya hanya akan berhenti keluar dari sana. Nod adalah program yang berjalan JavaScript. Jika anda pergi ke meteor.com, anda boleh memasang Meteor, dan Meteor datang dengan nod. Kerana Meteor hanya koleksi semua pakej perisian. Apabila kita dapat contoh kita, saya akan berjalan semua orang melalui memasang Meteor, dan kemudian anda boleh memainkan dengan nod sendiri. OK, hebat. Jadi satu lagi ciri yang besar tentang bekerja dengan JavaScript gelung adalah sama. Cukup banyak sama. Untuk gelung, manakala gelung, melakukan manakala gelung, jika lain. Itu semua yang sama dengan penyokong gigi. Ia sintaks yang sama. Dalam hal sesuatu untuk gelung, kecil terperinci yang anda perlu memberi perhatian untuk adalah bukan int i sama dengan 0, kita perlu mengatakan var i sama dengan 0. Tetapi itu kerana pembolehubah jenis yang kita bercakap tentang sebelum ini. Perhatikan bahawa printf menjadi log, console.log a. Dan kita tidak perlu melakukan peratus p garis sendeng terbalik n dan kemudian lulus dalam i. Anda hanya boleh mengatakan i. Dan ia akan mencetak nombor dari sifar hingga empat. Jika anda semua ingin mencuba ini, kerana anda dibesarkan titik yang baik. Jika anda mahu untuk menjalankan kod ini pada anda pelayar sendiri, saya akan mengesyorkan bahawa semua orang membuka Google Chrome. Google Chrome atau mana-mana pelayar web benar-benar, tetapi saya suka Google Chrome kerana ia sangat diselaraskan. Anda boleh pergi ke, saya percaya, jika anda betul klik pada mana-mana laman web, hanya di ruang putih, anda akan melihat pilihan dipanggil Memeriksa Unsur. Ia biasanya yang terakhir. Dan apabila anda klik, anda perlu mendapatkan satu perkara yang ke bawah kelihatan di sini. Biar saya mengezum masuk di sini. Dan kami mempunyai tab beberapa di sini. Yang anda sayangi adalah konsol. Dan ini ialah konsol JavaScript anda kini boleh bekerja dengan. Besar. Jadi saya boleh menaip barangan yang sama Saya menaip sebelum di nod. Salah satu campur dua. Var yang sama dengan "Apple". Dan kemudian saya mencetak, dan adalah 'Apple'. Jadi, dalam mana-mana pelayar web, Firefox, Chrome, Safari, apa sahaja yang anda digunakan, kerana Selagi anda mempunyai akses kepada JavaScript konsol, jenis yang sama kod saya berjalan di nod yang anda boleh dijalankan dalam konsol anda sendiri. PENONTON: [didengar]? ROGER ZURAWICKI: Bagaimana mendapatkan ke konsol? Anda perlu klik kanan pada ruang kosong pada halaman, dan kemudian anda pergi ke Memeriksa Unsur. Jadi sebenarnya, saya ingin anda semua untuk pastikan anda boleh Memeriksa Unsur dalam Chrome. Dan lihat apabila anda taip di dalam beberapa kod ke dalam konsol yang ia berjalan dengan betul. Jangan ragu untuk meminta apa-apa soalan jika sesuatu yang tidak jelas di sini. PENONTON: [didengar]. ROGER ZURAWICKI: Mana-mana jenis, betul. Terdapat hanya satu jenis untuk semua pembolehubah dalam JavaScript. Dan apabila anda perlu mengisytiharkan berubah-ubah, anda mengatakan var. PENONTON: [didengar]. ROGER ZURAWICKI: Yeah. Ia, tetapi dalam JavaScript, ia sangat bijak mengenai memperuntukkan memori. Tidak ada malloc. Tidak ada percuma. Jadi anda tidak perlu bimbang tentang itu. Itu satu lagi ciri baik yang JavaScript memberikan anda. Jadi saya ingin bergerak ke atas. Yang akan OK? OK. Besar. PENONTON: Saya hanya menghadapi masalah mencari [yang? Memeriksa Unsur. ?] ROGER ZURAWICKI: Jadi Safari kelihatan agak berbeza, tetapi adakah anda mempunyai Chrome atau Firefox? Mereka adalah lebih mudah orang-orang yang bekerja dengan. Dan untuk projek-projek anda, saya cadangkan melekat dengan satu pelayar kerana anda akan mendapat banyak pepijat hampir kerana setiap merawat pelayar JavaScript HTML sedikit berbeza. Jadi saya fikir hidup anda akan menjadi lebih lebih mudah jika anda berpegang kepada Chrome kerana ia boleh didapati pada semua mesin. Dan ia pelayar agak popular. OK? Jadi topik seterusnya yang kita harus menampung dalam JavaScript - Saya minta maaf mengenai format di sini. Saya terpaksa menghulurkan slaid untuk memadankan projektor skrin lebar. Tetapi saya kini ingin bercakap mengenai bagaimana anda melakukan fungsi. Dalam C, kita perlu mengisytiharkan setiap fungsi. Seperti int menambah, dan ia mengambil int ke dalam x, dan int y, dan kemudian kita menambah mereka dan kembalikan. Dalam JavaScript, fungsi sebenarnya satu lagi jenis berubah-ubah. Oleh itu, kita hanya mengatakan var menambah dan ia sama fungsi. Satu fungsi yang mengambil x dan y a. Dan apakah fungsi yang lakukan? Ia akan kembali x campur y dalam yang sama sintaks seperti dalam C. Dan anda dapati di JavaScript, anda tidak akan diberitahu apa yang mengembalikan kerana sejak pembolehubah tidak mempunyai jenis anyway, ia ia tidak benar-benar produktif, saya rasa, untuk menyatakan semua anda jenis dalam fungsi anda. Dan kemudian apabila anda memanggil fungsi, ia sintaks yang sama sebagai C. Anda hanya lulus dalam dua hujah anda. Saya ingin mencuba ini dalam nod saya. Bolehkah saya menukar slaid? PENONTON: [didengar]. Kita akan mendapat satu salinan slaid? ROGER ZURAWICKI: Ya. Jadi mari kita kembali ke nod. OK. Jadi saya akan berkata var add sama fungsi. Mengambil x, y mengambil satu. Dan kemudian ia tahu bahawa pernyataan itu tidak selesai. Jadi dalam nod atau konsol anda, anda akan notis dot dot dot. Jadi, anda boleh menyimpan menaip kod anda. Dan sekarang saya akan berkata pulangan x campur y. Dan kemudian menutup pendakap itu. Dan masa ini saya menutup pendakap, ia melihat bahawa kenyataan itu selesai. Dan sekarang saya boleh mengatakan bertambah satu dan dua. Dan saya akan mendapat tiga daripada. Perhatikan bahawa jika saya hanya tidak menambah, ia memberitahu saya ia satu majlis. Dan satu perkara hanya untuk membayar perhatian kepada adalah jika anda memberikan nombor yang salah daripada hujah, ia akan membuat. Ia akan berjalan, tetapi anda mungkin mendapat beberapa keputusan yang benar-benar pelik. Jenis seperti nilai sampah, anda boleh berfikir. Oleh itu, sila teruskan dan cuba ini dalam pelayar anda. OK, jadi demi kepentingan masa, saya akan sekarang beralih kepada ciri-ciri seterusnya di JavaScript. Jadi kita telah berbincang mengenai fungsi. Kami telah berbincang mengenai gelung, jika kenyataan juga. Sintaks adalah sama sebagai C dan pembolehubah. Dan sekarang saya ingin bercakap tentang tatasusunan. Saya minta maaf bahawa slaid mendapat sedikit terputus. Tetapi sebenarnya, dalam bahagian pertama, semua yang anda perlukan akan berfungsi. Jadi kita mempunyai satu lagi jenis untuk pembolehubah dipanggil tatasusunan. Dan kita menggunakan kurungan persegi untuk menunjukkan mereka. Jadi dalam contoh yang pertama, arr var, array kosong. Ini adalah senarai yang kosong, jadi satu pameran tidak mengandungi unsur-unsur. Dan anda juga boleh mempunyai satu pameran dengan tiga tali. Dalam C, setiap elemen dalam array anda terpaksa menjadi jenis yang sama. Tetapi kerana dalam JavaScript hanya ada satu jenis, tatasusunan boleh sebenarnya mempunyai pelbagai jenis nilai-nilai. Seperti di sini, kami mempunyai pelbagai dengan apungan, bool, dan int satu. Cara anda mendapatkan panjang array, anda sebenarnya tidak perlu menggunakan saiz atau apa-apa. Anda hanya mengatakan pelbagai dan kemudian dot panjang. Dan panjang dot ini, anda boleh memikirkan ia jenis suka struct, bagaimana setiap array mempunyai medan, pembolehubah tambahan di dalamnya dipanggil panjang, yang menjejaki berapa lama pelbagai anda. Jadi saya hanya cepat akan pergi ke nod dan menunjukkan anda semua perkara yang sama. Jadi saya boleh mempunyai array. Ia boleh menjadi senarai yang kosong. Dan ia akan mencetak saya menyokong senarai main kosong. Besar. Saya kini boleh mengatakan bahawa array mempunyai 1, dan 2.3, dan benar. Jadi semua jenis yang berbeza. Dan anda menyedarinya berfungsi dengan baik. Array saya balik sokongan semua nilai-nilai saya berikan. Jika saya mahu mendapatkan elemen pertama array, sintaksis ini sebenarnya yang sama seperti dalam C. Anda boleh mengatakan pelbagai sifar. Dan anda mendapat satu. Saya boleh mengatakan yang sama untuk pelbagai dua, dan saya mendapat benar. Jika saya melakukan sesuatu yang di luar array, JavaScript adalah bahasa yang selamat kerana saya tidak akan mendapat kesalahan seg. Saya akan mendapat ditentukan. Dan ini undefined, anda boleh jenis daripada memikirkannya sebagai null. Tetapi ia boleh benar-benar menjengkelkan apabila anda kod kerana anda akan perlu menyemak bahawa hampir semua yang anda lakukan, anda bekerja dengan adalah undefined. Dan kita akan melihat beberapa contoh-contoh ini apabila kita bekerja di Meteor. Walaupun array empat adalah undefined, Saya boleh sediakan nilai. Jadi saya akan mengatakan ia sama dengan satu. Dan kemudian jika saya pergi ke pelbagai, saya mempunyai nilai tambahan di sana. Dan melihat bahawa pelbagai tiga, yang juga telah undefined, kekal undefined. Jadi saya kini mempunyai pelbagai dengan lubang di tengah-tengah. Tetapi jika saya dicetak pelbagai empat, Saya akan mendapat satu. Jika saya pelbagai tiga, saya mendapat ditentukan. Jadi ciri yang baik yang JavaScript membolehkan anda untuk melakukan adalah bahawa senarai boleh menukar saiz. Perlengkapan, tatasusunan menjadi senarai, mereka mengubah saiz. Dan anda boleh menentukan mana-mana lokasi di dalam mereka. Dan semua jurang akan diisi dengan nilai-nilai ini ditentukan. Jadi kita telah berbincang mengenai tatasusunan. Sekarang, perkara terakhir saya mahu menutup dalam JavaScript, dan ini adalah sangat penting untuk memahami kod yang Saya akan menunjukkan kepada anda, akan menjadi objek. Dan objek adalah tempoh di - pada dasarnya, mereka hadir dalam banyak bahasa pengaturcaraan. Dan setiap bahasa pengaturcaraan suka memikirkan mereka sedikit berbeza. Tetapi saya fikir untuk Meteor, baik yang analogi adalah struct C. Dalam C, jika kita ingin mencari struct itu pelajar, kita akan mempunyai untuk menentukan semua perkara di dalamnya. Jadi ia perlu mempunyai nama. Ia perlu mempunyai setahun. Ia perlu mempunyai jantina. Tetapi kita juga perlu memberikan yang jenis semua perkara. Dan sekarang kita mempunyai acuan ini untuk struct dipanggil pelajar, kita boleh mempunyai struct baru, dan kemudian kita boleh secara manual mengatakan apa yang setiap medan adalah. Dan di mana kita menggunakan nama dot, tahun dot, dot jantina. Dan kemudian kita, selaras terakhir kod di sini, saya hanya mencetak yang menamakan pelajar struct itu. Dalam dunia JavaScript, terdapat ada perkara seperti pelajar struct. Anda tidak menjana struktur pratetap. Anda sebenarnya hanya, dalam kurungan ini, anda mengatakan apa yang segala-galanya. Dan ia tatatanda ini pelik dengan kolon dan kemudian koma, tetapi anda akan membiasakan diri dengannya tidak lama lagi cukup. Dan ia sebenarnya yang benar-benar mudah, cara yang fleksibel hanya memanipulasi objek. Anda notis bahawa jika saya mahu kini mendapat menamakan dari s, saya hanya melakukan s.name. Adakah terdapat apa-apa soalan mengenai ini? Ini biasanya telah menjadi sangat mengelirukan topik apabila kita memperkenalkan orang untuk JavaScript. Saya akan melakukan beberapa contoh ini dalam nod. Ya? PENONTON: [didengar]. ROGER ZURAWICKI: Jadi adakah anda mempunyai satu contoh, pelbagai pembolehubah jenis itu. PENONTON: [didengar]. PENONTON: [didengar]. ROGER ZURAWICKI: OK. Jadi saya rasa cara anda akan pergi kira-kira adalah anda akan meletakkan objek dalam array, dan kini anda akan mempunyai pelbagai objek. Adakah yang menjawab soalan anda? PENONTON: [didengar]. ROGER ZURAWICKI: Ya. S adalah salah satu objek. Oleh itu, kita boleh pergi ke nod dan hanya bermain-main sedikit. PENONTON: [didengar]? ROGER ZURAWICKI: Oh, OK. Jadi, jika anda bertanya apa kelas adalah, kelas dilayan dengan berbeza, dan mereka mempunyai skim benar-benar pelik dipanggil prototaip, yang anda tidak perlu tahu tentang. Tidak ada cara yang tetap untuk melakukannya. Jadi, jika anda ingin menjana berbilang, anda akan hanya jenis mempunyai fungsi yang atau sesuatu. Anda menjana fungsi anda sendiri. Dan anda akan kembali objek. Itu yang paling mudah cara untuk melakukannya. Adakah ini masuk akal? OK. Besar. Jadi sebaik sahaja kami mempunyai pemahaman JavaScript objek, mereka - oh, ya. PENONTON: [didengar] Sebagai contoh, apa perbezaan di antara "Roger" dengan memetik dua berbanding [Didengar] dengan tanda petikan tunggal. ROGER ZURAWICKI: OK. Jadi ini adalah dalam C, kita mempunyai tunggal sebut harga yang mewakili aksara, dan dua sebut harga mewakili tali. JavaScript sebenarnya melemparkan ini jauh kerana anda boleh mempunyai tali dengan petikan tunggal atau berganda, dan ada ada benda itu sebagai char tunggal. Tetapi jika anda hanya disalin yang sama Kod C, JavaScript akan merawatnya dengan baik. Oleh sebab itulah saya dirawat ia sebagai - sebab itu saya betul-betul boleh pelabuhan kod dalam erti kata itu. Dan saya mahu untuk menunjukkan kepada anda contoh objek yang lebih rumit. Jadi, anda boleh melihat bahawa satu objek boleh mempunyai tali sebagai nilai-nilai. Ia boleh mempunyai satu lagi senarai nilai. Ia boleh mempunyai senarai objek sebagai nilai-nilai. Ada benar-benar tiada had untuk ini. Jadi di sini, ia hanya satu demonstrasi yang baik bagaimana anda boleh mendapatkan banyak jenis berlaku semua dalam satu objek. Adakah ini masuk akal? Kini, anda juga boleh mempunyai tatasusunan objek. Dan di sini adalah jenis yang sama dengan apa yang anda bertanya, jika anda boleh mempunyai objek jenis sama. Tetapi masalahnya ialah, tidak ada tetap format untuk objek dalam JavaScript. Jadi, anda perlu menentukan mereka sendiri. Dan anda perlu memastikan bahawa mereka seragam. Jadi di sini, apabila saya mencipta objek, saya mempunyai memastikan bahawa setiap satu mempunyai menamakan, dan masing-masing mempunyai sebuah rumah. Dan kemudian saya mempunyai pelbagai daripada mereka, dan yang boleh menjadi pondok saya. Dan kemudian di sini anda boleh jenis melihat untuk gelung berlaku. Untuk gelung yang hanya benar-benar biasa cara untuk merentasi lebih array dalam JavaScript. Perhatikan bahawa corak ini adalah hampir sama kepada C setara, di mana anda mempunyai int i sama dengan sifar. i adalah kurang daripada panjang. Dan kemudian saya plus plus. Ia hampir kod yang sama, kecuali beberapa perincian. Begitu juga semua orang memahami apa objek itu? Hanya fikirkan sebagai struct C. Dan cara anda akses bidang hanya dengan titik. Dan selagi anda ingat bagaimana untuk menggunakan dot, anda akan didenda. OK, jadi sekarang boleh semua orang membaca link itu? Ini adalah pautan kepada projek ini. Adakah sesiapa yang mempunyai masalah melihat pautan? OK, mari kita mengubahnya kemudian. Ia bukan - Ya, itu mungkin yang cara paling mudah untuk melakukannya. Besar. Jadi, jika anda pergi ke laman web ini, perlu ada ada beberapa arahan yang saya akan pergi lebih bagaimana kita boleh memasang Meteor dan mendapatkan kami berjalan projek sampel. Saya ingin semua orang pasti mempunyai pautan ke bawah sebelum saya bergerak. Bolehkah saya bergerak? OK, hebat. Jadi di sini saya di laman web ini. Anda akan melihat dalam fail readme yang, kita mempunyai beberapa arahan mengenai cara untuk ke-ditubuhkan. Anda perlu sama ada dalam CS50 perkakas atau hanya pada Mac. Windows tidak akan berfungsi. Tetapi pada dasarnya apa-apa yang tidak Windows harus bekerja dengan arahan-baik saja. Tetapi saya boleh membuat ia sedikit lebih besar juga. Jadi anda akan menghadapi yang pertama sepasang arahan. Ini lelaki hanya akan memasang Meteor. Saya boleh pergi ke terminal saya. Dan sekiranya saya menghadapi perkara yang sama sekarang, Saya sudah mempunyai ia dipasang. Jadi ia sedikit lebih pendek. Ia mungkin mengambil masa yang lama untuk anda semua. Tetapi saya ingin pertama pastikan yang kita ada Meteor berjalan. Selepas Meteor telah dipasang, anda perlu mendapat nod dalam konsol. PENONTON: Mereka bertanya untuk kata laluan. ROGER ZURAWICKI: Yang akan anda kata laluan pengguna, jika anda pada Mac. Ia hanya perlu kebenaran untuk mengubah suai beberapa fail sistem. Jadi soalan itu, jika ia meminta anda untuk kata laluan, ia hanya meminta anda kata laluan nama pengguna anda apabila anda log masuk ke Mac anda. Dan ini adalah supaya anda boleh menukar fail sistem. Dan apabila anda sudah bersedia, anda boleh bergerak ke langkah seterusnya, yang akan menyalin contoh kod saya dari laman web. Dan anda akan mendapat direktori baru dalam anda direktori rumah dipanggil Leaderboard, dan kita boleh mula bekerja dari sana. Jadi saya hanya menyalin dan menampal ini arahan ke dalam terminal saya. Dan bagi saya, saya sudah diklon itu. Jadi saya hanya kini boleh bergerak ke dalam Leaderboard. Dan saya harus mempunyai beberapa gambar dalam sana. Apa-apa soalan? PENONTON: [didengar] tidak berfungsi. ROGER ZURAWICKI: Oh, anda mungkin perlu lanjut dipasang juga. PENONTON: [didengar]. ROGER ZURAWICKI: Maaf? PENONTON: [didengar]. ROGER ZURAWICKI: Oh, OK. OK. Ini kerana anda mungkin perlu log masuk ke GitHub untuk mendapatkan pautan ini. Jika anda semua dapat melihat bahawa, yang paling mudah cara untuk melakukannya Saya kemudian akan berkata adalah turun zip. Dan ini hanya akan memuat turun semua fail. Dan kemudian sekali anda memasukkannya ke dalam anda memuat turun atau direktori rumah anda - Saya cadangkan meletakkannya di anda direktori rumah jadi kita semua menjalankan arahan sama. Selagi kita mempunyai fail, kami akan boleh mula bekerja dengan mereka. Biar saya tahu jika orang yang mempunyai masalah memuat turun fail. PENONTON: Dengan direktori rumah, kamu maksudkan - ROGER ZURAWICKI: Jadi direktori rumah akan John Harvard, jika anda berada dalam perkakas CS50. Untuk mendapatkan ke direktori rumah anda, taip C. PENONTON: [didengar] CS50 perkakas [didengar]. ROGER ZURAWICKI: Ya. Anda mahu menjalankan arahan di terminal anda. PENONTON: [didengar]. Saya mendapat ralat yang menyatakan bahawa tidak fail atau direktori tersebut. ROGER ZURAWICKI: Kita boleh mengambil yang cepat pecah dan pastikan bahawa semua orang mempunyai Meteor dipasang, dan saya akan hanya pergi cuba membantu orang keluar. Sila cuba untuk membantu antara satu sama lain jika anda menjalankan ke dalam masalah. Maaf, yeah. Adakah anda kedua-dua dalam perkakas? PENONTON: Yeah. Saya mempunyai Risa ROGER ZURAWICKI: OK. Jika anda kembali ke laman web, pergi tatal ke atas ke atas. Dan ada HTTPS ini. PENONTON: Salin ini? ROGER ZURAWICKI: Yeah. Dan kemudian anda mahu taip klon lanjut. Jadi, jika anda menekan Kawalan A - PENONTON: Di sini? Dan melakukan [didengar]? ROGER ZURAWICKI: G-I-T. PENONTON: [didengar]. ROGER ZURAWICKI: Git dan kemudian klon. Jadi ia amat serupa dengan arahan yang anda mempunyai di atas, tetapi URL berubah. Jadi sebelum ia ini, kini ia ini. Biar saya mengemaskini - yeah. PENONTON: [didengar]. ROGER ZURAWICKI: ini turun. PENONTON: [didengar]. ROGER ZURAWICKI: Oh, jadi ia tidak klon dengan betul. Saya akan menetapkan bahawa. Ada satu kesilapan dengan cuba untuk memuat turun fail. Biar saya mengemas kini arahan untuk anda semua jadi saya boleh pastikan ia akan berfungsi. Saya minta maaf tentang itu. Ia hendaklah sama untuk Mac atau perkakas CS50. PENONTON: [didengar]. ROGER ZURAWICKI: Saya mengemas kini arahan untuk nombor dua, jika anda memuat semula halaman. Dan dengan ini, URL, anda harus memuat turun fail. PENONTON: Jadi, jika kami masih memuat turun [didengar]. ROGER ZURAWICKI: Jika anda masih memuat turun Meteor? PENONTON: [didengar]. ROGER ZURAWICKI: Ya, jika anda mahu untuk membangunkan pada Mac anda. Tetapi anda perlu pemaju Xcode yang alat dipasang. Saya diuji arahan ini pada CS50 perkakas, jadi saya boleh menjamin bahawa ia akan berfungsi. Ya. biarlah saya pergi dan membantu anda. PENONTON: [didengar]. Saya memberi kata laluan saya. Ini adalah Mac. Dan kemudian saya lakukan [didengar]. ROGER ZURAWICKI: OK. Saya akan cuba menjalankan semua arahan semata-mata dalam terminal perkakas CS50. PENONTON: [didengar]. ROGER ZURAWICKI: Saya akan mendapatkan ia bekerja pertama di terminal, di Perkakas CS50, dan kemudian terminal Mac. PENONTON: Jadi, jika anda melakukannya pada CS50 perkakas seperti itu, [didengar]. ROGER ZURAWICKI: Saya ingin untuk bergerak , tetapi jika orang yang masih mempunyai masalah menubuhkan Meteor, Kevin adalah lebih daripada gembira untuk membantu anda lelaki di luar, Kevin berbaju kelabu. Apa yang kita perlu ada ialah kita akan jalankan arahan lepas, nombor tiga, dalam terminal kami. Apabila kita berbuat demikian, kami akan menjalankan Meteor. Dan anda perlu - oh, saya sudah mempunyai Meteor berjalan. Jadi ia tidak akan membiarkan - biarlah saya hanya menutup Meteor saya yang lain. Apabila saya berlari Meteor, anda kini harus melihat bahawa - anda akan dapat melihat direktori semasa bahawa ia hidangan. Dan kini ia akan mengatakan pelayan berjalan pada http://localhost. Itulah URL yang anda mahu meletakkan di dalam pelayar web anda. Dan pada URL itu, anda akan dapat mengakses Leaderboard baik sedikit. Jadi melihat bahawa ini adalah di localhost, yang bermaksud bahawa jika anda melakukan apa-apa perubahan, anda tidak akan melihat perubahan masing-masing. Manakala di laman web saya menunjukkan anda pada permulaan, kita boleh mendapatkan perubahan semua orang kerana semua orang telah mengakses laman web yang sama. Jadi biarlah saya hanya pergi ke [? perkataan?] 3,000. Jadi anda akan dapat hanya mengesahkan bahawa fungsi ini berfungsi. Anda boleh memilih orang yang berbeza, dan anda boleh memberikan mereka mata yang berbeza. Jadi saya memberi mata seseorang. Anda juga dapat melihat bahawa mereka naik pangkat. Sekarang, demi kepentingan masa, terdapat tiga ciri-ciri yang saya telah dilaksanakan. Dan kita akan melaksanakan memotong pengguna sebagai ciri pertama kami. Tetapi sebelum kita bergerak ke atas, adalah ada apa-apa soalan? Anda mempunyai tangan anda ke atas. Ya? PENONTON: [didengar]. ROGER ZURAWICKI: Bolehkah anda menyemak Meteor yang dipasang? PENONTON: [didengar]. ROGER ZURAWICKI: tuan rumah Tempatan 3,000? Dan anda berada dalam perkakas CS50 ini? Boleh saya lakukan - anda tidak perlu pada Mac. Ini akan bekerja di dalam perkakas. PENONTON: [didengar]. ROGER ZURAWICKI: Dalam biasa pelayar web, yeah. PENONTON: [didengar]. ROGER ZURAWICKI: Apakah Meteor berjalan? Jadi OK, ada perbezaan di sini. Jika anda menjalankan ia dalam perkakas, yang anda perlu lakukan localhost dalam perkakas. Jika anda menjalankan dalam Mac anda, seperti saya, maka saya boleh lakukan saya Mac Google Chrome. Tetapi jika anda menggunakan perkakas CS50 yang, anda perlu melakukan segala-galanya di dalam perkakas. Jadi, anda perlu menggunakan Google Chrome di dalam perkakas. PENONTON: [didengar]. ROGER ZURAWICKI: Ia masih tidak bekerja? PENONTON: [didengar]. ROGER ZURAWICKI: Jadi hanya untuk mengulangi, bagaimana anda mengakses laman web ini sekarang. Anda mempunyai URL di sini localhost 3,000. Jika anda berada dalam perkakas CS50 yang, anda perlu membuka CS50 perkakas Google Chrome. Dan dalam bahawa Google Chrome dalam perkakas, anda boleh menaip URL yang, dan anda akan melihat Leaderboard a. Jadi saya akan hanya meletakkan ia di luar ke sebelah sini sedikit. Dan sekarang saya akan membuka saya editor teks di sini. Jadi biarlah saya hanya memastikan bahawa kod adalah teratur. OK. Besar. Saya ingin sekarang berjalan melalui kod sedikit. Dan fail yang pertama saya ingin memulakan dengan adalah leaderboard.html. Anda akan dapat untuk mendapatkan kod ini selepas seminar itu, jadi saya hanya mahu menunjukkan anda pada komputer saya apa yang berlaku. Jadi saya harap semua orang boleh melihat ini. Jadi pada permulaan fail, kita mempunyai kepala kita dan hak milik, yang adalah sama dengan apa yang kita lihat dalam tiap-tiap dokumen HTML. Dan kemudian kita akan mempunyai tag badan di sini. Apa yang saya pilih adalah yang utama badan, pada dasarnya apa yang akan mendapatkan dipaparkan. Tetapi ada beberapa baru bukan HTML perkara, dan itu dalam kurungan sudut berganda. Dan ini adalah tag template. Jadi, anda akan lihat di sini kurungan ini Leaderboard baru kurungan. Dan ini adalah jenis - nak itu memanggil fungsi bagi HTML. Ini adalah versi khas HTML. Ia adalah versi yang menggunakan Meteor, yang sebabnya mengapa anda boleh memaparkan berbeza perkara, seperti Leaderboard nama-nama dan butang. Tetapi Leaderboard memberitahu anda untuk pergi ke template dengan Leaderboard nama. Jadi template tidak dapat dipaparkan oleh sendiri, tetapi ia satu majlis, jadi ia akan mendapat dipanggil. Dan anda akan menggantikan dalam semua ini kod di sini ke dalam Leaderboard. Yang menarik Leaderboard di sini adalah hanya meja ini. Jika anda hanya membacanya, membaca kod ini dengan kuat, ia perlu menjadi intuitif kerana Leaderboard, semua kita ada di sini adalah jadual. Ini barangan kelas ID anda tidak perlu bimbang tentang. Hanya tahu bahawa ada satu header jadual. Itulah thead ini. Dan ia mendapati nama dan skor. Semua tag ini, seperti thtable, thead, anda hanya akan belajar kerana anda pergi bersama-sama. Ia tidak penting yang anda menghafal ini kerana anda hanya boleh mengakses mana-mana rujukan dalam talian. Atau pada akhir semester, ini hanya akan sangat akrab dengan anda. Selepas tajuk jadual, bahagian itu saya ingin menarik anda perhatian kepada adalah h ini tag. Oleh kerana ia dalam kurungan berganda, ia template. Ini bermakna bagi setiap pemain, apa sahaja pemain adalah, kita perlu memaparkannya. Dan kita pergi ke template pemain. Jika kita tatal ke bawah sedikit lebih - Saya harap semua orang dapat melihat bahawa. Kami mempunyai template pemain. Dan template ini pada dasarnya mentakrifkan sel jadual, di mana anda masukkan ke dalam nama di sini dan skor. Zoom keluar sekarang, kita dapat melihat bahawa sebahagian kod ini di - dan yang merupakan pemain kita di bawah sana - mentakrifkan salah satu daripada sel-sel. Setiap perkara yang saya klik menjadi kuning. Cara mudah saya boleh menukar sekarang. Pastikan Meteor masih berjalan. Meteor harus menjadi satu proses pelayan, jadi anda hanya meninggalkan ia berjalan apabila anda maju. Katakan saya mahu menukar semua nama-nama atau skor. Dan saya akan berkata saya akan menambah mata di sini. Jadi perubahan yang saya buat di sini adalah, bukan hanya skor, saya menambah mata ruang. Saya akan zum keluar, dan saya akan menyelamatkan fail saya. Dan selepas menyimpan fail saya, saya perlu memastikan Meteor sedang berjalan. Maaf tentang itu. Saya ingin menunjukkan kepada anda suntingan telah dilakukan dalam masa yang sebenar. Jadi saya hanya akan menukar beberapa teks. Klik pemain. Saya meletakkan dalam semua topi. Dan ia harus bahawa jika ini adalah bekerja dengan betul, apabila saya menyimpannya, ia akan mengemaskini. Oh, saya rasa sekarang masalahnya ialah Saya tidak di dalam direktori yang betul. OK. Saya minta maaf tentang itu. Jadi di sini, apa yang anda notis adalah perubahan saya lalui. Kini mengatakan saya mahu kembali perubahan itu. Saya mahu pergi kembali kepada apa yang saya ada. Saya hanya akan menaip seperti biasa. Klik pemain. Sebaik sahaja aku simpan, yang tapak menyegarkan untuk saya. Dan saya melihat perubahan saya pada laman web ini serta-merta. Ini adalah ciri yang benar-benar membantu dalam debugging kerana sekarang Saya tidak perlu - apabila kita menulis kod C, bukan sahaja yang kita lakukan perlu menyimpan fail, tetapi kami terpaksa membuatnya dan kemudian berjalan lagi. Meteor adalah sangat bagus kerana tidak seperti C, saat anda menyelamatkan HTML anda atau JavaScript fail, perubahan menunjukkan dengan segera. Satu soalan adalah, dalam bentuk ini, bagaimana saya mendapat nilai-nilai seperti pemain atau pilih nama? Jika saya mengezum masuk sini ke dalam kod saya, Saya melihat ini bagi setiap pemain. Jadi template tahu bahawa Saya mempunyai pemain entah bagaimana. Dan ia tahu bahawa ada Nama yang dipilih. Di manakah ini datang? Ini datang daripada JavaScript. Dan jika anda pergi ke leaderboard.js, ini fail, kini apabila saya pergi di sini, kami mempunyai beberapa arahan yang ditetapkan. Ini adalah Meteor sintaks khas. Perhatikan bahawa anda tidak perlu vars atau apa-apa. Tetapi ini hanya structs apabila structs apabila structs atau objek. Dan semua saya menentukan adalah template dipanggil Leaderboard. Leaderboard perlu mendapatkan perkara yang dipanggil pemain. Dan apa yang pemain? Ia apa sahaja ungkapan ini kembali. Dan apa yang nama yang dipilih? Ia kod beberapa. Butiran kod kita akan meliputi sedikit kemudian. Tetapi sekarang saya mahu anda memahami bahawa dalam kod ini, kita mengambil pemain, dan kami memberikan nilai. Dalam kes ini, ia satu majlis yang mendapat dilaksanakan. Oleh itu, kita boleh mendapatkan nilai belakang apabila kita menjalankan fungsi tersebut. Ini adalah log. Adakah ini masuk akal? Saya boleh mengubah cara ia disusun. Di sini, ada satu objek jenis. Dan apa ini mengatakan adalah saya akan menyusun dengan skor menurun pertama dan kemudian menamakan naik. Jika saya menukar ini kepada satu, ia akan untuk menyusun skor menaik. Jadi sifar harus di atas. Dan apabila saya zum ke dalam laman web saya, kita kini melihat bahawa laman web yang dikemaskini. Dan skor adalah naik. Fungsi akan datang saya hanya mahu untuk meliputi adalah kenaikan klik. Daripada kepentingan masa, saya tidak akan dapat meliputi lebih banyak Meteor kod, tetapi terdapat banyak sumber ada, dan saya akan di sini selepas seminar itu. Tetapi saya hanya mahu menutup peristiwa Leaderboard. Sintaks ini anda akan belajar sedikit kemudian dalam kuliah. Ini adalah JavaScript. Kami hanya mengatakan, apabila kita klik, dan ia pada kenaikan, ini hash hanya bermakna ID. Pada tag ID kenaikan gaji, maka kita mahu untuk mengemas kini - kata kunci saya mahu anda untuk menonton adalah kemas kini dan memilih dan pemain. Jadi yang mana pemain yang terpilih, kita mengemaskinikannya. Dan apa yang kita lakukan ialah kita kenaikan skor sebanyak lima itu. Dan yang akan menggambarkan fungsi kami ada di sini. Selepas akhir seminar ini, kita akan dapat melihat kod beberapa. Tetapi kembali kepada matlamat saya yang saya mahu menukar laman web ini, saya mahu di sini untuk menambah butang keluarkan jadi Saya boleh memadam pemain. Jadi untuk berbuat demikian, saya perlu untuk melakukan dua perkara. Saya perlu mengemaskinikan HTML, mengemaskini melihat, apa yang dipaparkan kepada pengguna, dan kemudian mempunyai beberapa JavaScript bahawa apabila butang ditekan, Meteor akan untuk melakukan sesuatu. Ia akan mengeluarkan pemain itu. Jadi, terdapat banyak ketulan kod yang mempunyai dasarnya sudah telah dilakukan untuk saya. Jika saya lihat di sini, saya sudah mempunyai cara yang mendapatkan pemain yang dipilih. Itulah barangan ini, jika anda boleh melihatnya. Jadi, jika saya hanya - Saya akan mempunyai acara lain. Jadi saya akan untuk menyalin apa yang saya ada. Kerana ini adalah senarai, Saya hanya perlu koma. Jadi sekarang saya akan klik padam. Dan kemudian bukan pemain update, Saya akan melakukan pemain padam. Dan semua pemain memadam keperluan adalah pemain yang dipilih. Jadi fungsi ini adalah semua yang kita perlukan. Saya perlu menambah beberapa HTML di sini walaupun. Jadi jika saya tatal ke bawah di sini, ini adalah pandangan HTML. Kami mempunyai sesuatu di sini, yang merupakan teg. Anda tidak perlu bimbang tentang itu. Apa yang penting buat adalah ini kenaikan ID. Dan ini adalah apa yang membolehkan kita untuk mengatakan, apabila kami klik kenaikan gaji, kita perlu memberikan lima mata. Dan anda akan melihat bahawa ini adalah butang. Itulah yang BTN bermakna. Dan kitab itu di butang adalah memberikan lima mata. Jadi apa yang saya akan lakukan ialah saya akan menyalin baris ini. Saya akan menukar ID untuk memadam. Dan saya akan menukar teks di sini untuk padam. Oleh itu, memastikan semuanya itu disimpan. Saya mahu kembali ke JavaScript saya memastikan bahawa saya mempunyai memadam berbaris di sini. Baik. Jadi saya akan untuk menyelamatkan kedua-dua fail. Setelah menyimpan kedua-dua fail, kita boleh kembali ke bahagian bawah. Dan sekarang kita melihat kita mempunyai butang padam. Dan satu lagi langkah. Anda notis anda mungkin akan ralat kerana apabila saya klik memadam, tiada apa yang berlaku. Satu cara untuk debug ini adalah untuk pergi kembali ke Memeriksa Unsur. Saya lakukan ini dengan sengaja supaya anda boleh melihat bagaimana anda akan debug sesuatu. Dalam Memeriksa Unsur, kami mempunyai semua teks kami di sini. Saya mahu kembali ke konsol. Dan apa yang berlaku apabila saya pergi di sini adalah saya mendapatkan beberapa jenis kesilapan. Ia mengatakan tidak ada kaedah padam. Jadi apa ini katakan ialah apabila saya pergi kembali ke kod, saya dipanggil Pemain memadam sini. Padam sebenarnya tidak perintah betul. Jadi untuk mengetahui apa perintah yang betul adalah, ada API Meteor. Dokumentasi beri perhatian kepada anda lelaki untuk hanya di meteor.com. Jadi saya mempunyai ia di sini. Ini adalah hanya supaya anda semua tahu di mana untuk mengetahui lebih lanjut. Ada pautan untuk dokumentasi. Dan pada dasarnya, saya boleh hanya jangan mencari untuk padam. Dan apa yang anda lihat, memotong sebenarnya keluarkan. Itulah perintah yang Saya perlu menelefon. Jadi sekarang kita tahu bahawa, saya akan untuk menukar ini memadam untuk menghapuskan. Jadi sekarang, apabila saya kembali ke Leaderboard saya tapak, saya akan klik memadam, dan sekarang saya pergi. Tidak ada lebih Roger. Dan saya boleh terus memotong setiap nama tunggal sehingga saya mempunyai apa-apa kiri. Sehingga adalah preview sedikit bagaimana untuk menggunakan Meteor. Anda akan belajar banyak lagi JavaScript dan HTML yang diperlukan untuk membuat ia kelihatan lebih cantik, yang kita akan buat di dalam minggu ini [? sekeping?] ditetapkan untuk HTML dan JavaScript dalam seterusnya [? sekeping?] ditetapkan. Jadi jangan bimbang jika tidak semua barangan ini datang mudah untuk anda. Ia akan oleh masa projek akhir. Terima kasih kerana muncul. Pautan saya akan mengemaskini tidak lama lagi selepas seminar supaya anda boleh melihat beberapa lebih contoh-contoh yang saya telah dilaksanakan pada bagaimana untuk mendapatkan Leaderboard yang lebih maju yang saya ada di laman web ini di sini pada satu-radikal-leaderboard.meteor. Terima kasih. [Tepuk tangan]