Minggu lalu, saya bersentuhan dengan kerangka kerja Sails dengan membangun sistem CMS dan mempelajari beberapa konsep ORM. Minggu ini, kami mulai masuk jauh ke dalam interaksi data latar belakang dan menemukan bahwa struktur data dari dua puluh kerangka telah dirancang di layar (seperti simpul dan kategori). Saya harus mengatakan bahwa senior saya luar biasa. Tetapi kompleksitas juga meningkat. Tugas saya dalam proyek DTREE adalah menggunakan Sails untuk berinteraksi dengan proses bisnis dan database. Lain kali minggu ini adalah menggunakan layar.
Pengantar Layar
Layar seperti Ruby on Rails, dan juga merupakan kerangka kerja untuk membuat pengembangan web sederhana. Sejauh yang saya ketahui selama periode ini, ia sepenuhnya mewarisi beberapa API Express & Socket.io, dan menggunakan Waterline (ORM) untuk interaksi basis data terpadu, sehingga operasi CRUD dapat diselesaikan di lingkungan basis data yang berbeda tanpa memodifikasi kode secara langsung; Menyinkronkan data ujung depan dan belakang dengan kerangka kerja tulang punggung, dan menggunakan kebijakan middleware untuk dengan aman memverifikasi interaksi cetak biru sendiri. Ini dapat berinteraksi melalui API Restfull tanpa satu baris kode di ujung depan dan belakang.
Socket.io & Express
Front-end telah mempelajari dua hal ini dalam waktu, satu adalah komunikasi Websock dan yang lainnya adalah memproses permintaan HTTP. Layar tidak dirancang ulang tetapi menggunakan dua alat ini untuk menangani fungsi -fungsi ini secara langsung, mengurangi biaya belajar banyak. Socket.io memicu pesan, mendengarkan pesan dan melakukan operasi sesuai di server dan klien.
Salinan kode adalah sebagai berikut:
`
// sisi server
io.sockets.on ("connection", function (sock) {
sock.emit ("NormalMessage", {a: "c"});
});
//Pelayanan pelanggan
sock.on ("NormalMessage", function (json) {...});
`
Fungsi ekspres terletak pada operasi perutean, seperti app.get ('/login', function (req, res) {});.
Cetak Biru Berlayar & Backbone
Dalam pengembangan web, CRUD adalah jenis operasi yang serupa, seperti GET/POST di HTTP dan SELECT/INSERT dalam database. API Cetak Biru dari Layar dan Kerangka Backbone JS keduanya menggunakan kelas fungsi yang terpadu (seperti FindOne), sehingga logika internal sudah ditetapkan ketika program menetapkan model dan pengontrol yang sesuai. Misalnya, model pengguna yang umum digunakan telah membangun pengontrol dalam layar untuk melewati dan menyimpan data pengguna. Yang perlu kita perhatikan adalah spesifikasi dan proses bisnis nama file. Tidak apa -apa jika Anda ingin mengganti (kelebihan muatan) metode asli. Setelah kami mengatur tindakan dan pengontrol di rute di folder config, kami dapat menambahkan fungsi yang kami butuhkan ke pengontrol yang sesuai.
Garis air
Paket Dependen API API digunakan untuk berinteraksi dengan basis data, seperti create (), findOne (), update (), dll. Seperti yang disebutkan sebelumnya, kita tidak perlu khawatir tentang berbagai alat basis data untuk memanggil metode ini secara seragam secara seragam. Misalnya, saat memasukkan data
Salinan kode adalah sebagai berikut:
`
Users.Create ({UserName: UserName, Password: Password}). Exec (Function (error, User) {
if (error) {
res.send (500, {error: "DB error"});
} kalau tidak {
req.Session.user = pengguna;
res.send (pengguna);
}
`
Sistem default adalah menyimpan data di sistem file lokal. Jika kita perlu memilih MySQL atau MongoDB. Cukup ubah di file konfigurasi dan pilih adaptor database untuk berinteraksi dengan data.
Kebijakan
Diterapkan ke middleware pada controller, jalankan sebelum permintaan HTTP dikeluarkan. Kontrol identitas dapat dicapai, misalnya, Anda hanya dapat melakukan tindakan berikutnya jika Anda masuk.
Salinan kode adalah sebagai berikut:
`
if (req.session.user) {
var action = req.options.action;
if (action == "create") {
req.body.userid = req.session.user.id;
req.body.username = req.session.user.username;
}
Berikutnya();
}kalau tidak{
res.send ("Anda harus masuk", 403);
}
`
Berikutnya
Layar berhasil memulai, tetapi masih perlu bekerja lebih keras untuk ini. Hanya dengan meletakkan fondasi yang kuat, kita dapat mencapai kebutuhan spesifik. Jadi kita perlu terus belajar, menemukan lebih banyak rutinitas untuk belajar layar secara mendalam, dan juga mengetahui keterbatasan kerangka kerja ini.