Quickstarters
Feature Overview
How to Build a Backend for Ruby?
34 mnt
pendahuluan dalam tutorial ini, anda akan menemukan cara membangun backend untuk ruby menggunakan back4app kami akan menjelajahi fitur fitur penting back4app seperti manajemen database, fungsi cloud code, api rest dan graphql, otentikasi pengguna, dan kueri waktu nyata (kueri langsung) dengan memanfaatkan bahasa pemrograman ruby dan back4app, anda mendapatkan backend yang aman, skalabel, dan kuat yang mudah terintegrasi dengan ekosistem pengembangan perangkat lunak anda pendekatan ini menghemat waktu dan usaha dengan menggunakan platform web sumber terbuka yang dibangun di atas parse anda akan melihat bagaimana mempercepat proyek pengembangan dengan prinsip pengembangan cepat sepanjang jalan, anda akan belajar menggunakan fitur keamanan canggih, menjadwalkan tugas dengan pekerjaan cloud, dan mengatur webhook untuk integrasi eksternal pada akhirnya, anda akan siap untuk merancang struktur kerangka aplikasi web dan mengembangkannya untuk aplikasi produksi anda akan dapat mengintegrasikan ruby dengan back4app untuk model data, logika berorientasi objek, dan data waktu nyata memanfaatkan praktik terbaik dalam proses pengembangan untuk pengembangan aplikasi dalam gaya model tampilan pengontrol (mvc) atau arsitektur lain yang anda pilih meningkatkan peran anda sebagai pengembang backend dengan menangani otentikasi pengguna yang aman, pemicu cloud code, dan lainnya lebih menyempurnakan aplikasi web anda untuk memenuhi kebutuhan dunia nyata menggunakan fitur fleksibel dari back4app prasyarat akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app daftar secara gratis jika anda belum memiliki akun lingkungan ruby lokal anda harus memiliki ruby https //www ruby lang org/en/documentation/installation/ terinstal biasanya, ruby 2 6 atau yang lebih baru disarankan keterampilan dengan bahasa pemrograman ruby pengetahuan dasar tentang sintaks ruby, berorientasi objek konsep, dan penggunaan umum bahasa pemrograman bundler (opsional tetapi disarankan) bundler membantu mengelola gem untuk kerangka aplikasi web anda atau proyek pengembangan dokumen resmi bundler https //bundler io/ pastikan anda memiliki semua prasyarat ini sebelum memulai memiliki proyek back4app anda yang dibuat dan lingkungan ruby anda siap akan memberikan pengalaman tutorial yang lancar langkah 1 – membuat proyek baru di back4app dan menghubungkan mengapa langkah ini penting proyek back4app yang baru adalah fondasi untuk pengembangan aplikasi ini menyimpan database anda, mengelola otentikasi pengguna, dan menyediakan lingkungan untuk menjalankan cloud code buat proyek baru masuk ke back4app klik aplikasi baru di dasbor back4app anda berikan nama untuk aplikasi anda (misalnya, “ruby backend tutorial”) instal parse sdk dan hubungkan ke back4app parse sdk untuk ruby membantu anda berinteraksi dengan backend back4app anda dapat menginstalnya melalui gem langkah 2 – menyiapkan database 1\ membuat model data di back4app, sebuah kelas seperti tabel database misalnya, anda dapat membuat kelas “todo” untuk menyimpan tugas anda dapat membuat kelas secara langsung dari ruby atau mendefinisikannya di dasbor untuk kontrol yang lebih rinci 2\ membuat model data menggunakan ai agent buka ai agent di dasbor aplikasi anda deskripsikan model data anda dalam bahasa yang sederhana (misalnya, “aplikasi todo dengan judul, bidang iscompleted”) biarkan ai agent membuat skema anda secara otomatis 3\ membaca dan menulis data menggunakan ruby (parse sdk) berikut adalah contoh sederhana untuk membuat catatan baru dalam kelas “todo” menggunakan ruby sdk require relative 'parse config' \# create a todo object todo = parse object new("todo") todo\["title"] = "buy groceries" todo\["iscompleted"] = false saved todo = todo save puts "todo saved with objectid #{saved todo\['objectid']}" \# query todos query = parse query new("todo") results = query get puts "fetched #{results size} todos " results each do |t| puts "title #{t\['title']}, completed #{t\['iscompleted']}" end 4\ membaca dan menulis data menggunakan rest api anda juga dapat membuat dan mengambil catatan menggunakan antarmuka rest curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ membaca dan menulis data menggunakan api graphql back4app menawarkan endpoint graphql untuk aplikasi web mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ bekerja dengan live queries (opsional) aktifkan live queries di dasbor back4app (pengaturan server) dan berlangganan dari skrip ruby anda jika lingkungan anda mendukung koneksi websocket anda juga dapat menggunakannya untuk pembaruan waktu nyata dalam kerangka aplikasi web yang mendukung konkurensi langkah 3 – menerapkan keamanan dengan acl dan clp 1\ ikhtisar acl (daftar kontrol akses) dan clp (izin tingkat kelas) melindungi data anda dengan cara berorientasi objek acl memungkinkan anda memutuskan siapa yang dapat membaca atau menulis setiap catatan clp memungkinkan anda mengelola izin untuk seluruh kelas 2\ mengatur izin tingkat kelas (clp) dan acl pergi ke database bagian aplikasi anda dan pilih kelas anda, seperti “todo ” konfigurasikan clp kelas anda di bawah “keamanan” atau “izin tingkat kelas ” untuk mengatur acl pada catatan owner = parse user current todo = parse object new("todo") acl = parse acl new(owner) acl public read = false acl public write = false todo acl = acl todo\["title"] = "private task" todo save ini memastikan hanya pemilik yang dapat membaca/menulis todo tertentu tersebut langkah 4 – menulis fungsi cloud code 1\ mengapa cloud code cloud code membantu menyematkan logika bisnis dan validasi langsung ke dalam server ini ideal untuk memastikan integritas data dan melakukan tugas yang tidak diekspos ke klien 2\ contoh fungsi di main js proyek anda (atau yang serupa) di back4app, anda dapat mendefinisikan fungsi cloud parse cloud define('calculatetextlength', (request) => { const { text } = request params; if (!text) { throw 'no text provided'; } return { length text length }; }); catatan meskipun aplikasi utama kami menggunakan ruby, cloud code di parse berbasis javascript inilah cara anda menyematkan logika sisi server di back4app 3\ penyebaran back4app cli dasbor back4app salin/tempel fungsi anda ke cloud code > fungsi dan klik terapkan 4\ modul npm anda dapat menginstal modul npm (misalnya, axios) untuk lingkungan cloud code anda sebagai contoh npm install axios di main js , minta dan lakukan panggilan api eksternal sesuai kebutuhan langkah 5 – mengonfigurasi autentikasi 1\ pengaturan dasbor aktifkan autentikasi pengguna di pengaturan aplikasi aplikasi anda back4app menggunakan parse user untuk manajemen pengguna 2\ daftar / masuk dengan ruby require relative 'parse config' \# signing up a user user = parse user new({ username "alice", password "secret123", email "alice\@example com" }) begin user sign up puts "user signed up successfully" rescue => e puts "error #{e message}" end \# logging in a user logged in user = parse user login("alice", "secret123") puts "logged in as #{logged in user username}" 3\ masuk sosial untuk mengintegrasikan masuk sosial (facebook, google, apple), konsultasikan dengan dokumen masuk sosial https //www back4app com/docs/platform/sign in with apple rincian implementasi bervariasi untuk setiap penyedia langkah 6 – menangani penyimpanan file 1\ mengatur penyimpanan file back4app mengelola unggahan file melalui objek parse file dalam ruby file = parse file new("image png", file read("/path/to/image png")) saved file = file save puts "file saved at #{saved file url}" \# attach file to an object photo = parse object new("photo") photo\["imagefile"] = saved file photo save puts "photo object created with file reference " 2\ contoh pengguna dapat mengunggah gambar, dokumen, atau file lainnya ambil url untuk menampilkannya di frontend anda atau layanan lainnya 3\ pertimbangan keamanan konfigurasikan aplikasi anda untuk membatasi unggahan file hanya untuk pengguna yang terautentikasi jika perlu langkah 7 – verifikasi email dan reset kata sandi 1\ mengapa ini penting verifikasi email memastikan alamat email yang valid untuk akun baru reset kata sandi memungkinkan pengguna anda untuk memulihkan akun mereka dengan aman 2\ konfigurasi dasbor back4app aktifkan verifikasi email siapkan template kustom untuk verifikasi dan reset kata sandi 3\ contoh kode dari ruby, anda dapat meminta reset kata sandi curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "alice\@example com"}' \\ https //parseapi back4app com/requestpasswordreset ini mengirimkan tautan reset kata sandi ke email pengguna langkah 8 – penjadwalan tugas dengan pekerjaan cloud 1\ apa yang dilakukan pekerjaan cloud pekerjaan cloud menjalankan tugas berkala seperti membersihkan data lama atau mengirim email ringkasan 2\ contoh pekerjaan parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); jadwalkan di bawah pengaturan aplikasi > pengaturan server > pekerjaan latar belakang di dasbor back4app anda langkah 9 – mengintegrasikan webhook 1\ definisi webhook memungkinkan anda mengirim permintaan http ke layanan eksternal setiap kali peristiwa tertentu terjadi di back4app ini sangat baik untuk menghubungkan ke layanan pihak ketiga atau memicu tugas dalam bahasa pemrograman lainnya 2\ konfigurasi pergi ke dasbor back4app aplikasi anda > lainnya > webhook , dan tambahkan webhook baru dengan url layanan eksternal anda 3\ contoh kirim data ke stripe atau slack setiap kali “todo” baru dibuat sebagai alternatif, anda dapat mendefinisikan pemicu dalam cloud code dan membuat permintaan http dalam pemicu tersebut langkah 10 – menjelajahi panel admin back4app 1\ di mana menemukannya di dasbor aplikasi anda, klik lainnya > aplikasi admin , lalu aktifkan 2\ fitur antarmuka grafis untuk manajemen data tanpa kode alat untuk menganalisis log, menjadwalkan pekerjaan latar belakang, dan lainnya kontrol akses berbasis peran, memungkinkan anda memberikan cara yang aman bagi pengguna non teknis untuk mengelola konten kesimpulan anda telah membangun backend yang aman dan dapat diskalakan untuk aplikasi ruby anda di back4app, menggunakan bahasa pemrograman ruby untuk terhubung dengan parse api proses pengembangan anda sekarang mencakup sebuah database dengan fitur keamanan canggih (acl, clp) pembaruan data real time melalui live queries cloud code triggers untuk logika bisnis kustom autentikasi pengguna dan penanganan file tugas terjadwal dengan cloud jobs dan webhooks untuk layanan eksternal panel admin yang ramah pengguna untuk manajemen data dengan fondasi ini, anda dapat memperluas aplikasi web anda atau proyek bahasa pemrograman lainnya untuk memenuhi kebutuhan dunia nyata apakah anda seorang pengembang backend berpengalaman atau baru memulai dengan ruby, back4app menyediakan platform berorientasi objek yang mudah digunakan untuk pengembangan cepat jangan ragu untuk mengintegrasikan api atau fitur tambahan, dan jelajahi lebih lanjut kustomisasi untuk menyelaraskan dengan pola model view controller (mvc) atau gaya arsitektur lainnya langkah selanjutnya perbaiki lingkungan produksi anda dengan menambahkan caching lanjutan, akses berbasis peran, atau optimasi kinerja tambahkan hubungan yang lebih kompleks di antara kelas data untuk mendukung kasus penggunaan dunia nyata jelajahi dokumentasi resmi back4app untuk keamanan, wawasan kinerja, dan analitik eksperimen dengan kerangka web sumber terbuka lainnya untuk memperluas fitur aplikasi anda nikmati membangun aplikasi web yang lebih kuat dan kaya fitur dengan ruby dan back4app!