[MUSIC PLAYING] STEPHEN Turban: Jadi aku Stephen Turban. Selama di sisi sini, mungkin kita bisa mendapatkan beberapa orang untuk menyelam di. Kami memiliki Gabriel dan Zack. Jadi untuk roadmap singkat tentang apa ini akan terlihat seperti, Saya akan melakukan beberapa sangat tingkat tinggi melihat apa MVC adalah. Gabe? GABRIEL Guimaraes: Aku akan berbicara tentang Ruby dan sedikit bagaimana Rails bekerja dan bagaimana hal itu dapat membantu Anda membangun aplikasi web. ZACK Chauvin: Dan aku akan menunjukkan contoh spesifik bagaimana menggunakan Rails untuk membangun aplikasi super awesome. STEPHEN Turban: Awesome. Manis. Baiklah. Jadi mari kita bicara tentang MVC. Jadi mari kita pergi ke slide berikutnya, yang Saya akan melakukan dengan menekan tombol ini. Dan mari kita pergi ke pengembangan next--, Saya suka berpikir tentang pergi ke CVS, karena CVS adalah toko dan juga memiliki V di tengah. Dan mari kita bayangkan ke toko. Dan mari kita membuat toko ini menjual hanya satu hal. Jadi kita akan memiliki ini menyimpan hanya menjual ini cangkir merah. Dan bayangkan Anda berjalan di, dan Anda pergi ke depan toko, dan orang. Dan namanya adalah Vince. Dan Vince gelombang halo pada Anda, mengatakan hi. Dan Anda melihat satu hal tentang Vince. Jadi setiap kali kita berpikir tentang Vince, kami harus memikirkan dua kata sifat utama. Vince indah, tapi dia bodoh. OKE. Jadi, Anda tahu, bukan karena kesalahan sendiri, sayangnya, dia cantik. Dia adalah pandangan kami. Jadi anggota pemain pertama kami ada di sana. Perlu diingat bahwa. Sekarang, Anda bertanya Vince, Anda pergi, hei Vince. Saya pelanggan. Dia mengatakan hi. Aku benar-benar ingin salah satu dari cangkir merah. Dan apa Vince katakan? Apakah ada yang punya tahu apa kata Vince? Aku akan panggilan dingin. Apa yang Anda pikirkan Vince mengatakan? AUDIENCE: Dia mengatakan, saya bisa menunjukkan Anda di mana itu, tapi aku tidak bisa memberikan Anda satu. STEPHEN Turban: Dia mengatakan, saya bisa menunjukkan Anda di mana itu, tapi aku tidak bisa memberikan Anda satu. Lebih buruk lagi. Orang lain memiliki lain tahu apa Vince mungkin mengatakan? AUDIENCE: Dia harus pergi cek jika mereka memiliki cangkir merah. STEPHEN Turban: Vince tidak bahkan tahu dia harus memeriksa. Ada yang lain? Jadi Anda mengatakan, harus memeriksa apakah ia memiliki cangkir merah. Lanjutkan. AUDIENCE: Apa cangkir merah? STEPHEN Turban: Apa cangkir merah? Apa secangkir merah? Vince bingung. Jadi Vince akan berbicara dengan pemeran berikutnya, Carl. Dan ketika kita berpikir tentang Carl, kita Harus berpikir tentang dua adjectives-- besar dia mengendalikan, tapi dia tidak mampu. Jadi Vince goes-- dia pergi, apa secangkir merah? Aku tidak tahu apa secangkir merah. Dia berbalik, dan ia meminta Carl. Dia mengatakan, Carl, seseorang meminta secangkir merah. Anda bisa melakukan itu? Dan apa Carl katakan? Mari kita mencari tahu. Ada yang punya tahu apa kata Carl? Dan aku hanya akan mengulanginya kembali kepada Anda. Aku melihat gerakan tangan. AUDIENCE: Dia mengatakan seseorang lain untuk mendapatkan cangkir merah. STEPHEN Turban: Dia mengatakan orang lain untuk mendapatkan cangkir merah. Tepat. Dan kita punya ide siapa orang yang mungkin? Ini petunjuk. Ini akan mulai dengan M. Mob? AUDIENCE: Model. STEPHEN Turban: Model, ya. Namanya tidak Model, sayangnya, karena itulah nama konyol. Kami memiliki Mitt. Dan ketika kita berpikir tentang Mitt-- tidak, ini bukan gambar Zack. Kita harus berpikir dua kata sifat kunci dengan Mitt. Dia mampu, tapi dia tunduk. Jadi Mitt tahu apa yang harus dia lakukan, tapi dia benar-benar tidak bisa berbuat apa-apa. Atau dia benar-benar tidak bisa memutuskan sendiri. Jadi kita harus Carl. Carl berteriak pada Mitt. Dan dia berkata, hey Mitt, kita perlu cangkir merah. Dan Mitt pergi ke Piala penyimpanan merahnya. Dia mengambil cangkir, dan ia memberikan kembali. Ada yang punya tahu apa yang terjadi kemudian? Memberikan cangkir. Sejauh Mitt telah pergi ke merahnya cup repositori, diambil keluar, diperiksa off, kata, Aku mengambil satu cangkir merah. Dan dia memberikannya kepada Carl. Apakah Anda punya ide? Bagaimana menurutmu Carl tidak? AUDIENCE: Carl memberikannya kepada Vince. STEPHEN Turban: Carl memberikannya kepada Vince. Vince. AUDIENCE: Dan Vince menunjukkan kepada [tidak terdengar]. STEPHEN Turban: Tepat. Jadi itulah itu. Jadi Vince mengambil cangkir, bahkan tidak tahu apa itu, tetapi ia menunjukkan kepada pengguna. Jadi mari kita coba untuk menciptakan ini benar-benar singkat. Dan kita akan membutuhkan tiga relawan diam, seperti yang kalian tidak akan untuk dapat berbicara. Jadi bisa saya ambil tiga? OKE. Dan siapa yang akan Anda ingin menjadi? AUDIENCE: Aku akan Vince. STEPHEN Turban: Vince, OK. Indah tapi bodoh. Hebat Sekali. Orang lain? Kami sedang mencari mampu tetapi tunduk. Orang lain ingin menjadi mampu? AUDIENCE: Aku bisa Carl. STEPHEN Turban: Manis. Kami punya Carl. AUDIENCE: Mitt. STEPHEN Turban: Mitt, OK. Dan kita akan membutuhkan a-- Aku akan pelanggan. Jadi datang ke atas, datang ke atas. Dan semua orang dalam pandangan? Jadi aku akan meminta Vince ke berdiri di depan, hanya tersenyum, hanya tersenyum seterang mungkin. Dan kita akan meminta Carl, benar, kenapa tidak Anda, seperti, berdiri tepat di belakangnya? Dan Mitt, kenapa tidak Anda hanya pergi di belakang, dan kemudian saya akan memberikan kelompok cangkir untuk bergaul dengan. Jadi aku pelanggan. Saya datang. Dan saya membuat [tidak terdengar] Saya mengatakan, hi, saya ingin cangkir. Sempurna. Jadi Vince tidak tahu. Jadi apa Vince lakukan selanjutnya? Vince-- OK, jadi aku akan untuk menceritakan sekarang. Vince berteriak pada Carl, cangkir! Apa Carl lakukan? Carl berteriak Mitt. Mitt meraih cangkir. Mitt memberikannya kepada Carl. Carl kembali ke Vince. Dan Vince menunjukkan kepada pengguna. Dan itu adalah tinggi, tinggi, tinggi, melihat begitu tinggi di MVC. Kami membaginya dengan memiliki pandangan, apa pengguna melihat, controller, seseorang yang melakukan segala sesuatu di latar belakang tapi benar-benar tidak dapat memperbarui apa-apa atau tidak bisa melakukan apa-apa signifikansi apapun kecuali memanggil pandangan dan model. Dan kemudian kita harus Mitt, model, yang update Data apapun yang kita miliki. Jadi terima kasih banyak untuk yang indah, mengendalikan, dan relawan mampu. Dan saya pikir itu saja. [TEPUK TANGAN] Saya pikir Gabe akan bicara sekarang pada tingkat mudah-mudahan kurang tinggi. GABRIEL Guimaraes: OK, guys. Sekarang mari kita bicara sedikit tentang kode dan Ruby on Rails itu sendiri, dan bagaimana hal ini berkaitan semua cerita MVC ini. Pada dasarnya, Ruby on Rails adalah framework. Lebih lanjut tentang bahwa dalam satu detik. Tapi hanya untuk memberi Anda rasa siapa yang menggunakannya, seperti, semua ini companies-- besar jadi GitHub, Groupon, Twitter-- mereka semua menggunakan Ruby on Rails sebagai kerangka utama mereka untuk melaksanakan situs web mereka. Jadi saya yakin banyak orang telah menggunakan situs ini di sini. Dan itu semua Ruby on Rails untuk melaksanakan model, pandangan, dan controller pada semua situs ini dan banyak lagi. OKE? Jadi seperti yang saya katakan, Ruby on Rails adalah framework. Dan Anda dapat jenis memikirkan kerangka dalam arti seperti membangun rumah. Jadi jika Anda akan membangun sebuah house-- dan Anda selalu dapat mulai dari awal, kan? Anda dapat mencoba untuk datang dengan cara untuk melihat kayu, dan untuk membawa kayu ke tempat, dan untuk mendapatkan batu dalam bentuk yang tepat, dan kemudian semua itu. Tapi itu akan mengambil mungkin banyak tahun sampai Anda mendapatkan semua bahan, dan Anda mendapatkan segala sesuatu bersama-sama, dan Anda benar-benar mulai untuk membangun rumah Anda. Jadi ternyata jika Anda mulai dengan kerangka dengan sesuatu yang sudah jenis di tempat untuk semua jenis rumah bahwa Anda ingin build-- sesuatu itu sangat generik tetapi Anda bisa kemudian memodelkan arah Anda sendiri goals-- maka Anda dapat memanfaatkan kekuatan ini dari kerangka kerja untuk membangun mereka sesuatu yang jauh, jauh lebih cepat. OKE. Jadi, ini adalah ide yang sama dalam framework untuk aplikasi web atau untuk semua jenis aplikasi, dalam hal ini. Anda benar-benar mulai keluar dengan setengah aplikasi yang sudah ada di tempat untuk Anda. Dan dengan itu, saya berarti Anda mendapatkan banyak file yang sudah memiliki fungsi, seperti perpustakaan, seperti fungsi, dan perintah yang dapat dijalankan untuk untuk membuat hidup Anda lebih sederhana dan lebih mudah. OKE. Jadi dalam hal ini, kita akan untuk berbicara tentang Ruby on Rails. Ada banyak berbeda kerangka kerja di luar sana. Ada Django untuk Python. Ada kerangka Zend atau Laravel untuk PHP. Ada banyak orang yang berbeda. Ruby on Rails adalah yang baru cukup bagus. Banyak orang menggunakan bahwa dalam startups dan lingkungan semacam ini. Dan beberapa di antaranya sangat besar perusahaan yang saya menunjukkan di sini sebelum juga menggunakan Ruby on Rails. Jadi hanya untuk memberi Anda rasa apa Ruby adalah seperti, karena kalian lebih digunakan untuk, seperti, C dan sedikit PHP sekarang, jadi Ruby akan menjadi setara dengan PHP Anda dalam pengertian ini. Ini bukan Ruby. Ini adalah C. OK? Tapi ini adalah seperti Fungsi DJBHash yang saya tahu banyak orang yang digunakan untuk salah eja PSET. Dan di Ruby, cukup seperti di PHP, Anda bisa menerapkan ini dengan hanya beberapa baris kode. Daripada harus khawatir tentang fungsi hash, harus khawatir tentang ember, dan semua itu, Anda hanya bisa mengatakan, kamus = Hash.net. Dan kemudian Anda menggunakan jenis seperti ide yang sama yang telah PHP. Dan jadi true. Dan kemudian jika Anda ingin cek, jadi fungsi kalau kamus "foo" equals sama benar, kembali benar. Dan itu semua, OK? Jadi Anda melihat beberapa perbedaan. Tidak ada semi-titik dua di sini, karena ada di C. Tapi ide umum sangat mirip. OKE? Juga, di Ruby, ada permata, yang adalah jenis perpustakaan Ruby. Dan Rails menangani mereka cara yang sangat baik untuk Anda. Jadi jika Anda ingin menempatkan di beberapa perpustakaan yang melakukan email, atau melakukan pesan teks, atau yang melakukan integrasi dengan Facebook, atau segala hal seperti itu untuk aplikasi Anda, itu sangat, sangat mudah. Kemungkinan besar Anda dapat menemukan sesuatu seperti itu di internet. Dan mereka hanya melakukan sesuatu seperti put yang Permata yang ingin Anda gunakan dalam file permata. Dan kemudian Rails menginstal segalanya. Anda tidak perlu khawatir tentang apapun itu, sehingga benar-benar keren. Juga, ada banyak, banyak bantuan online. Jadi, Anda dapat menemukan banyak hal. Jika Anda memiliki kesalahan, Anda hanya dapat Google itu, dan itu akan menjadi sangat mudah untuk mendapatkan bantuan. Dan itu banyak fun-- exactly-- karena Anda tidak perlu khawatir tentang tingkat rendah rincian, pelaksanaan tabel hash dan harus datang dengan semua header HTTP, dan banyak hal, dan bahkan beberapa lebih tinggi hal tingkat. Anda tidak perlu khawatir tentang itu di Rails. Itu tidak sangat, sangat baik untuk Anda. Dan kita akan menunjukkan bahwa lebih konkret segera. OKE. Jadi sedikit tentang Ruby lagi. Jadi itu hanya seperti C, seperti yang saya katakan. Alih-alih printf, kita katakan "Menempatkan," yang "menempatkan string." Ini menempatkan string ke konsol. Dan dalam hal ini, kami hanya mencetak "Hello World." Kita tidak perlu tanda kurung, tapi itu cukup banyak yang sama. Dan kemudian jika Anda ingin untuk melakukan sesuatu di sini, seperti mencetak sekelompok "smalls" dan sekelompok "bigs" dalam lingkaran Sementara, itu jenis seperti di C, kan? Anda tidak memiliki params, tapi itu hampir sama. Lekukan di sini jumlah, sehingga x sama dengan 1. Dan kemudian Sementara x lebih kecil dari 50-- ini adalah Jika, ini adalah sebuah Lain. Hal ini cukup banyak seperti apa yang Anda lihat. Dan kemudian x + = 1 hanya incrementing, jenis seperti melakukan ++ yang Anda bisa lakukan di C. Tapi itu cukup banyak apa yang Anda lihat di C. Seharusnya tidak terlalu rumit. Tapi ini lebih kuat. Jadi ada beberapa perintah di sini yang pasti sedikit lebih baru. Jadi misalnya, "menempatkan." Anda dapat menggunakan notasi hashtag ini di sini untuk hanya mencetak something-- cukup banyak seperti apa yang akan Anda lakukan jika % D% atau C atau agak seperti itu. Dan Anda benar-benar dapat menempatkan Jika setelah pernyataan itu. Jadi saya hanya ingin melakukan this-- Jika x lebih besar dari 3. Jadi mengapa saya harus membuat seluruh Jika blok? Saya tidak tahu. Aku hanya bisa mencetak ini hanya jika x sama dengan lebih dari 3. Jadi ini adalah cara satu baris untuk melakukan hal ini di Ruby. Daftar di Ruby adalah sesuatu yang sangat serbaguna. Jadi Anda tidak benar-benar membutuhkan untuk memiliki hanya satu jenis. Anda dapat memiliki string, dan kemudian beberapa nomor, dan apa pun. Dan jika Anda ingin menambahkan sesuatu untuk daftar, Anda hanya bisa menggunakan ini notasi di sini. Dan jika Anda ingin beralih. Cukup banyak 4each di PHP, di sini, Anda memiliki daftar dan Anda melakukan "List.each lakukan." Dan ini "elem," ini seperti nama setiap elemen bahwa aku akan ada di daftar saya. Dan kemudian aku hanya bisa "menempatkan elem." Dan "menempatkan" cukup banyak menangani menempatkan untuk Anda, mencetaknya. Tidak masalah jika itu string atau int. Ini akan bekerja bahwa untuk Anda. Yang Tepat? Keren. Dan seperti PHP, Ruby dan HTML juga mengintegrasikan sangat, sangat baik. Dan di sini, ada beberapa HTML dengan Ruby di dalamnya. Jadi kita memiliki tag tubuh seperti di HTML. Dan jika kita ingin memeriksa bahwa pengguna, misalnya, login, kita hanya bisa mengatakan, mulai dari Ruby, jika user.logged_in ?, akhir Ruby. Cetak hal ini seluruh, yang memiliki beberapa Ruby di dalamnya, yang hanya jenis seperti itu sintaks untuk PHP yang mencetak variabel. Mari kita mencetak user.name tersebut. Jadi menyambut, Stephen, dalam sebuah div HTML. Dan pada akhirnya, kita memiliki "end" dan Kode Ruby, yang berarti ini adalah saya Jika blok. OKE? Jadi itu hanya seperti sebuah mulus integrasi antara Ruby dan HTML. Ada juga banyak sumber daya. Namun sebelum kita melanjutkan, apakah ada yang memiliki pertanyaan tentang Ruby, apa pun? OKE. Ada banyak sumber daya online untuk tryruby.org, Kode Academy, ruby-lang.org, di mana Anda dapat mencobanya keluar pada browser Anda sebelum Anda benar-benar mengatakan, oh, OK, saya akan menggunakan Ruby untuk proyek akhir saya. Dan pasti memberikan yang mencoba. Semua slide ini akan tersedia secara online, sehingga Anda hanya dapat men-download mereka. Dan ya? AUDIENCE: [tidak terdengar] apa yang Anda hanya menunjukkan adalah HTML dan kode tertanam ke untuk gagasan ini Model View Controller? GABRIEL Guimaraes: Ya. Kami akan melakukan itu dalam satu detik ketika kita menunjukkan contoh kita, OK? Terima kasih atas pertanyaannya. Jadi pertanyaannya adalah pada dasarnya jika kita dapat menunjukkan integrasi ini Ruby dalam HTML dalam Model Lihat kerangka Controller. Jadi ide Model Kerangka View Controller itu pada dasarnya filsafat, seperti Stephen menunjukkan di sini. Dan itu bukan sesuatu yang harus Anda lakukan, tapi itu adalah sesuatu yang membuat hidup Anda jauh lebih mudah. Dan Ruby on Rails dibangun sekitar filosofi ini kode. Jadi kita akan menunjukkan contoh segera. Jadi Rails adalah cinta. Banyak orang yang menggunakannya, seperti yang saya katakan. Dan itu benar-benar menyenangkan. Kalian harus pasti mencobanya. MVC membuat segalanya lebih mudah. Jadi Model View Controller, hal-hal yang memisahkan dan menempatkan satu orang, per se, atau salah satu bagian dari aplikasi Anda untuk melakukan setiap pekerjaan yang berbeda bahwa aplikasi Anda harus dilakukan. Dan sedikit waktu yang dihabiskan pada masalah tingkat rendah. Dan sangat populer sekarang. Kami memiliki Rails 4.0, yang merupakan versi baru. Dan ia datang dengan banyak hal keren. Pertanyaan lain. AUDIENCE: Pertanyaan lain. Ruby on Rails dibandingkan Ruby on Rails Grails. GABRIEL Guimaraes: OK. Pertanyaannya adalah, Ruby on Rails dibandingkan Ruby-- AUDIENCE: Grails. Ruby? GABRIEL Guimaraes: Ya. Jadi Ruby adalah bahasa. AUDIENCE: No. Saya meminta Anda untuk membandingkan bahasa dan kerangka kerja, Ruby on Rails, dengan bahasa lain yang populer framework-- Grails-- dengan Ruby on Rails. GABRIEL Guimaraes: OK. Mohon Maaf. Pertanyaan itu, membandingkan Ruby dan Ruby on Rails kerangka lain dan another-- AUDIENCE: Ruby. Tidak apa-apa. Jika Anda tidak tahu tentang hal itu, itu baik-baik saja. GABRIEL Guimaraes: Seperti, apa yang saya pahami adalah itu-- AUDIENCE: Ada satu lagi Kerangka disebut Grails. GABRIEL Guimaraes: Oh, Grails. Aku tidak pernah mendengar tentang hal itu. Mohon Maaf. Aku pernah mendengar tentang Groovy on Rails. Mohon Maaf. AUDIENCE: Ini jauh lebih baik terintegrasi dengan Java. GABRIEL Guimaraes: Saya melihat. AUDIENCE: Saya hanya ingin tahu tentang beberapa orang yang saya tahu like-- GABRIEL Guimaraes: Tidak, saya tidak pernah mendengar satu itu, sayangnya. Grails. AUDIENCE: Dan beberapa orang jelas seperti Ruby on Rails. GABRIEL Guimaraes: Saya sudah digunakan Ruby on Rails banyak. Saya telah menggunakan beberapa Django dengan Python, seperti yang saya katakan. Saya telah menggunakan beberapa Laravel. Tapi aku tidak menggunakan Groovy on Rails. Mohon Maaf. Dan itu sangat populer sekarang dengan Rails 4.0. Seperti, beberapa hal yang Rails lakukan untuk Anda, misalnya, adalah Anda memiliki banyak file CSS dan banyak file JavaScript. Dan Anda dapat memperlakukan mereka sebagai terpisah dan semuanya. Tapi kemudian ketika automatically-- Anda mengirim kode untuk produksi, secara otomatis mengkompilasi mereka semua menjadi satu file tunggal yang minified tanpa ruang, sehingga tidak memakan ruang kurang dalam aplikasi Anda, sehingga bahwa Anda benar-benar dapat skala hal-hal banyak. Itu perusahaan besar mengapa seperti seperti Twitter dan GitHub menggunakan Rails, karena tidak semua untuk Anda, yang benar-benar keren. Satu hal yang sangat, sangat, sangat menakutkan bagi orang-orang, termasuk saya, yang mencoba untuk bekerja dengan kerangka di awal, adalah bahwa ketika Anda memulai aplikasi, Anda akan melihat sekelompok file. Seperti, ketika Anda membuat Rails Baru, Aplikasi My, Anda akan melihat semua ini folders-- app, bin, konfigurasi, db, lib, log, masyarakat. Seperti, banyak dan banyak hal. Dan pertama kali saya melihat bahwa, aku seperti, OK, saya tidak tahu apa yang terjadi. Saya hanya ingin membuat website dengan "Halo, dunia," dan ini memberi saya, seperti, 100 miliar halaman yang berbeda. Aku tidak tahu apa yang terjadi. Jadi jangan terlalu gentar dengan itu. Idenya adalah bahwa itu benar-benar memiliki setengah rumah di sana untuk Anda sudah. Ini memiliki seluruh kerangka kerja untuk Anda sudah. Itulah mengapa ada begitu banyak file. Tapi hal yang menyenangkan adalah bahwa hal itu memisahkan mereka semua sangat baik. Kemungkinan besar Anda tidak perlu khawatir tentang sebagian besar folder tersebut. Yang paling penting, saya akan mengatakan, adalah folder aplikasi, di mana aplikasi Anda benar-benar hidup. Jadi konfigurasi, Anda akan harus configurate beberapa hal, seperti database dan hal-hal seperti yang jenis database yang Anda gunakan. Tapi selain itu, seperti kebanyakan dari pekerjaan Anda akan dilakukan di app. Jadi dalam aplikasi, Anda memiliki aset, controller, pembantu, mailer, model, pemandangan. Jadi di sini, Anda mulai melihat bahwa controller, model, dan pandangan datang ke dalam bermain. Mailer hanya jika Anda ingin mengirim email. Pembantu jika Anda ingin membuat beberapa fungsi Anda menggunakan banyak dalam pandangan. Jadi Anda menempatkan mereka dalam pembantu. Dan aset dasarnya semua gambar, semua CSS Anda, semua Anda JavaScript, dan seperti yang jenis hal-hal yang akan dikirim ke klien. Dan semua yang ada di aset, yang saya katakan sebelumnya, akan minified. Itu dikompilasi. Dan Anda tidak benar-benar perlu khawatir tentang bahwa ketika ia pergi ke kode produksi. Keren. Sekarang Zack akan datang, dan dia akan melakukan contoh Twitter50. AUDIENCE: Woo-hoo! ZACK Chauvin: Awesome. Jadi saya memiliki kesempatan untuk bekerja dengan Ruby on Rails musim panas ini. Ini adalah kerangka kerja yang luar biasa. Saya sangat parsial untuk itu. Dan aku hanya akan menunjukkan sedikit contoh dari apa yang bisa terlihat seperti. Langsung ke Chrome. Jadi ini adalah contoh yang sangat sederhana Ruby on Rails application-- sesuatu seperti ini adalah sesuatu bahwa Ruby benar-benar unggul itu-- hanya di mana Anda model sangat didefinisikan dengan baik. Dalam contoh ini, Anda akan melihat dua model yang berbeda, yang adalah bahwa kita memiliki pengguna dan kami memiliki tweet. Jadi ini adalah Twitter50, Twitter sendiri Harvard. Seperti yang Anda lihat, saya login sebagaizack. Dan aku bisa membuat tweet baru. Jadi saya think-- "Ini adalah" - maaf? AUDIENCE: [tidak terdengar]. ZACK Chauvin: Oh, OK. Perlu untuk menghentikan server. Baik. Jadi di sini kita. Seperti yang Anda lihat, kami telah kami Aplikasi Twitter di sini. Dan itu super mudah untuk memulai server. Kami hanya akan melakukan "rel Server." Hebat Sekali. OKE. Terima kasih untuk itu. Jadi sekarang kita berjalan. Dan kita akan mengatakan, "Ini adalah seminar yang mengagumkan. " Dan mari kita lihat apa yang terjadi. Jadi kita akan men-tweet tentang hal itu. Turun di bagian bawah, Anda dapat melihat sekarang ada lebih dari tiga tweet. Jadi kita memiliki sedikit dari pagination terjadi. Dan kami memiliki tweet yang. Dan saya juga bisa mencari melalui saya pencarian tweets-- untuk ini dan dua orang yang memiliki kata "Ini" di dalamnya muncul. Kita juga bisa menghapus tweet dengan mengklik tombol Delete kecil. Dan jelas, saya hanya dapat menghapus pos milik saya. Sudah, kita hampir memiliki fungsi Twitter. Seperti, ketika Anda berpikir tentang hal itu, Twitter benar-benar tidak melakukan semua itu banyak. Memiliki pengguna, ia memiliki tweets. Ada beberapa fungsi yang lebih kompleks. Tetapi ketika Anda benar-benar turun ke sana, itu cukup Ruby on Rails aplikasi sederhana. Dan sesuatu seperti ini, dengan pemahaman yang baik tentang Ruby on Rails, Anda mungkin bisa buat dalam satu atau dua jam. Dan itu benar-benar datang kembali ke mantra Ruby, yang merupakan konvensi di atas konfigurasi. Jadi kembali pada hari, orang-orang, kapan saja mereka ingin membuat website ini, harus mulai dari awal. OK, saya ingin membuat sebuah website. Mari kita membuat file ini dan file ini dan file ini. Dengan Ruby on Rails, ada semua itu. Anda berkata, saya ingin aplikasi baru. Dan seperti Gabe menunjukkan kepada kita, itu menciptakan struktur seluruh file bagi kita. Dan kita hanya mengubah bagian kecil yang kita perlu. Kami hanya menyesuaikan apa yang unik tentang aplikasi kita. Keren. Jadi kembali ke presentasi kami preview-- menarik. Di mana saya hadir? AUDIENCE: Layar penuh. Kanan atas. ZACK Chauvin: Excellent. Keren. OKE. Jadi pertama-tama, model. Stephen melakukan mengagumkan pekerjaan menguraikan MVC. Dan sekarang kita akan berhubungan yang kembali ke Ruby on Rails. Jadi model Anda dapat jenis dari anggap sebagai database. Anda telah melihat ini di CS50 Keuangan, di mana toko-toko Model informasi tentang berapa banyak saham yang Anda miliki, atau semua transaksi yang Anda buat. Ini adalah contoh dari garis bagaimana Anda akan bisa membuat model baru di Rails. Jadi saya ingin pengguna. Itu akan memiliki email, yang merupakan string, dan password, yang juga string. Jadi seperti those-- saya ingin setiap baris di meja saya pengguna untuk terlihat seperti itu. Bagian yang benar-benar mengagumkan tentang Rails adalah bahwa hal itu membuatnya tidak perlu untuk menulis SQL apapun cukup banyak. Berapa banyak dari kalian mencintai menulis SQL di PSET 7? Tepat. SQL tidak sangat user-friendly. Dan Rails abstrak semua yang jauh dengan perintah-perintah yang benar-benar mudah. Jadi misalnya, jika kita memiliki pengguna, pengguna memiliki banyak tweet. Dan masing-masing dari mereka tweet milik pengguna. Jadi jika Anda melihat di sini, ini adalah model kami untuk menciak kami. Dan semua kita harus katakan adalah line-- tunggal ini saya tweet dan saya milik pengguna. Dan dengan garis tunggal dan sedikit dari konfigurasi database, Rails set hubungan ini. Kapan saja, saya hanya bisa mengatakan, zack.tweets, seperti, memberi saya semua Zack tweet. Tidak ada SQL. Super mudah. Sekali lagi, itu konvensi di atas Konfigurasi datang ke dalam bermain. Anda dapat melihat sedikit dari contoh Ruby di sini. Seperti memberi kata, menulis Ruby adalah semacam seperti menulis bahasa Inggris. Ini adalah bahasa yang sangat tingkat tinggi, dan itu membuat sangat mudah bagi kita untuk mengatakan hal-hal seperti, saya ingin pastikan bahwa tweet ini memiliki tubuh. Keberadaannya benar. Dan saya ingin memastikan bahwa ini menciak, seperti Twitter normal, memiliki panjang maksimal 140. Ini super-intuitif, a bahasa benar-benar hebat. Selanjutnya kita memiliki pandangan. Jadi ini melibatkan HTML dan CSS. Dan inilah contoh dari pandangan. Jadi Ruby on Rails jenis mulus terintegrasi baik Ruby dan HTML untuk menghasilkan apa yang kita inginkan pada halaman. Jadi ini adalah contoh dari tata letak kami. Sehingga Anda dapat melihat beberapa tag yang Anda orang digunakan untuk, seperti HTML, tubuh, semua hal yang baik. Dan tepat di sini, meskipun, kita menggabungkan beberapa Ruby dengan mengatakan, jika ada pesan untuk menampilkan, kemudian menampilkan pesan di div. Jadi saya tidak akan terlalu banyak ke dalam. Tapi ini umumnya merupakan Halaman yang akan diberikan on-- dan tidak peduli apa halaman Anda pada, yang satu ini akan diberikan. Jadi ini adalah apa yang akan disertakan selalu. Keren. Contoh lain dari view-- ini satu di mana ia memilih semua tweets. Dan beberapa hal ini mungkin terlihat cukup akrab. Jadi misalnya, di sini, kami tidak perulangan melalui masing-masing tweets, dan kami mencetak mereka keluar. Jadi di sini adalah di mana kita mencetak tubuh. Dan jika user-- tweet di sini adalah Contoh nyata ada SQL terlibat. Aku hanya bertanya, apakah ini pengguna Tweet ini pengguna saat? Kemudian menunjukkan link untuk menghapusnya. Ini super sederhana. Controller. Jadi ini adalah, sekali lagi, antarmuka antara model dan tampilan. Ini adalah salah satu yang melakukan kerja keras dari interacting-- menjadi perantara. Ini beban informasi untuk melihat, yang akan kita lihat dalam detik. Dan untuk berinteraksi dengan model, panggilan metode model, yang adalah apa kalian sudah familiar dengan fungsi. Jadi misalnya, ini adalah kontroler Tweet kita. Ini mungkin tampak sedikit menakutkan sekarang. Tetapi sebenarnya sangat intuitif setelah Anda mulai menyelam di. Jadi misalnya, dalam indeks kami, itu di mana kami ingin menunjukkan semua tweets. Dan baris ini pada dasarnya hanya meminta semua tweets. Dan kemudian kita menginisialisasi kedua yang tweet-- baru sehingga seperti jika mereka ingin membuat Tweet baru pada halaman tersebut. Dan bertanya apa yang pengguna saat ini. Dan ini sangat mirip dengan membuat Anda lihat di PSET 7, di mana itu hanya semacam memberitahu yang view-- itu jenis, seperti, melewati variabel yang Anda akan membutuhkan dalam tampilan ke tampilan. Dan ada seluruh banyak metode yang berbeda bahwa kontroler ini tweet yang dapat menangani. Tapi sungguh, Rails tidak pekerjaan yang besar jenis membagi mereka ke dalam berbagai tindakan yang controller yang mungkin dilakukan. Apakah ada pertanyaan tentang salah satu bagian MVC Rails? Jenis hanya angin oleh. Jadi kalian dapat memeriksa itu sendiri. Mengagumkan. Kami akan terus berjalan. Jadi menginstal Rails. Instalasi Rails mungkin, seperti, salah satu bagian yang lebih menakutkan dari seluruh Rails proses, sayangnya. Tapi jelas, semua kami sekitar untuk membantu. Dan setelah itu di sana, banyak sumber daya yang besar, sebagai Gabe disebutkan, untuk memulai. Berikut adalah link yang Anda harus dalam rangka untuk men-download Rails untuk mendapatkannya diinstal pada komputer Anda. Jelas, ini tersedia untuk Windows dan Mac dan untuk alat CS50. Pertanyaan tentang apa pun yang kita katakan? AUDIENCE: Saya akan tertarik, actually-- jadi saya tahu bahwa download software adalah penghalang terbesar. Jika ada bunga yang cukup untuk memiliki download sesi mini atau sesuatu. ZACK Chauvin: Mm-hm. Ya. Itu mungkin benar-benar membantu. Kalau ada yang benar-benar gung-ho tentang menggunakan ini untuk proyek mereka atau di masa depan, maka kita lebih pasti senang berbicara dengan Anda tentang hal itu. Mm-hm. AUDIENCE: Sebuah pertanyaan yang terkait untuk apa yang saya minta sebelumnya. Bagi Anda yang telah melakukan kerangka lain yang masih mencoba untuk melakukan hal yang sama hal, memudahkan untuk membangun sebuah website atau fungsi, saya pikir akal mengapa kita akan on Rails dibandingkan Zend atau beberapa kerangka kerja lainnya dan bahasa. ZACK Chauvin: saya hanya akan mengatakan saya $ 0,02 tentang itu. Saya suka Ruby on Rails. Aku punya kesempatan untuk bekerja baik PHP dan Ruby on Rails. Saya lebih memilih Ruby on Rails karena Ruby. Jelas, itu adalah bagian besar dari itu. Seperti, ketika Anda memilih kerangka Anda, Anda juga memilih bahasa Anda. Ruby super accessible-- saya pikir bahasa jauh lebih baik daripada PHP. Tapi itu semacam preferensi pribadi. Selain itu, pertimbangan lain adalah masyarakat di balik kerangka bahwa Anda bekerja dengan. Sekarang Ruby on Rails benar-benar panas. Ada ton dukungan di belakangnya. Anda posting sesuatu di Stack Melimpah tentang masalah Anda karena dalam Ruby on Rails, dan itu dijawab. Sekali lagi, itu open source, yang berarti bahwa itu terus-menerus berubah. Ada ton orang yang benar-benar berdedikasi untuk membuat ini Kerangka benar-benar mengagumkan. Jadi itu sebabnya saya akan memilih Ruby on Rails. GABRIEL Guimaraes: Ya. Saya akan mengatakan bahwa ide balik sebagian kerangka Anda akan mencari tahu ada sangat, sangat mirip, kan? Jadi Model View Controller, fakta bahwa kontroler kami akan terlihat seperti sesuatu seperti this-- masing-masing fungsi seperti salah satu halaman Anda, dan mengarahkan Anda, dan menginisialisasi variabel. Itu akan menjadi hal yang sama untuk setiap kerangka kerja yang Anda lihat di luar sana. Dan ada akan menjadi model. Dan Anda dapat melakukan hal-hal seperti, "milik." Jadi bukannya melakukan versi SQL, Anda hanya, seperti, lakukan, user.tweets, dan Anda mendapatkan semuanya. Semua orang memiliki itu. Kecuali di Ruby, Anda user.tweets, dan kemudian beberapa kerangka kerja PHP, Anda user.getalltweets MANA PHP saya tidak masalah. Seperti, itu adalah garis besar. Ini adalah hal yang sama, tapi itu adalah garis besar. Jadi itulah salah satu alasan utama preferensi saya selama Ruby. Hanya saja saya lakukan persis hal yang sama dalam framework lain, itu hanya membutuhkan saya dua kali garis sepanjang kode. OKE? Ada pertanyaan lain? ZACK Chauvin: Sesuatu Saya akan menyebutkan quickly-- Gabe berbicara sedikit tentang permata. Dan itu benar-benar besar-Maksudku, ini adalah jenis umum untuk semua kerangka, bahwa ada semacam konsep permata, yang seperti dalam contoh kecil saya, Saya telah masuk. Seperti, Anda dapat masuk, keluar. Seperti, itu benar-benar jenis proses yang kompleks. Itu ditangani sedikit bit untuk Anda dalam PSET 7. Tapi aku masih tidak sepenuhnya tahu bagaimana untuk melaksanakan masuk, tanda-out. Dan itu karena Ruby on Rails memiliki ton permata yang melakukan hal-hal seperti itu untuk Anda. Sekali lagi, konvensi di atas konfigurasi. Semua orang akan melakukan sign-in ini, tanda-out langkah. Jadi mengapa tidak hanya membuat paket, disebut Rancangan dalam hal ini, yang merupakan permata. Anda hanya memasukkannya. Dan kemudian ada bantuan online dengan cara menggunakannya. Dan Anda tidak perlu khawatir tentang sesuatu seperti itu. Melampirkan gambar ke ini things-- permata untuk itu. Seperti, kapan saja Anda coba lakukan sesuatu yang baru, ada permata untuk itu. Dan Anda jenis hanya mengumpulkan permata ini dan membangun benar-benar kompleks aplikasi yang sangat cepat. Keren. Ada pertanyaan lain? STEPHEN Turban: Woo-hoo. Saya tidak berpikir [tidak terdengar]. GABRIEL Guimaraes: OK. Terima kasih banyak, guys. STEPHEN Turban: Buh-bye. ZACK Chauvin: Buh-bye. STEPHEN Turban: Woo-hoo. [TEPUK TANGAN] Hore.