[Muzik bermain] STEPHEN serban: Jadi saya Stephen Turban. Lebih di sebelah sini, mungkin kita boleh mendapatkan beberapa orang untuk menyelam dalam. Kami mempunyai Gabriel dan Zack. Jadi untuk pelan tindakan ringkas mengenai apa yang ini akan kelihatan seperti, Saya akan melakukan beberapa amat peringkat tinggi lihat apa MVC adalah. Gabe? GABRIEL Guimarães: saya akan bercakap tentang Ruby dan sedikit bagaimana Rails kerja dan bagaimana ia boleh membantu anda membina aplikasi web. ZACK Chauvin: Dan saya akan menunjukkan contoh khusus tentang bagaimana menggunakan Rails untuk membina aplikasi super awesome. STEPHEN serban: Awesome. Sweet. Baiklah. Jadi mari kita bercakap tentang MVC. Jadi mari kita pergi ke slaid seterusnya, yang Saya akan melakukan dengan menekan butang ini. Dan mari kita pergi kepada pembangunan next--, Saya suka berfikir tentang pergi ke CVS, kerana CVS adalah kedai dan juga mempunyai V di tengah. Dan jadi mari kita bayangkan ke kedai. Dan mari kita membuat kedai ini menjual hanya satu perkara. Jadi, kita akan mempunyai ini menyimpan hanya menjual cawan merah. Dan bayangkan anda berjalan dalam, dan anda pergi ke hadapan kedai, dan orang itu. Dan namanya adalah Vince. Dan Vince gelombang hello pada anda, mengatakan hi. Dan anda perasan satu perkara tentang Vince. Jadi setiap kali kita berfikir tentang Vince, kita perlu berfikir kira-kira dua kata sifat utama. Vince adalah cantik, tetapi dia bodoh. OK. Jadi, anda tahu, bukan kerana kesalahan sendiri, malangnya, dia cantik. Beliau adalah pandangan kami. Jadi ahli cast pertama kami adalah di sana. Pastikan bahawa dalam fikiran. Sekarang, anda meminta Vince, anda pergi, hey Vince. Saya seorang pelanggan. Dia mengatakan hi. Saya benar-benar mahu satu cawan merah anda. Dan apa yang Vince katakan? Adakah sesiapa yang mempunyai apa-apa idea apa Vince berkata? Saya akan panggilan sejuk. Apa yang anda fikir Vince berkata? PENONTON: Dia berkata, saya boleh menunjukkan kepada anda di mana ia adalah, tetapi saya tidak boleh memberikan anda satu. STEPHEN serban: Dia berkata, saya boleh menunjukkan kepada anda di mana ia adalah, tetapi saya tidak boleh memberikan anda satu. Lebih buruk lagi. Orang lain mempunyai satu lagi idea apa Vince mungkin berkata? PENONTON: Beliau mempunyai untuk pergi cek jika mereka mempunyai apa-apa cawan merah. STEPHEN serban: Vince tidak tahu dia mempunyai untuk memeriksa. Apa-apa lagi? Jadi, anda berkata, perlu memeriksa jika dia mempunyai cawan merah. Teruskan. PENONTON: Apakah yang dimaksudkan dengan cawan merah? STEPHEN serban: Apakah yang dimaksudkan dengan cawan merah? Apakah yang dimaksudkan dengan cawan merah? Vince adalah keliru. Jadi Vince akan bercakap dengan ahli cast akan datang, Carl. Dan apabila kita berfikir tentang Carl, kita Harus berfikir kira-kira dua adjectives-- besar dia mengawal, tetapi dia tidak mampu. Jadi Vince goes-- dia pergi, apa yang cawan merah? Saya tidak tahu apa yang cawan merah. Beliau bertukar sekitar, dan dia meminta Carl. Beliau berkata, Carl, seseorang meminta secawan merah. Bolehkah anda melakukannya? Dan apakah Carl katakan? Mari kita mencari penyelesaiannya. Adakah sesiapa mempunyai apa-apa idea apa Carl kata? Dan saya hanya akan mengulanginya kembali kepada anda. Saya menyaksikan pergerakan tangan. PENONTON: Dia memberitahu seseorang lain untuk mendapatkan cawan merah. STEPHEN serban: Dia memberitahu orang lain untuk mendapatkan cawan merah. Tepat. Dan kita mempunyai idea yang orang itu mungkin? Ia adalah sebuah petunjuk. Ia akan bermula dengan M. Mob? PENONTON: Model. STEPHEN serban: Model ini, ya. Namanya tidak Model, malangnya, kerana itulah nama yang bodoh. Kami mempunyai Mitt. Dan apabila kita berfikir tentang Mitt-- tidak, ini bukan gambar Zack. Kita perlu berfikir dua kata sifat utama dengan Mitt. Dia mampu, tetapi dia tunduk. Jadi Mitt tahu apa yang hendak dilakukan, tetapi dia benar-benar tidak boleh berbuat apa-apa. Atau dia benar-benar tidak boleh membuat keputusan sendiri. Oleh itu, kita mempunyai Carl. Carl menjerit di Mitt. Dan dia berkata, hey Mitt, kita perlu cawan merah. Dan Mitt pergi ke cawan depositori merah. Dia menangkap cawan, dan dia memberikan kembali. Adakah sesiapa mempunyai apa-apa idea apa yang berlaku kemudian? Memberikan cawan. Setakat ini Mitt telah pergi ke merah cawan repositori, diambil keluar, diperiksa itu, kata, Saya mengambil satu cawan merah. Dan dia memberikan kepada Carl. Adakah anda mempunyai idea? Apa yang anda fikir Carl tidak? PENONTON: Carl diberikanNya kepada Vince. STEPHEN serban: Carl diberikanNya kepada Vince. Vince. PENONTON: Dan Vince menunjukkan kepada [didengar]. STEPHEN serban: Tepat. Jadi itulah ia. Jadi Vince mengambil cawan, tidak tahu apa yang ia adalah, tetapi ia menunjukkan kepada pengguna. Jadi mari kita cuba untuk mencipta semula ini benar-benar secara ringkas. Dan kami gonna keperluan tiga sukarelawan senyap, kerana anda semua tidak akan dapat berkata-kata. Jadi saya boleh merebut tiga? OK. Dan yang anda ingin menjadi? PENONTON: Saya akan Vince. STEPHEN serban: Vince, OK. Cantik tetapi bodoh. Great. Orang lain? Kami sedang mencari mampu tetapi tunduk patuh. Orang lain mahu menjadi mampu? PENONTON: Saya boleh menjadi Carl. STEPHEN serban: Sweet. Kami telah mendapat Carl. PENONTON: Mitt. STEPHEN serban: Mitt, OK. Dan kita akan perlu a-- Saya akan menjadi pelanggan. Jadi datang ke atas, ia datang pada sehingga. Dan semua orang memandangkan? Jadi saya akan bertanya kepada Vince berdiri di hadapan, hanya tersenyum, hanya tersenyum sebagai terang yang mungkin. Dan kita akan bertanya Carl, betul, mengapa tidak anda, seperti, berdiri di belakang beliau? Dan Mitt, mengapa tidak anda hanya pergi di belakang, dan kemudian saya akan memberikan anda satu kumpulan cawan untuk bergaul dengan. Jadi saya pelanggan. Aku datang. Dan saya membuat [didengar] Saya berkata, hi, saya ingin cawan. Perfect. Jadi Vince tidak mempunyai idea. Jadi, apa yang Vince lakukan seterusnya? Vince-- OK, jadi saya akan untuk menjadi menyampaikan sekarang. Vince menjerit di Carl, cawan! Apakah Carl lakukan? Carl berteriak di Mitt. Mitt menangkap cawan. Mitt diberikanNya kepada Carl. Carl kembali kepada Vince. Vince dan menunjukkan kepada pengguna. Dan itulah yang tinggi, tinggi, tinggi, kelihatan begitu tinggi di MVC. Kami dibahagikan dengan mempunyai gambaran yang, apa yang pengguna melihat, seorang pengawal, seseorang yang melakukan segala-galanya di latar belakang tetapi benar-benar tidak boleh mengemaskini apa-apa atau tidak boleh berbuat apa-apa dengan apa-apa kepentingan kecuali memanggil pandangan dan model. Dan kemudian kita mempunyai Mitt, model, yang mengemas kini data apa yang kita ada. Jadi terima kasih banyak untuk kita yang indah, mengawal, dan sukarelawan mampu. Dan saya berfikir bahawa ia adalah. [Tepuk tangan] Saya rasa Gabe akan bercakap sekarang pada tahap yang tinggi diharapkan kurang. GABRIEL Guimarães: OK, guys. Sekarang mari kita bercakap sedikit sedikit lebih lanjut mengenai kod dan kira-kira Ruby on Rails itu sendiri, dan bagaimana ia berkaitan kepada semua cerita MVC ini. Pada asasnya, Ruby on Rails adalah rangka kerja. Lebih lanjut mengenai bahawa dalam satu saat. Tetapi hanya untuk memberikan anda rasa siapa yang menggunakannya, seperti, semua ini companies-- besar jadi GitHub, Groupon, Twitter-- mereka semua menggunakan Ruby on Rails sebagai rangka kerja utama mereka untuk melaksanakan laman web mereka. Jadi saya pasti ramai orang telah menggunakan laman web ini di sini. Dan itu semua Ruby on Rails untuk melaksanakan model, pandangan, dan pengawal pada semua laman-laman web dan banyak lagi. OK? Jadi seperti yang saya katakan, Ruby on Rails adalah rangka kerja. Dan anda jenis boleh berfikir rangka kerja yang dalam erti kata seperti membina sebuah rumah. Jadi, jika anda akan membina house-- dan anda boleh sentiasa bermula dari bawah, bukan? Anda boleh cuba untuk datang dengan satu cara untuk melihat kayu, dan untuk membawa kayu di tempat itu dan untuk mendapatkan batu-batu dalam bentuk yang betul, dan kemudian semua itu. Tetapi itu perlukan masa mungkin banyak tahun sehingga anda mendapatkan semua bahan, dan anda mendapat semua bersama-sama, dan anda benar-benar bermula untuk membina rumah anda. Jadi ternyata jika anda bermula dengan rangka kerja dengan sesuatu yang sudah sejenis di tempat bagi apa-apa jenis rumah yang anda mahu build-- sesuatu itu sangat generik tetapi anda boleh maka model ke arah anda sendiri goals-- maka anda boleh memanfaatkan kuasa ini rangka kerja untuk membina mereka sesuatu yang lebih, lebih cepat. OK. Jadi ini adalah idea yang sama dalam rangka kerja untuk aplikasi web atau bagi apa-apa jenis permohonan, untuk perkara itu. Anda sebenarnya bermula dengan setengah permohonan sudah ada di tempat untuk anda. Dan oleh itu, saya bermakna anda mendapat banyak fail yang sudah mempunyai fungsi, seperti perpustakaan, seperti fungsi, dan menyuruh kamu boleh berjalan mengikut susunan untuk menjadikan kehidupan anda lebih lebih mudah dan lebih mudah. OK. Jadi dalam kes ini, kita akan untuk bercakap tentang Ruby on Rails. Terdapat banyak berbeza kerangka di luar sana. Ada Django untuk Python. Ada rangka kerja Zend atau Laravel untuk PHP. Terdapat banyak yang berbeza. Ruby on Rails adalah yang baru cukup bagus. Banyak orang menggunakan bahawa dalam startups dan persekitaran seperti ini. Dan sebahagian dari orang-sangat besar syarikat-syarikat yang saya menunjukkan di sini sebelum juga menggunakan Ruby on Rails. Jadi, untuk memberi anda rasa apa Ruby adalah seperti, kerana anda semua adalah lebih digunakan untuk, seperti, C dan sedikit PHP sekarang, jadi Ruby akan menjadi yang bersamaan PHP anda dalam hal ini. Ini bukan Ruby. Ini adalah C. OK? Tetapi ini adalah seperti yang Fungsi DJBHash yang saya tahu ramai orang digunakan untuk salah ejaan Serangga. Dan di Ruby, cantik sama seperti dalam PHP, anda boleh melaksanakan ini dengan hanya beberapa baris kod. Daripada perlu bimbang mengenai fungsi hash, perlu bimbang mengenai baldi, dan semua itu, anda hanya boleh berkata, kamus = Hash.net. Dan kemudian anda menggunakan jenis seperti idea yang sama yang mempunyai PHP. Dan supaya ia kepada benar. Dan kemudian jika anda mahu cek, jadi periksa fungsi akan jika kamus "Anu" bersamaan sama benar, kembali benar. Dan itu semua, OK? Jadi anda perhatikan beberapa perbezaan. Tiada separuh-titik bertindih di sini, kerana ada di C. Tetapi idea umum adalah hampir sama. OK? Juga, di Ruby, terdapat permata, yang adalah jenis perpustakaan Ruby. Dan Rails mengendalikan mereka dalam cara yang sangat baik untuk anda. Jadi jika anda mahu meletakkan di beberapa perpustakaan yang tidak e-mel, atau yang tidak mesej teks, atau yang melakukan integrasi dengan Facebook, atau apa-apa jenis perkara seperti itu untuk aplikasi anda, ia sangat, sangat mudah. Kemungkinan besar anda boleh mencari sesuatu seperti itu di internet. Dan mereka hanya melakukan sesuatu seperti put yang permata yang hendak anda gunakan dalam fail permata. Dan kemudian Rails memasang segala-galanya. Anda tidak perlu bimbang tentang apa-apa itu, supaya benar-benar sejuk. Juga, terdapat banyak, banyak bantuan dalam talian. Oleh itu, anda boleh mencari banyak perkara. Jika anda mempunyai ralat, anda hanya boleh di Google itu, dan ia akan menjadi sangat mudah untuk mendapatkan bantuan. Dan ia banyak fun-- exactly-- kerana anda tidak perlu bimbang tentang tahap rendah yang butiran, pelaksanaan jadual hash dan perlu datang dengan semua pengepala HTTP, dan banyak perkara-perkara, dan juga beberapa perkara yang tahap lebih tinggi. Anda tidak perlu bimbang kira-kira yang di Rails. Ia sangat, sangat baik untuk anda. Dan kita akan menunjukkan bahawa dengan lebih kukuh tidak lama lagi. OK. Jadi sedikit tentang Ruby lagi. Jadi ia seperti C, seperti yang saya katakan. Daripada printf, kita katakan "Meletakkan," iaitu "meletakkan tali." Ia meletakkan tali untuk konsol. Dan dalam kes ini, kami hanya mencetak "Hello World." Kita tidak perlu kurungan, tetapi ia cukup banyak yang sama. Dan kemudian jika anda mahu untuk melakukan sesuatu di sini, seperti mencetak sekumpulan "smalls" dan sekumpulan "bigs" dalam gelung Walaupun, itu jenis seperti dalam C, bukan? Anda tidak mempunyai params, tetapi ia cukup banyak yang sama. Lekukan di sini tuduhan, jadi x sama dengan 1. Dan kemudian Walaupun x lebih kecil daripada 50-- ini merupakan Jika, ini adalah suatu yang lain. Ia cukup banyak seperti apa yang anda lihat. Dan kemudian x + = 1 hanya menokok, jenis seperti melakukan ++ yang anda boleh lakukan dalam C. Tetapi ia cukup banyak apa yang anda lihat dalam C. Ia tidak boleh terlalu rumit. Tetapi ia adalah lebih kuat. Jadi terdapat beberapa arahan di sini yang pasti sedikit lebih baru. Jadi, sebagai contoh, "meletakkan." Anda boleh menggunakan notasi hashtag ini di sini untuk hanya mencetak something-- cukup banyak seperti apa yang akan anda lakukan jika yang% D% atau C atau agak seperti itu. Dan anda benar-benar boleh meletakkan Jika selepas kenyataan itu. Jadi saya hanya mahu melakukan this-- Jika x lebih besar daripada 3. Jadi mengapa saya perlu membuat seluruh Jika blok? Saya tidak tahu. Saya hanya boleh mencetak ini hanya jika x sama dengan lebih daripada 3. Jadi ini adalah cara satu baris untuk berbuat demikian di Ruby. Senarai di Ruby adalah sesuatu yang sangat serba boleh. Jadi anda tidak benar-benar perlu untuk mempunyai hanya satu jenis. Anda boleh mempunyai rentetan, dan kemudian beberapa nombor, dan apa sahaja. Dan jika anda mahu menambah sesuatu untuk senarai, anda hanya boleh menggunakan ini notasi di sini. Dan jika anda mahu untuk melelar. Cukup banyak 4each dalam PHP, di sini, anda mempunyai senarai dan anda melakukan "List.each lakukan." Dan ini "ELEM," ini adalah seperti nama setiap elemen bahawa saya akan mempunyai di dalam senarai saya. Dan kemudian saya boleh hanya "meletakkan ELEM." Dan "meletakkan" pemegangnya cukup banyak meletakkan ia untuk anda, mencetaknya. Tidak kira jika ia adalah rentetan atau int. Ia pergi ke tempat kerja yang untuk anda. Betul? Cool. Dan seperti PHP, Ruby dan HTML juga mengintegrasikan sangat, sangat baik. Dan di sini, ada beberapa HTML dengan Ruby di dalamnya. Oleh itu, kita mempunyai tag badan seperti dalam HTML. Dan jika kita mahu menyemak bahawa seseorang pengguna itu, sebagai contoh, log masuk, kita hanya boleh berkata, bermula daripada Ruby, jika user.logged_in ?, akhir Ruby. Cetak perkara ini keseluruhan, yang mempunyai beberapa Ruby di dalamnya, yang hanya jenis seperti yang sintaks untuk PHP yang mencetak keluar pembolehubah. Mari kita mencetak user.name itu. Jadi mengalu-alukan, Stephen, di dalam sebuah div HTML. Dan pada akhirnya, kita mempunyai "akhir" dan Kod Ruby, yang bermakna ini adalah saya Jika blok. OK? Jadi ia seperti yang lancar integrasi antara Ruby dan HTML. Terdapat juga banyak sumber. Tetapi sebelum kita bergerak, adakah sesiapa mempunyai apa-apa soalan mengenai Ruby, apa-apa? OK. Terdapat banyak sumber dalam talian untuk tryruby.org, Kod Akademi, ruby-lang.org, di mana anda boleh mencubanya keluar pada pelayar anda sebelum anda benar-benar berkata, oh, OK, saya akan menggunakan Ruby untuk projek akhir saya. Dan jadi pastinya memberi mereka cuba. Semua slaid ini adalah akan menjadi boleh didapati dalam talian, jadi anda hanya boleh memuat turun mereka. Dan ya? PENONTON: [didengar] apa yang anda hanya menunjukkan telah HTML dan kod yang tertanam di dalam kepada tanggapan ini Lihat Model Pengawal? GABRIEL Guimarães: Ya. Kami akan melakukan yang kedua dalam satu apabila kita menunjukkan contoh kita, OK? Terima kasih kerana soalan. Jadi soalan pada dasarnya jika kita boleh menunjukkan integrasi ini Ruby dalam HTML dalam Model Lihat rangka kerja Pengawal. Jadi idea Model Rangka kerja Lihat Pengawal adalah ia pada dasarnya satu falsafah, seperti Stephen menunjukkan sini. Dan ia bukan sesuatu yang perlu anda lakukan, tetapi ia sesuatu yang membuat kehidupan anda supaya lebih mudah. Dan Ruby on Rails dibina sekitar falsafah ini kod. Jadi, kita akan menunjukkan contoh tidak lama lagi. Jadi Rails adalah kasih. Banyak orang yang menggunakannya, seperti yang saya katakan. Dan ia benar-benar menyeronokkan. Anda semua harus pasti mencubanya. MVC membuat segalanya lebih mudah. Jadi Model Lihat Pengawal, perkara-perkara yang memisahkan dan meletakkan satu orang, per se, atau satu bahagian aplikasi anda untuk melakukan setiap pekerjaan yang berbeza bahawa permohonan anda telah lakukan. Dan masa kurang dibelanjakan pada masalah-tahap rendah. Dan sangat popular sekarang. Kami mempunyai Rails 4.0, yang merupakan versi baru. Dan ia datang dengan banyak bahan menarik. Satu lagi soalan. PENONTON: Satu lagi soalan. Ruby on Rails lawan Ruby on Rails Grails. GABRIEL Guimarães: OK. Persoalannya adalah, Ruby on Rails berbanding Ruby-- PENONTON: Grails. Ruby? GABRIEL Guimarães: Yeah. Jadi Ruby adalah bahasa. PENONTON: No. Saya meminta anda untuk membandingkan bahasa dan rangka kerja, Ruby on Rails, dengan lain bahasa popular framework-- Grails-- dengan Ruby on Rails. GABRIEL Guimarães: OK. Maaf. Soalan ini telah, bandingkan Ruby dan Ruby on Rails kepada rangka kerja lain dan another-- PENONTON: Ruby. Tidak mengapa. Jika anda tidak tahu mengenainya, itulah denda. GABRIEL Guimarães: Seperti, apa yang saya faham adalah bahawa- PENONTON: Ada lagi rangka kerja dipanggil Grails. GABRIEL Guimarães: Oh, Grails. Saya tidak pernah mendengar ia. Maaf. Saya tidak pernah mendengar tentang Groovy on Rails. Maaf. PENONTON: Ini jauh lebih baik bersepadu dengan Jawa. GABRIEL Guimarães: saya lihat. PENONTON: Saya hanya ingin tahu tentang beberapa orang yang saya kenali like-- GABRIEL Guimarães: Tidak, saya tidak pernah mendengar satu yang, malangnya. Grails. PENONTON: Dan beberapa orang jelas seperti Ruby on Rails. GABRIEL Guimarães: saya telah digunakan Ruby on Rails banyak. Saya telah menggunakan beberapa Django dengan Python, seperti yang saya katakan. Saya telah menggunakan beberapa Laravel. Tetapi saya tidak menggunakan Groovy on Rails. Maaf. Dan ia sangat popular kini dengan Rails 4.0. Seperti, beberapa barangan yang Rails tidak untuk anda, sebagai contoh, adalah anda mempunyai banyak fail CSS dan banyak fail JavaScript. Dan anda boleh melayan mereka sebagai berasingan dan segala-galanya. Tetapi kemudian ia automatically-- apabila anda menghantar kod anda untuk pengeluaran, ia secara automatik menyusun mereka semua ke dalam satu fail tunggal yang yang minified tanpa apa-apa ruang, supaya ia mengambil masa sehingga ruang kurang dalam permohonan anda, jadi bahawa anda benar-benar boleh skala perkara banyak. Itulah mengapa syarikat-syarikat besar seperti seperti Twitter dan GitHub menggunakan Rails, kerana ia semua bahawa untuk anda, yang benar-benar sejuk. Satu perkara yang sangat, sangat, sangat menakutkan untuk orang-orang, termasuk saya, yang cuba untuk bekerja dengan rangka kerja di awal, adalah bahawa apabila anda mula keluar aplikasi, anda akan melihat sekumpulan fail. Seperti, apabila anda membuat Rails Baru, Permohonan saya, anda akan melihat semua ini folders-- app, bin, config, db, lib, log, orang ramai. Seperti, banyak dan banyak barangan. Dan yang pertama kali saya melihat bahawa, saya adalah seperti, OK, saya tidak tahu apa yang berlaku. Saya hanya ingin membuat laman web dengan "Hello, dunia," dan ini memberi saya, seperti, 100 bilion laman yang berbeza. Saya tidak tahu apa yang berlaku. Oleh itu, sila jangan terlalu gentar dengan itu. Idea ini adalah bahawa ia benar-benar mempunyai separuh sebuah rumah di sisi anda sudah. Ia mempunyai satu keseluruhan rangka kerja untuk anda sudah. Itulah sebabnya terdapat banyak fail. Tetapi perkara yang baik adalah bahawa ia memisahkan mereka semua sangat baik. Kemungkinan adalah anda tidak perlu bimbang kira-kira yang paling folder ini. Yang paling penting, saya akan berkata, adalah folder aplikasi, di mana aplikasi anda benar-benar hidup. Jadi config itu, anda akan perlu configurate beberapa perkara, seperti pangkalan data dan perkara-perkara yang anda suka yang jenis pangkalan data yang anda gunakan. Tetapi selain daripada itu, seperti kebanyakan kerja anda akan dilakukan dalam apl. Jadi dalam apl, anda mempunyai aset, pengawal, pembantu, mel, model, pemandangan. Jadi di sini, anda mula melihat bahawa pengawal, model, dan paparan datang ke dalam bermain. Mailer hanya jika anda ingin menghantar e-mel. Pembantu jika anda mahu mewujudkan beberapa fungsi bahawa anda menggunakan banyak dalam pandangan. Jadi memasukkannya ke dalam pembantu. Dan aset pada dasarnya semua imej, semua CSS anda, semua anda JavaScript, dan seperti orang-orang jenis perkara-perkara yang akan dihantar kepada pelanggan. Dan segala-galanya itu dalam aset, yang saya katakan sebelum ini, mendapat minified. Ia disusun. Dan anda tidak benar-benar perlu bimbang tentang yang apabila ia pergi ke kod pengeluaran. Cool. Kini Zack yang akan datang, dan dia akan melakukan satu contoh Twitter50. PENONTON: Woo-hoo! ZACK Chauvin: Awesome. Jadi saya mempunyai peluang untuk bekerja dengan Ruby on Rails pada musim panas ini. Ia merupakan satu rangka kerja yang menakjubkan. Saya sangat separa kepadanya. Dan saya akan menunjukkan kepada anda sedikit satu contoh apa yang ia boleh kelihatan seperti. Lompat ke Chrome. Jadi ini adalah satu contoh yang sangat mudah Ruby on Rails application-- sesuatu seperti ini adalah sesuatu Ruby yang benar-benar cemerlang bahawa- hanya di mana anda model adalah sangat jelas. Dalam contoh ini, anda akan melihat dua model yang berbeza, yang adalah bahawa kita mempunyai pengguna dan kami mempunyai tweet. Jadi ini adalah Twitter50, Twitter sendiri Harvard. Seperti yang anda lihat, saya mendaftar masuk sebagaizack. Dan saya dapat membuat tweet baru. Jadi saya think-- "Ini merupakan" - maaf? PENONTON: [didengar]. ZACK Chauvin: Oh, OK. Perlu berhenti pelayan. Cemerlang. Jadi di sini kita. Seperti yang anda lihat, kita mempunyai kita Aplikasi Twitter di sini. Dan menjadikannya lebih mudah untuk memulakan pelayan. Kami hanya akan melakukan "rel pelayan." Great. OK. Terima kasih untuk itu. Jadi sekarang kita sedang berjalan. Dan kami akan berkata, "Ini adalah satu seminar yang menggerunkan. " Dan mari kita lihat apa yang berlaku. Oleh itu, kita akan tweet mengenainya. Down di bahagian bawah, anda boleh melihat kini terdapat lebih daripada tiga tweet. Oleh itu, kita mempunyai sedikit daripada penomboran berlaku. Dan kita mempunyai tweet itu. Dan saya juga boleh mencari melalui saya carian tweets-- untuk ini dan kedua-dua orang yang mempunyai perkataan "Ini" dalam mereka muncul. Kami juga boleh memadam tweet oleh klik pada butang Padam sedikit. Dan jelas, saya hanya boleh memadam jawatan itu kepunyaan saya. Sudah, kita mempunyai hampir fungsi Twitter. Seperti, apabila anda berfikir tentang hal itu, Twitter benar-benar tidak melakukan semua yang banyak. Ia mempunyai pengguna, ia mempunyai tweet. Ada beberapa fungsi yang lebih kompleks. Tetapi apabila anda benar-benar turun kepadanya, ia agak Ruby on Rails aplikasi yang mudah. Dan sesuatu seperti ini, dengan Pemahaman yang baik terhadap Ruby on Rails, anda boleh mungkin membuat dalam satu atau dua jam. Dan yang benar-benar datang kembali ke mantra Ruby, yang merupakan konvensyen lebih konfigurasi. Jadi kembali pada hari itu, orang, bila-bila masa mereka mahu untuk membuat laman web ini, perlu bermula dari bawah. OK, saya ingin membuat laman web. Mari kita membuat fail ini dan fail ini dan fail ini. Dengan Ruby on Rails, ada tiada itu. Anda mengatakan, saya mahu aplikasi baru. Dan seperti Gabe menunjukkan kepada kita, ia mewujudkan struktur fail keseluruhan bagi kami. Dan kita hanya menukar bahagian-bahagian kecil yang kita perlu. Kami hanya menyesuaikan apa yang unik mengenai app kami. Cool. Jadi kembali kepada persembahan kami preview-- menarik. Di mana boleh saya hadir? PENONTON: Skrin penuh. Kanan atas. ZACK Chauvin: Cemerlang. Cool. OK. Jadi pertama sekali, model. Stephen lakukan sesuatu yang menggerunkan tugas menggariskan MVC. Dan sekarang kita akan berkaitan yang kembali ke Ruby on Rails. Jadi model yang anda boleh jenis daripada memikirkan sebagai pangkalan data. Anda telah melihat ini dalam CS50 Kewangan, di mana kedai-kedai model maklumat mengenai berapa banyak saham yang anda miliki, atau semua urus niaga yang anda dibuat. Ini adalah contoh garis bagaimana yang anda lakukan pergi tentang membuat model baru di Rails. Jadi saya mahu pengguna. Ia akan mempunyai e-mel, yang merupakan rentetan, dan kata laluan, yang juga tali. Jadi ia seperti those-- Saya mahu setiap baris dalam jadual saya dari pengguna untuk kelihatan seperti itu. Sebahagian benar-benar menggerunkan mengenai Rails ialah ia menjadikan ia tidak perlu untuk menulis apa-apa SQL cukup banyak. Berapa ramai daripada anda semua tersayang menulis SQL dalam Serangga 7? Tepat. SQL tidak adalah sangat user-friendly. Dan Rails abstrak semua yang jauh dengan perintah ini benar-benar mudah. Sebagai contoh, jika kita mempunyai pengguna, pengguna mempunyai banyak tweet. Dan setiap satu dari orang-orang tweets milik pengguna. Jadi, jika anda melihat penggunaan di sini, ini adalah model kami untuk tweet kami. Dan apa yang harus kita katakan adalah line-- tunggal ini saya tweet dan saya tergolong dalam pengguna. Dan dengan yang baris dan sedikit sedikit konfigurasi pangkalan data, Rails menetapkan hubungan ini. Bila-bila masa, saya hanya boleh berkata, zack.tweets, seperti, berilah semua tweets Zack. Tiada SQL. Super mudah. Sekali lagi, itu lebih konvensyen konfigurasi datang ke dalam bermain. Anda boleh melihat sedikit daripada contoh Ruby di sini. Seperti memberi kata, menulis Ruby adalah jenis seperti menulis Bahasa Inggeris. Ia adalah sangat bahasa peringkat tinggi, dan ia membuatkan ia benar-benar mudah bagi kita untuk mengatakan hal-hal seperti, saya ingin memastikan bahawa tweet ini mempunyai bentuk. Kehadirannya adalah benar. Dan saya ingin memastikan bahawa ini tweet, seperti biasa Twitter, mempunyai panjang maksimum 140. Ia sangat intuitif, yang bahasa benar-benar hebat. Seterusnya sehingga kita mempunyai pandangan. Jadi ini melibatkan HTML dan CSS. Dan di sini adalah contoh gambaran yang. Jadi Ruby on Rails jenis lancar mengintegrasikan kedua-dua Ruby dan HTML untuk menjana apa yang kita mahu pada halaman. Jadi ini adalah satu contoh mengenai kami. Jadi, anda boleh melihat beberapa tanda bahawa anda guys digunakan untuk, seperti HTML, badan, semua bahawa bahan yang baik. Dan betul-betul di sini, walaupun, kita menggabungkan beberapa Ruby dengan berkata, jika ada mesej untuk dipaparkan, kemudian memaparkan mesej dalam div yang. Jadi saya tidak akan mendapatkan terlalu banyak ke dalam itu. Tetapi ini adalah umumnya Laman yang mendapat diberikan on-- dan tidak kira apa-mel anda atas, yang satu ini mendapat yang diberikan. Jadi ini adalah apa yang akan dimasukkan sentiasa. Cool. Satu lagi contoh yang view-- ini adalah yang mana ia memilih semua tweets. Dan beberapa barangan ini mungkin kelihatan agak biasa. Sebagai contoh, di sini, kami menggelung melalui setiap tweet, dan kami mencetak mereka keluar. Jadi di sini adalah di mana kami mencetak badan. Dan jika user-- yang tweet di sini adalah contoh sebenar tidak SQL terlibat. Saya hanya bertanya, adakah ini pengguna tweet ini pengguna semasa? Kemudian menunjukkan pautan untuk memadamnya. Ia sangat mudah. Pengawal. Jadi ini adalah, sekali lagi, antara muka antara model dan pemandangan. Ia adalah salah satu yang melakukan kerja keras daripada interacting-- menjadi orang tengah. Ia memuatkan maklumat bagi melihat, yang kita akan lihat dalam sebentar. Dan untuk berinteraksi dengan model, ia panggilan kaedah model, yang adalah apa yang anda semua sudah biasa sebagai fungsi. Sebagai contoh, ini adalah pengawal tweet kita. Ia mungkin kelihatan sedikit menakutkan sekarang. Tetapi ia adalah benar-benar super intuitif sebaik sahaja anda mula menyelam dalam. Jadi, sebagai contoh, dalam indeks kami, itu di mana kita mahu untuk menunjukkan semua tweets. Dan begitu baris ini pada dasarnya hanya meminta semua tweets. Dan kemudian kita memulakan kedua-dua yang tweet-- baru jadi seperti jika mereka ingin membuat tweet baru pada laman tersebut. Dan ia meminta apa pengguna semasa adalah. Dan ini adalah sangat serupa dengan menyebabkan yang telah kaulihat pada Serangga 7, di mana ia hanya jenis memberitahu yang view-- itu jenis, seperti, lulus pembolehubah yang anda akan perlu memandangkan kepada pandangan. Dan ada sejumlah besar kaedah yang berbeza bahawa pengawal ini tweet ini boleh mengendalikan. Tetapi benar-benar, tidak Rails pekerjaan yang besar seumpamanya membahagikan mereka ke dalam berbeza tindakan yang pengawal anda mungkin lakukan. Adakah terdapat apa-apa soalan mengenai mana-mana bahagian daripada MVC Rails? Jenis hanya angin oleh. Jadi anda semua boleh menyemak ia keluar pada anda sendiri. Awesome. Kami akan terus berterusan. Jadi memasang Rails. Rails memasang mungkin, seperti, salah satu bahagian yang lebih menakutkan seluruh Rails proses, malangnya. Jelas sekali, semua kami berada di sekeliling untuk membantu. Dan sekali ia di sana, banyak sumber yang besar, sebagai Gabe disebut, untuk memulakan. Berikut adalah pautan yang anda perlukan turun Rails untuk mendapatkannya dipasang pada mesin anda. Jelas sekali, ia boleh didapati untuk kedua-dua Windows dan Mac dan untuk perkakas CS50 itu. Soalan-soalan tentang apa-apa yang kita telah berkata? PENONTON: saya akan berminat, actually-- jadi saya tahu bahawa muat turun perisian adalah halangan terbesar. Jika ada kepentingan yang cukup untuk mempunyai memuat turun sesi mini atau sesuatu. ZACK Chauvin: Mm-hm. Yeah. Yang mungkin benar-benar membantu. Jika sesiapa benar-benar gung-ho mengenai menggunakan ini untuk projek mereka atau pada masa akan datang, maka kita akan pasti gembira untuk bercakap dengan anda tentang itu. Mm-hm. PENONTON: Satu soalan yang berkaitan kepada apa yang saya bertanya sebelum. Bagi anda yang telah dilakukan rangka kerja lain yang masih cuba untuk melakukan perkara yang sama perkara, membuat ia lebih mudah untuk membina laman web atau fungsi, saya rasa apa-apa rasa mengapa kita akan berada di Rails lawan Zend atau sebahagian daripada rangka kerja lain dan bahasa. ZACK Chauvin: saya akan hanya kata saya $ 0.02 tentang itu. Saya suka Ruby on Rails. Saya mempunyai peluang untuk bekerja dalam kedua-dua PHP dan Ruby on Rails. Saya lebih memilih Ruby on Rails kerana Ruby. Yang pasti, itulah sebahagian besar dari itu. Seperti, apabila anda memilih rangka kerja anda, anda juga memilih bahasa anda. Ruby adalah super accessible-- saya berfikir bahasa yang lebih baik dari PHP. Tetapi itulah jenis keutamaan peribadi. Juga, pertimbangan lain adalah masyarakat di sebalik rangka kerja yang anda bekerja dengan. Sekarang Ruby on Rails adalah benar-benar panas. Ada tan sokongan di belakangnya. Anda menyiarkan sesuatu di Stack Limpahan tentang masalah anda mempunyai dalam Ruby on Rails, dan ia menjawab. Sekali lagi, ia adalah sumber terbuka, yang bermaksud bahawa ia sentiasa berubah. Terdapat tan orang yang benar-benar berdedikasi untuk membuat ini rangka kerja benar-benar menggerunkan. Jadi itulah sebabnya saya akan memilih Ruby on Rails. GABRIEL Guimarães: Yeah. Saya akan mengatakan bahawa idea dalang di sebalik kebanyakan rangka kerja anda pergi untuk mencari di luar sana adalah sangat, hampir sama, bukan? Jadi Model Lihat Pengawal, hakikat bahawa pengawal kami akan kelihatan seperti sesuatu seperti this-- setiap fungsi adalah seperti salah satu halaman anda, dan ia pelencongan anda, dan kepada asal pembolehubah. Yang akan menjadi perkara yang sama untuk setiap rangka kerja yang anda lihat di luar sana. Dan akan menjadi model. Dan anda boleh melakukan hal-hal seperti, "milik." Jadi, daripada melakukan versi SQL, anda hanya, seperti, melakukan, user.tweets, dan anda mendapat segala-galanya. Semua orang mempunyai bahawa. Kecuali dalam Ruby, anda lakukan user.tweets, dan kemudian beberapa rangka kerja dalam PHP, anda lakukan user.getalltweets MANA PHP saya tidak menjadi masalah. Seperti, ia adalah garis besar. Ia adalah perkara yang sama, tetapi ia garis besar. Jadi itulah salah satu sebab utama keutamaan saya lebih Ruby. Ia hanya saya lakukan betul-betul Perkara yang sama dalam rangka kerja yang lain, ia hanya mengambil saya dua kali garis selagi kod. OK? Apa-apa soalan lain? ZACK Chauvin: Sesuatu Saya akan menyebutkan quickly-- Gabe bercakap sedikit tentang permata. Dan itulah yang benar-benar great-- Maksud saya, ini adalah jenis yang sama untuk semua rangka kerja, bahawa ada jenis konsep permata, yang seperti dalam contoh kecil saya, Saya telah log masuk. Seperti, anda boleh log masuk, log keluar. Seperti, yang sebenarnya jenis satu proses yang kompleks. Ia dikendalikan sedikit sedikit untuk anda dalam Serangga 7. Tetapi saya masih tidak tahu sepenuhnya bagaimana untuk melaksanakan daftar masuk, tanda keluar. Dan itulah kerana Ruby on Rails mempunyai tan permata yang melakukan hal-hal seperti itu untuk anda. Sekali lagi, konvensyen lebih konfigurasi. Semua orang akan melakukan tanda-dalam ini, langkah mendaftar keluar. Jadi mengapa tidak hanya membuat satu pakej, dipanggil Rangka dalam kes ini, yang merupakan permata. Anda hanya memasukkannya. Dan kemudian ada bantuan online dengan cara menggunakannya. Dan anda tidak perlu bimbang mengenai apa-apa seperti itu. Melampirkan gambar ini things-- permata untuk itu. Seperti, bila-bila masa anda cuba untuk melakukan apa-apa yang baru, ada permata untuk itu. Dan anda hanya jenis simpulkan permata ini dan benar-benar membina sebuah kompleks permohonan dengan cepat. Cool. Apa-apa soalan lain? STEPHEN serban: Woo-hoo. Saya tidak fikir [didengar]. GABRIEL Guimarães: OK. Terima kasih banyak, guys. STEPHEN serban: BUH-bye. ZACK Chauvin: BUH-bye. STEPHEN serban: Woo-hoo. [Tepuk tangan] Yay.