[MUSIC PLAYING]
ROGER ZURAWICKI: Hi, saya Nama Roger Zurawicki,
dan saya akan mencakup seminar CS50 Meteor.
Meteor adalah kerangka kerja baru dikhususkan untuk jenis baru web,
bukan PHP membuat permintaan bolak-balik semacam
web yang kita lihat di set PHPP, tetapi lebih dinamis JavaScript
bagian dari web.
Hal Meteor bisa melakukan termasuk Live Memperbarui
dan segera berkomunikasi antara pengguna dari situs yang sama.
>> Untuk seminar ini, kita memiliki Kode host di GitHub saya.
Anda dapat pergi ke URL ini dan download.
Jika Anda tahu bagaimana menggunakan Git, Anda dapat mengkloning repositori.
Jika Anda tidak tahu bagaimana menggunakan Git atau belum pernah menggunakan GitHub,
itu benar-benar baik-baik saja.
Aku akan menunjukkan Anda benar-benar cepat bagaimana kita bisa pergi ke GitHub,
dan ada pilihan untuk men-download zip di sana.
Setelah Anda men-download direktori ini, Anda bisa mulai bermain dengan kode kita.
>> Informasi lebih lanjut tentang Meteor dapat ditemukan di meteor.com.
Dalam folder Seminar, aku benar-benar memiliki beberapa proyek Meteor bisa kita gunakan.
Salah satu folder yang kita miliki di kami Proyek seminar adalah aplikasi todos.
Jadi jika aku pergi ke dalamnya I, memiliki Meteor diinstal.
Jadi untuk menjalankannya, saya hanya perlu mengetikkan Meteor, dan Meteor akan menginstal.
Seperti yang Anda lihat, kita harus pastikan kami memasang Meteor.
Jadi aku hanya akan menjalankannya sekali lagi
memastikan bahwa Meteor terpasang dengan benar.
>> Sementara saya Meteor menginstal, saya bisa menunjukkan Anda
beberapa demo live situs Meteor akan hidup sekarang di internet.
Saya memiliki demo aplikasi kita.
Anda dapat mengaksesnya di URL berikut.
Ini adalah untuk melakukan aplikasi yang kita ada di direktori seminar kami.
URL untuk ini adalah rozu-rabbit.meteor.com.
Anda akan melihat bahwa Meteor akan benar-benar tuan rumah proyek Meteor Anda secara gratis.
Dan pada akhir seminar, Anda akan dapat melakukan hal ini juga.
>> Ini adalah untuk melakukan daftar aplikasi.
Dan Anda dapat masuk, buat rekening, dan menambahkan tugas.
Anda dapat membuat account seperti begitu.
Dan sekarang, setelah Anda memiliki akun, Anda dapat menambahkan tugas.
Sebagai contoh, salah satu tugas saya mungkin perlu untuk pergi mengambil binatu.
Dan jika Anda berada di ini situs online, Anda akan
benar-benar melihat tugas ini pada komputer Anda secara real time.
>> Saya bisa menunjukkan demo cepat ini dengan membuka Rozu-kelinci
di tab lain dengan URL yang sama.
Dan kita melihat bahwa data yang sama muncul.
Kami juga dapat menjalankannya di browser yang berbeda.
Katakanlah saya jalankan di Safari.
Dengan cara itu kita belum login.
Jadi kita memiliki Meteor yang sama app, dan sekali beban,
kita akan melihat data yang sama kita lakukan di yang pertama.
Seperti yang Anda lihat, aku tidak login di sini.
Dan ketika data cek penonton, itu update pada semua browser
secara bersamaan.
Ini adalah salah satu yang benar-benar fitur keren tentang Meteor.
Dengan hampir tidak ada pekerjaan, Anda memiliki aplikasi memperbarui hidup
bahwa perubahan pada semua Perangkat Anda sekaligus.
>> Jika saya memeriksa kotak centang di sini di saya untuk melakukan daftar, kita akan memiliki,
di browser Chrome saya yang lain, item diperiksa.
Dan ini terjadi secara instan.
Baiklah.
Jadi sepertinya Meteor instalasi siap sekarang.
Jadi sekarang mari kita kembali ke app todos dan menjalankan ini secara lokal.
>> Jika Anda memiliki proyek Meteor, Anda dapat hanya menjalankannya dengan perintah Meteor.
Setelah Anda melakukan ini, Meteor akan melakukan beberapa persiapan
untuk memastikan semua kode Anda di cek.
Dan kemudian akan memberitahu Anda bahwa Proyek siap untuk dilayani.
Anda mungkin perlu untuk memungkinkan Anda firewall, jika komputer Anda blok Anda.
>> Jadi apa Meteor mengatakan kepada saya sekarang adalah bahwa di situs ini
lokal ke komputer saya, saya bisa melihat apa proyek Meteor ini.
Perhatikan bahwa sekarang, app saya tidak dapat diakses ke internet.
Kita akan membahas bagaimana membawa Meteor Anda app ke situs hidup sedikit di kemudian hari.
Jadi aku hanya akan menyalin ini URL sekarang dan masuk ke Google Chrome.
>> Dan ini adalah untuk melakukan daftar dari contoh.
Anda dapat melihat mereka diimplementasikan beberapa fitur lebih lanjut di sini.
Kami memiliki tab yang berbeda, kami memiliki fitur akun yang sama,
dan kita dapat menambahkan daftar baru.
Sekarang, salah satu yang benar-benar Fitur keren tentang Meteor
adalah bahwa tidak hanya dapat ini bekerja pada web browser Anda,
tetapi Anda juga dapat membuat asli iPhone dan Android
aplikasi melalui alat yang disebut PhoneGap.
>> Jadi beberapa proyek akan datang pra-dikonfigurasi untuk menjalankan
pada iOS, seperti aplikasi todos ini.
Jadi semua harus saya lakukan untuk menjalankannya di iOS adalah jenis Meteor, menjalankan, dan kemudian iOS.
Dan ketika saya melakukan itu, Meteor akan mempersiapkan paket lagi.
Dan kemudian, setelah siap, itu akan memuat simulator iOS pada perintah saya.
Catatan Anda hanya dapat menjalankan iOS apps jika Anda memiliki komputer Mac.
Anda dapat menjalankan aplikasi Anda Android pada semua platform.
>> Jadi sekarang Anda dapat melihat bahwa iPhone simulator muncul di layar saya.
Dan hanya dalam beberapa saat, itu akan memuat dengan app.
Jika kita membuat hanya sedikit lebih kecil untuk muat pada layar,
kita melihat kita memiliki aplikasi iPhone kami.
Dan agar kita tidak bingung, mari kita membuat
yakin kita berada di sama website, host lokal 3000.
>> Jadi di sini adalah contoh dari aplikasi Meteor yang saya miliki,
aplikasi todos, berjalan baik di telepon dan browser web.
Dan ketika saya mengubah hal-hal di web browser,
segera pergi ke telepon.
Dan aku bisa menghapus sesuatu di telepon, dan perubahan dalam browser web.
>> Sekarang, biasanya untuk membuat asli aplikasi ponsel untuk iOS atau Android,
Anda perlu tahu baik Java atau Tujuan C. Teknologi menggunakan Meteor
untuk memungkinkan JavaScript untuk menjalankan sebagai app disebut PhoneGap.
Apa aplikasi Anda pada dasarnya adalah merupakan web browser.
Dan Meteor menangani semua bagian rumit yang terlibat
untuk membawa bahwa web browser untuk iPhone atau perangkat Android Anda.
Anda dapat melihat bahwa User interface yang halus,
dan itu terlihat dan terasa sangat seperti aplikasi asli.
Perhatikan bahwa jika saya pergi ke rumah Layar sekarang, saya juga mendapatkan ikon.
Ini bukan sebuah situs web seperti Anda akan menemukan di Safari.
Ini adalah aplikasi sendiri.
Anda dapat menginstal dan menghapusnya jika Anda ingin.
>> Kita bisa secara singkat menunjukkan apa kode untuk jenis todos aplikasi seperti.
Jika Anda melihat di folder todos, Anda akan melihat ada banyak folder.
Tapi selama kursus seminar, kita akan
memahami apa setiap folder yang digunakan untuk.
Mari kita pergi ke terminal sehingga kita dapat melihat file sedikit lebih baik.
>> Aku akan menekan Control C untuk menghentikan server,
dan sekarang aku kembali aplikasi todos.
Saya memiliki folder yang berbeda di sini, seperti folder klien, server folder.
Dan folder ini hanya berarti bahwa segala sesuatu dalam folder client
dijalankan pada browser web Anda.
Segala sesuatu di folder Server dijalankan pada server.
>> Apa yang saya ingin menunjukkan adalah bahwa apa yang kita miliki
ketika kita memiliki berjalan telepon kami dan Browser web kami, ini adalah klien.
Tapi apa yang berjalan di terminal, itu server.
Kami memiliki folder lain, seperti lib, yang merupakan kode perpustakaan,
seperti pembantu Anda fungsi, yang dapat Anda
digunakan pada kedua klien dan server.
Dan kemudian Anda memiliki publik folder dan sumber daya
folder yang diperlukan untuk mendapatkan gambar dan CSS lainnya dimuat.
>> Jika Anda telah Meteor terinstal, kita akan lanjutkan dengan tutorial untuk Meteor.
Anda dapat pergi ke URL ini, meteor.com/install,
untuk mendapatkan baris perintah yang saya menunjukkan bahwa menginstal Meteor.
Kami akan melalui yang pertama beberapa langkah untuk mendapatkan yang lebih baik
merasa tentang cara menginstal Meteor.
>> Tapi pertama-tama, saya pikir itu penting bahwa kami meninjau sedikit JavaScript.
Untuk menunjukkan beberapa contoh bagaimana pengetahuan C kita dapat diterjemahkan
untuk JavaScript, saya sudah menciptakan beberapa contoh.
Mereka berada di direktori js.
Jadi jika di folder seminar Anda melihat, ada sebuah folder bernama js.
Dan di sini, kita memiliki beberapa contoh.
>> Mari kita membuka pertama Misalnya dan melihat sangat cepat.
Apa yang kita lihat adalah standar Anda halo perintah dunia.
Anda melihat di C yang Anda memiliki beberapa baris.
Dan sebagai mahasiswa CS50 tahu, kita perlu fungsi utama,
dan kita harus menyertakan standar I / O perpustakaan untuk memanggil printf.
>> Mari kita lihat bagaimana membandingkan JavaScript.
Aku akan membuka ex1.js.
Komentar adalah apa yang C kode akan terlihat seperti,
dan garis bawah adalah semua Anda perlu menjalankan di Node.
Anda tidak perlu fungsi utama, Anda tidak perlu menyertakan file,
dan Anda tidak perlu untuk kembali.
Anda hanya memanggil console.log.
Ini adalah setara dengan printf Anda.
>> Dan dibutuhkan sama argumen printf akan.
Dan untuk menjalankannya, bukannya berjalan membuat EX1,
Anda hanya akan memanggil Node ex1.js.
Anda menulis Node dan kemudian file, dan itu akan dijalankan.
Tidak bisa dikompilasi.
JavaScript adalah bahasa ditafsirkan.
Jadi tidak perlu disusun sebelum dijalankan.
Jika saya ingin menjalankan ex1.c, Aku harus membuatnya terlebih dahulu,
dan kemudian saya bisa menjalankan executable untuk mendapatkan output yang sama.
>> Mari kita cepat menutupi beberapa konsep JavaScript lainnya.
Mari kita lihat contoh dua.
Dalam ex2.js, di ex2.c, kita bisa melihat bahwa kita memiliki beberapa kode.
Biar cepat pergi ke editor teks yang lebih baik
yang akan menunjukkan ini baris baru sedikit lebih baik.
Baiklah.
Di sini kita memiliki contoh 2.c.
Di sini kita memiliki berbagai jenis bahwa kita mencetak.
Dan seperti yang kita tahu, printf membutuhkan persen argumen yang berbeda
untuk mengakses bagian yang berbeda dari data.
Jika kita ingin mencetak string, kita sebut% s.
Jika kita ingin memanggil floating sebuah nomor titik, kita disebut% f.
Dan tidak ada cara mudah untuk memanggil Boolean dengan nilai benar atau salah nya.
Tetapi jika Anda menggunakan% d, Anda bisa mendapatkan 0 atau 1 untuk salah dan benar.
>> JavaScript adalah sedikit lebih bagus untuk kita.
Dalam JavaScript, mari kita lihat beberapa perbedaan yang kita miliki di file ini.
Pertama, Anda melihat bahwa di C kita harus menginisialisasi setiap variabel dengan tipe.
S adalah bintang arang.
Ini string, dan tidak bisa jenis lain.
N adalah pelampung.
B adalah Bool.
>> Namun dalam JavaScript, ada jenis yang dinamis.
Itu berarti bahwa Anda tidak perlu memberitahu JavaScript
apa jenis variabel Anda akan.
Anda hanya mengatakan var untuk variabel, nama variabel, dan kemudian nilainya.
Jadi var bisa apa saja yang benar-benar.
Hal ini dapat string.
Ini bisa menjadi angka floating point.
Hal ini dapat karakter.
Ini bisa menjadi Boolean.
Dan log konsol bekerja sedikit berbeda.
Jika Anda ingin mencetak nomor, Anda menelepon% d.
Tapi kebanyakan nilai dapat dicetak sebagai string saja.
>> Mari kita jalankan ini di Node untuk melihat apa yang akan terjadi.
Aku bisa menelepon Node ex2.js, dan kami mendapatkan printf
dengan nilai CS50, N sebagai nomor floating point,
dan kemudian B sebagai Boolean yang dikonversi ke string yang benar.
Bagaimana jika kita membuat contoh 2c?
Yah, kita masih memiliki beberapa lebih gangguan dengan printf.
Perhatikan bahwa floating point Jumlah harus diformat dengan benar,
dan bahwa Boolean tidak bisa hanya ditampilkan sebagai benar atau salah.
Baiklah.
Sekarang mari kita lihat contoh tiga.
Dalam contoh tiga, kami menunjukkan bagaimana Anda akan menggunakan untuk loop.
Bahkan, itu sangat sederhana.
Salah satu hal baik tentang JavaScript adalah bahwa hal itu didasarkan C.
Itu berarti bahwa banyak Anda Kode akan terlihat sangat mirip
dan merasa sangat banyak yang sama.
Dalam untuk loop, satu-satunya hal yang telah benar-benar berubah di sini
adalah bukan int i, kita memiliki var i.
Kita masih bisa menetapkan menghargai nol, periksa bahwa itu kurang dari lima,
dan kenaikan itu oleh salah satu dengan operator ++.
Kami menyebutnya console.log pada saya, dan bahwa akan mencetak kita nomor dengan setiap baris.
Mari kita jalankan itu benar-benar cepat untuk melihat apa output.
Kami mendapatkan nomor baru di setiap baris.
Hal lain yang saya ingin Anda untuk melihat dengan console.log
adalah Anda tidak perlu menulis backslash n untuk baris baru.
Console.log akan mencetak segala sesuatu pada baris sendiri.
Itu fitur bagus bahwa JavaScript memberi kita.
>> Sekarang mari kita membuka contoh empat.
Dalam contoh empat, pertama di C, kita panggil beberapa fungsi.
Perhatikan bahwa kita harus menyatakan fungsi sebelum kita menggunakannya dalam utama.
Jika kita memiliki utama pertama dan kemudian tambahkan dan kemudian tinggi, membuat,
dentang, atau GCC akan memberi kita error mengatakan
bahwa ia tidak tahu apa yang tinggi.
Ia tidak tahu apa yang add.
Jadi di C, Anda harus pilih-pilih tentang urutan di mana Anda memanggil fungsi-fungsi Anda.
>> Mari kita lihat bagaimana Anda dapat melakukan ini dalam JavaScript.
Kami memiliki file yang berbeda karena ada adalah beberapa cara untuk melakukan hal ini.
Salah satu cara adalah cukup banyak terjemahan langsung.
Karena fungsi dalam C jenis kembali, dan JavaScript
tidak benar-benar tahu atau perawatan tentang apa tipe Anda kembali,
Anda tidak menulis tipe.
Sebaliknya, Anda hanya perlu menulis fungsi,
dan semuanya cukup sama seperti sebelumnya.
>> Bila Anda memiliki variabel, seperti di menambahkan, kita hanya perlu menulis x dan y.
Kami tidak perlu mengatakan x adalah int.
Kami tidak perlu mengatakan y adalah int.
Kami kembali dengan sintaks yang sama.
Untuk tinggi, kami berbicara dengan berfungsi bukannya batal.
Perhatikan bahwa apakah itu batal atau non-batal,
itu masih semua fungsi yang sama.
Dan kami hanya tidak menempatkan apapun dalam tanda kurung,
dan terlihat sangat mirip dengan kode C.
Dan di bawah ini, kita bisa menyebutnya bawah.
>> Jika kita lihat contoh 4b, kita perhatikan bahwa saya telah berubah beberapa hal.
Satu-satunya hal yang saya berubah benar-benar meskipun adalah pesanan.
Kami memiliki yang sama fungsi, tapi sekarang mereka
menyatakan setelah mereka digunakan dalam console.log dan tinggi pada jalur 18, 19.
Jika Anda melakukan ini di C, membuat akan melempar kesalahan.
Di sini, ini bekerja dengan baik.
Dan aku bisa menunjukkan hal ini kepada Anda oleh memanggil Node pada contoh 4b.
>> Cara lain kita dapat memanggil fungsi adalah dengan menyimpan fungsi sebagai variabel.
Seperti saya katakan, variabel dapat memiliki jenis.
Salah satu jenis variabel dapat miliki adalah fungsi.
Jadi jika Anda melihat contoh 4c, apa yang saya berubah
di sini adalah var menambahkan bukan fungsi add.
Dan sekarang tambahkan sama dengan fungsi.
Fungsi ini di sini adalah anonim.
Tidak memiliki nama, sehingga hanya fungsi dan kemudian kurung.
Sintaks setelah itu tidak berubah, tetapi Anda
memang harus diingat bahwa Anda memiliki variabel yang Anda
menyimpan fungsi menjadi add, dan variabel yang Anda menyimpan ke tinggi.
>> Karena menambah dan tinggi sekarang variabel dan tidak berfungsi, sesuatu perubahan.
Ini adalah bug umum yang saya lihat di banyak javascripts orang,
dan sesuatu yang perlu diingat.
Ketika saya menjalankan ini, mari kita lihat apa yang terjadi.
Saya mendapatkan error.
Itu mengatakan tidak terdefinisi pada saat ini.
Jadi itu mengatakan tidak tahu apa tambahkan adalah.
>> Karena saat menambahkan bukanlah Fungsi, tambahkan adalah variabel.
Dan Anda belum benar-benar diberikan menambahkan nilai namun ketika Anda menggunakannya.
Yang membawa kita ke contoh 4d, di mana jika Anda ingin menggunakan variabel sebagai fungsi,
Anda hanya perlu memastikan bahwa mereka mendapatkan nilai sebelum mereka digunakan.
>> Mari kita beralih ke contoh lima kemudian.
Di sini, kita berbicara tentang struct di C. Dalam C, struct
memiliki struktur ini tetap mereka karena Anda harus menyatakan mereka
sebelum Anda menggunakannya, dan Anda mengatakan bahwa saya memiliki mahasiswa,
dan setiap siswa memiliki tepat satu nama, satu tahun, salah satu jenis kelamin.
Ini harus memiliki semua dari mereka.
Hal ini tidak dapat memiliki nilai-nilai lain, dan mereka harus tipe tertentu.
>> Kemudian kita bisa menginisialisasi struct dalam sintaks ini bagus
karena ia tahu perintah.
Jadi tahu bahwa Roger adalah nama.
Ia tahu bahwa 2016 adalah tahun dan M adalah jenis kelamin
karena kami diberitahu ini daftar adalah mahasiswa struct.
Dan kemudian Anda dapat mencetak itu, mengakses s.name.
Mari kita lihat bagaimana kita akan mengkonversi ke JavaScript.
Perhatikan bahwa s sekarang menjadi variabel, dan tidak ada jenis.
Hanya saja var lagi.
Karena tidak masalah jika jenis variabel ini adalah pointer,
itu adalah struct, atau apa pun.
Kami memiliki sintaks yang sedikit berbeda.
Sintaks ini adalah sintaks objek.
>> Anda mungkin telah melihat itu di JSON.
JSON sebenarnya singkatan JavaScript Object Notation.
Ini adalah bagaimana Anda mendefinisikan objek dalam JavaScript.
Kami memiliki kunci, yaitu nilai, seperti nama.
Dan kami memberikan nilai pada sisi lain dari usus besar.
Dan satu hal yang perlu diingat adalah Anda tidak perlu memiliki nama dan tahun
dan jenis kelamin untuk objek.
Sebuah objek dapat memiliki nilai.
Hal ini dapat memiliki sebanyak yang Anda inginkan.
>> Kita dapat menggunakan benda-benda hanya dalam cara yang sama kita akan menggunakan struct, s.name.
Kita bisa menjalankannya benar-benar cepat dengan melakukan simpul contoh 5.c.
Kita tidak bisa benar-benar menjalankan file C di Node.
Ia tidak tahu apa C.
Ia hanya tahu JavaScript.
Ketika kita menjalankan ex5.js, kita mendapatkan nilai, yang kami harapkan.
>> Mari kita beralih ke contoh enam.
Di sini saya hanya ingin berbicara sedikit Sedikit lebih banyak tentang JavaScript array
karena mereka sedikit berbeda dari apa yang Anda
digunakan dalam C. Array dinotasikan, tidak dengan tanda kurung seperti di C,
dengan kurung kurawal, tapi kurung.
Anda dapat memiliki sebuah array kosong, seperti arr sejalan empat.
Anda dapat memiliki array dengan beberapa nilai.
Dan Anda mengaksesnya dengan cara yang sama di C.
>> Sampai baris tujuh, semuanya tampaknya cukup sederhana.
Salah satu perbedaan kecil di sini pada baris 10.
Cara Anda mendapatkan panjang dari array hanya dengan menelepon .length.
Array sebenarnya dapat diperlakukan seperti obyek,
dan objek ini memiliki properti panjang bahwa Anda menelepon untuk mendapatkan panjang itu.
Perhatikan bahwa ini berbeda di C karena C Anda
harus mengetahui panjang objek dari waktu ke depan.
>> Jadi lain hal yang menyenangkan tentang array adalah bahwa Anda dapat memiliki berbagai jenis.
Jika Anda memiliki sebuah array di C, ada adalah array dari nilai tertentu,
baik struct pointer atau mengapung atau [tidak terdengar].
Di sini, Anda dapat memiliki nilai yang berbeda.
Saya pertama kali memiliki angka floating point, maka Boolean, maka bilangan bulat lain.
Dan sebenarnya, mereka dapat mengubah jenis juga.
Lihatlah baris 16.
Array dua berubah dari yang nomor, integer, string.
>> Satu hal baik tentang array di sini pada baris 19, mereka memiliki ukuran yang tak terbatas.
Anda bisa saja mengatakan saya ingin keseratus elemen menjadi string legit.
Dan ini tampaknya tidak membuat akal karena array hanya
memiliki ruang untuk tiga unsur, sehingga akhirnya harus dua.
Tetapi ketika Anda melakukan hal ini, mari kita melihat apa Array tiga menjadi.
Kami akan menjalankan ini dengan cepat dengan simpul contoh six.js.
Kami mendapatkan ini sangat panjang array, dan apa yang terjadi
adalah kita memiliki beberapa elemen pertama dan kemudian sekelompok kosong
sampai kita mendapatkan string kita.
JavaScript mengisi di Array seperti itu diperlukan.
>> Mari kita akhirnya pergi ke contoh terakhir kami.
Di sini kita memiliki daftar mahasiswa berbeda.
Saya ingin berbicara sedikit sedikit tentang beberapa aspek yang bagus
untuk loop dalam JavaScript.
Dalam C, untuk loop jenis terbatas.
Mereka memiliki struktur tetap, di mana Anda memiliki variabel, Anda memiliki kondisi,
dan kemudian Anda melakukan sesuatu pada akhir loop.
Dan tentu saja ini bekerja dalam JavaScript, seperti yang kita lihat pada contoh sebelumnya.
Tapi kita juga punya cara yang lebih baik untuk melakukan hal ini dalam JavaScript.
Ini disebut loop foreach.
>> Maaf, mari kita kembali untuk contoh tujuh sini.
Kita juga dapat mengatakan bagian adalah daftar.
Jadi memberi saya setiap i atau setiap indeks dalam daftar itu.
Kemudian kita bisa mendapatkan siswa dengan hanya menelepon bagian i.
Jadi semua kode pengaturan i sama dengan nol dan memastikan saya
kurang dari panjang dan menambahkan satu untuk saya setiap waktu, itu
merawat Anda lebih baik dengan foreach loop.
>> Tidak hanya melakukan loop foreach bekerja dalam daftar atau array,
mereka juga bekerja dalam objek, yang juga bagus.
Anda bisa mendapatkan nama setiap properti dengan hanya mengambil
kamus atau benda, seperti mahasiswa, dan kemudian hanya mengatakan memberi saya setiap tombol.
Kunci ini akan properti, nama atau rumah.
Jadi apa yang akan terjadi di sini adalah bahwa kami mencetak duluan nama dan kemudian
rumah setiap siswa.
>> Saya bisa menjalankan ini di Node benar-benar cepat untuk menunjukkan Anda.
Kami mendapatkan pertama gaya C untuk loop, di mana kita mendapatkan setiap objek yang dicetak.
Dan kemudian kita memiliki JavaScript gaya, di mana Anda hanya dapat
mencetak setiap tombol dan nilai individual.
>> Baiklah.
Sekarang kita telah membahas Node.js, saya pikir kami siap untuk memulai dengan Meteor.
Seperti saya katakan, Meteor melakukan pekerjaan besar menulis beberapa contoh siap pakai
untuk Anda bahwa Anda dapat menjelajahi melalui tutorial ini atau dalam folder seminar.
Tapi di sini saya ingin mulai lebih dari awal.
>> Mari kita membuat sederhana untuk melakukan aplikasi.
Ini adalah jenis dasar apa untuk melakukan aplikasi saya menunjukkan sebelumnya adalah.
Dalam tutorial ini, Anda akan melihat bahwa ada
Meteor perintah buat untuk membuat proyek Meteor baru.
Anda perlu memanggil ini untuk untuk menjalankan proyek-proyek Meteor karena
akan menjalankan perintah untuk menciptakan Meteor
file yang diperlukan untuk proyek Anda.
>> Jika Anda pergi ke terminal, kita bisa masuk ke folder bernama langkah satu.
Dan langkah pertama akan sesuai dengan langkah pertama dalam tutorial.
Perhatikan ada folder, langkah satu, dua langkah, semua jalan ke lima.
Dan masing-masing sesuai untuk langkah dalam tutorial ini.
Aku akan membukanya dalam editor teks saya di sini
sehingga kita bisa melihat sedikit apa yang telah dibuat.
Kami melihat bahwa ada empat bagian utama.
Ada sebuah direktori Meteor, .meteor.
Dan bahwa Anda biasanya tidak perlu menyentuh.
Meteor menangani folder, dan hanya
memastikan bahwa Anda Proyek akan bekerja dengan benar.
>> Kami juga memiliki tiga file, file HTML, file JavaScript, dan file CSS.
Mari kita pertama mulai dengan file HTML.
Pada pandangan pertama, ini tampak seperti dokumen HTML biasa.
Tapi perhatikan bahwa ada beberapa perbedaan.
Satu, ini tidak benar-benar dokumen HTML yang lengkap.
Kami hilang tag HTML.
Ini adalah normal.
Di Meteor, Anda tidak diharapkan untuk membuat tag HTML.
Itu dilakukan untuk Anda.
Anda ingin begin-- jika Anda ingin membuat website,
Anda hanya perlu mulai dengan tag kepala,
mendefinisikan itu, dan kemudian mendefinisikan tag tubuh.
>> Tetapi jika Anda melihat di ini File HTML, kita memiliki tag baru.
Kami memiliki tag template.
Ini bukan HTML normal.
Ini adalah versi khusus dari HTML bahwa Meteor membuat tersedia untuk Anda.
Ini disebut ruang bar.
Anda dapat menentukan template sesedikit modul, jenis seperti fungsi pembantu,
di C atau kode JavaScript.
Template ini akan memiliki nama yang disebut tugas.
Dan Anda dapat melihat di sini on line 13 yang Anda dapat memanggil template ini.
Dan apa Meteor akan melakukan hanya mengisi tugas ini untuk Anda.
>> Hal lain yang mungkin melihat adalah Sedikit berbeda adalah ini fungsi masing-masing.
Masing-masing akan mengambil variabel tugas dan jenis pergi melalui itu
dalam loop foreach kami melihat dalam contoh tujuh.
Masing-masing ini dapat mengambil kamus atau daftar, suatu objek atau daftar,
dan itu hanya akan pergi melalui semua nilai-nilai seperti loop foreach akan.
Jadi jika kita memiliki banyak tugas, ini akan memanggil template pada tugas masing-masing.
>> Mari kita jalankan proyek Meteor hanya untuk melihat bahwa hal ini terjadi.
Saya menjalankan proyek Meteor dengan hanya Meteor atau Meteor berjalan.
Dan sekarang Meteor hanya perlu untuk segera menyiapkan proyek,
mulai database yang diperlukan, dan kemudian posting aplikasi lokal.
Kita bisa pergi ke browser web kami sekarang.
Dan kita akan melihat kita yang memiliki aplikasi yang sangat sederhana.
Jadi apa yang kita lihat muncul sebenarnya langkah satu, langkah satu file.
>> Mari kita lanjutkan ke langkah dua hanya karena Saya pikir itu akan melayani tujuan yang sama.
Aku hanya akan mengubah ke langkah dua direktori
dan menjalankan Meteor lagi sehingga kita dapat melihat template kita hanya bekerja dengan.
Ya, pertanyaan?
>> AUDIENCE: Jika kita mendapatkan izin ditolak, adalah itu-- apa saja
disebut untuk itu?
ROGER ZURAWICKI: Jika Anda menjalankan Meteor run,
dan Anda memiliki izin membantah, beberapa file Anda
mungkin tidak memiliki izin set yang tepat.
Jadi, Anda harus memeriksa di mana hak akses yang off.
Mereka bisa pergi di Proyek Meteor Anda,
atau mereka bisa pergi di Meteor file sendiri.
>> AUDIENCE: Jika saya download hanya sekarang dari GitHub Anda, lalu apa yang harus saya lakukan
[Tak terdengar]?
>> ROGER ZURAWICKI: Jika Anda ingin untuk memastikan Anda dapat mengaksesnya,
ada perintah Anda dapat menjalankan.
Biar cepat menulis itu sehingga orang lain dapat melihatnya.
Aku akan membuka tab baru di sini dan masuk ke folder seminar saya.
Chmod adalah perintah untuk mengubah hak akses,
dan Anda bisa mengatakan r untuk melakukannya rekursif untuk setiap file.
Dan hak akses, Anda dapat mencoba 0755 untuk memastikan Anda memiliki akses penuh,
dan orang lain dapat membaca.
Dan jika Anda hanya menjalankan perintah ini, itu akan membuat
Pastikan hak akses dalam memeriksa seluruh direktori.
Menjalankan ls-l dapat menunjukkan izin secara lebih rinci.
Hal ini terlihat OK.
>> Apa yang paling penting adalah Anda memiliki ketiga
rwx untuk semua file dalam direktori seminar.
Apakah itu memecahkan masalah?
>> AUDIENCE: Dikatakan hilang instrumental [tidak terdengar].
[Tidak terdengar]
ROGER ZURAWICKI: Anda harus memastikan Anda
memiliki titik di akhir perintah Anda.
AUDIENCE: [tidak terdengar].
ROGER ZURAWICKI: Baiklah.
Mari kita cepat kembali ke host lokal, aplikasi yang kita miliki.
Dan Anda akan melihat bahwa kita memiliki beberapa tugas di sini, seperti yang diharapkan.
Kami memiliki banyak CSS, yang Anda tidak perlu khawatir tentang.
Meteor tutorial hanya memberikan ini kepada Anda
untuk membuat Anda untuk melakukan daftar melihat bit lebih bagus daripada HTML biasa.
Dan kami memiliki file JavaScript, yang Aku akan pergi ke lebih rinci sedikit kemudian,
tapi itu hanya memberikan tugas-tugas ini.
Ini adalah tugas satu.
Ini adalah tugas dua.
Ini adalah tugas tiga.
Jadi ini adalah data Meteor yang mendapatkan.
>> Salah satu hal keren tentang Meteor adalah bahwa perubahan dapat terjadi secara otomatis.
Jika saya ingin mengubah nama dari tugas pertama,
sehingga akan mengatakan ini bukan tugas satu, dan saya simpan,
kemudian ketika saya pergi ke web Browser, Anda dapat menyegarkan itu,
dan secara otomatis mengatakan ini tidak tugas satu.
Anda dapat melakukan hal yang sama dalam file-file ini.
Membuat perubahan, bukan untuk melakukan daftar, saya akan memilikinya saya untuk melakukan daftar.
>> Dan satu hal yang hanya melihat, bahwa saya bahkan tidak harus me-refresh.
Ide menyegarkan jenis dari dipecahkan untuk Anda dengan Meteor.
Ketika mendeteksi perubahan file, itu akan memuat perubahan untuk Anda.
Ini bekerja pada semua file, baik itu HTML, CSS, JavaScript atau.
Untuk menunjukkan apa aplikasi ini akan terlihat seperti tanpa CSS, saya dapat menghapus itu semua.
Dan ketika itu reloaded, Anda sekarang memiliki tidak sebaik-mencari untuk melakukan daftar.
Mari kita menempatkan konten yang kembali.
Dan pasti cukup, itu menyegarkan, dan CSS kita kembali.
Hebat Sekali.
>> Kita sekarang dapat melanjutkan dengan tutorial.
Mari kita bicara tentang langkah kedua, template.
Ini adalah apa yang kami lihat dengan tugas yang berbeda.
Meteor akan menjelaskan kepada Anda apa template dan bagaimana logika ini bekerja.
Tapi mari kita hanya melihat kode untuk melihat apakah kita bisa masuk akal dari itu.
>> Dalam aplikasi yang sangat sederhana, seperti apa yang kita miliki di sederhana
untuk melakukan, langkah pertama, langkah kedua, langkah tiga, empat langkah, langkah lima,
kita tidak memiliki folder.
Kami tidak memiliki server folder saya sebutkan.
Kami tidak memiliki klien folder yang disebutkan.
Jadi Meteor akan menjalankan semua file.
Ini akan menjalankannya baik pada client, baik pada server.
>> Dan jika Anda ingin bagian dari Anda JavaScript kode untuk menjalankan hanya pada klien,
mereka perlu memastikan bahwa Anda memiliki jika pernyataan, jenis seperti apa
kita harus dalam file JavaScript kami di sini.
Jadi Meteor, hanya jika itu klien, maka saya
ingin mendefinisikan template helper disebut tugas.
Apa kode ini benar-benar Apakah itu mengatakan ada
benda yang disebut Template Meteor yang menyediakan.
Dan kita akan menambahkan penolong.
Pembantu adalah tugas-tugas ini, hal ini seperti tugas.
>> Anda akan melihat bahwa jika kita kembali ke File HTML, kita disebut masing-masing pada tugas.
Tugas tidak didefinisikan dalam HTML.
Ini didefinisikan dalam JavaScript.
Dan Meteor perlu tahu apa tugas adalah ketika kita pergi ke JavaScript sini.
Tugas adalah penolong ini.
Helper, Anda bisa memikirkan sebagai variabel template.
Dan apa tugas lakukan?
Nah, ia mengembalikan daftar nilai.
Karena itu daftar, kita bisa memanggil satu sama di dalamnya.
Jadi itu sebabnya kita sebut masing-masing pada tugas.
Dan sekarang kami memiliki tugas.
>> Apa tugas lakukan?
Nah, ia memiliki panah ini di sini setelah kurung kurawal.
Itu berarti tugas adalah template.
Ini bukan pembantu, seperti apa yang baru saja kita lihat.
Ini template kita sudah ditentukan.
Dan di mana kita mendefinisikannya?
Kami telah didefinisikan di bawah ini di sini.
>> Semua template ini tidak adalah membuat item daftar, dan panggilan teks.
Sekarang, teks tampaknya menjadi pembantu, tapi saya akan menunjukkan kepada Anda
bahwa ini sebenarnya masih anggota data tugas.
Ketika Anda memanggil masing-masing, itu masuk ke struktur data sedikit.
Seperti foreach loop, sekarang hanya terlihat pada elemen pertama dalam objek kita.
Kita melihat teks yang didefinisikan di sini di objek kita.
Jadi Meteor cerdas untuk mengetahui bahwa kita berbicara tentang teks ini,
bukan pembantu yang disebut teks.
Itu hanya akan nilai ini teks di sini dan menampilkannya sebagai HTML,
dan itulah bagaimana data mengalir dari JavaScript untuk HTML.
>> Pindah meskipun, dalam contoh ini kita sulit kode nilai-nilai.
Meteor melakukan dua benar-benar hal-hal baik bagi kita.
Selain refresh hidup yang kita menunjukkan, itu juga mengelola database kami.
Jika Anda harus bekerja dengan PHP, Anda harus mengkonfigurasi phpMyAdmin.
Anda harus memastikan Anda tabel semua di cek.
Anda harus melakukan banyak pekerjaan untuk membuat Pastikan data Anda diformat dengan benar,
dan PHP bisa berkomunikasi dengannya.
>> Sekarang, Meteor menggunakan paradigma baru.
Ini adalah cara yang lebih modern penanganan database.
Ini adalah teknologi yang disebut MongoDB.
Sama seperti di JavaScript, kita melihat bahwa tidak peduli apa jenis memiliki data.
Semuanya adalah var a.
Itu bukan charstar a.
Itu bukan int.
Itu bukan struct.
Itu hanya var ini, var itu.
>> MongoDB bekerja jenis dengan cara yang sama.
Anda tidak harus mendefinisikan tabel Anda.
Anda tidak harus mengatakan meja memiliki nama, yang memiliki int.
Memiliki, saya tidak tahu, dollar, yang merupakan desimal.
Hanya saja obyek JavaScript, semua vars ini, pada dasarnya.
Dan ini adalah benar-benar kuat cara untuk prototipe aplikasi Anda.
Dan itulah mengapa Meteor mengambil keuntungan dari ini.
>> Jika kita pergi ke langkah ketiga, mari kita lihat apa yang telah berubah.
Jika kita melihat pada HTML todos, tidak banyak.
CSS tidak berubah sama sekali.
Namun, perubahan kecil yang kita lihat di HTML adalah kami telah mengubah cara tugas didefinisikan.
Tugas sekarang fungsi.
Itu berarti bahwa setiap kali kita ingin mendapatkan tugas,
kita akan menjalankan fungsi ini.
Ini tidak mengembalikan berfungsi sebagai nilai.
>> Meteor cerdas untuk benar-benar menjalankan fungsi untuk melihat apa yang kita bisa keluar.
Dan ia mengembalikan hal ini disebut tugas.
Kami telah didefinisikan tugas di saluran satu, dan itu koleksi Mongo.
Mongo mengacu database Meteor menggunakan,
dan ini baru hanya berarti mari kita membuat koleksi baru, sebut saja tugas.
Dalam MySQL, ini akan menjadi setara dengan mencari tugas tabel yang disebut.
Mongo memiliki koleksi, bukan tabel.
Jadi ini hanya mencari tugas.
>> Sekarang, template kami helper dalam template, semua
yang harus kita lakukan untuk mendapatkan semua tugas adalah fungsi ini, menemukan
dan brace kosong ini.
Ini lebih khusus untuk Mongo sintaks.
Ada banyak dokumentasi online untuk bagaimana
Anda dapat membuat efisien dan benar-benar berguna Mongo query.
Tetapi sesuatu seperti ini baik cukup untuk hanya menemukan semua data.
>> Sekarang, salah satu masalah yang mungkin Anda lihat adalah bahwa kita tidak pernah benar-benar menambahkan data.
Jadi apa yang terjadi ketika kita benar-benar menjalankan langkah ketiga?
Mari kita cepat pergi ke langkah ketiga dan menjalankan Meteor.
Perhatikan bahwa saya punya Meteor lain Proyek yang berjalan di tempat lain,
sehingga Meteor tidak seperti itu.
Aku hanya akan cepat dekat dengan lain Meteor dengan Control C,
masuk ke langkah ketiga, dan menjalankan Meteor lagi.
Perhatikan itu mulai MongoDB MongoDB karena
adalah bagian dari setiap proyek Meteor.
>> Jadi ia mengatakan aplikasi saya memiliki kesalahan.
Itu fitur bagus Meteor memiliki.
Ini akan memastikan Anda HTML baik divalidasi.
Mari kita cepat melihat mengapa hal ini mungkin.
Sepertinya saya harus sengaja menyalin kode HTML yang salah.
Jika saya simpan sekarang, Meteor otomatis restart server,
dan sekarang aplikasi berjalan seperti yang diharapkan.
Perhatikan untuk memperbaiki ini, Anda hanya dapat menjalankan file HTML yang sama dari langkah dua,
salin ke langkah ketiga.
>> Kita bisa kembali ke host lokal kami.
Dan sekarang kita melihat kami telah kami untuk melakukan daftar.
Besar, tapi kosong.
Kami tidak benar-benar memiliki tugas dalam database Mongo kami.
Jadi mari kita bicara tentang beberapa cara kita bisa melakukan itu.
Jika kita kembali ke terminal, kami dapat menutupnya dan menjalankan Meteor Mongo.
>> Jika Anda akrab dengan cara Meteor bekerja,
ini benar-benar memberikan Anda akses ke MongoDB penuh untuk Meteor.
Perhatikan bahwa Anda harus berjalan Meteor pertama untuk bekerja.
Jadi jika saya menjalankan ini di tab baru, saya bisa kembali ke direktori yang sama.
Dan sekarang Meteor bekerja dengan baik.
Ini adalah prompt.
Biarkan saya membuatnya sedikit lebih besar sehingga kita dapat melihat.
Hal ini terlihat sedikit berbeda dari apa yang mungkin digunakan untuk Anda
tidak benar-benar perlu menggunakan Mongo.
Inti dari saya di sini adalah sehingga Anda dapat menggunakan JavaScript.
Tapi jika Anda penasaran, yang Mongo API tidak
menggunakan SQL, Structured Query Language.
Menggunakan bahasa sendiri yang terlihat banyak seperti JavaScript.
Sangat cepat, kita dapat menemukan tabel melalui db.tasks.
Dan itu mengatakan Ternyata jika kita jalankan menemukan,
sama halnya dengan apa yang kita miliki dengan Meteor, kita dapat memuat semua elemen.
Masalahnya adalah, kita tidak sebenarnya memiliki tugas yang ditetapkan.
Sehingga tidak bisa mendapatkan mereka.
>> Kita dapat menyisipkan, meskipun.
Jadi kita bisa menjalankan insert dengan perintah insert.
Dan kami hanya memberikan obyek, dan kami hanya
pastikan format adalah apa yang kita harapkan.
Jika kita melihat langkah kedua, kita melihat bahwa setiap tugas
adalah sebuah objek dengan teks sebagai kunci dan apa pun
Anda untuk melakukan item adalah sebagai variabel.
Jadi kita bisa melakukan sesuatu di sini.
>> Kita dapat memilikinya memasukkan tugas disebut Aku datang dari Mongo.
Dan kita tekan Enter, dan berjalan.
Kita dapat menjalankan menemukan lagi, dan kami melihat bahwa ada objek di sini.
Mongo memberikan itu sebuah ID yang Anda tidak benar-benar perlu khawatir.
Apa yang penting bagi Anda adalah data Anda masukkan ke dalam, adalah data yang Anda keluar.
>> Mari kita kembali ke website kami, dan hey, tugas kita dimuat.
Dan Anda dapat melihat bahwa karena Meteor sangat cerdas
dan selalu menyegarkan untuk Anda, saya tidak perlu menyentuh halaman.
Secara otomatis dimuat.
>> Mari kita jalankan beberapa kode di JavaScript meskipun untuk melakukan hal ini.
Seperti kita Node di belakang end untuk mengeksekusi keluar JavaScript,
kami juga dapat menjalankan JavaScript langsung dalam browser kita.
Anda dapat melakukan ini dengan fitur disebut Inspect Element.
Jika saya klik kanan pada bagian halaman,
ada pilihan disebut Inspect Element.
Jika Anda menjalankan browser seperti Safari, Anda
mungkin harus mengaktifkan pengembang Anda alat sebelum Anda mendapatkan fitur ini.
>> Apa yang kita pedulikan adalah konsol.
Jadi kami hanya akan pergi ke konsol di bagian bawah.
Sekarang kita bisa menjalankan JavaScript di sini, seperti JavaScript
file saya menunjukkan dalam contoh js.
Tapi sekarang mari kita lihat tugas.
Kita bisa menjalankan perintah kami.
Dan mudah-mudahan saya akan bisa membuat itu sedikit lebih besar sehingga kita semua bisa lihat.
>> Jika kita menjalankan tasks.find, dan Anda akan melihat bahwa ini adalah kode yang sama persis
bahwa penggunaan berkas JavaScript pada langkah ketiga, task.find ini.
Kita bisa menjalankan hal yang sama, dan sekarang kita mendapatkan beberapa hal aneh.
Bagaimana kita benar-benar mendapatkan data?
Nah, kita harus menjalankan ini perintah yang disebut menjemput.
>> Hal ini sangat berguna untuk debugging.
Apa yang Anda dapatkan di sini adalah kursor, dan ini
cara yang baik Meteor memiliki Data fetching dioptimalkan.
Kursor ini memiliki semua fitur untuk memperbarui hidup dan menyegarkan halaman
ketika sesuatu telah berubah.
Tapi itu tidak akan membawa kita data.
Kita bisa mendapatkan data melalui menjemput.
Dan Anda lihat kita memiliki objek, dan itu hanya seperti apa yang kita miliki di Mongo,
dengan ID dan teks yang kita masukkan ke dalam.
>> Jadi bagaimana kita memasukkan item di Meteor?
Nah, kita hanya memiliki tugas.
Dan kemudian kita dapat menjalankan perintah insert yang sama,
memberikan kamus atau objek yang dengan format yang sama, teks
dan kemudian saya datang dari konsol.
Lihatlah di atas karena ketika saya melakukan ini, itu muncul di website
secara otomatis.
>> Perhatikan bahwa Anda dapat menempatkan sesuatu Anda inginkan dalam item ini.
Tidak harus memiliki struktur tetap.
Aku bisa memiliki sama dengan nomor tiga dan b sama dengan palsu.
Dan semuanya bekerja.
Aku bahkan dapat memilih untuk tidak termasuk teks sama sekali.
Hal ini tidak dianjurkan meskipun karena itu Meteor
tidak akan tahu apa yang akan ditampilkan.
Namun dalam setiap kasus, kita mendapatkan ID, dan itu
ID dari objek yang dapat Anda gunakan.
>> Seperti kita lanjutkan dengan langkah empat dan langkah lima,
tutorial akan menunjukkan cara-cara yang Anda dapat membuat elemen UI menggunakan
HTML Anda tahu untuk membuat tugas yang berbeda.
Mari kita lihat langkah empat benar-benar cepat.
Kita akan melihat bahwa kami menambahkan bagian tentang peristiwa.
Template dapat memiliki pembantu, yang membawa kita data.
Tetapi juga dapat menghubungi acara.
Dan ini adalah di mana hal-hal menjadi berguna, karena peristiwa
adalah apa yang terjadi ketika Anda mengklik hal yang berbeda di website Anda.
>> Di sini, kode kita adalah memberitahu kami untuk menambah acara ini.
Tambahkan ketika Anda sudah disampaikan sesuatu dengan tugas baru kelas.
Apa yang Anda miliki di sini adalah pemilih CSS.
Jadi ini hanya terlihat untuk HTML elemen yang memiliki tugas baru kelas.
Dan itu terlihat untuk acara tersebut, seperti kirimkan.
Acara lainnya termasuk klik, hover, klik dua kali,
mirip dengan apa yang Anda dapatkan dalam HTML biasa.
>> Apa yang Anda berikan di sini sekarang fungsi.
Dan Anda dapat memiliki Anda kode dalam fungsi tersebut.
Fungsi ini adalah apa yang akhirnya mendapatkan disebut ketika Anda mengirimkan tugas baru ini.
Mari kita lihat HTML supaya kita memahami apa tugas baru ini.
Kami telah menambahkan bentuk sini dengan tugas baru kelas.
Dan memiliki masukan yang mengambil teks.
Dan ini adalah di mana kita akan menambah tugas baru.
>> Mari kita jalankan langkah empat di situs untuk melihat apa yang tampak seperti.
Kita bisa berhenti dulu dari MongoDB kami memiliki
sebelumnya kami Contoh dengan Control C.
Dan mari kita mengubahnya menjadi langkah empat direktori.
Kami akan menjalankan Meteor lagi untuk memulai server.
Dan sayangnya, aku Meteor berjalan di terminal lain.
Jadi aku hanya akan pastikan ini ditutup.
Mari kita berhenti ini dan perubahan untuk bagian empat, langkah empat.
OKE.
>> Sekarang kode Meteor kita sedang berjalan.
Dan Anda dapat melihat bahwa itu diperbarui, tanpa kita bahkan harus me-refresh halaman.
Apa yang telah berubah di sini sekarang bahwa kita tidak memiliki tugas,
tapi kami memiliki bentuk sini, ini kotak teks, untuk menambah tugas baru.
Dan kita dapat mengetik tugas kami di sini.
Saya datang dari halaman HTML.
Ketika saya tekan Enter, itu bisa disampaikan.
>> Kita bisa melihat apa yang terjadi sebagai didefinisikan oleh kode JavaScript.
Apa fungsi ini lakukan adalah mengambil teks dari bentuk,
dan kemudian hanya disebut tasks.insert, seperti yang kami lakukan di konsol.
Mereka juga memilih untuk menambahkan tanggal createdAt.
Ini adalah bagaimana Anda akan menentukan waktu saat ini.
Setelah itu, ia membersihkan bentuk dengan membuat Pastikan nilai adalah string kosong.
>> Dan kemudian memanggil kembali palsu untuk pastikan tidak ada lagi terjadi.
Ketika Anda kembali palsu dari bentuk acara, yang berhenti eksekusi.
Katakanlah bentuk memiliki tindakan, seperti mengirimkan ke halaman PHP.
Jika Anda tidak kembali palsu, Anda akan kembali benar.
Ini akan berakhir membuat permintaan itu.
Penyadapan palsu dan berhenti saat itu juga.
>> Jadi itu demo sedikit tentang bagaimana Meteor bekerja, dan kami sudah
telah mengikuti tutorial untuk sementara waktu.
Dan Anda bisa silahkan bebas untuk terus melakukan hal ini.
Ada banyak sumber daya, dan tutorial sebenarnya hanya
sangat baik tentang menjelaskan apa yang sedang terjadi.
Saya ingin menunjukkan sekarang, di beberapa menit yang tersisa,
apa adalah beberapa fitur pendingin Meteor,
dan apa adalah beberapa paket yang lebih berguna.
Salah satu hal besar mengenai Meteor adalah bahwa Anda memiliki sistem paket.
Anda dapat dengan mudah menggabungkan kode bahwa ribuan pengembang
telah menulis seluruh dunia ke dalam proyek Meteor Anda.
Salah satu contoh dari hal ini adalah apa yang Anda mungkin lakukan pada langkah sembilan dari tutorial, di mana
Anda mencoba untuk menambahkan account proyek Meteor Anda.
Jika kita memiliki CS50 PHP proyek, kita akan memiliki
mengandalkan kerangka atau kode kita sendiri untuk membuat
yakin kita aman menangani password dan username
dan menyimpan database dan semua itu.
>> Ternyata Meteor memiliki beberapa paket untuk melakukannya untuk Anda,
dan melakukannya dengan sangat mudah.
Apa yang bisa kita lakukan adalah menambahkan beberapa paket.
Jadi mari kita lakukan benar itu sekarang dalam konsol kami.
Aku akan berhenti proyek dan sekarang masuk ke sederhana-todos.
Sekarang, sederhana-todos adalah proyek yang Anda
akan memiliki setelah dilakukan dengan langkah 11 atau 12 langkah,
pada akhir tutorial ini.
Dan mari kita cepat melihat untuk melihat apa saja fitur yang berbeda yang kita miliki.
Mari kita pastikan itu berjalan.
Kadang-kadang dibutuhkan waktu untuk menyegarkan, tapi di sini adalah.
>> Kami memiliki pilihan kami untuk menyembunyikan tugas selesai, dan kita bisa masuk.
Dan ini dilakukan dengan paket Meteor.
Itu bagus.
Kita sekarang telah nama pengguna dan tanda password.
Tapi bagaimana kalau kita ingin menambahkan jenis lain dari mekanisme login?
Katakanlah saya ingin log dengan akun Meteor saya.
Aku akan menjalankan meteor add, dan ini adalah sintaks untuk menambahkan paket.
Saya dapat mengatakan rekening, dan accounts.meteor.
Itu akan sekarang menemukan paket dan beban itu.
Anda dapat melihat bahwa saya belum menemukan nama paket yang tepat.
>> Jadi bagaimana Anda mencari tahu tentang paket?
Yah ada situs web yang besar, membuat tersedia oleh orang-orang Meteor,
disebut atmospherejs.com.
Atmospherejs, satu kata, titik com, adalah gudang besar
untuk menemukan semua Meteor paket dalam repositori.
Saya dapat mencari account, dan kemudian itu akan menunjukkan semua hal yang relevan,
semua paket dengan nama akun.
>> Sementara itu beban, kita dapat mencoba menambahkan beberapa paket lainnya.
Mungkin paket Meteor tidak bekerja sekarang, tapi saya dapat menambahkan Facebook.
Saya dapat menambahkan account dan kemudian menjalankan proyek Meteor lagi.
Setelah ini dimulai, mari kita lihat apa yang berubah di website.
Anda dapat see-- aku mungkin harus me-refresh sini.
>> Saya memiliki tombol untuk mengkonfigurasi Facebook login.
Dan di sini, aku memiliki semua instruksi Meteor
telah dipersiapkan untuk Anda untuk menyiapkan aplikasi Facebook.
Dan Anda dapat menggunakan Informasi untuk menambahkan ID Anda.
Setelah itu selesai, Anda akan memiliki Facebook Login bekerja di app.
>> Aku hanya akan mendapatkan ID aplikasi dan rahasia,
hanya untuk menunjukkan kepada Anda bagaimana ini bisa bekerja.
Anda akan memerlukan account Facebook untuk menggunakan opsi pengembang Facebook.
Mari saya hanya cepat menemukan Kunci meteor yang diperlukan.
Aku punya proyek lain Meteor bahwa aku akan menggunakan,
dan aku hanya akan mengambil kunci dari file tersebut.
>> Dan setelah saya menemukannya, aku hanya bisa untuk menyalin kunci tersebut ke Facebook saya.
Jadi di sini adalah kunci.
Dan ini rahasia.
Anda tidak harus berbagi dengan orang-orang.
Dan kemudian Anda memberikan rahasia aplikasi Anda.
Dan ini sangat Facebook tahu Anda adalah Anda.
Dan Anda menyimpan konfigurasi.
>> Saya pikir dalam proses I telah berhenti app Meteor saya.
Jadi saya hanya ingin membuat yakin itu masih ada.
OK, mari kita pastikan Server Meteor kami berjalan sehingga halaman web berjalan.
Perhatikan jika kita menghentikan Meteor Server, halaman masih ada.
Ini tidak akan memperbarui lagi.
Server Meteor diperlukan untuk memastikan halaman tersebut hidup.
>> OK, aku sudah menyerahkannya, dan sekarang Aku bisa masuk dengan Facebook.
Sekarang hanya masalah memiliki pop up Facebook
dan menempatkan dalam akun Anda informasi dan penebangan di.
Setelah Anda melakukan itu, Facebook mungkin nag Anda untuk beberapa keamanan yang lebih.
Jadi kita hanya akan berhenti di situ.
Intinya adalah bahwa ketika Anda sudah selesai dengan itu, Anda akan memiliki Facebook login.
>> Meteor memiliki banyak paket lain juga.
Anda dapat login dengan Google+.
Anda dapat login dengan GitHub.
Anda dapat login dengan Twitter.
Atau jika Anda mencari, Anda akan menemukan banyak hal-hal lain
seperti Meetup, LinkedIn, dan Meteor Developer.
Jadi Meteor Pengembang adalah Paket yang saya cari.
meteor-meteor menambahkan account-pengembang.
Sementara itu, saya juga ingin merekomendasikan
beberapa paket lainnya untuk proyek-proyek Anda.
Ini mungkin dapat berguna bagi termasuk paket jQuery.
Hal ini memungkinkan Anda untuk menggunakan jQuery di klien Anda.
Anda hanya bisa melakukannya dengan satu baris, dan Meteor akan pastikan Anda up to date
pada jQuery.
Saya juga merekomendasikan houston: admin.
>> Ini adalah jenis seperti phpMyAdmin sebuah jenis alat untuk MongoDB Anda.
Hal ini memungkinkan Anda untuk mengedit Data Anda cukup mudah
tanpa harus pergi ke shell Mongo, seperti aku telah dilakukan sebelumnya dalam seminar.
Jadi sekarang yang berjalan, mari kita jalankan Meteor lagi dan melihat apa yang bisa kita lakukan.
>> Anda melihat bahwa menambahkan beberapa paket mungkin mereka menyajikan beberapa peringatan.
Anda tidak perlu khawatir tentang itu dengan houston.
Jadi sekarang kita bisa memiliki pilihan untuk mengkonfigurasi Meteor admin.
Dan mereka memberikan arah jika Anda ingin mengatur bahwa sampai.
>> Kita juga bisa sekarang pergi ke / admin.
Hal ini dibawa ke Anda oleh paket houston.
Dan ini adalah Meteor antarmuka admin.
Anda hanya membuat account admin, seperti begitu.
Dan jika Anda me-refresh halaman, Anda mungkin memiliki beberapa koleksi muncul.
>> Ini adalah alat yang sangat berguna, dan saya sangat merekomendasikan hal ini.
Anda dapat melihat bahwa karena houston sedang memberikan beberapa kesalahan,
kita tidak memiliki koleksi manapun muncul sekarang.
Cara Anda akan menggunakan houston adalah memastikan fungsi ini mendapat
memanggil sederhana-todos Anda.
Jadi houston tidak tahu apa tugas saya.
>> Kami mendirikan Mongo Koleksi yang disebut tugas.
Mari kita pergi ke sederhana-todos dan hanya pastikan bahwa dalam JavaScript,
kami telah menambahkan tugas untuk koleksi kami.
Sekarang kami telah diselamatkan, dan itu membangun aplikasi, menyegarkan.
Dan mari kita lihat.
Sekarang kami memiliki beberapa tugas.
Dan kita dapat menambahkan beberapa tugas baru.
Tetapi jika kita ingin menambahkan tugas, mari kita lakukan dengan aplikasi itu sendiri.
>> Sekarang kita dapat menambahkan beberapa data.
Hai, ini adalah tugas.
Tampaknya agak aneh bahwa kita tidak melihat tugas.
Kita mungkin ingin memeriksa apakah kita punya kesalahan di sini, atau mungkin di tempat lain.
Jika kita masuk ke admin, yang tampaknya aneh.
Jika Anda menarik repositori setelah seminar ini,
Saya akan memastikan bahwa sederhana-todos bekerja dengan houston.
Sayangnya, hal itu tampaknya tidak dapat bekerja pada saat ini.
>> Apakah ada pertanyaan lain?
Houston biasanya adalah alat yang bekerja sangat baik.
Houston khusus sedikit buggier daripada yang lain,
tapi saya merekomendasikan hal ini ketika bekerja.
Ya.
>> AUDIENCE: Apa yang dapat Anda lakukan dengan paket Facebook
sekali pengguna login melalui Facebook mereka?
>> ROGER ZURAWICKI: Setelah pengguna login,
Anda dapat membuat panggilan ke Facebook API.
Banyak yang terletak lebih dalam bagaimana Facebook membuka API mereka.
Meteor, pastikan Anda memiliki koneksi.
Tapi semuanya setelah itu adalah suatu hal belajar bagaimana menggunakan Facebook API.
AUDIENCE: [tidak terdengar].
ROGER ZURAWICKI: Baiklah.
Terima kasih banyak untuk Seminar CS50 ini di Meteor.
Jika Anda memiliki pertanyaan, Anda bisa email saya
di alamat email saya tercantum di bawah seminar.
Dan aku akan dengan senang hati menjawab pertanyaan Anda.
Saya juga akan berada di CS50 Hackathon harus
Anda perlu bantuan dengan proyek Meteor Anda.
Terima kasih telah menyaksikan.