1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:10,960 [MUSIC PLAYING] 3 00:00:10,960 --> 00:00:12,960 ROGER ZURAWICKI: Hi, saya Nama Roger Zurawicki, 4 00:00:12,960 --> 00:00:16,410 dan saya akan mencakup seminar CS50 Meteor. 5 00:00:16,410 --> 00:00:21,520 Meteor adalah kerangka kerja baru dikhususkan untuk jenis baru web, 6 00:00:21,520 --> 00:00:25,220 bukan PHP membuat permintaan bolak-balik semacam 7 00:00:25,220 --> 00:00:29,070 web yang kita lihat di set PHPP, tetapi lebih dinamis JavaScript 8 00:00:29,070 --> 00:00:31,370 bagian dari web. 9 00:00:31,370 --> 00:00:36,260 Hal Meteor bisa melakukan termasuk Live Memperbarui 10 00:00:36,260 --> 00:00:42,380 dan segera berkomunikasi antara pengguna dari situs yang sama. 11 00:00:42,380 --> 00:00:46,420 >> Untuk seminar ini, kita memiliki Kode host di GitHub saya. 12 00:00:46,420 --> 00:00:49,690 Anda dapat pergi ke URL ini dan download. 13 00:00:49,690 --> 00:00:53,085 Jika Anda tahu bagaimana menggunakan Git, Anda dapat mengkloning repositori. 14 00:00:53,085 --> 00:00:55,460 Jika Anda tidak tahu bagaimana menggunakan Git atau belum pernah menggunakan GitHub, 15 00:00:55,460 --> 00:00:57,030 itu benar-benar baik-baik saja. 16 00:00:57,030 --> 00:01:00,480 Aku akan menunjukkan Anda benar-benar cepat bagaimana kita bisa pergi ke GitHub, 17 00:01:00,480 --> 00:01:03,604 dan ada pilihan untuk men-download zip di sana. 18 00:01:03,604 --> 00:01:06,770 Setelah Anda men-download direktori ini, Anda bisa mulai bermain dengan kode kita. 19 00:01:06,770 --> 00:01:10,200 20 00:01:10,200 --> 00:01:13,190 >> Informasi lebih lanjut tentang Meteor dapat ditemukan di meteor.com. 21 00:01:13,190 --> 00:01:16,580 Dalam folder Seminar, aku benar-benar memiliki beberapa proyek Meteor bisa kita gunakan. 22 00:01:16,580 --> 00:01:20,380 23 00:01:20,380 --> 00:01:26,400 Salah satu folder yang kita miliki di kami Proyek seminar adalah aplikasi todos. 24 00:01:26,400 --> 00:01:28,780 Jadi jika aku pergi ke dalamnya I, memiliki Meteor diinstal. 25 00:01:28,780 --> 00:01:35,690 Jadi untuk menjalankannya, saya hanya perlu mengetikkan Meteor, dan Meteor akan menginstal. 26 00:01:35,690 --> 00:01:38,310 Seperti yang Anda lihat, kita harus pastikan kami memasang Meteor. 27 00:01:38,310 --> 00:01:40,562 Jadi aku hanya akan menjalankannya sekali lagi 28 00:01:40,562 --> 00:01:42,520 memastikan bahwa Meteor terpasang dengan benar. 29 00:01:42,520 --> 00:01:46,370 30 00:01:46,370 --> 00:01:48,450 >> Sementara saya Meteor menginstal, saya bisa menunjukkan Anda 31 00:01:48,450 --> 00:01:53,760 beberapa demo live situs Meteor akan hidup sekarang di internet. 32 00:01:53,760 --> 00:01:57,990 Saya memiliki demo aplikasi kita. 33 00:01:57,990 --> 00:02:00,740 Anda dapat mengaksesnya di URL berikut. 34 00:02:00,740 --> 00:02:06,350 Ini adalah untuk melakukan aplikasi yang kita ada di direktori seminar kami. 35 00:02:06,350 --> 00:02:09,940 URL untuk ini adalah rozu-rabbit.meteor.com. 36 00:02:09,940 --> 00:02:14,782 Anda akan melihat bahwa Meteor akan benar-benar tuan rumah proyek Meteor Anda secara gratis. 37 00:02:14,782 --> 00:02:17,490 Dan pada akhir seminar, Anda akan dapat melakukan hal ini juga. 38 00:02:17,490 --> 00:02:20,550 39 00:02:20,550 --> 00:02:22,160 >> Ini adalah untuk melakukan daftar aplikasi. 40 00:02:22,160 --> 00:02:27,740 Dan Anda dapat masuk, buat rekening, dan menambahkan tugas. 41 00:02:27,740 --> 00:02:30,020 Anda dapat membuat account seperti begitu. 42 00:02:30,020 --> 00:02:33,050 43 00:02:33,050 --> 00:02:35,850 Dan sekarang, setelah Anda memiliki akun, Anda dapat menambahkan tugas. 44 00:02:35,850 --> 00:02:42,780 Sebagai contoh, salah satu tugas saya mungkin perlu untuk pergi mengambil binatu. 45 00:02:42,780 --> 00:02:45,160 Dan jika Anda berada di ini situs online, Anda akan 46 00:02:45,160 --> 00:02:49,790 benar-benar melihat tugas ini pada komputer Anda secara real time. 47 00:02:49,790 --> 00:02:53,760 >> Saya bisa menunjukkan demo cepat ini dengan membuka Rozu-kelinci 48 00:02:53,760 --> 00:02:56,700 di tab lain dengan URL yang sama. 49 00:02:56,700 --> 00:03:00,360 Dan kita melihat bahwa data yang sama muncul. 50 00:03:00,360 --> 00:03:02,240 Kami juga dapat menjalankannya di browser yang berbeda. 51 00:03:02,240 --> 00:03:03,420 Katakanlah saya jalankan di Safari. 52 00:03:03,420 --> 00:03:04,720 Dengan cara itu kita belum login. 53 00:03:04,720 --> 00:03:07,750 54 00:03:07,750 --> 00:03:11,060 Jadi kita memiliki Meteor yang sama app, dan sekali beban, 55 00:03:11,060 --> 00:03:13,910 kita akan melihat data yang sama kita lakukan di yang pertama. 56 00:03:13,910 --> 00:03:16,710 Seperti yang Anda lihat, aku tidak login di sini. 57 00:03:16,710 --> 00:03:20,000 Dan ketika data cek penonton, itu update pada semua browser 58 00:03:20,000 --> 00:03:20,910 secara bersamaan. 59 00:03:20,910 --> 00:03:23,740 Ini adalah salah satu yang benar-benar fitur keren tentang Meteor. 60 00:03:23,740 --> 00:03:27,700 Dengan hampir tidak ada pekerjaan, Anda memiliki aplikasi memperbarui hidup 61 00:03:27,700 --> 00:03:31,240 bahwa perubahan pada semua Perangkat Anda sekaligus. 62 00:03:31,240 --> 00:03:36,690 >> Jika saya memeriksa kotak centang di sini di saya untuk melakukan daftar, kita akan memiliki, 63 00:03:36,690 --> 00:03:41,230 di browser Chrome saya yang lain, item diperiksa. 64 00:03:41,230 --> 00:03:42,605 Dan ini terjadi secara instan. 65 00:03:42,605 --> 00:03:46,340 66 00:03:46,340 --> 00:03:47,280 Baiklah. 67 00:03:47,280 --> 00:03:52,730 Jadi sepertinya Meteor instalasi siap sekarang. 68 00:03:52,730 --> 00:03:57,000 Jadi sekarang mari kita kembali ke app todos dan menjalankan ini secara lokal. 69 00:03:57,000 --> 00:04:01,599 >> Jika Anda memiliki proyek Meteor, Anda dapat hanya menjalankannya dengan perintah Meteor. 70 00:04:01,599 --> 00:04:03,640 Setelah Anda melakukan ini, Meteor akan melakukan beberapa persiapan 71 00:04:03,640 --> 00:04:06,120 untuk memastikan semua kode Anda di cek. 72 00:04:06,120 --> 00:04:12,440 Dan kemudian akan memberitahu Anda bahwa Proyek siap untuk dilayani. 73 00:04:12,440 --> 00:04:17,750 Anda mungkin perlu untuk memungkinkan Anda firewall, jika komputer Anda blok Anda. 74 00:04:17,750 --> 00:04:22,440 >> Jadi apa Meteor mengatakan kepada saya sekarang adalah bahwa di situs ini 75 00:04:22,440 --> 00:04:26,100 lokal ke komputer saya, saya bisa melihat apa proyek Meteor ini. 76 00:04:26,100 --> 00:04:29,290 Perhatikan bahwa sekarang, app saya tidak dapat diakses ke internet. 77 00:04:29,290 --> 00:04:35,170 Kita akan membahas bagaimana membawa Meteor Anda app ke situs hidup sedikit di kemudian hari. 78 00:04:35,170 --> 00:04:40,510 Jadi aku hanya akan menyalin ini URL sekarang dan masuk ke Google Chrome. 79 00:04:40,510 --> 00:04:42,600 >> Dan ini adalah untuk melakukan daftar dari contoh. 80 00:04:42,600 --> 00:04:46,080 Anda dapat melihat mereka diimplementasikan beberapa fitur lebih lanjut di sini. 81 00:04:46,080 --> 00:04:49,210 Kami memiliki tab yang berbeda, kami memiliki fitur akun yang sama, 82 00:04:49,210 --> 00:04:52,141 dan kita dapat menambahkan daftar baru. 83 00:04:52,141 --> 00:04:54,140 Sekarang, salah satu yang benar-benar Fitur keren tentang Meteor 84 00:04:54,140 --> 00:04:57,450 adalah bahwa tidak hanya dapat ini bekerja pada web browser Anda, 85 00:04:57,450 --> 00:05:00,030 tetapi Anda juga dapat membuat asli iPhone dan Android 86 00:05:00,030 --> 00:05:02,990 aplikasi melalui alat yang disebut PhoneGap. 87 00:05:02,990 --> 00:05:06,740 >> Jadi beberapa proyek akan datang pra-dikonfigurasi untuk menjalankan 88 00:05:06,740 --> 00:05:08,700 pada iOS, seperti aplikasi todos ini. 89 00:05:08,700 --> 00:05:14,780 Jadi semua harus saya lakukan untuk menjalankannya di iOS adalah jenis Meteor, menjalankan, dan kemudian iOS. 90 00:05:14,780 --> 00:05:17,540 Dan ketika saya melakukan itu, Meteor akan mempersiapkan paket lagi. 91 00:05:17,540 --> 00:05:21,670 Dan kemudian, setelah siap, itu akan memuat simulator iOS pada perintah saya. 92 00:05:21,670 --> 00:05:24,745 Catatan Anda hanya dapat menjalankan iOS apps jika Anda memiliki komputer Mac. 93 00:05:24,745 --> 00:05:27,650 94 00:05:27,650 --> 00:05:30,730 Anda dapat menjalankan aplikasi Anda Android pada semua platform. 95 00:05:30,730 --> 00:05:34,070 96 00:05:34,070 --> 00:05:38,290 >> Jadi sekarang Anda dapat melihat bahwa iPhone simulator muncul di layar saya. 97 00:05:38,290 --> 00:05:40,370 Dan hanya dalam beberapa saat, itu akan memuat dengan app. 98 00:05:40,370 --> 00:05:46,070 99 00:05:46,070 --> 00:05:48,490 Jika kita membuat hanya sedikit lebih kecil untuk muat pada layar, 100 00:05:48,490 --> 00:05:50,780 kita melihat kita memiliki aplikasi iPhone kami. 101 00:05:50,780 --> 00:05:53,220 Dan agar kita tidak bingung, mari kita membuat 102 00:05:53,220 --> 00:05:59,790 yakin kita berada di sama website, host lokal 3000. 103 00:05:59,790 --> 00:06:03,490 >> Jadi di sini adalah contoh dari aplikasi Meteor yang saya miliki, 104 00:06:03,490 --> 00:06:08,770 aplikasi todos, berjalan baik di telepon dan browser web. 105 00:06:08,770 --> 00:06:10,770 Dan ketika saya mengubah hal-hal di web browser, 106 00:06:10,770 --> 00:06:12,675 segera pergi ke telepon. 107 00:06:12,675 --> 00:06:16,500 Dan aku bisa menghapus sesuatu di telepon, dan perubahan dalam browser web. 108 00:06:16,500 --> 00:06:21,050 >> Sekarang, biasanya untuk membuat asli aplikasi ponsel untuk iOS atau Android, 109 00:06:21,050 --> 00:06:26,090 Anda perlu tahu baik Java atau Tujuan C. Teknologi menggunakan Meteor 110 00:06:26,090 --> 00:06:29,240 untuk memungkinkan JavaScript untuk menjalankan sebagai app disebut PhoneGap. 111 00:06:29,240 --> 00:06:31,320 Apa aplikasi Anda pada dasarnya adalah merupakan web browser. 112 00:06:31,320 --> 00:06:34,500 Dan Meteor menangani semua bagian rumit yang terlibat 113 00:06:34,500 --> 00:06:39,820 untuk membawa bahwa web browser untuk iPhone atau perangkat Android Anda. 114 00:06:39,820 --> 00:06:42,210 Anda dapat melihat bahwa User interface yang halus, 115 00:06:42,210 --> 00:06:45,290 dan itu terlihat dan terasa sangat seperti aplikasi asli. 116 00:06:45,290 --> 00:06:48,620 Perhatikan bahwa jika saya pergi ke rumah Layar sekarang, saya juga mendapatkan ikon. 117 00:06:48,620 --> 00:06:50,880 Ini bukan sebuah situs web seperti Anda akan menemukan di Safari. 118 00:06:50,880 --> 00:06:51,860 Ini adalah aplikasi sendiri. 119 00:06:51,860 --> 00:06:54,130 Anda dapat menginstal dan menghapusnya jika Anda ingin. 120 00:06:54,130 --> 00:06:59,500 121 00:06:59,500 --> 00:07:04,436 >> Kita bisa secara singkat menunjukkan apa kode untuk jenis todos aplikasi seperti. 122 00:07:04,436 --> 00:07:08,260 Jika Anda melihat di folder todos, Anda akan melihat ada banyak folder. 123 00:07:08,260 --> 00:07:11,440 Tapi selama kursus seminar, kita akan 124 00:07:11,440 --> 00:07:14,780 memahami apa setiap folder yang digunakan untuk. 125 00:07:14,780 --> 00:07:17,830 Mari kita pergi ke terminal sehingga kita dapat melihat file sedikit lebih baik. 126 00:07:17,830 --> 00:07:20,410 >> Aku akan menekan Control C untuk menghentikan server, 127 00:07:20,410 --> 00:07:22,770 dan sekarang aku kembali aplikasi todos. 128 00:07:22,770 --> 00:07:26,660 Saya memiliki folder yang berbeda di sini, seperti folder klien, server folder. 129 00:07:26,660 --> 00:07:30,500 Dan folder ini hanya berarti bahwa segala sesuatu dalam folder client 130 00:07:30,500 --> 00:07:32,630 dijalankan pada browser web Anda. 131 00:07:32,630 --> 00:07:35,530 Segala sesuatu di folder Server dijalankan pada server. 132 00:07:35,530 --> 00:07:38,100 >> Apa yang saya ingin menunjukkan adalah bahwa apa yang kita miliki 133 00:07:38,100 --> 00:07:42,140 ketika kita memiliki berjalan telepon kami dan Browser web kami, ini adalah klien. 134 00:07:42,140 --> 00:07:45,730 Tapi apa yang berjalan di terminal, itu server. 135 00:07:45,730 --> 00:07:48,710 Kami memiliki folder lain, seperti lib, yang merupakan kode perpustakaan, 136 00:07:48,710 --> 00:07:51,050 seperti pembantu Anda fungsi, yang dapat Anda 137 00:07:51,050 --> 00:07:53,710 digunakan pada kedua klien dan server. 138 00:07:53,710 --> 00:07:55,820 Dan kemudian Anda memiliki publik folder dan sumber daya 139 00:07:55,820 --> 00:07:59,310 folder yang diperlukan untuk mendapatkan gambar dan CSS lainnya dimuat. 140 00:07:59,310 --> 00:08:02,630 141 00:08:02,630 --> 00:08:09,360 >> Jika Anda telah Meteor terinstal, kita akan lanjutkan dengan tutorial untuk Meteor. 142 00:08:09,360 --> 00:08:12,790 Anda dapat pergi ke URL ini, meteor.com/install, 143 00:08:12,790 --> 00:08:17,990 untuk mendapatkan baris perintah yang saya menunjukkan bahwa menginstal Meteor. 144 00:08:17,990 --> 00:08:20,240 Kami akan melalui yang pertama beberapa langkah untuk mendapatkan yang lebih baik 145 00:08:20,240 --> 00:08:22,760 merasa tentang cara menginstal Meteor. 146 00:08:22,760 --> 00:08:28,000 >> Tapi pertama-tama, saya pikir itu penting bahwa kami meninjau sedikit JavaScript. 147 00:08:28,000 --> 00:08:32,360 Untuk menunjukkan beberapa contoh bagaimana pengetahuan C kita dapat diterjemahkan 148 00:08:32,360 --> 00:08:34,950 untuk JavaScript, saya sudah menciptakan beberapa contoh. 149 00:08:34,950 --> 00:08:36,940 Mereka berada di direktori js. 150 00:08:36,940 --> 00:08:41,750 Jadi jika di folder seminar Anda melihat, ada sebuah folder bernama js. 151 00:08:41,750 --> 00:08:44,540 Dan di sini, kita memiliki beberapa contoh. 152 00:08:44,540 --> 00:08:50,120 >> Mari kita membuka pertama Misalnya dan melihat sangat cepat. 153 00:08:50,120 --> 00:08:53,980 Apa yang kita lihat adalah standar Anda halo perintah dunia. 154 00:08:53,980 --> 00:08:56,520 Anda melihat di C yang Anda memiliki beberapa baris. 155 00:08:56,520 --> 00:09:00,490 Dan sebagai mahasiswa CS50 tahu, kita perlu fungsi utama, 156 00:09:00,490 --> 00:09:05,730 dan kita harus menyertakan standar I / O perpustakaan untuk memanggil printf. 157 00:09:05,730 --> 00:09:09,320 >> Mari kita lihat bagaimana membandingkan JavaScript. 158 00:09:09,320 --> 00:09:11,560 Aku akan membuka ex1.js. 159 00:09:11,560 --> 00:09:14,650 Komentar adalah apa yang C kode akan terlihat seperti, 160 00:09:14,650 --> 00:09:17,550 dan garis bawah adalah semua Anda perlu menjalankan di Node. 161 00:09:17,550 --> 00:09:20,452 Anda tidak perlu fungsi utama, Anda tidak perlu menyertakan file, 162 00:09:20,452 --> 00:09:21,660 dan Anda tidak perlu untuk kembali. 163 00:09:21,660 --> 00:09:23,810 Anda hanya memanggil console.log. 164 00:09:23,810 --> 00:09:26,370 Ini adalah setara dengan printf Anda. 165 00:09:26,370 --> 00:09:29,310 >> Dan dibutuhkan sama argumen printf akan. 166 00:09:29,310 --> 00:09:33,870 Dan untuk menjalankannya, bukannya berjalan membuat EX1, 167 00:09:33,870 --> 00:09:38,930 Anda hanya akan memanggil Node ex1.js. 168 00:09:38,930 --> 00:09:41,830 Anda menulis Node dan kemudian file, dan itu akan dijalankan. 169 00:09:41,830 --> 00:09:43,580 Tidak bisa dikompilasi. 170 00:09:43,580 --> 00:09:45,970 JavaScript adalah bahasa ditafsirkan. 171 00:09:45,970 --> 00:09:49,150 Jadi tidak perlu disusun sebelum dijalankan. 172 00:09:49,150 --> 00:09:53,450 Jika saya ingin menjalankan ex1.c, Aku harus membuatnya terlebih dahulu, 173 00:09:53,450 --> 00:09:59,160 dan kemudian saya bisa menjalankan executable untuk mendapatkan output yang sama. 174 00:09:59,160 --> 00:10:02,460 >> Mari kita cepat menutupi beberapa konsep JavaScript lainnya. 175 00:10:02,460 --> 00:10:04,490 Mari kita lihat contoh dua. 176 00:10:04,490 --> 00:10:14,690 Dalam ex2.js, di ex2.c, kita bisa melihat bahwa kita memiliki beberapa kode. 177 00:10:14,690 --> 00:10:16,550 Biar cepat pergi ke editor teks yang lebih baik 178 00:10:16,550 --> 00:10:18,400 yang akan menunjukkan ini baris baru sedikit lebih baik. 179 00:10:18,400 --> 00:10:21,760 180 00:10:21,760 --> 00:10:22,380 Baiklah. 181 00:10:22,380 --> 00:10:24,190 Di sini kita memiliki contoh 2.c. 182 00:10:24,190 --> 00:10:27,360 Di sini kita memiliki berbagai jenis bahwa kita mencetak. 183 00:10:27,360 --> 00:10:30,880 Dan seperti yang kita tahu, printf membutuhkan persen argumen yang berbeda 184 00:10:30,880 --> 00:10:34,050 untuk mengakses bagian yang berbeda dari data. 185 00:10:34,050 --> 00:10:36,840 Jika kita ingin mencetak string, kita sebut% s. 186 00:10:36,840 --> 00:10:40,390 Jika kita ingin memanggil floating sebuah nomor titik, kita disebut% f. 187 00:10:40,390 --> 00:10:45,810 Dan tidak ada cara mudah untuk memanggil Boolean dengan nilai benar atau salah nya. 188 00:10:45,810 --> 00:10:50,760 Tetapi jika Anda menggunakan% d, Anda bisa mendapatkan 0 atau 1 untuk salah dan benar. 189 00:10:50,760 --> 00:10:53,270 >> JavaScript adalah sedikit lebih bagus untuk kita. 190 00:10:53,270 --> 00:10:57,740 Dalam JavaScript, mari kita lihat beberapa perbedaan yang kita miliki di file ini. 191 00:10:57,740 --> 00:11:05,790 Pertama, Anda melihat bahwa di C kita harus menginisialisasi setiap variabel dengan tipe. 192 00:11:05,790 --> 00:11:06,940 S adalah bintang arang. 193 00:11:06,940 --> 00:11:08,930 Ini string, dan tidak bisa jenis lain. 194 00:11:08,930 --> 00:11:10,450 N adalah pelampung. 195 00:11:10,450 --> 00:11:11,780 B adalah Bool. 196 00:11:11,780 --> 00:11:14,220 >> Namun dalam JavaScript, ada jenis yang dinamis. 197 00:11:14,220 --> 00:11:16,400 Itu berarti bahwa Anda tidak perlu memberitahu JavaScript 198 00:11:16,400 --> 00:11:17,860 apa jenis variabel Anda akan. 199 00:11:17,860 --> 00:11:22,730 Anda hanya mengatakan var untuk variabel, nama variabel, dan kemudian nilainya. 200 00:11:22,730 --> 00:11:24,690 Jadi var bisa apa saja yang benar-benar. 201 00:11:24,690 --> 00:11:25,640 Hal ini dapat string. 202 00:11:25,640 --> 00:11:27,300 Ini bisa menjadi angka floating point. 203 00:11:27,300 --> 00:11:28,560 Hal ini dapat karakter. 204 00:11:28,560 --> 00:11:31,250 Ini bisa menjadi Boolean. 205 00:11:31,250 --> 00:11:34,380 Dan log konsol bekerja sedikit berbeda. 206 00:11:34,380 --> 00:11:37,340 Jika Anda ingin mencetak nomor, Anda menelepon% d. 207 00:11:37,340 --> 00:11:41,740 Tapi kebanyakan nilai dapat dicetak sebagai string saja. 208 00:11:41,740 --> 00:11:46,220 >> Mari kita jalankan ini di Node untuk melihat apa yang akan terjadi. 209 00:11:46,220 --> 00:11:51,880 Aku bisa menelepon Node ex2.js, dan kami mendapatkan printf 210 00:11:51,880 --> 00:11:56,870 dengan nilai CS50, N sebagai nomor floating point, 211 00:11:56,870 --> 00:12:00,620 dan kemudian B sebagai Boolean yang dikonversi ke string yang benar. 212 00:12:00,620 --> 00:12:03,830 Bagaimana jika kita membuat contoh 2c? 213 00:12:03,830 --> 00:12:09,630 Yah, kita masih memiliki beberapa lebih gangguan dengan printf. 214 00:12:09,630 --> 00:12:13,110 Perhatikan bahwa floating point Jumlah harus diformat dengan benar, 215 00:12:13,110 --> 00:12:18,120 dan bahwa Boolean tidak bisa hanya ditampilkan sebagai benar atau salah. 216 00:12:18,120 --> 00:12:18,620 Baiklah. 217 00:12:18,620 --> 00:12:22,680 Sekarang mari kita lihat contoh tiga. 218 00:12:22,680 --> 00:12:26,470 Dalam contoh tiga, kami menunjukkan bagaimana Anda akan menggunakan untuk loop. 219 00:12:26,470 --> 00:12:27,630 Bahkan, itu sangat sederhana. 220 00:12:27,630 --> 00:12:31,430 Salah satu hal baik tentang JavaScript adalah bahwa hal itu didasarkan C. 221 00:12:31,430 --> 00:12:33,920 Itu berarti bahwa banyak Anda Kode akan terlihat sangat mirip 222 00:12:33,920 --> 00:12:36,490 dan merasa sangat banyak yang sama. 223 00:12:36,490 --> 00:12:39,220 Dalam untuk loop, satu-satunya hal yang telah benar-benar berubah di sini 224 00:12:39,220 --> 00:12:41,840 adalah bukan int i, kita memiliki var i. 225 00:12:41,840 --> 00:12:45,470 Kita masih bisa menetapkan menghargai nol, periksa bahwa itu kurang dari lima, 226 00:12:45,470 --> 00:12:49,390 dan kenaikan itu oleh salah satu dengan operator ++. 227 00:12:49,390 --> 00:12:56,286 Kami menyebutnya console.log pada saya, dan bahwa akan mencetak kita nomor dengan setiap baris. 228 00:12:56,286 --> 00:12:58,410 Mari kita jalankan itu benar-benar cepat untuk melihat apa output. 229 00:12:58,410 --> 00:13:02,320 230 00:13:02,320 --> 00:13:03,880 Kami mendapatkan nomor baru di setiap baris. 231 00:13:03,880 --> 00:13:06,920 Hal lain yang saya ingin Anda untuk melihat dengan console.log 232 00:13:06,920 --> 00:13:09,960 adalah Anda tidak perlu menulis backslash n untuk baris baru. 233 00:13:09,960 --> 00:13:12,480 Console.log akan mencetak segala sesuatu pada baris sendiri. 234 00:13:12,480 --> 00:13:14,585 Itu fitur bagus bahwa JavaScript memberi kita. 235 00:13:14,585 --> 00:13:18,440 236 00:13:18,440 --> 00:13:22,600 >> Sekarang mari kita membuka contoh empat. 237 00:13:22,600 --> 00:13:28,710 Dalam contoh empat, pertama di C, kita panggil beberapa fungsi. 238 00:13:28,710 --> 00:13:33,290 Perhatikan bahwa kita harus menyatakan fungsi sebelum kita menggunakannya dalam utama. 239 00:13:33,290 --> 00:13:37,250 Jika kita memiliki utama pertama dan kemudian tambahkan dan kemudian tinggi, membuat, 240 00:13:37,250 --> 00:13:39,540 dentang, atau GCC akan memberi kita error mengatakan 241 00:13:39,540 --> 00:13:41,060 bahwa ia tidak tahu apa yang tinggi. 242 00:13:41,060 --> 00:13:42,780 Ia tidak tahu apa yang add. 243 00:13:42,780 --> 00:13:46,480 Jadi di C, Anda harus pilih-pilih tentang urutan di mana Anda memanggil fungsi-fungsi Anda. 244 00:13:46,480 --> 00:13:49,220 245 00:13:49,220 --> 00:13:51,310 >> Mari kita lihat bagaimana Anda dapat melakukan ini dalam JavaScript. 246 00:13:51,310 --> 00:13:56,060 Kami memiliki file yang berbeda karena ada adalah beberapa cara untuk melakukan hal ini. 247 00:13:56,060 --> 00:13:58,950 Salah satu cara adalah cukup banyak terjemahan langsung. 248 00:13:58,950 --> 00:14:02,180 Karena fungsi dalam C jenis kembali, dan JavaScript 249 00:14:02,180 --> 00:14:05,210 tidak benar-benar tahu atau perawatan tentang apa tipe Anda kembali, 250 00:14:05,210 --> 00:14:06,300 Anda tidak menulis tipe. 251 00:14:06,300 --> 00:14:08,100 Sebaliknya, Anda hanya perlu menulis fungsi, 252 00:14:08,100 --> 00:14:11,180 dan semuanya cukup sama seperti sebelumnya. 253 00:14:11,180 --> 00:14:14,630 >> Bila Anda memiliki variabel, seperti di menambahkan, kita hanya perlu menulis x dan y. 254 00:14:14,630 --> 00:14:16,060 Kami tidak perlu mengatakan x adalah int. 255 00:14:16,060 --> 00:14:18,940 Kami tidak perlu mengatakan y adalah int. 256 00:14:18,940 --> 00:14:21,030 Kami kembali dengan sintaks yang sama. 257 00:14:21,030 --> 00:14:24,230 Untuk tinggi, kami berbicara dengan berfungsi bukannya batal. 258 00:14:24,230 --> 00:14:26,110 Perhatikan bahwa apakah itu batal atau non-batal, 259 00:14:26,110 --> 00:14:28,380 itu masih semua fungsi yang sama. 260 00:14:28,380 --> 00:14:32,440 Dan kami hanya tidak menempatkan apapun dalam tanda kurung, 261 00:14:32,440 --> 00:14:34,690 dan terlihat sangat mirip dengan kode C. 262 00:14:34,690 --> 00:14:37,460 Dan di bawah ini, kita bisa menyebutnya bawah. 263 00:14:37,460 --> 00:14:42,730 >> Jika kita lihat contoh 4b, kita perhatikan bahwa saya telah berubah beberapa hal. 264 00:14:42,730 --> 00:14:45,340 Satu-satunya hal yang saya berubah benar-benar meskipun adalah pesanan. 265 00:14:45,340 --> 00:14:47,340 Kami memiliki yang sama fungsi, tapi sekarang mereka 266 00:14:47,340 --> 00:14:52,200 menyatakan setelah mereka digunakan dalam console.log dan tinggi pada jalur 18, 19. 267 00:14:52,200 --> 00:14:54,740 Jika Anda melakukan ini di C, membuat akan melempar kesalahan. 268 00:14:54,740 --> 00:14:56,070 Di sini, ini bekerja dengan baik. 269 00:14:56,070 --> 00:15:01,935 Dan aku bisa menunjukkan hal ini kepada Anda oleh memanggil Node pada contoh 4b. 270 00:15:01,935 --> 00:15:05,350 271 00:15:05,350 --> 00:15:10,130 >> Cara lain kita dapat memanggil fungsi adalah dengan menyimpan fungsi sebagai variabel. 272 00:15:10,130 --> 00:15:13,790 Seperti saya katakan, variabel dapat memiliki jenis. 273 00:15:13,790 --> 00:15:16,720 Salah satu jenis variabel dapat miliki adalah fungsi. 274 00:15:16,720 --> 00:15:19,800 Jadi jika Anda melihat contoh 4c, apa yang saya berubah 275 00:15:19,800 --> 00:15:24,320 di sini adalah var menambahkan bukan fungsi add. 276 00:15:24,320 --> 00:15:26,807 Dan sekarang tambahkan sama dengan fungsi. 277 00:15:26,807 --> 00:15:28,140 Fungsi ini di sini adalah anonim. 278 00:15:28,140 --> 00:15:33,346 Tidak memiliki nama, sehingga hanya fungsi dan kemudian kurung. 279 00:15:33,346 --> 00:15:35,220 Sintaks setelah itu tidak berubah, tetapi Anda 280 00:15:35,220 --> 00:15:38,300 memang harus diingat bahwa Anda memiliki variabel yang Anda 281 00:15:38,300 --> 00:15:42,940 menyimpan fungsi menjadi add, dan variabel yang Anda menyimpan ke tinggi. 282 00:15:42,940 --> 00:15:47,620 >> Karena menambah dan tinggi sekarang variabel dan tidak berfungsi, sesuatu perubahan. 283 00:15:47,620 --> 00:15:50,190 Ini adalah bug umum yang saya lihat di banyak javascripts orang, 284 00:15:50,190 --> 00:15:52,410 dan sesuatu yang perlu diingat. 285 00:15:52,410 --> 00:15:54,365 Ketika saya menjalankan ini, mari kita lihat apa yang terjadi. 286 00:15:54,365 --> 00:15:57,410 287 00:15:57,410 --> 00:15:58,230 Saya mendapatkan error. 288 00:15:58,230 --> 00:16:01,000 Itu mengatakan tidak terdefinisi pada saat ini. 289 00:16:01,000 --> 00:16:03,520 Jadi itu mengatakan tidak tahu apa tambahkan adalah. 290 00:16:03,520 --> 00:16:06,010 >> Karena saat menambahkan bukanlah Fungsi, tambahkan adalah variabel. 291 00:16:06,010 --> 00:16:10,100 Dan Anda belum benar-benar diberikan menambahkan nilai namun ketika Anda menggunakannya. 292 00:16:10,100 --> 00:16:14,460 Yang membawa kita ke contoh 4d, di mana jika Anda ingin menggunakan variabel sebagai fungsi, 293 00:16:14,460 --> 00:16:17,210 Anda hanya perlu memastikan bahwa mereka mendapatkan nilai sebelum mereka digunakan. 294 00:16:17,210 --> 00:16:20,200 295 00:16:20,200 --> 00:16:23,420 >> Mari kita beralih ke contoh lima kemudian. 296 00:16:23,420 --> 00:16:27,390 Di sini, kita berbicara tentang struct di C. Dalam C, struct 297 00:16:27,390 --> 00:16:30,320 memiliki struktur ini tetap mereka karena Anda harus menyatakan mereka 298 00:16:30,320 --> 00:16:33,050 sebelum Anda menggunakannya, dan Anda mengatakan bahwa saya memiliki mahasiswa, 299 00:16:33,050 --> 00:16:36,645 dan setiap siswa memiliki tepat satu nama, satu tahun, salah satu jenis kelamin. 300 00:16:36,645 --> 00:16:37,770 Ini harus memiliki semua dari mereka. 301 00:16:37,770 --> 00:16:42,280 Hal ini tidak dapat memiliki nilai-nilai lain, dan mereka harus tipe tertentu. 302 00:16:42,280 --> 00:16:47,540 >> Kemudian kita bisa menginisialisasi struct dalam sintaks ini bagus 303 00:16:47,540 --> 00:16:49,470 karena ia tahu perintah. 304 00:16:49,470 --> 00:16:51,460 Jadi tahu bahwa Roger adalah nama. 305 00:16:51,460 --> 00:16:54,060 Ia tahu bahwa 2016 adalah tahun dan M adalah jenis kelamin 306 00:16:54,060 --> 00:16:58,200 karena kami diberitahu ini daftar adalah mahasiswa struct. 307 00:16:58,200 --> 00:17:01,607 Dan kemudian Anda dapat mencetak itu, mengakses s.name. 308 00:17:01,607 --> 00:17:03,690 Mari kita lihat bagaimana kita akan mengkonversi ke JavaScript. 309 00:17:03,690 --> 00:17:06,400 310 00:17:06,400 --> 00:17:09,790 Perhatikan bahwa s sekarang menjadi variabel, dan tidak ada jenis. 311 00:17:09,790 --> 00:17:10,920 Hanya saja var lagi. 312 00:17:10,920 --> 00:17:14,480 Karena tidak masalah jika jenis variabel ini adalah pointer, 313 00:17:14,480 --> 00:17:17,440 itu adalah struct, atau apa pun. 314 00:17:17,440 --> 00:17:19,650 Kami memiliki sintaks yang sedikit berbeda. 315 00:17:19,650 --> 00:17:21,890 Sintaks ini adalah sintaks objek. 316 00:17:21,890 --> 00:17:24,400 >> Anda mungkin telah melihat itu di JSON. 317 00:17:24,400 --> 00:17:27,780 JSON sebenarnya singkatan JavaScript Object Notation. 318 00:17:27,780 --> 00:17:31,240 Ini adalah bagaimana Anda mendefinisikan objek dalam JavaScript. 319 00:17:31,240 --> 00:17:34,500 Kami memiliki kunci, yaitu nilai, seperti nama. 320 00:17:34,500 --> 00:17:37,680 Dan kami memberikan nilai pada sisi lain dari usus besar. 321 00:17:37,680 --> 00:17:41,850 Dan satu hal yang perlu diingat adalah Anda tidak perlu memiliki nama dan tahun 322 00:17:41,850 --> 00:17:42,980 dan jenis kelamin untuk objek. 323 00:17:42,980 --> 00:17:44,570 Sebuah objek dapat memiliki nilai. 324 00:17:44,570 --> 00:17:46,920 Hal ini dapat memiliki sebanyak yang Anda inginkan. 325 00:17:46,920 --> 00:17:50,375 >> Kita dapat menggunakan benda-benda hanya dalam cara yang sama kita akan menggunakan struct, s.name. 326 00:17:50,375 --> 00:17:53,810 327 00:17:53,810 --> 00:17:57,080 Kita bisa menjalankannya benar-benar cepat dengan melakukan simpul contoh 5.c. 328 00:17:57,080 --> 00:18:00,320 329 00:18:00,320 --> 00:18:02,520 Kita tidak bisa benar-benar menjalankan file C di Node. 330 00:18:02,520 --> 00:18:03,654 Ia tidak tahu apa C. 331 00:18:03,654 --> 00:18:04,695 Ia hanya tahu JavaScript. 332 00:18:04,695 --> 00:18:09,865 Ketika kita menjalankan ex5.js, kita mendapatkan nilai, yang kami harapkan. 333 00:18:09,865 --> 00:18:13,490 334 00:18:13,490 --> 00:18:15,980 >> Mari kita beralih ke contoh enam. 335 00:18:15,980 --> 00:18:18,930 Di sini saya hanya ingin berbicara sedikit Sedikit lebih banyak tentang JavaScript array 336 00:18:18,930 --> 00:18:20,930 karena mereka sedikit berbeda dari apa yang Anda 337 00:18:20,930 --> 00:18:26,940 digunakan dalam C. Array dinotasikan, tidak dengan tanda kurung seperti di C, 338 00:18:26,940 --> 00:18:28,640 dengan kurung kurawal, tapi kurung. 339 00:18:28,640 --> 00:18:32,150 Anda dapat memiliki sebuah array kosong, seperti arr sejalan empat. 340 00:18:32,150 --> 00:18:34,680 Anda dapat memiliki array dengan beberapa nilai. 341 00:18:34,680 --> 00:18:39,790 Dan Anda mengaksesnya dengan cara yang sama di C. 342 00:18:39,790 --> 00:18:42,990 >> Sampai baris tujuh, semuanya tampaknya cukup sederhana. 343 00:18:42,990 --> 00:18:45,390 Salah satu perbedaan kecil di sini pada baris 10. 344 00:18:45,390 --> 00:18:48,620 Cara Anda mendapatkan panjang dari array hanya dengan menelepon .length. 345 00:18:48,620 --> 00:18:50,620 Array sebenarnya dapat diperlakukan seperti obyek, 346 00:18:50,620 --> 00:18:54,960 dan objek ini memiliki properti panjang bahwa Anda menelepon untuk mendapatkan panjang itu. 347 00:18:54,960 --> 00:18:57,350 Perhatikan bahwa ini berbeda di C karena C Anda 348 00:18:57,350 --> 00:19:01,600 harus mengetahui panjang objek dari waktu ke depan. 349 00:19:01,600 --> 00:19:04,700 >> Jadi lain hal yang menyenangkan tentang array adalah bahwa Anda dapat memiliki berbagai jenis. 350 00:19:04,700 --> 00:19:07,470 Jika Anda memiliki sebuah array di C, ada adalah array dari nilai tertentu, 351 00:19:07,470 --> 00:19:11,900 baik struct pointer atau mengapung atau [tidak terdengar]. 352 00:19:11,900 --> 00:19:13,700 Di sini, Anda dapat memiliki nilai yang berbeda. 353 00:19:13,700 --> 00:19:17,560 Saya pertama kali memiliki angka floating point, maka Boolean, maka bilangan bulat lain. 354 00:19:17,560 --> 00:19:19,670 Dan sebenarnya, mereka dapat mengubah jenis juga. 355 00:19:19,670 --> 00:19:21,220 Lihatlah baris 16. 356 00:19:21,220 --> 00:19:26,760 Array dua berubah dari yang nomor, integer, string. 357 00:19:26,760 --> 00:19:30,920 >> Satu hal baik tentang array di sini pada baris 19, mereka memiliki ukuran yang tak terbatas. 358 00:19:30,920 --> 00:19:35,900 Anda bisa saja mengatakan saya ingin keseratus elemen menjadi string legit. 359 00:19:35,900 --> 00:19:38,510 Dan ini tampaknya tidak membuat akal karena array hanya 360 00:19:38,510 --> 00:19:41,080 memiliki ruang untuk tiga unsur, sehingga akhirnya harus dua. 361 00:19:41,080 --> 00:19:44,800 Tetapi ketika Anda melakukan hal ini, mari kita melihat apa Array tiga menjadi. 362 00:19:44,800 --> 00:19:47,460 Kami akan menjalankan ini dengan cepat dengan simpul contoh six.js. 363 00:19:47,460 --> 00:19:49,990 364 00:19:49,990 --> 00:19:52,180 Kami mendapatkan ini sangat panjang array, dan apa yang terjadi 365 00:19:52,180 --> 00:19:55,100 adalah kita memiliki beberapa elemen pertama dan kemudian sekelompok kosong 366 00:19:55,100 --> 00:19:56,580 sampai kita mendapatkan string kita. 367 00:19:56,580 --> 00:19:58,580 JavaScript mengisi di Array seperti itu diperlukan. 368 00:19:58,580 --> 00:20:01,790 369 00:20:01,790 --> 00:20:05,420 >> Mari kita akhirnya pergi ke contoh terakhir kami. 370 00:20:05,420 --> 00:20:08,180 Di sini kita memiliki daftar mahasiswa berbeda. 371 00:20:08,180 --> 00:20:11,350 Saya ingin berbicara sedikit sedikit tentang beberapa aspek yang bagus 372 00:20:11,350 --> 00:20:14,240 untuk loop dalam JavaScript. 373 00:20:14,240 --> 00:20:17,500 Dalam C, untuk loop jenis terbatas. 374 00:20:17,500 --> 00:20:21,490 Mereka memiliki struktur tetap, di mana Anda memiliki variabel, Anda memiliki kondisi, 375 00:20:21,490 --> 00:20:23,850 dan kemudian Anda melakukan sesuatu pada akhir loop. 376 00:20:23,850 --> 00:20:27,560 Dan tentu saja ini bekerja dalam JavaScript, seperti yang kita lihat pada contoh sebelumnya. 377 00:20:27,560 --> 00:20:31,030 Tapi kita juga punya cara yang lebih baik untuk melakukan hal ini dalam JavaScript. 378 00:20:31,030 --> 00:20:33,870 Ini disebut loop foreach. 379 00:20:33,870 --> 00:20:36,580 >> Maaf, mari kita kembali untuk contoh tujuh sini. 380 00:20:36,580 --> 00:20:39,320 Kita juga dapat mengatakan bagian adalah daftar. 381 00:20:39,320 --> 00:20:43,250 Jadi memberi saya setiap i atau setiap indeks dalam daftar itu. 382 00:20:43,250 --> 00:20:46,255 Kemudian kita bisa mendapatkan siswa dengan hanya menelepon bagian i. 383 00:20:46,255 --> 00:20:50,690 Jadi semua kode pengaturan i sama dengan nol dan memastikan saya 384 00:20:50,690 --> 00:20:54,420 kurang dari panjang dan menambahkan satu untuk saya setiap waktu, itu 385 00:20:54,420 --> 00:21:00,220 merawat Anda lebih baik dengan foreach loop. 386 00:21:00,220 --> 00:21:02,830 >> Tidak hanya melakukan loop foreach bekerja dalam daftar atau array, 387 00:21:02,830 --> 00:21:06,130 mereka juga bekerja dalam objek, yang juga bagus. 388 00:21:06,130 --> 00:21:10,240 Anda bisa mendapatkan nama setiap properti dengan hanya mengambil 389 00:21:10,240 --> 00:21:15,030 kamus atau benda, seperti mahasiswa, dan kemudian hanya mengatakan memberi saya setiap tombol. 390 00:21:15,030 --> 00:21:18,920 Kunci ini akan properti, nama atau rumah. 391 00:21:18,920 --> 00:21:22,870 Jadi apa yang akan terjadi di sini adalah bahwa kami mencetak duluan nama dan kemudian 392 00:21:22,870 --> 00:21:24,920 rumah setiap siswa. 393 00:21:24,920 --> 00:21:29,170 >> Saya bisa menjalankan ini di Node benar-benar cepat untuk menunjukkan Anda. 394 00:21:29,170 --> 00:21:35,510 Kami mendapatkan pertama gaya C untuk loop, di mana kita mendapatkan setiap objek yang dicetak. 395 00:21:35,510 --> 00:21:38,910 Dan kemudian kita memiliki JavaScript gaya, di mana Anda hanya dapat 396 00:21:38,910 --> 00:21:41,510 mencetak setiap tombol dan nilai individual. 397 00:21:41,510 --> 00:21:45,560 398 00:21:45,560 --> 00:21:47,050 >> Baiklah. 399 00:21:47,050 --> 00:21:52,850 Sekarang kita telah membahas Node.js, saya pikir kami siap untuk memulai dengan Meteor. 400 00:21:52,850 --> 00:21:56,070 Seperti saya katakan, Meteor melakukan pekerjaan besar menulis beberapa contoh siap pakai 401 00:21:56,070 --> 00:22:00,600 untuk Anda bahwa Anda dapat menjelajahi melalui tutorial ini atau dalam folder seminar. 402 00:22:00,600 --> 00:22:03,750 Tapi di sini saya ingin mulai lebih dari awal. 403 00:22:03,750 --> 00:22:06,810 >> Mari kita membuat sederhana untuk melakukan aplikasi. 404 00:22:06,810 --> 00:22:14,140 Ini adalah jenis dasar apa untuk melakukan aplikasi saya menunjukkan sebelumnya adalah. 405 00:22:14,140 --> 00:22:16,990 Dalam tutorial ini, Anda akan melihat bahwa ada 406 00:22:16,990 --> 00:22:20,180 Meteor perintah buat untuk membuat proyek Meteor baru. 407 00:22:20,180 --> 00:22:24,510 Anda perlu memanggil ini untuk untuk menjalankan proyek-proyek Meteor karena 408 00:22:24,510 --> 00:22:27,470 akan menjalankan perintah untuk menciptakan Meteor 409 00:22:27,470 --> 00:22:31,100 file yang diperlukan untuk proyek Anda. 410 00:22:31,100 --> 00:22:35,920 >> Jika Anda pergi ke terminal, kita bisa masuk ke folder bernama langkah satu. 411 00:22:35,920 --> 00:22:41,240 Dan langkah pertama akan sesuai dengan langkah pertama dalam tutorial. 412 00:22:41,240 --> 00:22:44,020 Perhatikan ada folder, langkah satu, dua langkah, semua jalan ke lima. 413 00:22:44,020 --> 00:22:47,835 Dan masing-masing sesuai untuk langkah dalam tutorial ini. 414 00:22:47,835 --> 00:22:50,960 415 00:22:50,960 --> 00:22:52,780 Aku akan membukanya dalam editor teks saya di sini 416 00:22:52,780 --> 00:22:56,280 sehingga kita bisa melihat sedikit apa yang telah dibuat. 417 00:22:56,280 --> 00:22:58,530 Kami melihat bahwa ada empat bagian utama. 418 00:22:58,530 --> 00:23:01,170 Ada sebuah direktori Meteor, .meteor. 419 00:23:01,170 --> 00:23:03,180 Dan bahwa Anda biasanya tidak perlu menyentuh. 420 00:23:03,180 --> 00:23:05,070 Meteor menangani folder, dan hanya 421 00:23:05,070 --> 00:23:08,640 memastikan bahwa Anda Proyek akan bekerja dengan benar. 422 00:23:08,640 --> 00:23:14,580 >> Kami juga memiliki tiga file, file HTML, file JavaScript, dan file CSS. 423 00:23:14,580 --> 00:23:18,670 Mari kita pertama mulai dengan file HTML. 424 00:23:18,670 --> 00:23:21,310 Pada pandangan pertama, ini tampak seperti dokumen HTML biasa. 425 00:23:21,310 --> 00:23:23,490 Tapi perhatikan bahwa ada beberapa perbedaan. 426 00:23:23,490 --> 00:23:26,520 Satu, ini tidak benar-benar dokumen HTML yang lengkap. 427 00:23:26,520 --> 00:23:28,640 Kami hilang tag HTML. 428 00:23:28,640 --> 00:23:29,700 Ini adalah normal. 429 00:23:29,700 --> 00:23:33,560 Di Meteor, Anda tidak diharapkan untuk membuat tag HTML. 430 00:23:33,560 --> 00:23:35,260 Itu dilakukan untuk Anda. 431 00:23:35,260 --> 00:23:38,380 Anda ingin begin-- jika Anda ingin membuat website, 432 00:23:38,380 --> 00:23:40,430 Anda hanya perlu mulai dengan tag kepala, 433 00:23:40,430 --> 00:23:43,510 mendefinisikan itu, dan kemudian mendefinisikan tag tubuh. 434 00:23:43,510 --> 00:23:48,940 >> Tetapi jika Anda melihat di ini File HTML, kita memiliki tag baru. 435 00:23:48,940 --> 00:23:50,350 Kami memiliki tag template. 436 00:23:50,350 --> 00:23:52,050 Ini bukan HTML normal. 437 00:23:52,050 --> 00:23:55,300 Ini adalah versi khusus dari HTML bahwa Meteor membuat tersedia untuk Anda. 438 00:23:55,300 --> 00:23:57,660 Ini disebut ruang bar. 439 00:23:57,660 --> 00:24:00,980 Anda dapat menentukan template sesedikit modul, jenis seperti fungsi pembantu, 440 00:24:00,980 --> 00:24:03,660 di C atau kode JavaScript. 441 00:24:03,660 --> 00:24:06,020 Template ini akan memiliki nama yang disebut tugas. 442 00:24:06,020 --> 00:24:10,520 Dan Anda dapat melihat di sini on line 13 yang Anda dapat memanggil template ini. 443 00:24:10,520 --> 00:24:14,380 Dan apa Meteor akan melakukan hanya mengisi tugas ini untuk Anda. 444 00:24:14,380 --> 00:24:17,540 445 00:24:17,540 --> 00:24:22,580 >> Hal lain yang mungkin melihat adalah Sedikit berbeda adalah ini fungsi masing-masing. 446 00:24:22,580 --> 00:24:26,130 Masing-masing akan mengambil variabel tugas dan jenis pergi melalui itu 447 00:24:26,130 --> 00:24:28,810 dalam loop foreach kami melihat dalam contoh tujuh. 448 00:24:28,810 --> 00:24:34,200 Masing-masing ini dapat mengambil kamus atau daftar, suatu objek atau daftar, 449 00:24:34,200 --> 00:24:38,820 dan itu hanya akan pergi melalui semua nilai-nilai seperti loop foreach akan. 450 00:24:38,820 --> 00:24:44,110 Jadi jika kita memiliki banyak tugas, ini akan memanggil template pada tugas masing-masing. 451 00:24:44,110 --> 00:24:49,590 >> Mari kita jalankan proyek Meteor hanya untuk melihat bahwa hal ini terjadi. 452 00:24:49,590 --> 00:24:53,260 Saya menjalankan proyek Meteor dengan hanya Meteor atau Meteor berjalan. 453 00:24:53,260 --> 00:24:56,690 Dan sekarang Meteor hanya perlu untuk segera menyiapkan proyek, 454 00:24:56,690 --> 00:25:03,320 mulai database yang diperlukan, dan kemudian posting aplikasi lokal. 455 00:25:03,320 --> 00:25:07,200 Kita bisa pergi ke browser web kami sekarang. 456 00:25:07,200 --> 00:25:10,215 Dan kita akan melihat kita yang memiliki aplikasi yang sangat sederhana. 457 00:25:10,215 --> 00:25:22,190 458 00:25:22,190 --> 00:25:29,130 Jadi apa yang kita lihat muncul sebenarnya langkah satu, langkah satu file. 459 00:25:29,130 --> 00:25:33,260 >> Mari kita lanjutkan ke langkah dua hanya karena Saya pikir itu akan melayani tujuan yang sama. 460 00:25:33,260 --> 00:25:36,500 Aku hanya akan mengubah ke langkah dua direktori 461 00:25:36,500 --> 00:25:39,550 dan menjalankan Meteor lagi sehingga kita dapat melihat template kita hanya bekerja dengan. 462 00:25:39,550 --> 00:25:43,560 463 00:25:43,560 --> 00:25:45,730 Ya, pertanyaan? 464 00:25:45,730 --> 00:25:49,724 >> AUDIENCE: Jika kita mendapatkan izin ditolak, adalah itu-- apa saja 465 00:25:49,724 --> 00:25:50,390 disebut untuk itu? 466 00:25:50,390 --> 00:25:52,154 467 00:25:52,154 --> 00:25:54,070 ROGER ZURAWICKI: Jika Anda menjalankan Meteor run, 468 00:25:54,070 --> 00:25:57,280 dan Anda memiliki izin membantah, beberapa file Anda 469 00:25:57,280 --> 00:25:59,070 mungkin tidak memiliki izin set yang tepat. 470 00:25:59,070 --> 00:26:03,970 Jadi, Anda harus memeriksa di mana hak akses yang off. 471 00:26:03,970 --> 00:26:06,030 Mereka bisa pergi di Proyek Meteor Anda, 472 00:26:06,030 --> 00:26:08,550 atau mereka bisa pergi di Meteor file sendiri. 473 00:26:08,550 --> 00:26:13,742 >> AUDIENCE: Jika saya download hanya sekarang dari GitHub Anda, lalu apa yang harus saya lakukan 474 00:26:13,742 --> 00:26:16,110 [Tak terdengar]? 475 00:26:16,110 --> 00:26:20,110 >> ROGER ZURAWICKI: Jika Anda ingin untuk memastikan Anda dapat mengaksesnya, 476 00:26:20,110 --> 00:26:21,450 ada perintah Anda dapat menjalankan. 477 00:26:21,450 --> 00:26:26,590 Biar cepat menulis itu sehingga orang lain dapat melihatnya. 478 00:26:26,590 --> 00:26:30,670 Aku akan membuka tab baru di sini dan masuk ke folder seminar saya. 479 00:26:30,670 --> 00:26:33,500 480 00:26:33,500 --> 00:26:36,490 Chmod adalah perintah untuk mengubah hak akses, 481 00:26:36,490 --> 00:26:40,060 dan Anda bisa mengatakan r untuk melakukannya rekursif untuk setiap file. 482 00:26:40,060 --> 00:26:46,040 Dan hak akses, Anda dapat mencoba 0755 untuk memastikan Anda memiliki akses penuh, 483 00:26:46,040 --> 00:26:47,820 dan orang lain dapat membaca. 484 00:26:47,820 --> 00:26:50,100 Dan jika Anda hanya menjalankan perintah ini, itu akan membuat 485 00:26:50,100 --> 00:26:55,800 Pastikan hak akses dalam memeriksa seluruh direktori. 486 00:26:55,800 --> 00:26:59,160 Menjalankan ls-l dapat menunjukkan izin secara lebih rinci. 487 00:26:59,160 --> 00:27:01,290 Hal ini terlihat OK. 488 00:27:01,290 --> 00:27:03,900 >> Apa yang paling penting adalah Anda memiliki ketiga 489 00:27:03,900 --> 00:27:06,610 rwx untuk semua file dalam direktori seminar. 490 00:27:06,610 --> 00:27:09,415 491 00:27:09,415 --> 00:27:11,330 Apakah itu memecahkan masalah? 492 00:27:11,330 --> 00:27:13,735 >> AUDIENCE: Dikatakan hilang instrumental [tidak terdengar]. 493 00:27:13,735 --> 00:27:17,980 494 00:27:17,980 --> 00:27:18,740 [Tidak terdengar] 495 00:27:18,740 --> 00:27:20,490 ROGER ZURAWICKI: Anda harus memastikan Anda 496 00:27:20,490 --> 00:27:23,022 memiliki titik di akhir perintah Anda. 497 00:27:23,022 --> 00:27:23,938 AUDIENCE: [tidak terdengar]. 498 00:27:23,938 --> 00:27:36,395 499 00:27:36,395 --> 00:27:37,520 ROGER ZURAWICKI: Baiklah. 500 00:27:37,520 --> 00:27:42,220 Mari kita cepat kembali ke host lokal, aplikasi yang kita miliki. 501 00:27:42,220 --> 00:27:46,640 Dan Anda akan melihat bahwa kita memiliki beberapa tugas di sini, seperti yang diharapkan. 502 00:27:46,640 --> 00:27:49,330 503 00:27:49,330 --> 00:27:51,990 Kami memiliki banyak CSS, yang Anda tidak perlu khawatir tentang. 504 00:27:51,990 --> 00:27:53,740 Meteor tutorial hanya memberikan ini kepada Anda 505 00:27:53,740 --> 00:27:58,010 untuk membuat Anda untuk melakukan daftar melihat bit lebih bagus daripada HTML biasa. 506 00:27:58,010 --> 00:28:02,290 Dan kami memiliki file JavaScript, yang Aku akan pergi ke lebih rinci sedikit kemudian, 507 00:28:02,290 --> 00:28:04,272 tapi itu hanya memberikan tugas-tugas ini. 508 00:28:04,272 --> 00:28:04,980 Ini adalah tugas satu. 509 00:28:04,980 --> 00:28:05,740 Ini adalah tugas dua. 510 00:28:05,740 --> 00:28:06,590 Ini adalah tugas tiga. 511 00:28:06,590 --> 00:28:09,720 Jadi ini adalah data Meteor yang mendapatkan. 512 00:28:09,720 --> 00:28:15,590 >> Salah satu hal keren tentang Meteor adalah bahwa perubahan dapat terjadi secara otomatis. 513 00:28:15,590 --> 00:28:18,990 Jika saya ingin mengubah nama dari tugas pertama, 514 00:28:18,990 --> 00:28:22,490 sehingga akan mengatakan ini bukan tugas satu, dan saya simpan, 515 00:28:22,490 --> 00:28:26,370 kemudian ketika saya pergi ke web Browser, Anda dapat menyegarkan itu, 516 00:28:26,370 --> 00:28:30,861 dan secara otomatis mengatakan ini tidak tugas satu. 517 00:28:30,861 --> 00:28:32,860 Anda dapat melakukan hal yang sama dalam file-file ini. 518 00:28:32,860 --> 00:28:37,940 Membuat perubahan, bukan untuk melakukan daftar, saya akan memilikinya saya untuk melakukan daftar. 519 00:28:37,940 --> 00:28:40,980 >> Dan satu hal yang hanya melihat, bahwa saya bahkan tidak harus me-refresh. 520 00:28:40,980 --> 00:28:43,960 Ide menyegarkan jenis dari dipecahkan untuk Anda dengan Meteor. 521 00:28:43,960 --> 00:28:48,970 Ketika mendeteksi perubahan file, itu akan memuat perubahan untuk Anda. 522 00:28:48,970 --> 00:28:53,110 Ini bekerja pada semua file, baik itu HTML, CSS, JavaScript atau. 523 00:28:53,110 --> 00:28:57,990 Untuk menunjukkan apa aplikasi ini akan terlihat seperti tanpa CSS, saya dapat menghapus itu semua. 524 00:28:57,990 --> 00:29:04,720 Dan ketika itu reloaded, Anda sekarang memiliki tidak sebaik-mencari untuk melakukan daftar. 525 00:29:04,720 --> 00:29:06,370 Mari kita menempatkan konten yang kembali. 526 00:29:06,370 --> 00:29:11,343 Dan pasti cukup, itu menyegarkan, dan CSS kita kembali. 527 00:29:11,343 --> 00:29:11,843 Hebat Sekali. 528 00:29:11,843 --> 00:29:15,700 529 00:29:15,700 --> 00:29:20,010 >> Kita sekarang dapat melanjutkan dengan tutorial. 530 00:29:20,010 --> 00:29:23,360 Mari kita bicara tentang langkah kedua, template. 531 00:29:23,360 --> 00:29:27,140 Ini adalah apa yang kami lihat dengan tugas yang berbeda. 532 00:29:27,140 --> 00:29:31,550 Meteor akan menjelaskan kepada Anda apa template dan bagaimana logika ini bekerja. 533 00:29:31,550 --> 00:29:34,760 Tapi mari kita hanya melihat kode untuk melihat apakah kita bisa masuk akal dari itu. 534 00:29:34,760 --> 00:29:38,030 535 00:29:38,030 --> 00:29:41,460 >> Dalam aplikasi yang sangat sederhana, seperti apa yang kita miliki di sederhana 536 00:29:41,460 --> 00:29:44,550 untuk melakukan, langkah pertama, langkah kedua, langkah tiga, empat langkah, langkah lima, 537 00:29:44,550 --> 00:29:45,700 kita tidak memiliki folder. 538 00:29:45,700 --> 00:29:47,533 Kami tidak memiliki server folder saya sebutkan. 539 00:29:47,533 --> 00:29:50,510 Kami tidak memiliki klien folder yang disebutkan. 540 00:29:50,510 --> 00:29:52,290 Jadi Meteor akan menjalankan semua file. 541 00:29:52,290 --> 00:29:55,210 Ini akan menjalankannya baik pada client, baik pada server. 542 00:29:55,210 --> 00:29:58,840 >> Dan jika Anda ingin bagian dari Anda JavaScript kode untuk menjalankan hanya pada klien, 543 00:29:58,840 --> 00:30:02,350 mereka perlu memastikan bahwa Anda memiliki jika pernyataan, jenis seperti apa 544 00:30:02,350 --> 00:30:04,890 kita harus dalam file JavaScript kami di sini. 545 00:30:04,890 --> 00:30:08,010 Jadi Meteor, hanya jika itu klien, maka saya 546 00:30:08,010 --> 00:30:12,355 ingin mendefinisikan template helper disebut tugas. 547 00:30:12,355 --> 00:30:15,050 548 00:30:15,050 --> 00:30:19,260 Apa kode ini benar-benar Apakah itu mengatakan ada 549 00:30:19,260 --> 00:30:21,800 benda yang disebut Template Meteor yang menyediakan. 550 00:30:21,800 --> 00:30:23,270 Dan kita akan menambahkan penolong. 551 00:30:23,270 --> 00:30:27,680 Pembantu adalah tugas-tugas ini, hal ini seperti tugas. 552 00:30:27,680 --> 00:30:33,890 >> Anda akan melihat bahwa jika kita kembali ke File HTML, kita disebut masing-masing pada tugas. 553 00:30:33,890 --> 00:30:35,750 Tugas tidak didefinisikan dalam HTML. 554 00:30:35,750 --> 00:30:37,770 Ini didefinisikan dalam JavaScript. 555 00:30:37,770 --> 00:30:42,610 Dan Meteor perlu tahu apa tugas adalah ketika kita pergi ke JavaScript sini. 556 00:30:42,610 --> 00:30:45,550 Tugas adalah penolong ini. 557 00:30:45,550 --> 00:30:49,830 Helper, Anda bisa memikirkan sebagai variabel template. 558 00:30:49,830 --> 00:30:51,000 Dan apa tugas lakukan? 559 00:30:51,000 --> 00:30:53,580 Nah, ia mengembalikan daftar nilai. 560 00:30:53,580 --> 00:30:56,750 Karena itu daftar, kita bisa memanggil satu sama di dalamnya. 561 00:30:56,750 --> 00:30:58,590 Jadi itu sebabnya kita sebut masing-masing pada tugas. 562 00:30:58,590 --> 00:30:59,730 Dan sekarang kami memiliki tugas. 563 00:30:59,730 --> 00:31:02,850 564 00:31:02,850 --> 00:31:03,990 >> Apa tugas lakukan? 565 00:31:03,990 --> 00:31:07,740 Nah, ia memiliki panah ini di sini setelah kurung kurawal. 566 00:31:07,740 --> 00:31:09,130 Itu berarti tugas adalah template. 567 00:31:09,130 --> 00:31:11,100 Ini bukan pembantu, seperti apa yang baru saja kita lihat. 568 00:31:11,100 --> 00:31:12,872 Ini template kita sudah ditentukan. 569 00:31:12,872 --> 00:31:14,080 Dan di mana kita mendefinisikannya? 570 00:31:14,080 --> 00:31:16,950 Kami telah didefinisikan di bawah ini di sini. 571 00:31:16,950 --> 00:31:21,160 >> Semua template ini tidak adalah membuat item daftar, dan panggilan teks. 572 00:31:21,160 --> 00:31:24,160 Sekarang, teks tampaknya menjadi pembantu, tapi saya akan menunjukkan kepada Anda 573 00:31:24,160 --> 00:31:26,610 bahwa ini sebenarnya masih anggota data tugas. 574 00:31:26,610 --> 00:31:29,230 575 00:31:29,230 --> 00:31:33,670 Ketika Anda memanggil masing-masing, itu masuk ke struktur data sedikit. 576 00:31:33,670 --> 00:31:39,130 Seperti foreach loop, sekarang hanya terlihat pada elemen pertama dalam objek kita. 577 00:31:39,130 --> 00:31:41,850 Kita melihat teks yang didefinisikan di sini di objek kita. 578 00:31:41,850 --> 00:31:45,350 Jadi Meteor cerdas untuk mengetahui bahwa kita berbicara tentang teks ini, 579 00:31:45,350 --> 00:31:47,630 bukan pembantu yang disebut teks. 580 00:31:47,630 --> 00:31:52,120 Itu hanya akan nilai ini teks di sini dan menampilkannya sebagai HTML, 581 00:31:52,120 --> 00:31:55,475 dan itulah bagaimana data mengalir dari JavaScript untuk HTML. 582 00:31:55,475 --> 00:32:03,320 583 00:32:03,320 --> 00:32:07,030 >> Pindah meskipun, dalam contoh ini kita sulit kode nilai-nilai. 584 00:32:07,030 --> 00:32:10,440 Meteor melakukan dua benar-benar hal-hal baik bagi kita. 585 00:32:10,440 --> 00:32:15,050 Selain refresh hidup yang kita menunjukkan, itu juga mengelola database kami. 586 00:32:15,050 --> 00:32:18,750 Jika Anda harus bekerja dengan PHP, Anda harus mengkonfigurasi phpMyAdmin. 587 00:32:18,750 --> 00:32:21,320 Anda harus memastikan Anda tabel semua di cek. 588 00:32:21,320 --> 00:32:24,760 Anda harus melakukan banyak pekerjaan untuk membuat Pastikan data Anda diformat dengan benar, 589 00:32:24,760 --> 00:32:27,880 dan PHP bisa berkomunikasi dengannya. 590 00:32:27,880 --> 00:32:30,170 >> Sekarang, Meteor menggunakan paradigma baru. 591 00:32:30,170 --> 00:32:32,310 Ini adalah cara yang lebih modern penanganan database. 592 00:32:32,310 --> 00:32:34,580 Ini adalah teknologi yang disebut MongoDB. 593 00:32:34,580 --> 00:32:38,740 Sama seperti di JavaScript, kita melihat bahwa tidak peduli apa jenis memiliki data. 594 00:32:38,740 --> 00:32:39,640 Semuanya adalah var a. 595 00:32:39,640 --> 00:32:40,570 Itu bukan charstar a. 596 00:32:40,570 --> 00:32:40,930 Itu bukan int. 597 00:32:40,930 --> 00:32:41,970 Itu bukan struct. 598 00:32:41,970 --> 00:32:44,210 Itu hanya var ini, var itu. 599 00:32:44,210 --> 00:32:46,320 >> MongoDB bekerja jenis dengan cara yang sama. 600 00:32:46,320 --> 00:32:48,160 Anda tidak harus mendefinisikan tabel Anda. 601 00:32:48,160 --> 00:32:50,860 Anda tidak harus mengatakan meja memiliki nama, yang memiliki int. 602 00:32:50,860 --> 00:32:54,710 Memiliki, saya tidak tahu, dollar, yang merupakan desimal. 603 00:32:54,710 --> 00:32:58,360 Hanya saja obyek JavaScript, semua vars ini, pada dasarnya. 604 00:32:58,360 --> 00:33:02,780 Dan ini adalah benar-benar kuat cara untuk prototipe aplikasi Anda. 605 00:33:02,780 --> 00:33:06,190 Dan itulah mengapa Meteor mengambil keuntungan dari ini. 606 00:33:06,190 --> 00:33:11,080 >> Jika kita pergi ke langkah ketiga, mari kita lihat apa yang telah berubah. 607 00:33:11,080 --> 00:33:15,480 Jika kita melihat pada HTML todos, tidak banyak. 608 00:33:15,480 --> 00:33:17,170 CSS tidak berubah sama sekali. 609 00:33:17,170 --> 00:33:22,420 Namun, perubahan kecil yang kita lihat di HTML adalah kami telah mengubah cara tugas didefinisikan. 610 00:33:22,420 --> 00:33:23,800 Tugas sekarang fungsi. 611 00:33:23,800 --> 00:33:25,800 Itu berarti bahwa setiap kali kita ingin mendapatkan tugas, 612 00:33:25,800 --> 00:33:27,480 kita akan menjalankan fungsi ini. 613 00:33:27,480 --> 00:33:29,230 Ini tidak mengembalikan berfungsi sebagai nilai. 614 00:33:29,230 --> 00:33:33,710 >> Meteor cerdas untuk benar-benar menjalankan fungsi untuk melihat apa yang kita bisa keluar. 615 00:33:33,710 --> 00:33:36,650 Dan ia mengembalikan hal ini disebut tugas. 616 00:33:36,650 --> 00:33:40,650 Kami telah didefinisikan tugas di saluran satu, dan itu koleksi Mongo. 617 00:33:40,650 --> 00:33:43,170 Mongo mengacu database Meteor menggunakan, 618 00:33:43,170 --> 00:33:48,420 dan ini baru hanya berarti mari kita membuat koleksi baru, sebut saja tugas. 619 00:33:48,420 --> 00:33:53,540 Dalam MySQL, ini akan menjadi setara dengan mencari tugas tabel yang disebut. 620 00:33:53,540 --> 00:33:56,350 Mongo memiliki koleksi, bukan tabel. 621 00:33:56,350 --> 00:34:00,100 Jadi ini hanya mencari tugas. 622 00:34:00,100 --> 00:34:04,820 >> Sekarang, template kami helper dalam template, semua 623 00:34:04,820 --> 00:34:08,380 yang harus kita lakukan untuk mendapatkan semua tugas adalah fungsi ini, menemukan 624 00:34:08,380 --> 00:34:11,710 dan brace kosong ini. 625 00:34:11,710 --> 00:34:14,150 Ini lebih khusus untuk Mongo sintaks. 626 00:34:14,150 --> 00:34:16,159 Ada banyak dokumentasi online untuk bagaimana 627 00:34:16,159 --> 00:34:19,360 Anda dapat membuat efisien dan benar-benar berguna Mongo query. 628 00:34:19,360 --> 00:34:25,560 Tetapi sesuatu seperti ini baik cukup untuk hanya menemukan semua data. 629 00:34:25,560 --> 00:34:30,100 >> Sekarang, salah satu masalah yang mungkin Anda lihat adalah bahwa kita tidak pernah benar-benar menambahkan data. 630 00:34:30,100 --> 00:34:35,020 Jadi apa yang terjadi ketika kita benar-benar menjalankan langkah ketiga? 631 00:34:35,020 --> 00:34:37,550 Mari kita cepat pergi ke langkah ketiga dan menjalankan Meteor. 632 00:34:37,550 --> 00:34:42,870 633 00:34:42,870 --> 00:34:45,650 Perhatikan bahwa saya punya Meteor lain Proyek yang berjalan di tempat lain, 634 00:34:45,650 --> 00:34:49,110 sehingga Meteor tidak seperti itu. 635 00:34:49,110 --> 00:34:52,810 Aku hanya akan cepat dekat dengan lain Meteor dengan Control C, 636 00:34:52,810 --> 00:34:55,780 masuk ke langkah ketiga, dan menjalankan Meteor lagi. 637 00:34:55,780 --> 00:35:01,070 638 00:35:01,070 --> 00:35:03,180 Perhatikan itu mulai MongoDB MongoDB karena 639 00:35:03,180 --> 00:35:06,370 adalah bagian dari setiap proyek Meteor. 640 00:35:06,370 --> 00:35:09,190 >> Jadi ia mengatakan aplikasi saya memiliki kesalahan. 641 00:35:09,190 --> 00:35:10,590 Itu fitur bagus Meteor memiliki. 642 00:35:10,590 --> 00:35:13,700 Ini akan memastikan Anda HTML baik divalidasi. 643 00:35:13,700 --> 00:35:17,710 Mari kita cepat melihat mengapa hal ini mungkin. 644 00:35:17,710 --> 00:35:26,110 Sepertinya saya harus sengaja menyalin kode HTML yang salah. 645 00:35:26,110 --> 00:35:30,610 Jika saya simpan sekarang, Meteor otomatis restart server, 646 00:35:30,610 --> 00:35:34,650 dan sekarang aplikasi berjalan seperti yang diharapkan. 647 00:35:34,650 --> 00:35:39,220 Perhatikan untuk memperbaiki ini, Anda hanya dapat menjalankan file HTML yang sama dari langkah dua, 648 00:35:39,220 --> 00:35:40,380 salin ke langkah ketiga. 649 00:35:40,380 --> 00:35:43,290 650 00:35:43,290 --> 00:35:45,917 >> Kita bisa kembali ke host lokal kami. 651 00:35:45,917 --> 00:35:47,500 Dan sekarang kita melihat kami telah kami untuk melakukan daftar. 652 00:35:47,500 --> 00:35:50,070 Besar, tapi kosong. 653 00:35:50,070 --> 00:35:54,210 Kami tidak benar-benar memiliki tugas dalam database Mongo kami. 654 00:35:54,210 --> 00:35:57,930 Jadi mari kita bicara tentang beberapa cara kita bisa melakukan itu. 655 00:35:57,930 --> 00:36:03,240 Jika kita kembali ke terminal, kami dapat menutupnya dan menjalankan Meteor Mongo. 656 00:36:03,240 --> 00:36:05,320 >> Jika Anda akrab dengan cara Meteor bekerja, 657 00:36:05,320 --> 00:36:14,100 ini benar-benar memberikan Anda akses ke MongoDB penuh untuk Meteor. 658 00:36:14,100 --> 00:36:17,570 Perhatikan bahwa Anda harus berjalan Meteor pertama untuk bekerja. 659 00:36:17,570 --> 00:36:23,840 Jadi jika saya menjalankan ini di tab baru, saya bisa kembali ke direktori yang sama. 660 00:36:23,840 --> 00:36:29,040 661 00:36:29,040 --> 00:36:32,570 Dan sekarang Meteor bekerja dengan baik. 662 00:36:32,570 --> 00:36:33,600 Ini adalah prompt. 663 00:36:33,600 --> 00:36:36,350 664 00:36:36,350 --> 00:36:38,790 Biarkan saya membuatnya sedikit lebih besar sehingga kita dapat melihat. 665 00:36:38,790 --> 00:36:41,550 Hal ini terlihat sedikit berbeda dari apa yang mungkin digunakan untuk Anda 666 00:36:41,550 --> 00:36:42,869 tidak benar-benar perlu menggunakan Mongo. 667 00:36:42,869 --> 00:36:45,410 Inti dari saya di sini adalah sehingga Anda dapat menggunakan JavaScript. 668 00:36:45,410 --> 00:36:48,250 Tapi jika Anda penasaran, yang Mongo API tidak 669 00:36:48,250 --> 00:36:50,730 menggunakan SQL, Structured Query Language. 670 00:36:50,730 --> 00:36:55,570 Menggunakan bahasa sendiri yang terlihat banyak seperti JavaScript. 671 00:36:55,570 --> 00:37:00,520 Sangat cepat, kita dapat menemukan tabel melalui db.tasks. 672 00:37:00,520 --> 00:37:08,940 Dan itu mengatakan Ternyata jika kita jalankan menemukan, 673 00:37:08,940 --> 00:37:13,450 sama halnya dengan apa yang kita miliki dengan Meteor, kita dapat memuat semua elemen. 674 00:37:13,450 --> 00:37:17,330 Masalahnya adalah, kita tidak sebenarnya memiliki tugas yang ditetapkan. 675 00:37:17,330 --> 00:37:20,600 Sehingga tidak bisa mendapatkan mereka. 676 00:37:20,600 --> 00:37:22,130 >> Kita dapat menyisipkan, meskipun. 677 00:37:22,130 --> 00:37:25,170 Jadi kita bisa menjalankan insert dengan perintah insert. 678 00:37:25,170 --> 00:37:29,140 Dan kami hanya memberikan obyek, dan kami hanya 679 00:37:29,140 --> 00:37:31,840 pastikan format adalah apa yang kita harapkan. 680 00:37:31,840 --> 00:37:35,030 Jika kita melihat langkah kedua, kita melihat bahwa setiap tugas 681 00:37:35,030 --> 00:37:39,590 adalah sebuah objek dengan teks sebagai kunci dan apa pun 682 00:37:39,590 --> 00:37:41,640 Anda untuk melakukan item adalah sebagai variabel. 683 00:37:41,640 --> 00:37:44,680 Jadi kita bisa melakukan sesuatu di sini. 684 00:37:44,680 --> 00:37:50,160 >> Kita dapat memilikinya memasukkan tugas disebut Aku datang dari Mongo. 685 00:37:50,160 --> 00:37:52,570 Dan kita tekan Enter, dan berjalan. 686 00:37:52,570 --> 00:37:56,900 Kita dapat menjalankan menemukan lagi, dan kami melihat bahwa ada objek di sini. 687 00:37:56,900 --> 00:38:01,810 Mongo memberikan itu sebuah ID yang Anda tidak benar-benar perlu khawatir. 688 00:38:01,810 --> 00:38:06,690 Apa yang penting bagi Anda adalah data Anda masukkan ke dalam, adalah data yang Anda keluar. 689 00:38:06,690 --> 00:38:10,500 >> Mari kita kembali ke website kami, dan hey, tugas kita dimuat. 690 00:38:10,500 --> 00:38:13,987 Dan Anda dapat melihat bahwa karena Meteor sangat cerdas 691 00:38:13,987 --> 00:38:16,570 dan selalu menyegarkan untuk Anda, saya tidak perlu menyentuh halaman. 692 00:38:16,570 --> 00:38:19,160 Secara otomatis dimuat. 693 00:38:19,160 --> 00:38:23,520 >> Mari kita jalankan beberapa kode di JavaScript meskipun untuk melakukan hal ini. 694 00:38:23,520 --> 00:38:26,120 Seperti kita Node di belakang end untuk mengeksekusi keluar JavaScript, 695 00:38:26,120 --> 00:38:29,280 kami juga dapat menjalankan JavaScript langsung dalam browser kita. 696 00:38:29,280 --> 00:38:31,970 Anda dapat melakukan ini dengan fitur disebut Inspect Element. 697 00:38:31,970 --> 00:38:34,210 Jika saya klik kanan pada bagian halaman, 698 00:38:34,210 --> 00:38:36,730 ada pilihan disebut Inspect Element. 699 00:38:36,730 --> 00:38:38,840 Jika Anda menjalankan browser seperti Safari, Anda 700 00:38:38,840 --> 00:38:45,430 mungkin harus mengaktifkan pengembang Anda alat sebelum Anda mendapatkan fitur ini. 701 00:38:45,430 --> 00:38:46,930 >> Apa yang kita pedulikan adalah konsol. 702 00:38:46,930 --> 00:38:48,930 Jadi kami hanya akan pergi ke konsol di bagian bawah. 703 00:38:48,930 --> 00:38:52,110 704 00:38:52,110 --> 00:38:55,970 Sekarang kita bisa menjalankan JavaScript di sini, seperti JavaScript 705 00:38:55,970 --> 00:38:58,860 file saya menunjukkan dalam contoh js. 706 00:38:58,860 --> 00:39:02,040 Tapi sekarang mari kita lihat tugas. 707 00:39:02,040 --> 00:39:04,955 Kita bisa menjalankan perintah kami. 708 00:39:04,955 --> 00:39:07,830 Dan mudah-mudahan saya akan bisa membuat itu sedikit lebih besar sehingga kita semua bisa lihat. 709 00:39:07,830 --> 00:39:14,390 710 00:39:14,390 --> 00:39:18,450 >> Jika kita menjalankan tasks.find, dan Anda akan melihat bahwa ini adalah kode yang sama persis 711 00:39:18,450 --> 00:39:24,840 bahwa penggunaan berkas JavaScript pada langkah ketiga, task.find ini. 712 00:39:24,840 --> 00:39:29,100 Kita bisa menjalankan hal yang sama, dan sekarang kita mendapatkan beberapa hal aneh. 713 00:39:29,100 --> 00:39:31,050 Bagaimana kita benar-benar mendapatkan data? 714 00:39:31,050 --> 00:39:34,860 Nah, kita harus menjalankan ini perintah yang disebut menjemput. 715 00:39:34,860 --> 00:39:37,150 >> Hal ini sangat berguna untuk debugging. 716 00:39:37,150 --> 00:39:41,000 Apa yang Anda dapatkan di sini adalah kursor, dan ini 717 00:39:41,000 --> 00:39:44,890 cara yang baik Meteor memiliki Data fetching dioptimalkan. 718 00:39:44,890 --> 00:39:48,270 Kursor ini memiliki semua fitur untuk memperbarui hidup dan menyegarkan halaman 719 00:39:48,270 --> 00:39:49,650 ketika sesuatu telah berubah. 720 00:39:49,650 --> 00:39:51,280 Tapi itu tidak akan membawa kita data. 721 00:39:51,280 --> 00:39:52,720 Kita bisa mendapatkan data melalui menjemput. 722 00:39:52,720 --> 00:39:56,880 Dan Anda lihat kita memiliki objek, dan itu hanya seperti apa yang kita miliki di Mongo, 723 00:39:56,880 --> 00:40:00,040 dengan ID dan teks yang kita masukkan ke dalam. 724 00:40:00,040 --> 00:40:04,200 >> Jadi bagaimana kita memasukkan item di Meteor? 725 00:40:04,200 --> 00:40:07,250 Nah, kita hanya memiliki tugas. 726 00:40:07,250 --> 00:40:09,990 Dan kemudian kita dapat menjalankan perintah insert yang sama, 727 00:40:09,990 --> 00:40:17,520 memberikan kamus atau objek yang dengan format yang sama, teks 728 00:40:17,520 --> 00:40:22,340 dan kemudian saya datang dari konsol. 729 00:40:22,340 --> 00:40:27,240 Lihatlah di atas karena ketika saya melakukan ini, itu muncul di website 730 00:40:27,240 --> 00:40:29,660 secara otomatis. 731 00:40:29,660 --> 00:40:33,291 >> Perhatikan bahwa Anda dapat menempatkan sesuatu Anda inginkan dalam item ini. 732 00:40:33,291 --> 00:40:35,040 Tidak harus memiliki struktur tetap. 733 00:40:35,040 --> 00:40:39,790 Aku bisa memiliki sama dengan nomor tiga dan b sama dengan palsu. 734 00:40:39,790 --> 00:40:41,600 Dan semuanya bekerja. 735 00:40:41,600 --> 00:40:46,000 Aku bahkan dapat memilih untuk tidak termasuk teks sama sekali. 736 00:40:46,000 --> 00:40:48,320 Hal ini tidak dianjurkan meskipun karena itu Meteor 737 00:40:48,320 --> 00:40:50,920 tidak akan tahu apa yang akan ditampilkan. 738 00:40:50,920 --> 00:40:53,110 Namun dalam setiap kasus, kita mendapatkan ID, dan itu 739 00:40:53,110 --> 00:40:54,785 ID dari objek yang dapat Anda gunakan. 740 00:40:54,785 --> 00:41:01,120 741 00:41:01,120 --> 00:41:03,280 >> Seperti kita lanjutkan dengan langkah empat dan langkah lima, 742 00:41:03,280 --> 00:41:06,870 tutorial akan menunjukkan cara-cara yang Anda dapat membuat elemen UI menggunakan 743 00:41:06,870 --> 00:41:13,130 HTML Anda tahu untuk membuat tugas yang berbeda. 744 00:41:13,130 --> 00:41:15,440 Mari kita lihat langkah empat benar-benar cepat. 745 00:41:15,440 --> 00:41:18,290 Kita akan melihat bahwa kami menambahkan bagian tentang peristiwa. 746 00:41:18,290 --> 00:41:20,874 Template dapat memiliki pembantu, yang membawa kita data. 747 00:41:20,874 --> 00:41:22,040 Tetapi juga dapat menghubungi acara. 748 00:41:22,040 --> 00:41:25,300 Dan ini adalah di mana hal-hal menjadi berguna, karena peristiwa 749 00:41:25,300 --> 00:41:28,590 adalah apa yang terjadi ketika Anda mengklik hal yang berbeda di website Anda. 750 00:41:28,590 --> 00:41:33,790 >> Di sini, kode kita adalah memberitahu kami untuk menambah acara ini. 751 00:41:33,790 --> 00:41:38,860 Tambahkan ketika Anda sudah disampaikan sesuatu dengan tugas baru kelas. 752 00:41:38,860 --> 00:41:41,910 Apa yang Anda miliki di sini adalah pemilih CSS. 753 00:41:41,910 --> 00:41:45,870 Jadi ini hanya terlihat untuk HTML elemen yang memiliki tugas baru kelas. 754 00:41:45,870 --> 00:41:47,940 Dan itu terlihat untuk acara tersebut, seperti kirimkan. 755 00:41:47,940 --> 00:41:51,050 Acara lainnya termasuk klik, hover, klik dua kali, 756 00:41:51,050 --> 00:41:54,450 mirip dengan apa yang Anda dapatkan dalam HTML biasa. 757 00:41:54,450 --> 00:41:56,770 >> Apa yang Anda berikan di sini sekarang fungsi. 758 00:41:56,770 --> 00:42:01,210 Dan Anda dapat memiliki Anda kode dalam fungsi tersebut. 759 00:42:01,210 --> 00:42:06,360 Fungsi ini adalah apa yang akhirnya mendapatkan disebut ketika Anda mengirimkan tugas baru ini. 760 00:42:06,360 --> 00:42:12,170 Mari kita lihat HTML supaya kita memahami apa tugas baru ini. 761 00:42:12,170 --> 00:42:15,570 Kami telah menambahkan bentuk sini dengan tugas baru kelas. 762 00:42:15,570 --> 00:42:19,880 Dan memiliki masukan yang mengambil teks. 763 00:42:19,880 --> 00:42:22,605 Dan ini adalah di mana kita akan menambah tugas baru. 764 00:42:22,605 --> 00:42:25,520 765 00:42:25,520 --> 00:42:29,780 >> Mari kita jalankan langkah empat di situs untuk melihat apa yang tampak seperti. 766 00:42:29,780 --> 00:42:32,710 Kita bisa berhenti dulu dari MongoDB kami memiliki 767 00:42:32,710 --> 00:42:35,300 sebelumnya kami Contoh dengan Control C. 768 00:42:35,300 --> 00:42:37,690 Dan mari kita mengubahnya menjadi langkah empat direktori. 769 00:42:37,690 --> 00:42:41,000 770 00:42:41,000 --> 00:42:42,920 Kami akan menjalankan Meteor lagi untuk memulai server. 771 00:42:42,920 --> 00:42:46,850 772 00:42:46,850 --> 00:42:50,510 Dan sayangnya, aku Meteor berjalan di terminal lain. 773 00:42:50,510 --> 00:42:53,080 Jadi aku hanya akan pastikan ini ditutup. 774 00:42:53,080 --> 00:43:01,805 Mari kita berhenti ini dan perubahan untuk bagian empat, langkah empat. 775 00:43:01,805 --> 00:43:02,305 OKE. 776 00:43:02,305 --> 00:43:11,220 777 00:43:11,220 --> 00:43:13,250 >> Sekarang kode Meteor kita sedang berjalan. 778 00:43:13,250 --> 00:43:19,480 Dan Anda dapat melihat bahwa itu diperbarui, tanpa kita bahkan harus me-refresh halaman. 779 00:43:19,480 --> 00:43:24,410 Apa yang telah berubah di sini sekarang bahwa kita tidak memiliki tugas, 780 00:43:24,410 --> 00:43:29,530 tapi kami memiliki bentuk sini, ini kotak teks, untuk menambah tugas baru. 781 00:43:29,530 --> 00:43:31,550 Dan kita dapat mengetik tugas kami di sini. 782 00:43:31,550 --> 00:43:34,564 Saya datang dari halaman HTML. 783 00:43:34,564 --> 00:43:36,105 Ketika saya tekan Enter, itu bisa disampaikan. 784 00:43:36,105 --> 00:43:39,180 785 00:43:39,180 --> 00:43:44,540 >> Kita bisa melihat apa yang terjadi sebagai didefinisikan oleh kode JavaScript. 786 00:43:44,540 --> 00:43:49,930 Apa fungsi ini lakukan adalah mengambil teks dari bentuk, 787 00:43:49,930 --> 00:43:53,680 dan kemudian hanya disebut tasks.insert, seperti yang kami lakukan di konsol. 788 00:43:53,680 --> 00:43:56,410 Mereka juga memilih untuk menambahkan tanggal createdAt. 789 00:43:56,410 --> 00:43:59,840 Ini adalah bagaimana Anda akan menentukan waktu saat ini. 790 00:43:59,840 --> 00:44:03,220 Setelah itu, ia membersihkan bentuk dengan membuat Pastikan nilai adalah string kosong. 791 00:44:03,220 --> 00:44:06,550 >> Dan kemudian memanggil kembali palsu untuk pastikan tidak ada lagi terjadi. 792 00:44:06,550 --> 00:44:10,350 Ketika Anda kembali palsu dari bentuk acara, yang berhenti eksekusi. 793 00:44:10,350 --> 00:44:14,520 Katakanlah bentuk memiliki tindakan, seperti mengirimkan ke halaman PHP. 794 00:44:14,520 --> 00:44:16,980 Jika Anda tidak kembali palsu, Anda akan kembali benar. 795 00:44:16,980 --> 00:44:18,500 Ini akan berakhir membuat permintaan itu. 796 00:44:18,500 --> 00:44:20,590 Penyadapan palsu dan berhenti saat itu juga. 797 00:44:20,590 --> 00:44:23,510 798 00:44:23,510 --> 00:44:28,610 >> Jadi itu demo sedikit tentang bagaimana Meteor bekerja, dan kami sudah 799 00:44:28,610 --> 00:44:30,980 telah mengikuti tutorial untuk sementara waktu. 800 00:44:30,980 --> 00:44:33,560 Dan Anda bisa silahkan bebas untuk terus melakukan hal ini. 801 00:44:33,560 --> 00:44:37,760 Ada banyak sumber daya, dan tutorial sebenarnya hanya 802 00:44:37,760 --> 00:44:40,400 sangat baik tentang menjelaskan apa yang sedang terjadi. 803 00:44:40,400 --> 00:44:44,362 Saya ingin menunjukkan sekarang, di beberapa menit yang tersisa, 804 00:44:44,362 --> 00:44:46,320 apa adalah beberapa fitur pendingin Meteor, 805 00:44:46,320 --> 00:44:48,772 dan apa adalah beberapa paket yang lebih berguna. 806 00:44:48,772 --> 00:44:51,730 Salah satu hal besar mengenai Meteor adalah bahwa Anda memiliki sistem paket. 807 00:44:51,730 --> 00:44:55,620 Anda dapat dengan mudah menggabungkan kode bahwa ribuan pengembang 808 00:44:55,620 --> 00:44:58,840 telah menulis seluruh dunia ke dalam proyek Meteor Anda. 809 00:44:58,840 --> 00:45:02,410 Salah satu contoh dari hal ini adalah apa yang Anda mungkin lakukan pada langkah sembilan dari tutorial, di mana 810 00:45:02,410 --> 00:45:07,435 Anda mencoba untuk menambahkan account proyek Meteor Anda. 811 00:45:07,435 --> 00:45:10,010 812 00:45:10,010 --> 00:45:13,690 Jika kita memiliki CS50 PHP proyek, kita akan memiliki 813 00:45:13,690 --> 00:45:17,810 mengandalkan kerangka atau kode kita sendiri untuk membuat 814 00:45:17,810 --> 00:45:20,820 yakin kita aman menangani password dan username 815 00:45:20,820 --> 00:45:23,120 dan menyimpan database dan semua itu. 816 00:45:23,120 --> 00:45:25,670 >> Ternyata Meteor memiliki beberapa paket untuk melakukannya untuk Anda, 817 00:45:25,670 --> 00:45:29,160 dan melakukannya dengan sangat mudah. 818 00:45:29,160 --> 00:45:31,950 Apa yang bisa kita lakukan adalah menambahkan beberapa paket. 819 00:45:31,950 --> 00:45:37,450 Jadi mari kita lakukan benar itu sekarang dalam konsol kami. 820 00:45:37,450 --> 00:45:42,460 Aku akan berhenti proyek dan sekarang masuk ke sederhana-todos. 821 00:45:42,460 --> 00:45:47,450 822 00:45:47,450 --> 00:45:50,050 Sekarang, sederhana-todos adalah proyek yang Anda 823 00:45:50,050 --> 00:45:53,500 akan memiliki setelah dilakukan dengan langkah 11 atau 12 langkah, 824 00:45:53,500 --> 00:45:55,250 pada akhir tutorial ini. 825 00:45:55,250 --> 00:45:58,642 Dan mari kita cepat melihat untuk melihat apa saja fitur yang berbeda yang kita miliki. 826 00:45:58,642 --> 00:46:01,610 Mari kita pastikan itu berjalan. 827 00:46:01,610 --> 00:46:04,400 Kadang-kadang dibutuhkan waktu untuk menyegarkan, tapi di sini adalah. 828 00:46:04,400 --> 00:46:09,710 >> Kami memiliki pilihan kami untuk menyembunyikan tugas selesai, dan kita bisa masuk. 829 00:46:09,710 --> 00:46:11,770 Dan ini dilakukan dengan paket Meteor. 830 00:46:11,770 --> 00:46:12,270 Itu bagus. 831 00:46:12,270 --> 00:46:14,910 Kita sekarang telah nama pengguna dan tanda password. 832 00:46:14,910 --> 00:46:19,170 Tapi bagaimana kalau kita ingin menambahkan jenis lain dari mekanisme login? 833 00:46:19,170 --> 00:46:22,560 Katakanlah saya ingin log dengan akun Meteor saya. 834 00:46:22,560 --> 00:46:27,270 Aku akan menjalankan meteor add, dan ini adalah sintaks untuk menambahkan paket. 835 00:46:27,270 --> 00:46:32,160 Saya dapat mengatakan rekening, dan accounts.meteor. 836 00:46:32,160 --> 00:46:35,720 Itu akan sekarang menemukan paket dan beban itu. 837 00:46:35,720 --> 00:46:40,480 Anda dapat melihat bahwa saya belum menemukan nama paket yang tepat. 838 00:46:40,480 --> 00:46:42,820 >> Jadi bagaimana Anda mencari tahu tentang paket? 839 00:46:42,820 --> 00:46:46,380 Yah ada situs web yang besar, membuat tersedia oleh orang-orang Meteor, 840 00:46:46,380 --> 00:46:47,780 disebut atmospherejs.com. 841 00:46:47,780 --> 00:46:52,520 Atmospherejs, satu kata, titik com, adalah gudang besar 842 00:46:52,520 --> 00:46:57,660 untuk menemukan semua Meteor paket dalam repositori. 843 00:46:57,660 --> 00:47:05,140 Saya dapat mencari account, dan kemudian itu akan menunjukkan semua hal yang relevan, 844 00:47:05,140 --> 00:47:07,320 semua paket dengan nama akun. 845 00:47:07,320 --> 00:47:10,180 846 00:47:10,180 --> 00:47:13,270 >> Sementara itu beban, kita dapat mencoba menambahkan beberapa paket lainnya. 847 00:47:13,270 --> 00:47:19,380 Mungkin paket Meteor tidak bekerja sekarang, tapi saya dapat menambahkan Facebook. 848 00:47:19,380 --> 00:47:22,860 849 00:47:22,860 --> 00:47:27,190 Saya dapat menambahkan account dan kemudian menjalankan proyek Meteor lagi. 850 00:47:27,190 --> 00:47:33,260 851 00:47:33,260 --> 00:47:36,900 Setelah ini dimulai, mari kita lihat apa yang berubah di website. 852 00:47:36,900 --> 00:47:40,010 853 00:47:40,010 --> 00:47:44,580 Anda dapat see-- aku mungkin harus me-refresh sini. 854 00:47:44,580 --> 00:47:47,320 >> Saya memiliki tombol untuk mengkonfigurasi Facebook login. 855 00:47:47,320 --> 00:47:49,765 Dan di sini, aku memiliki semua instruksi Meteor 856 00:47:49,765 --> 00:47:52,960 telah dipersiapkan untuk Anda untuk menyiapkan aplikasi Facebook. 857 00:47:52,960 --> 00:47:58,990 Dan Anda dapat menggunakan Informasi untuk menambahkan ID Anda. 858 00:47:58,990 --> 00:48:04,130 Setelah itu selesai, Anda akan memiliki Facebook Login bekerja di app. 859 00:48:04,130 --> 00:48:08,559 >> Aku hanya akan mendapatkan ID aplikasi dan rahasia, 860 00:48:08,559 --> 00:48:10,100 hanya untuk menunjukkan kepada Anda bagaimana ini bisa bekerja. 861 00:48:10,100 --> 00:48:16,000 862 00:48:16,000 --> 00:48:20,360 Anda akan memerlukan account Facebook untuk menggunakan opsi pengembang Facebook. 863 00:48:20,360 --> 00:48:31,160 864 00:48:31,160 --> 00:48:35,290 Mari saya hanya cepat menemukan Kunci meteor yang diperlukan. 865 00:48:35,290 --> 00:48:46,994 866 00:48:46,994 --> 00:48:49,160 Aku punya proyek lain Meteor bahwa aku akan menggunakan, 867 00:48:49,160 --> 00:48:55,590 dan aku hanya akan mengambil kunci dari file tersebut. 868 00:48:55,590 --> 00:49:14,410 869 00:49:14,410 --> 00:49:20,930 >> Dan setelah saya menemukannya, aku hanya bisa untuk menyalin kunci tersebut ke Facebook saya. 870 00:49:20,930 --> 00:49:23,489 Jadi di sini adalah kunci. 871 00:49:23,489 --> 00:49:24,280 Dan ini rahasia. 872 00:49:24,280 --> 00:49:26,071 Anda tidak harus berbagi dengan orang-orang. 873 00:49:26,071 --> 00:49:28,870 874 00:49:28,870 --> 00:49:30,910 Dan kemudian Anda memberikan rahasia aplikasi Anda. 875 00:49:30,910 --> 00:49:33,560 Dan ini sangat Facebook tahu Anda adalah Anda. 876 00:49:33,560 --> 00:49:37,630 877 00:49:37,630 --> 00:49:39,080 Dan Anda menyimpan konfigurasi. 878 00:49:39,080 --> 00:49:45,160 879 00:49:45,160 --> 00:49:48,640 >> Saya pikir dalam proses I telah berhenti app Meteor saya. 880 00:49:48,640 --> 00:49:52,290 Jadi saya hanya ingin membuat yakin itu masih ada. 881 00:49:52,290 --> 00:49:54,962 882 00:49:54,962 --> 00:49:58,610 OK, mari kita pastikan Server Meteor kami berjalan sehingga halaman web berjalan. 883 00:49:58,610 --> 00:50:02,440 Perhatikan jika kita menghentikan Meteor Server, halaman masih ada. 884 00:50:02,440 --> 00:50:04,700 Ini tidak akan memperbarui lagi. 885 00:50:04,700 --> 00:50:10,290 Server Meteor diperlukan untuk memastikan halaman tersebut hidup. 886 00:50:10,290 --> 00:50:14,050 >> OK, aku sudah menyerahkannya, dan sekarang Aku bisa masuk dengan Facebook. 887 00:50:14,050 --> 00:50:17,400 Sekarang hanya masalah memiliki pop up Facebook 888 00:50:17,400 --> 00:50:21,710 dan menempatkan dalam akun Anda informasi dan penebangan di. 889 00:50:21,710 --> 00:50:24,520 890 00:50:24,520 --> 00:50:27,930 Setelah Anda melakukan itu, Facebook mungkin nag Anda untuk beberapa keamanan yang lebih. 891 00:50:27,930 --> 00:50:29,810 Jadi kita hanya akan berhenti di situ. 892 00:50:29,810 --> 00:50:34,110 Intinya adalah bahwa ketika Anda sudah selesai dengan itu, Anda akan memiliki Facebook login. 893 00:50:34,110 --> 00:50:37,850 >> Meteor memiliki banyak paket lain juga. 894 00:50:37,850 --> 00:50:39,200 Anda dapat login dengan Google+. 895 00:50:39,200 --> 00:50:40,500 Anda dapat login dengan GitHub. 896 00:50:40,500 --> 00:50:42,170 Anda dapat login dengan Twitter. 897 00:50:42,170 --> 00:50:44,870 Atau jika Anda mencari, Anda akan menemukan banyak hal-hal lain 898 00:50:44,870 --> 00:50:49,170 seperti Meetup, LinkedIn, dan Meteor Developer. 899 00:50:49,170 --> 00:50:53,100 Jadi Meteor Pengembang adalah Paket yang saya cari. 900 00:50:53,100 --> 00:50:56,170 meteor-meteor menambahkan account-pengembang. 901 00:50:56,170 --> 00:51:06,192 902 00:51:06,192 --> 00:51:07,900 Sementara itu, saya juga ingin merekomendasikan 903 00:51:07,900 --> 00:51:11,340 beberapa paket lainnya untuk proyek-proyek Anda. 904 00:51:11,340 --> 00:51:14,670 Ini mungkin dapat berguna bagi termasuk paket jQuery. 905 00:51:14,670 --> 00:51:17,909 Hal ini memungkinkan Anda untuk menggunakan jQuery di klien Anda. 906 00:51:17,909 --> 00:51:21,200 Anda hanya bisa melakukannya dengan satu baris, dan Meteor akan pastikan Anda up to date 907 00:51:21,200 --> 00:51:21,825 pada jQuery. 908 00:51:21,825 --> 00:51:24,330 909 00:51:24,330 --> 00:51:27,450 Saya juga merekomendasikan houston: admin. 910 00:51:27,450 --> 00:51:31,550 >> Ini adalah jenis seperti phpMyAdmin sebuah jenis alat untuk MongoDB Anda. 911 00:51:31,550 --> 00:51:33,890 Hal ini memungkinkan Anda untuk mengedit Data Anda cukup mudah 912 00:51:33,890 --> 00:51:37,950 tanpa harus pergi ke shell Mongo, seperti aku telah dilakukan sebelumnya dalam seminar. 913 00:51:37,950 --> 00:51:43,160 914 00:51:43,160 --> 00:51:47,101 Jadi sekarang yang berjalan, mari kita jalankan Meteor lagi dan melihat apa yang bisa kita lakukan. 915 00:51:47,101 --> 00:51:56,240 916 00:51:56,240 --> 00:52:00,720 >> Anda melihat bahwa menambahkan beberapa paket mungkin mereka menyajikan beberapa peringatan. 917 00:52:00,720 --> 00:52:02,720 Anda tidak perlu khawatir tentang itu dengan houston. 918 00:52:02,720 --> 00:52:06,040 919 00:52:06,040 --> 00:52:10,810 Jadi sekarang kita bisa memiliki pilihan untuk mengkonfigurasi Meteor admin. 920 00:52:10,810 --> 00:52:15,080 Dan mereka memberikan arah jika Anda ingin mengatur bahwa sampai. 921 00:52:15,080 --> 00:52:17,750 922 00:52:17,750 --> 00:52:20,440 >> Kita juga bisa sekarang pergi ke / admin. 923 00:52:20,440 --> 00:52:23,280 Hal ini dibawa ke Anda oleh paket houston. 924 00:52:23,280 --> 00:52:27,470 Dan ini adalah Meteor antarmuka admin. 925 00:52:27,470 --> 00:52:30,660 Anda hanya membuat account admin, seperti begitu. 926 00:52:30,660 --> 00:52:38,150 Dan jika Anda me-refresh halaman, Anda mungkin memiliki beberapa koleksi muncul. 927 00:52:38,150 --> 00:52:40,980 928 00:52:40,980 --> 00:52:43,460 >> Ini adalah alat yang sangat berguna, dan saya sangat merekomendasikan hal ini. 929 00:52:43,460 --> 00:52:46,717 930 00:52:46,717 --> 00:52:49,050 Anda dapat melihat bahwa karena houston sedang memberikan beberapa kesalahan, 931 00:52:49,050 --> 00:52:52,330 kita tidak memiliki koleksi manapun muncul sekarang. 932 00:52:52,330 --> 00:52:56,800 Cara Anda akan menggunakan houston adalah memastikan fungsi ini mendapat 933 00:52:56,800 --> 00:52:58,860 memanggil sederhana-todos Anda. 934 00:52:58,860 --> 00:53:01,370 Jadi houston tidak tahu apa tugas saya. 935 00:53:01,370 --> 00:53:04,490 >> Kami mendirikan Mongo Koleksi yang disebut tugas. 936 00:53:04,490 --> 00:53:11,390 Mari kita pergi ke sederhana-todos dan hanya pastikan bahwa dalam JavaScript, 937 00:53:11,390 --> 00:53:16,295 kami telah menambahkan tugas untuk koleksi kami. 938 00:53:16,295 --> 00:53:19,340 939 00:53:19,340 --> 00:53:25,670 Sekarang kami telah diselamatkan, dan itu membangun aplikasi, menyegarkan. 940 00:53:25,670 --> 00:53:26,750 Dan mari kita lihat. 941 00:53:26,750 --> 00:53:29,090 Sekarang kami memiliki beberapa tugas. 942 00:53:29,090 --> 00:53:32,630 Dan kita dapat menambahkan beberapa tugas baru. 943 00:53:32,630 --> 00:53:35,840 Tetapi jika kita ingin menambahkan tugas, mari kita lakukan dengan aplikasi itu sendiri. 944 00:53:35,840 --> 00:53:39,660 945 00:53:39,660 --> 00:53:41,050 >> Sekarang kita dapat menambahkan beberapa data. 946 00:53:41,050 --> 00:53:53,410 Hai, ini adalah tugas. 947 00:53:53,410 --> 00:53:57,080 Tampaknya agak aneh bahwa kita tidak melihat tugas. 948 00:53:57,080 --> 00:54:00,290 949 00:54:00,290 --> 00:54:05,260 Kita mungkin ingin memeriksa apakah kita punya kesalahan di sini, atau mungkin di tempat lain. 950 00:54:05,260 --> 00:54:08,810 951 00:54:08,810 --> 00:54:20,260 Jika kita masuk ke admin, yang tampaknya aneh. 952 00:54:20,260 --> 00:54:24,080 Jika Anda menarik repositori setelah seminar ini, 953 00:54:24,080 --> 00:54:27,580 Saya akan memastikan bahwa sederhana-todos bekerja dengan houston. 954 00:54:27,580 --> 00:54:30,370 Sayangnya, hal itu tampaknya tidak dapat bekerja pada saat ini. 955 00:54:30,370 --> 00:54:34,810 956 00:54:34,810 --> 00:54:37,640 >> Apakah ada pertanyaan lain? 957 00:54:37,640 --> 00:54:41,800 Houston biasanya adalah alat yang bekerja sangat baik. 958 00:54:41,800 --> 00:54:44,510 Houston khusus sedikit buggier daripada yang lain, 959 00:54:44,510 --> 00:54:49,470 tapi saya merekomendasikan hal ini ketika bekerja. 960 00:54:49,470 --> 00:54:50,080 Ya. 961 00:54:50,080 --> 00:54:52,395 >> AUDIENCE: Apa yang dapat Anda lakukan dengan paket Facebook 962 00:54:52,395 --> 00:54:54,270 sekali pengguna login melalui Facebook mereka? 963 00:54:54,270 --> 00:54:55,978 >> ROGER ZURAWICKI: Setelah pengguna login, 964 00:54:55,978 --> 00:54:59,540 Anda dapat membuat panggilan ke Facebook API. 965 00:54:59,540 --> 00:55:02,890 Banyak yang terletak lebih dalam bagaimana Facebook membuka API mereka. 966 00:55:02,890 --> 00:55:05,120 Meteor, pastikan Anda memiliki koneksi. 967 00:55:05,120 --> 00:55:09,300 Tapi semuanya setelah itu adalah suatu hal belajar bagaimana menggunakan Facebook API. 968 00:55:09,300 --> 00:55:10,216 AUDIENCE: [tidak terdengar]. 969 00:55:10,216 --> 00:55:17,756 970 00:55:17,756 --> 00:55:18,880 ROGER ZURAWICKI: Baiklah. 971 00:55:18,880 --> 00:55:21,670 Terima kasih banyak untuk Seminar CS50 ini di Meteor. 972 00:55:21,670 --> 00:55:24,060 Jika Anda memiliki pertanyaan, Anda bisa email saya 973 00:55:24,060 --> 00:55:28,319 di alamat email saya tercantum di bawah seminar. 974 00:55:28,319 --> 00:55:30,110 Dan aku akan dengan senang hati menjawab pertanyaan Anda. 975 00:55:30,110 --> 00:55:33,020 Saya juga akan berada di CS50 Hackathon harus 976 00:55:33,020 --> 00:55:35,550 Anda perlu bantuan dengan proyek Meteor Anda. 977 00:55:35,550 --> 00:55:37,650 Terima kasih telah menyaksikan. 978 00:55:37,650 --> 00:55:38,816