[Hudba hrát] STEPHEN turban: Takže jsem Stephen Turban. Přes na straně tady, možná bychom může dostat někteří lidé do toho ponořit. Máme Gabriela a Zacka. Takže pro krátké plánu o tom, co to bude vypadat, Budu dělat nějaké extrémně high-level pohled na to, co je MVC. Gabe? GABRIEL GUIMARAES: Chystám se mluvit o Ruby a trochu jak Kolejnice funguje a jak to může vám pomůže vytvořit webové aplikace. ZACK CHAUVIN: A budu ukázat konkrétní příklad toho, jak použít Rails stavět super super app. STEPHEN turban: Úžasné. Sladké. Dobrá. Takže pojďme mluvit o MVC. Tak pojďme na další snímek, který Udělám stiskem tohoto tlačítka. A pojďme k next-- rozvoje, Líbí se mi, že o tom jít do CVS, protože CVS je obchod a má také V ve středu. A tak si představte, do obchodu. A udělejme toto úložiště Prodáváme jen jednu věc. Takže budeme mít tuto ukládat pouze prodávat tyto červené poháry. A představte si, chodit do, a jdete na přední části obchodu, a osobu. A jeho jméno je Vince. A Vince vlny ahoj na vás, říká hi. A zjistíte, jednu věc o Vince. Takže vždy, když si myslíme, že o Vince, my myslet na dvě klíčové adjektiva. Vince je krásná, ale on je hloupý. OK. Takže víte, ne jeho zavinění, Bohužel, je to krásný. On je náš pohled. Takže naše první člen obsazení je tam. Mějte na paměti, že. Nyní můžete ptát Vince, můžete jít, hej Vince. Jsem zákazníkem. Říká, hi. Opravdu chci, jeden z červených šálků. A co říká Vince? Má někdo nějaké Nenapadá vás, co říká Vince? Budu volat za studena. Co si myslíte, že Vince říká? Publikum: Říká, můžu vám ukázat kde to je, ale nemohu dát jeden. STEPHEN turban: Říká, můžu vám ukázat kde to je, ale nemohu dát jeden. Ještě horší. Každý, kdo jiný má jiný tušení, co Vince by se říci? Diváků: Má jít kontrolu pokud mají nějaké červené poháry. STEPHEN turban: Vince není ani neví, že má zkontrolovat. Ještě něco? Takže jste řekl, je zkontrolujte, zda má červené poháry. Jen do toho. Diváků: Co je červený pohár? STEPHEN turban: Co je to červený pohár? Co je to červený pohár? Vince je zmatený. Takže Vince se bude mluvit náš další člen obsazení, Carl. A když si myslíme, že o Carl, my Musím přemýšlet o dva velké adjectives-- že je controlling, ale on je neschopný. Takže Vince goes-- on jde, co je červený pohár? Já nevím, co červený pohár je. On se otočí a ptá se Carle. Říká, Carl, někdo požádal o červenou pohár. Můžeš to udělat? A co Carl říká? Pojďme na to. Má někdo nějaké Nenapadá vás, co říká Carl? A já si jen zopakovat to zpět k vám. Viděl jsem pohyb ruky. Diváků: Říká někdo jiného, ​​aby si červené poháry. STEPHEN turban: Řekne někdo jiný získat červený pohár. Přesně tak. A máme představu kdo tato osoba by mohla být? Je to náznak. Bude to začít s M. Mob? Diváků: Model. STEPHEN turban: model ano. Jeho jméno není model, bohužel, protože to je hloupé jméno. Máme Mitt. A když se nad tím zamyslíme Mitt-- ne, to není obraz Zacka. Musíme myslet na dvě Klíčové jména s Mitt. Je schopný, ale on je submisivní. Tak Mitt ví, co má dělat, ale opravdu nemůže nic dělat. Nebo opravdu nemůže rozhodovat sám. Takže máme Carle. Carl křičí na Mitt. A on říká, hej Mitt, potřebujeme červené poháry. A Mitt jde do svého červeného pohár depozitáře. Popadne pohár, a dává ji zpět. Má někdo nějaké Nenapadá vás, co se stane pak? Dává pohár. Zatím Mitt šla do svého červeného cup úložiště, které bylo přijato na to, kontroluje ho, řekl, Vzal jsem si jeden červený hrnek. A on, že jí k Carlu. Máte nápad? Co si myslíte, že Carl dělá? Diváků: Carl ji dává Vince. STEPHEN turban: Carl ji dává Vince. Vince. Diváků: A Vince ukazuje to na [neslyšitelné]. STEPHEN turban: Přesně tak. Tak to je přesně ono. Takže Vince bere pohár, ani neví, co to je, ale ukazuje ji uživateli. Takže pojďme se pokusit obnovit to opravdu krátce. A budeme potřebovat Tři tiché dobrovolníci, jak vy se nebude aby bylo možné mluvit. Takže jsem mohl chytit tři? OK. A koho byste chtěli být? Diváků: Budu Vince. STEPHEN turban: Vince, OK. Krásná, ale hloupá. Skvělé. Někdo další? Hledáme schopný, ale submisivní. Někdo jiný chce být schopen? Diváků: Mohl bych být Carl. STEPHEN turban: Sladký. Máme Carle. Diváků: Mitt. STEPHEN turban: Mitt, OK. A budeme potřebovat je-- Budu se zákazníky. Tak pojď nahoru, pojď nahoru. A jsou všichni v názoru? Takže jsem se zeptat na Vince stojí v přední části, jen s úsměvem, jen s úsměvem, jak jasné, jak je to možné. A budeme se ptát Carl, Dobře, proč ne, rád, stojí hned za ní? A Mitt, proč ne prostě odejít do zad, a pak budu vám skupinu pohárů vyrazit s. Takže jsem se zákazníky. I přišel. A dělám [neslyšitelné] I říkají, ahoj, rád bych si šálek. Perfect. Takže Vince nemá tušení. Tak co Vince dělat dál? Vince-- OK, tak jdu bude vyprávět teď. Vince křičí na Carla, pohár! Co je Carl dělat? Carl křičí na Mitt. Mitt chytne pohár. Mitt to dává Carl. Carl se vrátí do Vince. A Vince ji ukazuje uživateli. A to je vysoká, vysoká, vysoko, tak vysoko, pohled na MVC. Dělíme ji mají výhled na to, co uživatel vidí, řadič, někdo který dělá vše, co v pozadí ale ve skutečnosti nelze aktualizovat nic nebo nemůže nic dělat nějakého významu kromě volání pohled a model. A pak máme rukavice, model, který aktualizuje, co údaje máme. Takže děkuji moc za náš krásný, řízení, a které je schopno dobrovolníci. A já si myslím, že to bylo. [APPLAUSE] Myslím si, že Gabe bude mluvit hned na snad méně vysoké úrovni. GABRIEL GUIMARAES: OK, kluci. Teď pojďme mluvit trochu víc o kód a o Ruby on Rails sám, a o tom, jak to se vztahuje pro všechny tohoto příběhu MVC. V podstatě, Ruby on Rails je rámec. Více o tom v druhém. Ale jen proto, aby vám Pocit, kdo je jeho použití, stejně jako všechny tyto velké companies-- tak GitHub, Groupon, Twitter-- oni to vše pomocí Ruby on Kolejnice jako jejich hlavní rámec realizovat své webové stránky. Takže jsem si jistý, že spousta lidí použili tyto webové stránky zde. A to vše v Ruby on Rails realizovat model, pohled, a regulátor Na všech těchto webových stránek a mnoho dalších. OK? Tak jak jsem řekl, Ruby on Rails je rámec. A můžete trochu myslet rámce v tom smyslu, jako stavět dům. Takže pokud se chystáte stavět house-- a můžete vždy začít od nuly, ne? Můžete se pokusit přijít se způsobem, jak viděl dřevo, a aby dřevo na místě, a aby se kameny v pravém tvaru, a pak to všechno. Ale to bude trvat pravděpodobně mnoho let až se dostanete veškerý materiál, a dostanete všechno dohromady, a vy skutečně začít stavět svůj dům. Tak to dopadá, když se začít s rámec, s něčím, co je to již druh v místě pro každý typ domu že chcete něco build-- To je velmi obecný, ale že je možné pak modelovat na svůj vlastní goals-- pak můžete využít tato síla rámců stavět je něco mnohem, mnohem rychleji. OK. Tak to je stejný nápad rámec pro webové aplikace nebo pro každý typ aplikace, když na to přijde. Jste vlastně začít na půl aplikací už tam místo pro vás. A tím, že mám na mysli vám hodně soubory, které již mají funkce, jako knihovny, jako je funkčnost, a příkazů, které můžete spustit v pořadí aby se váš život mnohem jednodušší a snadnější. OK. Takže v tomto případě budeme mluvit o Ruby on Rails. Existuje mnoho různých rámců venku. Je tu Django pro Python. K dispozici je Zend Framework nebo Laravel pro PHP. Existuje mnoho různých ty. Ruby on Rails je docela pěkný nový. Mnoho lidí používá, že v začínajících a tento druh prostředí. A některé z nich velmi velký Společnosti, které jsem zde vykazovaly předtím se také používá Ruby on Rails. Tak jen aby vám smysl pro to, co je Ruby rád, protože vy jste více využívány k, stejně jako, C a trochu PHP Nyní, takže Ruby bude ekvivalent vašeho PHP v tomto smyslu. To není Ruby. To je C. v pořádku? Ale to je jako Funkce DJBHash, že jsem vím, mnoho lidí pro pset překlepy. A v Ruby, pěkný podobně jako v PHP, vás mohl provést to s jen pár řádků kódu. Místo toho, aby se museli starat o hashovací funkce, by se museli starat o lopaty, a všechno, stačí říct, slovník = Hash.net. A pak použít něco jako Stejná myšlenka, že PHP měl. A tak je to na hodnotu true. A pak, pokud chcete, aby zkontrolovat, tak se podívejte funkci by bylo, kdyby slovník "foo" rovná se rovná pravda, vrátí true. A to je všechno, OK? Takže si všimnete několika rozdíly. Nejsou žádné středníky tu, jak tam byly v C. Ale základní myšlenka je velmi podobná. OK? Také v Ruby, jsou drahokamy, které se jsou trochu knihoven Ruby. A Rails zpracovává je do velmi příjemný způsob, jak pro vás. Takže pokud chcete, aby v některých knihovny, která dělá e-maily, nebo že dělá textových zpráv, nebo že dělá integraci s Facebook, nebo jakékoliv věci tak pro vaši aplikaci, je to velmi, velmi snadné. Kurzy jsou najdete něco, co tak na internetu. A oni prostě dělat něco jako put, které gem, který chcete použít v souboru klenot. A pak Rails nainstaluje všechno. Nemusíte se starat o jakýkoli z toho, tak to je opravdu cool. Také, tam je spousta, spousta pomoci online. Takže si můžete najít spoustu věcí. Máte-li k chybě, stačí na Googlu, a to bude velmi snadné se dostat pomoc. A to je hodně fun-- exactly-- protože jste Nemusíte se starat o nízké úrovni detaily, implementace hash tabulek a museli přijít se všemi HTTP hlavičky, a spousta věcí, a dokonce i některé další vyšší úrovně věci. Nemusíte mít strach o tom v Rails. To dělá to velmi, velmi pěkně pro vás. A budeme se ukázat, že Konkrétně velmi brzy. OK. Tak trochu o Ruby znovu. Takže je to stejně jako C, jak jsem řekl. Místo printf, říkáme "Dá", což je "dát řetězec." Klade řetězec na konzole. A v tomto případě, jsme Jen tisk "Hello World". Nepotřebujeme závorky, ale je to docela hodně podobné. A pak, pokud chcete udělat něco tady, jako vytisknout spoustu "drobenka" a banda "Bigs" ve chvíli smyčce, je to něco jako v C, ne? Nemáte params, ale je to skoro stejné. Odsazení zde počítá, takže x = 1. A pak když x je menší než 50-- to je-li, to je jiný. Je to skoro jako to, co jste viděli. A pak x + = 1 je právě zvyšování, něco jako dělat ++, který můžete, postupovat v C. Ale je to dost moc, co jste viděli v C. To by nemělo být příliš složité. Ale je to silnější. Takže tam je několik příkazů zde že jsou určitě trochu novější. Tak například, "staví". Můžete použít tento hashtag zápis zde jen vytisknout something-- téměř stejně jako to, co by se v případě dělat % D nebo% C, nebo něco podobného. A můžete skutečně dát Pokud se hned po prohlášení. Tak jsem jen chci dělat tohle-- Je-li x vyšší než 3. Tak proč bych musel provést celou Pokud blok? Nevím. Mohu jen tisknout pouze pokud x se rovná vyšší než 3. Tak tohle je jeden řádek cesta jak to udělat v Ruby. Seznam v Ruby je něco velmi univerzální. Takže nemáte opravdu potřeba mají jen jeden typ. Můžete mít řetězec, a pak se některá čísla, a cokoliv. A chcete-li připojit něco do seznamu, stačí použít notace tady. A pokud budete chtít opakovat. Docela hodně 4each v PHP, tady, vy mají seznam a vy "List.each dělat." A to "ELEM," to je jako jméno každého prvku že budu mít v mém seznamu. A pak jsem si jen "klade ELEM." A "staví" docela hodně rukojeti dávat to pro vás, jeho vytištění. Nezáleží na tom, zda to je řetězec nebo int. Bude to práce, které pro vás. Je to tak? Super. A stejně jako PHP, Ruby a HTML také integrovat velmi, velmi pěkně. A tady, je tu nějaký HTML s Ruby v ní. Takže máme tělo značku podobně jako v HTML. A chceme-li zkontrolovat že uživatel, například, přihlášeni, můžeme jen říci, počátek Ruby, pokud user.logged_in ?, konec Ruby. Vytisknout celou tu věc, která má některé Ruby v tom, který je jen něco jako, že syntaxe pro PHP, který vytiskne proměnnou. Pojďme vytisknout user.name. Takže vítejte, Štěpána uvnitř HTML div. A na závěr, máme "konec" a Ruby kód, což znamená, že je to můj Je-li blok. OK? Takže je to stejně jako hladké integrace mezi Ruby a HTML. Existuje také spousta zdrojů. Ale předtím, než jsme se dál, někdo máte jakékoliv dotazy týkající se Ruby, cokoliv? OK. Existuje spousta zdrojů on-line k tryruby.org, kódu Academy, ruby-lang.org, kde si můžete vyzkoušet se ve vašem prohlížeči před vámi vlastně říkají, oh, OK, budu používat Ruby pro můj poslední projekt. A tak určitě dej ty zkusit. Všechny tyto snímky jsou Bude k dispozici on-line, takže stačí si je stáhnout. A ano? Diváků: [neslyšitelné] to, co jste právě ukázal byl HTML a kód vložený do se k tomuto pojmu Model View Controller? GABRIEL GUIMARAES: Ano. Uděláme, že ve druhé když jsme se ukázat našeho příkladu, OK? Díky za otázku. Takže otázka je v podstatě, kdybychom může ukázat tuto integraci Ruby ve formátu HTML v modelu Zobrazit rámec Controller. Takže myšlenkou modelu Rámec View Controller Je to v podstatě filozofie, stejně jako Stephen tady ukázal. A to není něco, co že musíte udělat, ale je to něco, co dělá váš život mnohem jednodušší. A Ruby on Rails je postavena kolem této filozofii kódu. Takže jdeme ukázat Velmi brzy příklad. Takže Rails je láska. Mnoho lidí používá to, jak jsem řekl. A je to opravdu zábava. Vy jste měl Rozhodně to zkusit. MVC je všechno jednodušší. Takže Model View Controller, dělicí věci a uvedení jednu osobu, samy o sobě, nebo jedna část aplikace dělat každý z různých míst , které vám aplikace má co do činění. A strávil méně času o problémech low-level. A velmi populární právě teď. Máme Rails 4.0, což je nová verze. A přichází se spoustou super věci. Další otázka. Diváků: Další otázka. Ruby on Rails proti Ruby on Rails Grails. GABRIEL GUIMARAES: OK. Otázkou bylo, Ruby on Rails srovnání Ruby-- Diváků: Grails. Ruby? GABRIEL GUIMARAES: Jo. Takže Ruby je jazyk. Diváků: Ne. Ptám se vás, abyste srovnat jazyk a rámec, Ruby on Rails, s dalším populárním jazykem framework-- Grails-- s Ruby on Rails. GABRIEL GUIMARAES: OK. Promiňte. Tato otázka byla, porovnat Ruby a Ruby on Rails do jiného rámce a another-- Diváků: Ruby. To je v pořádku. Pokud nevíte o tom, že je to v pořádku. GABRIEL GUIMARAES: Like, toho, co vím, je that-- Diváků: Je tu další rámec tzv Grails. GABRIEL GUIMARAES: Oh, Grails. Nikdy jsem o tom neslyšel. Promiňte. Nikdy jsem neslyšel o Groovy on Rails. Promiňte. Diváků: Je to mnohem lepší, integrován s Javou. GABRIEL GUIMARAES: Vidím. Diváků: Jsem jen zvědavý o některých lidí, které znám like-- GABRIEL GUIMARAES: Ne, nikdy jsem slyšel, že jeden, bohužel. Grails. Diváků: A někteří lidé samozřejmě jako Ruby on Rails. GABRIEL GUIMARAES: jsem použité Ruby on Rails hodně. Použil jsem nějaký Django Pythonu, jak jsem řekl. Používal jsem trochu Laravel. Ale já jsem neměl použít Groovy on Rails. Promiňte. A to je velmi populární nyní s Rails 4.0. Stejně jako některé z věcí, které Kolejnice udělá za vás, například, je vy mají spoustu CSS souborů a spousta souborů JavaScript. A vy je můžete zacházet jako oddělené a všechno. Ale pak to automatically-- při pošlete svůj kód do výroby, automaticky přeloží je všechny do jednoho souboru že je minified bez jakéhokoliv prostory, takže zabírá méně prostoru v aplikaci, tak že můžete opravdu měřítko věci hodně. To je důvod, proč tak velké společnosti jako je Twitter a GitHub Používáte-Rails, protože to všechno že pro vás, což je opravdu cool. Jedna věc, která je velmi, velmi, velmi skličující pro lidi, včetně mě, kteří se snaží pracovat s rámcem na začátku, je že při spuštění se aplikace, budete vidět spoustu souborů. Stejně jako při vytváření Rails Nový, mé žádosti, budete vidět všechny tyto folders-- app, bin, config, db, lib, log, veřejnosti. Stejně jako spousta a spousta věcí. A poprvé, co jsem viděl, že jsem byl rád, OK, nemám tušení, co se děje. Jen chci vytvořit webové stránky s "Hello, world," a to je mi dal, stejně jako, 100000000000 různých stránkách. Já nevím, co se děje. Takže prosím, nebuďte příliš vystrašená, že. Myšlenka je to, že ve skutečnosti má polovina domu tam, kde jste již. Má celokrajné rámec již pro vás. To je důvod, proč existuje tolik souborů. Ale pěkná věc je, že odděluje všichni moc pěkně. Kurz se nemusíte bát o většině z těchto složek. Nejdůležitější z nich, I by se říci, je složka app, kde se vaše aplikace skutečně žije. Takže config, budete muset konfigurovat nějaké věci, jako databázi a věci, jako je jaký druh databáze, kterou používáte. Ale jinak, než to, že stejně jako většina vaše práce bude třeba udělat v aplikaci. Takže v aplikaci, máte majetek, regulátory, pomocníci, odesílatelů, modely, pohledy. Tak tady, začnete vidět, že regulátory, modely a pohledy přijít do hry. Odesílatelé jsou jen pokud máte Chcete posílat e-maily. Pomocníci, chcete-li vytvořit některé funkce že používáte hodně v pohledu. Takže si dát do pomocníky. A majetek je v podstatě všechno vaše obrázky, všechny vaše CSS, všechny vaše JavaScriptu a stejně jako ty druhy věcí, které si zaslané klientovi. A všechno, co je v majetku, že jsem řekl dříve, dostane minified. Je sestaven. A ty opravdu nemají na starosti že když to jde do výroby kódu. Super. Teď Zack to bude dál, a on je dělat příklad Twitter50. Diváků: Woo-hoo! ZACK CHAUVIN: Úžasné. Takže jsem měl možnost pracovat Ruby on Rails letos v létě. Je to úžasný rámec. Jsem velmi potrpí na to. A já si jen ukázat vám trochu příkladem toho, co by to mohlo vypadat. Skok přes Chromu. Tak tohle je příklad velmi jednoduchý Ruby on Rails application-- něco jako je to něco, co že Ruby vyniká that-- právě tam, kde vaše Modely jsou velmi dobře definované. V tomto příkladu, uvidíte dva různé modely, které je, že máme uživatele a máme tweety. Tak tohle je Twitter50, Harvard vlastní Twitter. Jak můžete vidět, jsem přihlášen jakozack. A já jsem schopen vytvářet nové tweety. Tak jsem think-- "To je" - sorry? Diváků: [neslyšitelné]. ZACK CHAUVIN: Oh, OK. Je třeba zastavit server. Výborně. Tak jsme tady. Jak můžete vidět, máme Twitter aplikace přímo zde. A to je super snadné spuštění serveru. Budeme prostě "lišty server." Skvělé. OK. Díky za to. Takže teď už běží. A budeme říkat: "Toto je úžasné seminář. " A podívejme se, co se stane. Tak jsme to tweet o tom. Dole na dně, můžete vidět teď je tu víc než tři tweety. Takže máme trochu z stránkování děje. A máme tu tweet. A já také prohledávat my tweets-- hledat pro tento a dva ty, které mají slovo "To" v nich objeví. Můžeme také odstranit tweety by Kliknutím na malou tlačítko Odstranit. A samozřejmě, mohu jen smazat příspěvek, který patřil ke mně. Už jsme skoro se funkčnost Twitter. Stejně jako, když se nad tím zamyslíte, Twitter opravdu nedělá tak moc. Má uživatelů, má tweety. Je tu nějaký složitější funkce. Ale když se opravdu dostat až na to, je to docela jednoduchý Ruby on Rails aplikace. A něco takového se dobrá znalost Ruby on Rails, ty by pravděpodobně udělat za hodinu nebo dvě. A to opravdu přijde zpět na Ruby mantra, což je konvence nad konfigurací. Takže zpět v den, lidé, kdykoliv chtěli, aby se tento web, bude muset začít od nuly. OK, já chci, aby se webové stránky. Udělejme tento soubor a tento soubor a tento soubor. S Ruby on Rails, je tu nic z toho. Říkáte, chci novou aplikaci. A stejně jako nám Gabe ukázal, že tvoří celou strukturu souboru pro nás. A my jen změnit malé části, které potřebujeme. Právě jsme se přizpůsobit, co je jedinečné o naší aplikaci. Super. Takže jít zpět k naší prezentaci preview-- zajímavé. Kde mám představit? Diváků: Full screen. Vpravo nahoře. ZACK CHAUVIN: Výborný. Super. OK. Takže v první řadě, model. Stephen dělal úžasné Úkolem navrhovat MVC. A teď budeme vztahovat že zpět do Ruby on Rails. Takže model můžete druh z myslet jako databáze. Byli jste viděl to v CS50 Finance, kde model obchody informace o kolik akcie máte nebo všechny operace, které jste provedli. Toto je příklad řada na to, jak by jít o zbrusu nový model v Rails. Takže chci uživatele. Bude to mít e-mail, což je řetězec, a heslo, které je také řetězec. Takže je to jako those-- bych si, aby každý řádek v mé tabulce uživatelů vypadat takhle. Opravdu úžasné díl o Rails je to tak je to zbytečné napsat libovolný SQL docela hodně. Kolik z vás miluje psaní SQL v pset 7? Přesně tak. SQL není velmi uživatelsky příjemný. A Rails abstrahuje všechno pryč s těmito rychlé příkazy. Tak například, pokud budeme mít uživatel, uživatel má mnoho tweety. A každý z nich tweety patří uživateli. Takže, když se podíváte tady, to je náš model pro naši tweetu. A vše, co říci, je tento jediný line-- Jsem tweet a patřím k uživateli. A s tímto jediným volbou a Trochu konfiguraci databáze, Rails nastaví tento vztah. Kdykoliv, mohu jen říci, zack.tweets, rád, dej mi všechny Zacka tweetů. No SQL. Super snadné. Opět platí, že je to úmluva po Konfigurace přichází do hry. Můžete vidět trochu na příklad Ruby zde. Stejně jako Gave řekl, psaní Ruby je něco jako psaní anglicky. Je to velmi jazyk na vysoké úrovni, a to je to rychlé pro nás říkat věci jako, chci Ujistěte se, že tento tweet má tělo. Jeho přítomnost je pravda. A já chci, aby se ujistil, že tento pípání, stejně jako normální Twitter, má maximální délku 140. Je to super-intuitivní, opravdu skvělý jazyk. Další na řadě máme názor. Takže se jedná o HTML a CSS. A tady je příklad pohledu. Takže Ruby on Rails druh problémů integruje i Ruby a HTML Aby se dosáhlo to, co chceme na stránce. Tak tohle je příklad našeho uspořádání. Takže můžete vidět některé záznamy, které jste kluci jsou zvyklí, jako je HTML, tělo, že všechny dobré věci. A právě tady, i když jsme se začlenit některé Ruby tím, že říká, v případě, že je zpráva se zobrazí, pak zobrazí zprávu v div. Tak jsem se nedostal moc do toho. Ale to je obecně Stránka, která se dostane vykreslení on-- a bez ohledu na to, jaké stránky jste na, tentokrát dostane vykreslen. Tak tohle je to, co dostane ceně vždy. Super. Dalším příkladem je view-- ten, kde se rozhodla všechny tweety. A některé z těchto věcí může vypadat docela povědomě. Tak například, přímo tady, my jsme opakování přes každého z tweety, a my jsme je vytisknout. Tak tady je místo, kde jsme tisk tělo. A v případě, že tweet je user-- tady reálný příklad není SQL je zapojen. Jen se ptám, je to Uživatel Tweet je aktuální uživatel? Pak ukazují odkaz jej odstranit. Je to super jednoduché. Regulátor. Tak tohle je, opět, interface mezi modelem a pohledu. Je to ten, který dělá těžkou práci z interacting-- být prostředníkem. To načte informace o Pohled, který se uvidíme v sec. A aby se vzájemně s modelem, je volá modelové metody, které jsou co vy jste obeznámeni jako funkce. Tak například, to je Regulátor naší Tweet je. Mohlo by to vypadat trochu skličující právě teď. Ale je to vlastně super intuitivní jakmile začnete potápění v. Tak například, v našem indexu, který je tam, kde chceme ukázat všechny tweety. A tak tato linka v podstatě jen žádá, aby všechny tweety. A pak jsme se inicializovat oba Nové tweet-- tak jako pokud chcete vytvořit Nový tweet na této stránce. A to se ptá, co je aktuální uživatel. A to je velmi podobný vykreslení, které jste viděli v pset 7, kde je to jen trochu vyprávění view-- je to trochu, jako, absolvování proměnné, že jste bude potřebovat v pohledu na zobrazení. A je tu celá parta různých metod že regulátor tento tweet může zvládnout. Ale opravdu, Rails dělá skvělou práci druhu dělení je na jiný akce, které váš řadič by mohl dělat. Jsou tam nějaké otázky ohledně některá z částí MVC kolejnic? Druh jen vánek od. Takže vy můžete zkontrolovat se na vlastní pěst. Děsivý. Budeme dál. Tak instalace Rails. Instalace Kolejnice mohou být, stejně jako, jeden z více skličující částí celých Rails proces, bohužel. Ale samozřejmě, všechny nám jsou kolem pomoci. A jakmile je to tam, spousta skvělých zdrojů, jak Gabe je uvedeno, pro jak začít. Zde jsou odkazy, které budete potřebovat, aby ke stažení Rails, aby si to nainstalovaný na vašem počítači. Je zřejmé, že je k dispozici pro Windows i pro Mac a pro CS50 spotřebiče. Otázky týkající se cokoliv, co jsme řekli? Diváků: já bych se zájem, actually-- tak vím, že stahování Software je největší bariéra. V případě, že je dost zájem, aby stahování mini relace, nebo tak něco. ZACK CHAUVIN: Mm-hm. Jo. To by mohlo být opravdu užitečné. Pokud se někdo opravdu Gung-ho o pomocí této za svůj projekt nebo v budoucnosti, pak bychom určitě rád s vámi mluvit o tom. Mm-hm. Diváků: S tím souvisí otázka na co jsem se ptal dříve. Pro ty z vás, kteří dělali další rámce, které jsou stále se snaží dělat totéž to, aby bylo snazší vytvořit webové stránky, nebo funkčnost, myslím, že nějaký smysl proč bychom být na kolejích proti Zend nebo některé z dalších rámců a jazyky. ZACK CHAUVIN: Já budu jen říkají, my ,02dolar o tom. Miluji Ruby on Rails. Měl jsem možnost pracovat jak v PHP a Ruby on Rails. Já raději Ruby on Kolejnice kvůli Ruby. Určitě, to je velká část toho. Stejně jako, když jste výběrem rámce, můžete také vybrat jazyk. Ruby je super accessible-- Myslím si, že mnohem lepší, než jazyk PHP. Ale to je trochu osobní preference. Stejně, další úvaha je komunita za rámec že pracujete s. Právě teď Ruby on Rails je opravdu horko. Je tu spoustu podpory za ním. Můžete přidat něco na hromádce Overflow o problému, který vás které mají v Ruby on Rails, a to odpověděl. Opět je to open source, což znamená, že je to neustále se mění. Je tu spoustu lidí které jsou skutečně věnovány aby k uskutečnění tohoto opravdu úžasné rámec. Takže to je důvod, proč bych vyberte Ruby on Rails. GABRIEL GUIMARAES: Jo. Řekl bych, že myšlenku za většinou rámců jste bude zjistit, že je velmi, velmi podobné, ne? Takže Model View Controller, Skutečnost, že naše regulátor je bude vypadat jako něco jako každý tohle-- funkce je jako jeden z vašich stránek, a to přesměruje, a inicializuje proměnné. Že to bude totéž pro Každý rámec, který vidíte tam venku. A tam to bude model. A vy můžete dělat věci jako, "patří". Takže místo toho dělat SQL verze prostě, jako, ano, user.tweets, a dostanete všechno. Každý má to. S výjimkou Ruby, děláte user.tweets, a pak některé rámce v PHP, děláte user.getalltweets Kde je můj PHP není problém. Stejně jako, že je to velký linka. Je to totéž, ale je to velký linka. Takže to je jeden z hlavních důvodů, proč mých preferencí během Ruby. Je to prostě dělám přesně to, totéž v jiných rámcích, Zdá se mi to dvakrát bere jak dlouhé řádky kódu. OK? Nějaké další otázky? ZACK CHAUVIN: Něco Zmíním quickly-- Gabe mluvil trochu o drahokamy. A to je opravdu great-- myslím, to je druh společné pro všechny rámce, že tam je něco jako klenot koncepce, což je stejně jako v mém malém příkladu, Jsem se přihlásit. Stejně jako se můžete přihlásit, odhlásit. Stejně jako, že je to ve skutečnosti druh složitého procesu. To bylo manipulováno trochu bit pro vás pset 7. Ale pořád ne zcela vědět, jak implementovat přihlášení, podepsat-out. A to proto, že Ruby on Rails má tuny drahokamů, které dělají věci, jako že pro vás. Opět platí, že konvence nad konfigurací. Každý, kdo to bude dělat tato značka-in, sign-out krok. Tak proč ne jen, aby se balíček s názvem Navrhněte v tomto případě, který je skvostem. Prostě jsou to. A pak je tu nějaký pomoc on-line s tím, jak ji používat. A nemusíte se bát o něco podobného. Připojení obrázky na tyto things-- drahokam za to. Jako vždy, když se snažíte dělat něco nového, je tu klenot za to. A tak nějak právě dohromady tyto skvosty a vytvořit opravdu komplexní aplikace velmi rychle. Super. Nějaké další otázky? STEPHEN turban: Woo-hoo. Nemyslím si, že [neslyšitelné]. GABRIEL GUIMARAES: OK. Díky moc, kluci. STEPHEN turban: Buh-bye. ZACK CHAUVIN: Buh-bye. STEPHEN turban: Woo-hoo. [APPLAUSE] Yay.