[Възпроизвеждане на музика] СТИВЪН тюрбан: Така че аз съм Стивън чалма. Над отстрани тук, може би ние може да получите някои хора да се потопите инча Имаме Gabriel и Зак. Така за кратко пътна карта за това, което това ще изглежда като, Отивам да се правят някои изключително високо равнище, погледнете какво MVC е. Гейб? GABRIEL Гимараеш: Отивам да говорим за Ruby и малко как Релси работи и как тя може да ви помогне да изградите уеб приложения. Зак CHAUVIN: И аз ще се ви покажа един конкретен пример за това как да използвате Rails за изграждане супер страхотно ап. СТИВЪН тюрбан: Awesome. Sweet. Добре. Така че нека да говорим за MVC. Така че нека да отидете на следващия слайд, който Аз ще направя с натискане на този бутон. И нека да отидем до next-- развитие, Харесва ми да мисля да отида на CVS, защото CVS е магазин и има и V в центъра. И така, нека си представим, до магазина. И нека да направим този магазин продават само едно нещо. Така че ние ще имаме тази съхранява само продават тези червени чаши. И представете си ходиш в, и да отидете в предната част на магазина, и лицето. И името му е Vince. И Vince вълни здравей при вас, казва здрасти. И забележите едно нещо за Винс. Така че всеки път, когато мислим за Винс, ние Трябва да мислим за две ключови прилагателни. Vince е красива, но той е глупав. OK. Така ли, не по своя вина, За съжаление, той е красив. Той е нашето виждане. Така че първата ни член на екипа е там. Имайте това предвид. Сега, ще попитате вие ​​Винс, и да отидеш, хей Винс. Аз съм клиент. Той казва здрасти. Аз наистина искам някой от твоите червени чаши. И какво Vince кажа? Някой има ли представа какво казва Винс? Отивам да се студено повикване. Какво мислите Vince казва? Публика: Той казва, мога да ви покажа където и да е, но не мога да ти дам един. СТИВЪН тюрбан: Той казва, мога да ви покажа където и да е, но не мога да ти дам един. Дори по-лошо. Някой друг има друг представа какво може да се каже, Винс? Публика: Той трябва да мине проверка ако те имат някакви червени чаши. СТИВЪН тюрбан: Vince не дори да знае, че трябва да се провери. Нещо друго? Така че ти каза, трябва да да проверява дали има червени чаши. Давай напред. Публика: Какво е червена чаша? СТИВЪН тюрбан: Какво е червена чаша? Какво е червена чаша? Vince е объркан. Така че Винс ще говори с Следващата ни актьорски състав, Carl. И когато мислим за Carl, ние Трябва мисля за две големи adjectives-- той е контролен, но той е неспособен. Така че Vince goes-- той отива, какво е червена чаша? Аз не знам какво червена чаша е. Той се обръща и той пита Carl. Той казва, Carl, някой попита за червен чаша. Можеш ли да направиш това? И какво Carl кажа? Нека да го разбера. Дали някой има някаква представа какво казва Карл? И аз просто ще го повторя обратно към вас. Видях движение на ръката. Публика: Той казва на някого друго, за да получите най-червени чаши. СТИВЪН тюрбан: Той казва, някой друг, за да получите червено чашата. Точно така. А имаме ли представа кой може да е този човек? Това е намек. Всичко ще започне с M. Mob? Публика: Model. СТИВЪН тюрбан: Моделът, да. Неговото име не е модела, за съжаление, защото това е глупаво име. Имаме Mitt. И когато мислим за Mitt-- Не, това не е картина на Зак. Ние трябва да мислим за двама ключови прилагателни с Mitt. Той е способен, но той е покорен. Така Mitt знае какво трябва да направи, но наистина не мога да направя нищо. Или той наистина не може да реши сам. Така че ние имаме Carl. Carl крещи Mitt. И той казва, хей Mitt, имаме нужда от червени чаши. И Mitt отива да си червена чаша депозитар. Той грабва една чаша, и той го връща. Дали някой има някаква представа какво се случва след това? Дава чашата. Досега Mitt е отишло да си червено чаша хранилище, взето го навън, Проверих го изключите, каза, Взех една червена чаша. И той го дава на Carl. Имате ли представа? Какво мислите Carl прави? Публика: Carl го дава на Винс. СТИВЪН тюрбан: Carl го дава на Винс. Винс. Публика: И Винс това показва до [недоловим]. СТИВЪН тюрбан: Точно така. Така че това е точно това. Така че Vince отнема чашата, дори не знам какво е то, но той го показва на потребителя. Така че нека да се опитаме да пресъздадем това наистина за кратко. И ние ще нужда три тихи доброволци, като вас, момчета не вървят да бъде в състояние да говори. Така че бих могъл да вземете три? OK. И кой бихте искали да бъде? Публика: Ще бъда Винс. СТИВЪН тюрбан: Винс, OK. Красива, но глупава. Great. Някой друг? Търсим за способен, но покорен. Някой друг иска да бъде в състояние? Публика: Можех да бъда Carl. СТИВЪН тюрбан: Sweet. Имаме Carl. Публика: Mitt. СТИВЪН тюрбан: Mitt, OK. И ние ще се нуждаем A-- Ще бъда на клиента. Така че хайде нагоре, хайде нагоре. И всеки, с оглед? Така че аз ще попитам Vince да стои в предната част, просто се усмихва, просто се усмихва толкова ярък, колкото е възможно. И ние ще попитам Carl, Добре, защо не, като, стои зад нея? И Mitt, защо не Просто отидете на разстояние в гърба, и тогава аз ще ви дам една група чаши да излизаш с. Така че аз съм клиент. Аз идвам. И аз правя [недоловим] I казват, здрасти, аз бих искал чаша. Perfect. Така че Винс няма представа. Е, какво значи Vince правя след това? Vince-- ОК, така че аз ще съм да разказвам сега. Vince крещи Carl, чаша! Какво означава Carl направя? Carl развиква Mitt. Mitt грабва чаша. Mitt го дава на Carl. Carl той се връща към Винс. И Vince показва на потребителя. И това е високо, високо, високо, толкова високо, погледнете MVC. Ние го разделим на с цел, това, което потребителят вижда, контролер, някой който върши всичко във фонов режим но наистина не мога да актуализирате нищо или не може да направи нищо за никакво значение освен обадите на мнение и модела. И тогава имаме Mitt, модела, който актуализира каквото данни имаме. Така че ви благодаря много за нашата красива, контролиране и способни доброволци. И аз мисля, че това беше. [Аплодисменти] Мисля, че Гейб ще говорим сега по надяваме по-малко високо ниво. GABRIEL Гимараеш: Добре, момчета. Сега нека да поговорим малко повече за код и за Ruby върху себе Rails, и за това как тя се отнася до цялата история MVC. По принцип, Руби на релси е рамка. Повече за това в секунда. Но само за да ви даде по- чувство за кой да го използвате, харесват, всички тези големи companies-- така GitHub, Groupon, Twitter-- всички те са с помощта на Руби на Релси, като основна своя рамка при изпълнението на техния уебсайт. Така че аз съм сигурен, че много хора Използвал тези сайтове тук. И всичко това е Руби на релси за изпълнение модела, гледката, и контролера на всички тези сайтове и много други. OK? Така че, както казах, Ruby по Rails е рамка. И вие можете да вид мисли за рамково в смисъла на подобно строеж на къща. Така че, ако ти започваш да се построи а house-- и винаги можете да започнете от нулата, нали? Можете да опитате да излезе с начин да видя дървото, и да донесе на дървото до мястото, и за да получите камъните в правилната форма, и след това всичко това. Но това ще отнеме вероятно много години докато не получи всички материали, и ще получите всичко заедно, и всъщност започнете за изграждане на къщата си. Така се оказва, ако започнете с рамка с нещо, което е вече вид на мястото за всеки тип къща че искате да build-- нещо това е много общ, но че можете След това се моделират към собствения си goals-- след това можете да използвате тази сила на рамките за изграждане ги нещо много, много по-бързо. OK. Така че това е една и съща идея в рамка за уеб приложения или за който и да е вид приложение, за този въпрос. Вие всъщност започват с половин заявление Вече има място за вас. И от това, искам да кажа, вие получавате много файлове, които вече имат функции, като библиотеки, като функционалност, и команди, които можете да изпълните, за да да направят живота ви много по- по-просто и по-лесно. OK. Така че в този случай, ние ще да се говори за Руби на релси. Има много различни рамки там. Има Django за Python. Има Zend Framework или Laravel за PHP. Има много различни такива. Руби на релси е доста приятен нов. Много хора използват това в нововъзникващите и този вид на околната среда. И някои от тях много голям фирми, които показах тук преди са също така използването на Руби на релси. Така че просто да ви дам усещане за това какво Ruby е харесват, тъй като вие сте по-употребявани да, като, C и малко на PHP сега, така Ruby ще бъде на еквивалент на вашата PHP в този смисъл. Това не е Ruby. Това е C. OK? Но това е като DJBHash функция, която I Познавам много хора използват за PSET правописни грешки. И в Ruby, доста много прилича на PHP, можете може да приложи това с само няколко реда код. Вместо да се налага да се притеснявате за хеш функция, се налага да се притеснявате за кофите, и всичко това, може просто да се каже, речника = Hash.net. И след това да се използва нещо като същата идея, че PHP е имал. И така, това е, за да е истина. И след това, ако искате да проверява, така че проверете функция би било, ако речник "Foo" е равна равнява вярно, върнете вярно. И това е всичко, OK? Така че забележите няколко разлики. Все още няма точка и запетая Тук, както е имало в C. Но основната идея е много сходна. OK? Също така, в Ruby, има камъни, които са вид библиотеките Ruby. И Rails ги обработва в един много хубав начин за вас. Така че, ако искате да поставите в някои библиотека, че прави имейли, или че прави текстови съобщения, или който прави интеграция с Facebook, или който и да е вид на нещо, като че за приложението си, това е много, много лесно. Коефициентите са можете да намерите нещо, като че в интернет. И те просто правя нещо като пут които скъпоценен камък, който искате да използвате във файла бижу. И тогава Rails инсталира всичко. Не е нужно да се притеснявате за всеки на това, така че е наистина страхотно. Също така, има много, изобилие от помощ онлайн. Така че можете да намерите много неща. Ако имате грешка, може просто да го в Google, и това ще бъде много лесно да получите помощ. И това е много fun-- exactly-- защото не е нужно да се притеснявате за ниско ниво подробности, изпълнение на хеш таблици и се налага да излезе с всички заглавията на HTTP, и много от нещата, и дори някои по-високи неща ниво. Не е нужно да се притеснявате за това в Rails. Това го прави много, много добре за вас. И ние ще покажем, че по-конкретно в най-скоро. OK. Така малко за Ruby отново. Така че това е точно като C, както казах. Вместо ФОРМАТ, ние казваме "Поставя", която е "сложи низ." Тя поставя низ към конзолата. И в този случай, ние сме Просто отпечатване "Hello World". Ние нямаме нужда от скоби, но това е доста много сходна. И тогава, ако искате да направи нещо тук, като отпечата куп "дребни неща" и куп "Bigs" в линия, докато, това е нещо като в C, нали? Не е нужно на PARAMS, но това е почти същото. Вдлъбнатината тук брои, така х е равен на 1. И тогава Докато х е по-малък от 50-- това е Ако, това е друго. Това е почти като това, което видях. И тогава х + = 1 е просто увеличаване, нещо като правене на ++, която можете да направя в C. Но това е доста много това, което видях в C. Тя не трябва да бъде прекалено сложно. Но това е по-мощен. Така че има няколко команди тук които определено са малко по-нова. Така например, "поставя." Можете да използвате този таг нотация тук просто да отпечатате something-- почти като това, което ще направя, ако на% D или% C или малко по-така. И всъщност може да се сложи Ако веднага след изявлението. Така че аз само искам да направя this-- Ако X е по-голямо от 3. Така че, защо би аз трябва да направи цял Ако блок? Не знам. Мога само да отпечатате тази само ако х е равно на по-голямо от 3. Така че това е една линия начин за постигане на това в Ruby. Списъкът в Ruby е нещо много гъвкав. Така че наистина не се нуждаят да има само един вид. Можете да имате низ и след това някои цифри и каквото. А ако искате да добавите нещо по списък, можете просто да използвате тази нотация точно тук. А ако искате да превъртите. Доста по 4each в PHP, тук можете Имаме списък и ще ви направим "List.each направя." И това "ELEM," това е като името на всеки елемент че аз ще трябва в списъка ми. И тогава аз може просто да "поставя ELEM." И "поставя" доста много дръжки поставяйки я за вас, да го отпечатате. Това няма значение, ако това е низ или пад. Това ще работи, че за вас. Нали така? Cool. И точно като PHP, Ruby и HTML също се интегрират много, много добре. И тук, има някои HTML с Ruby в него. Така че ние имаме един таг тяло като в HTML. И ако искаме да се провери че потребителят е, например, влезете в профила си, ние можем само да кажа, като се започне от Ruby, ако user.logged_in ?, край на Ruby. Печат цялото това нещо, което има някои Ruby в това, което е просто Нещо като че синтаксис за PHP, който отпечатва променлива. Нека да отпечатате user.name. Така че приветствам, Стивън, вътрешността на HTML Div. И в крайна сметка, ние имаме един "край" и Ruby код, което означава, че това е моят Ако блок. OK? Така че това е точно като безшевна интеграция между Ruby и HTML. Има и много ресурси. Но преди да продължим, някой се имате някакви въпроси относно Ruby, нищо? OK. Има много онлайн ресурси да tryruby.org, Code Academy, ruby-lang.org, където можете да го пробвате изложени на вашия браузър, преди да можете действително кажа, о, OK, аз отивам да се използва Ruby за последната ми проект. И така Определено дават тези пробвам. Всички тези слайдове са ще бъде на разположение онлайн, така че може просто да ги свалите. И нали? Публика: [недоловим] това, което току-що показа е HTML и код се вгражда в то към тази идея за Model View Controller? GABRIEL Гимараеш: Да. Ние ще направим това в секунда Когато показваме нашия пример, OK? Благодаря за въпроса. Така че въпросът е в общи линии, ако сме може да се покаже тази интеграция на Ruby в HTML в рамките на модела Виж Controller рамка. Така че идеята на модела View Controller рамка е това е в основата на философията, точно като Стивън показа тук. И това не е нещо, че трябва да се направи, но това е нещо, което прави живота си много по-просто. И Руби на релси е изграден около тази философия на код. Така че ние ще покажем пример много скоро. Така Rails е любов. Много хора го използват, както казах. И това е наистина забавно. Вие, момчета, трябва да Определено го пробвам. MVC прави всичко по-просто. Така че Model View Controller, разделителните неща и поставянето на един човек, сам по себе си, или една част от вашата кандидатура да направи всеки един от различните работни места че сте кандидатстване трябва да се направи. И по-малко време, прекарано относно проблемите на ниско ниво. И много популярни в момента. Имаме Rails 4.0, който е нова версия. И тя идва с много готини неща. Друг въпрос. Публика: Друг въпрос. Руби на релси сравнение Ruby по релси Grails. GABRIEL Гимараеш: OK. Въпросът е, Ruby на релси срещу Ruby-- Публика: Grails. Ruby? GABRIEL Гимараеш: Да. Така Ruby е езикът. Публика: No. Питам ви за сравнение език и рамка, Ruby по релси, с друг популярен език framework-- Grails-- с Ruby по релси. GABRIEL Гимараеш: OK. Извинете. Въпросът е, сравни Ruby и Ruby на релси в друга рамка и another-- Публика: Ruby. Всичко е наред. Ако не знаете за него, това е добре. GABRIEL Гимараеш: Подобно, това, което разбирам е that-- Публика: Има още рамкови наречени Grails. GABRIEL Гимараеш: Oh, Grails. Никога не съм чувал за него. Извинете. Никога не съм чувал за Groovy на релси. Извинете. Публика: Това е много по-добре интегрирана с Java. GABRIEL Гимараеш: Виждам. Публика: Аз просто съм любопитен за някои хора, които познавам like-- GABRIEL Гимараеш: Не, никога не чувал, че един, за съжаление. Grails. Публика: А някои хора Очевидно като Руби на релси. GABRIEL Гимараеш: Нямам употребяван Руби на релси много. Ползвал съм някои Django с Python, както казах. Ползвал съм някои Laravel. Но аз не бях използван Groovy на релси. Извинете. И това е много популярен Сега с Rails 4.0. Подобно, някои от нещата, които Релси прави за вас, например, е, че имате много CSS файлове и много джава файлове. И вие може да ги третира като отделно и всичко. Но след това, когато automatically-- ви изпратим код за производство, той автоматично съставя всички тях в един единствен файл това е minified без никакво пространства, така че да заема по-малко място в молбата Ви, така че че наистина можете да мащабирате нещата много. Ето защо такива големи компании като Twitter и GitHub използвате Rails, защото той прави всичко че за вас, което е наистина страхотно. Едно нещо, което е много, много, много трудна за хора, включително и аз, които се опитват да работят с рамка в началото, е че когато започнете да се заявление, започваш да се види един куп файлове. Както, когато създавате Rails New, моята кандидатура, започваш да видите всички от тях folders-- ап, бен, довереник, db, неограничено, влезте, публично. Подобно, много и много неща. И първият път, когато Видях, че аз бях като, OK, нямам идея какво се случва. Аз просто искам да се създаде уебсайт с "Hello, World" и това ми дава, като, 100 милиарда различни страници. Аз не знам какво става. Така че, моля, не бъдете твърде обезсърчават от това. Идеята е, че той всъщност е наполовина от къща там за вас вече. Той разполага с цялата рамка за вас вече. Ето защо има толкова много файлове. Но хубавото е, че тя разделя всички от тях много добре. Коефициентите са, че не трябва да се притеснявате за повечето от тези папки. Най-важната от тях, I бих казал, е папката с приложения, когато приложението ти всъщност живее. Така на довереник, ти започваш да се Трябва да действителните параметри някои неща, като вашата база данни и такива неща която е базата от данни, който използвате. Но, различна от тази, като повечето от Вашата работа ще бъде направено в ап. Така че в приложението, имате активи, контролери, помощници, експедитор, модели, изгледи. Така че тук, можете да започнете да виждате, че контролери, модели и възгледи идват в игра. Експедитор са само ако Искам да изпращат имейли. Помощници ако искате да създаване на някои функции че можете да използвате много по мнение. Така че можете да ги поставите в помощници. И активи е в основата на всички Вашите снимки, всички от вашия CSS, всички от вашата JavaScript, и като тези видове неща, които се изпращат на клиента. И всичко това е в активите, че казах и преди, получава minified. Той е съставен. И наистина не трябва да се притесняваш че когато той отива при производството код. Cool. Сега Зак ще влязат, а той е ще направим пример за Twitter50. Публика: Woo-Hoo! Зак CHAUVIN: Awesome. Така че имах възможност да работя с Руби на релси това лято. Това е една невероятна рамка. Много съм пристрастен към него. И аз просто ще ви покажа малко пример за това, което тя може да изглежда така. Направо към Chrome. Така че това е пример за един много прост Руби на релси application-- нещо като това е нещо, че Ruby наистина превъзхожда that-- точно там, където си модели са много добре определени. В този пример, ще видите два различни модела, които са, че имаме потребители и ние имаме туитове. Така че това е Twitter50, Собствена Twitter Харвард. Както можете да видите, аз съм влязъл катоzack. И аз съм в състояние да направи нови туитове. Така че аз think-- "Това е" - съжалявам? Публика: [недоловим]. Зак CHAUVIN: Oh, OK. Необходимо е да се спре сървъра. Отлично. Така че ние сме тук. Както можете да видите, ние разполагаме със Twitter приложение точно тук. И това е супер лесно да стартирате сървъра. Ние просто ще направя "релси сървър." Great. OK. Благодаря ти за това. Така че сега ние сме тичане. И ние ще кажем: "Това е страхотно семинар. " И нека да видим какво ще стане. Така че ние ще чуруликам за него. Най-долу, можете да видите сега има повече от три туитове. Така че ние имаме малко по- на номериране на страници става. И ние имаме, че туит. И аз също може да се търси чрез моя tweets-- търсене за това и двамата такива, които имат думата "Това" в тях се появи. Можем също така да изтриете туитове от кликнете върху малката бутона Delete. И очевидно, мога само да изтриете длъжността, която бе за мен. Вече сме почти имат функционалност на Twitter. Както, когато си мислиш за него, Twitter наистина не прави чак толкова много. Той има потребители, тя има туитове. Има някои по-сложни функции. Но когато наистина се свежда до това, това е доста проста Руби на релси ап. И нещо като това, с добро разбиране на Руби на релси, вероятно бихте могли да направи в един или два часа. И това наистина се обратно към мантрата Ruby, която е конвенция над конфигурация. Така че още през деня, хората, по всяко време те искаха да направят този сайт, ще трябва да се започне от нулата. OK, аз искам да се направи сайт. Да направим този файл и Този файл и този файл. С Руби на релси, има нищо от това. Вие казвате, аз искам ново приложение. И точно като Гейб ни показа, тя създава цялата структура на файла за нас. И ние просто смяна на малки части, които ние трябва да. Ние просто персонализирате Уникалното в нашия ап. Cool. Така че връщане назад към нашата презентация preview-- интересно. Къде мога да представя? Публика: Цял екран. Горе вдясно. Зак CHAUVIN: отлично. Cool. OK. Така че на първо място, моделът. Стивън направи едно страхотно работа за очертаване MVC. И сега ние ще се отнасят че обратно на Руби на релси. Така моделът можете вид от мислим като базата данни. Вие сте били виждате това в CS50 Финанси, където магазините на модела информация за колко акции имаш, или всички сделки, които сте направили. Това е пример на ред за това как бихте отида за вземане на нов модел в Rails. Така че аз искам един потребител. Това ще има имейл, който е низ, и парола, които Също така е низа. Така че това е като those-- Искам всеки ред в моята маса от потребители, за да изглежда така, че. А наистина страхотно част за релси е, че обезсмисля пиша всеки SQL доста много. Колко от вас, момчета, обичаше писането SQL в PSET 7? Точно така. SQL не е много лесен за употреба. И Rails резюмета всичко, което далеч с тези много лесни команди. Така например, ако имаме потребителя, потребителят има много туитове. И всеки един от тези, туитове принадлежи към даден потребител. Така че, ако погледнете тук, тази е нашият модел за нашия туит. И всичко, което трябва да кажа, е, този единствен line-- съм чуруликане и аз принадлежа към потребител. И с това един ред и Малко от конфигурацията на базата данни, Rails създава тази връзка. Anytime, мога просто да кажа, zack.tweets, като, дай ми всичко на Зак туитове. Не SQL. Супер лесно. Отново, това е конвенция над конфигурация идва в игра. Можете да видите малко по- на пример за Ruby тук. Като даде каза, писане Ruby е нещо като писане на английски език. Това е много език на високо ниво, и го прави много лесно за нас да казват неща като искам да уверете се, че този туит има тяло. Присъствието му е вярно. И аз искам да се уверите, че това чуруликане, точно като нормална Twitter, има максимална дължина от 140. Това е супер-интуитивен, по- наистина страхотно език. Следващата имаме мнението. Така че това включва HTML и CSS. И ето един пример на оглед. Така че Руби на релси тип безпроблемно интегрира както Ruby и HTML с цел да се генерират това, което искаме в страницата. Така че това е пример за нашата оформление. Така че можете да видите някои тагове, които сте момчета са свикнали, като HTML, тялото, всички добри неща. И точно тук, все пак, ние включат някои Ruby, като казва, ако има съобщение за да се покаже, След това се появи съобщение в Div. Така че аз няма да получите твърде много в това. Но това е обикновено страница, която получава постановеното on-- и без значение коя страница сте на този човек се донесе. Така че това е, което получава включен винаги. Cool. Друг пример за това е view-- тази, в която той е избрал всички туитове. А някои от тези неща може да изглежда доста познато. Така например, точно тук, ние сме присвойте всеки от туитове, и ние сме ги отпечатате. Така че тук е мястото, където ние сме разпечатване на тялото. И ако user-- чуруликане тук е реална представа не SQL е ангажиран. Аз съм просто питам, е това потребителското туит на текущия потребител? Тогава покажете линк за да го изтриете. Това е супер проста. Контролерът. Така че това е, отново, интерфейсът между модела и гледката. Това е този, който върши тежката работа на interacting-- като посредник. Тя зарежда информация за Гледката, която ще видим в сек. И за да си взаимодействат с модела, тя призовава моделни методи, които са това, което вие сте запознати като функции. Така например, това е контролер нашия туит на. Тя може да изглежда малко по- обезсърчително точно сега. Но това всъщност е супер интуитивен след като започнете гмуркане инча Така например, в нашия форум, че е там, където искаме да покажем всички туитове. И така, тази линия в основата просто пита за всички туитове. И тогава ние се инициализира и двете новите tweet-- Така че, както ако искат да се създаде Новият Tweet на тази страница. И го пита какво текущия потребител е. И това е много близък до оказва, че те видях в PSET 7, където това е просто вид казваше на view-- това е нещо, подобни на тях, преминаване на променливите, които сте ще се нуждаят от гледна точка на мнението. А има и цял куп на различни методи че контролер този туит може да се справи. Но наистина, Rails прави страхотна работа по рода на разделянето им на различни действия, които ви контролер може да бъде. Има ли някакви въпроси относно някое от MVC части на Rails? Нещо просто бриз от. Така че вие ​​може да проверите тя по своему. Awesome. Ние ще продължаваме. Така че инсталирането Rails. Инсталиране на Rails може да е, като, един от най-плашещи части на целия релси процес, за съжаление. Но очевидно, всички от ни са наоколо, за да помогне. И след като това е там, много големи ресурси, като Гейб споменато, за да започнете. Това са връзките, които ще трябва, за да изтеглите Rails да го получи инсталирана на машината ви. Очевидно е, че е на разположение както за Windows и Mac и за CS50 уреда. Въпроси за всичко, което съм казвал? Публика: Бих се интересувате, actually-- така че аз знам, че се тегли софтуер е най-голямата пречка. Ако има достатъчно интерес да има изтегляне на мини сесия или нещо такова. Зак CHAUVIN: MM-HM. Да. Това може да бъде много полезен. Ако някой е наистина прекалено ентусиазирани използването на този за неговия проект или в бъдеще, тогава ние със сигурност щяхме се радваме да ви говоря за това. Мм-HM. Аудитория: A въпроси на тази тема до това, което аз попитах преди. За тези от вас, които са вършили други рамки, които са все още се опитват да направят същото нещо, да го направи по-лесно да се изгради един сайт или на функционалност, мисля, че има смисъл защо ние ще бъдем на релси срещу Zend или някои от другите рамки и езици. Зак CHAUVIN: аз просто ще казват ми 0.02 $ за това. Обичам Руби на релси. Аз съм имал възможност да работя в двете PHP и Ruby по релси. Аз много предпочитат Ruby на Релси заради Ruby. Определено, това е голяма част от него. Както, когато си избора си рамка, Можете също така да изберете вашия език. Ruby е супер accessible-- Мисля много по-добър език от PHP. Но това е нещо лично предпочитание. Както е добре, друго съображение е общността зад рамката че вие ​​работите с. Точно сега Руби на релси е наистина горещо. Има тон на подкрепа зад него. Вие публикувате нещо на Stack Overflow за проблем сте като в Ruby по релси, и това е отговор. Отново, това е с отворен код, което означава, че това е постоянно се променя. Има тон на хората които са наистина посветен за да се направи това е наистина страхотно рамка. Така че това е защо бих изберете Руби на релси. GABRIEL Гимараеш: Да. Бих казал, че идеята зад повечето рамки сте Ще разберете има много, много подобна, нали? Така че Model View Controller, факта, че нашата контролер ще изглежда като нещо, като this-- всяка от функциите е като една от страниците си, и той ви пренасочва, и инициализира променливите. Това ще бъде едно и също нещо за всяка рамка, която виждате там. И там ще бъде моделът. И вие можете да направите подобни неща ", към която принадлежи." Така че вместо да се занимават с SQL версия, просто, като, направи, user.tweets, и ще получите всичко. Всеки има това. Освен в Ruby, нали user.tweets, и след това някои рамки в PHP, правиш user.getalltweets КЪДЕ ми PHP не е проблем. Подобно, това е голяма линия. Това е едно и също нещо, но това е голяма линия. Така че това е една от основните причини на предпочитанията ми над Ruby. Това е просто правя точно Същото е и в други рамки, тя просто ми отнема два пъти като дълги реда код. OK? Всякакви други въпроси? Зак CHAUVIN: Нещо Ще спомена quickly-- Габе Говорихме малко за скъпоценни камъни. И това е една наистина great-- Искам да кажа, това е вид общо за всички рамки, че има вид на концепция бижу, което е като в моя малък пример, Аз се логнете. Както можете да влезете, излезте. Подобно, че всъщност вид на сложен процес. Той бе спасен малко малко за вас в PSET 7. Но аз все още не знам напълно как за изпълнение влиза в профила си, за вход навън. И това е така, защото Руби на релси е т от скъпоценни камъни, които правят подобни неща за вас. Отново конвенция над конфигурация. Всеки ще се прави този знак-в, регистрация на етап. Така че защо просто не направи пакет, наречен Да създадат в този случай, който е един скъпоценен камък. Можете просто да го включи. И тогава там е някаква помощ онлайн с това как да го използвате. И не е нужно да се притеснявате за нещо подобно. Поставяне на снимки към тях things-- един скъпоценен камък за това. Както и по всяко време, което се опитвате да направите, нищо ново, има един скъпоценен камък за това. И някак си просто сглоби тези скъпоценни камъни и изгради наистина сложна заявление много бързо. Cool. Всякакви други въпроси? СТИВЪН тюрбан: Woo-Hoo. Не мисля, че [недоловим]. GABRIEL Гимараеш: OK. Благодаря много, момчета. СТИВЪН тюрбан: Buh-чао. Зак CHAUVIN: Buh-чао. СТИВЪН тюрбан: Woo-Hoo. [Аплодисменти] Yay.