[Музички] Стивен турбан: Значи јас сум Стефан турбанот. Во текот на страната овде, можеби може да се добијат некои луѓе за уживање. Имаме Габриел и Зак. Така за кратко патоказ за тоа што ова ќе изгледаат, Одам да се прават некои екстремно високо ниво погледнеме во она што MVC е. Габе? Габриел Гимараеш: Одам да зборува за Руби и малку Шини како работи и како таа може да помогне да се изгради веб апликации. Зак Chauvin: И јас одам да ви покаже конкретен пример за тоа како да ги користат Rails да се изгради супер страшни стан. Стивен турбан: Прекрасно. Слатко. Во ред. Значи, ајде да зборуваме за MVC. Значи, ајде да одиме на следниот слајд, која Јас ќе направам со притискање на ова копче. И ајде да одиме на next-- развој, Ми се допаѓа да се размислува за одење во CVS, бидејќи CVS е една продавница и исто така, има V во центарот. И така да замислиме во една продавница. И да се направи овој магазин продаваат само една работа. Значи ние ќе треба да ја имаат оваа продавница продаде овие црвени чаши. И замислете ќе одиме во, и да одите на предната страна на продавницата, и лице. И неговото име е Винс. И Винс бранови Здраво на вас, вели Здраво. И ќе забележите една работа околу Винс. Значи секогаш кога мислиме за Винс, ние треба да се размислува за две клучни придавки. Винс е убава, но тој е глупав. OK. Па да знаете, не по вина на свој, за жал, тој е убава. Тој е нашиот поглед. Значи, нашата прва членка Наѓ е таму. Имајте го тоа на ум. Сега, може да побара Винс, и да си, еј Винс. Јас сум клиент. Тој вели: Здраво. Јас навистина сакате еден од вашиот црвени чаши. И она што го кажува Винс? Дали некој има било идеја што вели Винс? Одам да ладна повик. Што мислите, вели Винс? ПУБЛИКАТА: Тој вели: Можам да ви покажам каде што е, но не можам да ви даде. Стивен турбан: Тој вели: Можам да ви покажам каде што е, но не можам да ви даде. Дури и полошо. Некој друг ги има уште еден идеја што Винс може да се каже? ПУБЛИКАТА: Тој мора да оди провери ако тие имаат било црвено чаши. Стивен турбан: Винс не дури и не знаат што треба да се провери. Нешто друго? Значи ти реков, треба да проверите дали тој има црвени чаши. Оди напред. ПУБЛИКАТА: Што е црвена чаша? Стивен турбан: Што е црвена чаша? Што е црвена чаша? Винс е збунет. Значи, Винс се случува да се зборува за нашата следна членка Наѓ, Карл. И кога ќе се размислува за Карл, ние Мора да се размислува за две големи adjectives-- тој е контрола, но тој е неспособен. Значи Винс тој goes-- оди, што е црвено куп? Јас не знам што црвено чаша е. Тој се врти, и тој го прашува Карл. Тој вели Карл, некој побара црвена чаша. Можете да го направите тоа? И што да се каже, Карл? Ајде да го дознаам. Дали некој има било идеја што вели Карл? И јас само ќе го повтори назад кон вас. Видов рака движење. ПУБЛИКАТА: Тој кажува некој на друго место за да се добие црвен чаши. Стивен турбан: Тој ја раскажува некој друг да го добиете црвена чаша. Токму така. И ние имаме идеја кои тоа лице може да биде? Тоа е навестување. Тоа се случува да се започне со М. МОБ? ПУБЛИКАТА: Модел. Стивен турбан: Моделот, да. Неговото име не е модел, за жал, бидејќи тоа е глупо име. Имаме Мит. И кога ќе се размислува за Mitt-- Не, ова не е слика на Зак. Ние мораме да мислиме на две Клучот придавки со Мит. Тој е способен, но тој е потчинет. Значи, Мит знае што треба да се направи, но тој навистина не може да направи ништо. Или, пак, навистина не можат да одлучуваат за своите. Значи имаме Карл. Карл извикува на Мит. И тој вели, еј, Мит, ние треба црвена чаши. И Мит оди на неговата црвена чаша депозитарот. Тој го фаќа чаша, и тој го дава назад. Дали некој има било поим што се случува тогаш? Дава Купот. Досега Мит отиде во неговата црвена чаша складиштето, го извадил оттаму, проверено, го исклучувам, рече: Зедов една чаша црвено. И тој го дава на Карл. Дали имате идеја? Што мислите Карл прави тоа? ПУБЛИКАТА: Карл ја дава на Винс. Стивен турбан: Карл ја дава на Винс. Винс. ПУБЛИКАТА: И Винс покажува дека на [нечујни]. Стивен турбан: Токму така. Значи тоа е токму тоа. Значи Винс зема чаша, дури и не знаат што е тоа, но тој тоа го покажува на корисникот. Значи, ајде да се обидеме да го пресоздаде ова навистина кратко. И ние ќе треба три молчи волонтери, како вие момци не се случува за да може да зборува. Значи, би можел да го дофати три? OK. И кој би сакале да бидете? ПУБЛИКАТА: Јас ќе бидам Винс. Стивен турбан: Винс, ОК. Убава, но глупав. Велики. Некој друг? Ние сме во потрага по способни но потчинуваат. Некој друг сакаат да бидат способни? ПУБЛИКАТА: Јас би можел да биде Карл. Стивен турбан: слатко. Имаме Карл. ПУБЛИКАТА: Мит. Стивен турбан: Мит, ОК. И ние сме случува да треба a-- Јас ќе бидам на клиентите. Па ајде нагоре, ајде нагоре. И тоа е сите во поглед? Па јас одам да прашам Винс да стои во предниот дел, само се смешка, само се смешка како светла како е можно. И ние сме случува да побараат Карл, право, зошто не се, како, стојат зад неа? И Мит, зошто не се само одам во грбот, а потоа јас ќе ви даде група на чаши за да се закачам со. Па јас сум клиент. Дојдам. И јас се направи [нечујни] Јас кажам, здраво, јас би сакал чаша. Перфект. Значи Винс нема идеја. Значи она што не Винс правите следно? Vince-- Добро, така што јас ќе одам да се раскажува сега. Винс извикува на Карл, чаша! Што значи Карл направам? Карл вика на Мит. Мит зграпчува чаша. Мит го дава на Карл. Карл се враќа Винс. И Винс тоа покажува на корисникот. А тоа е високо, високо, висока, па висок поглед на MVC. Ние ќе ја подели со еден поглед, она што корисникот го гледа, контролор, некој кој прави се што е во позадина но навистина не може да се ажурира ништо или не можат да сторат ништо од некакво значење освен повикувајќи погледот и модел. И тогаш имаме Мит, моделот, кој ги ажурира сите други податоци што ги имаме. Па ви се заблагодарам толку многу за нашата убава, контрола, и е способен да волонтери. И мислам дека тоа беше тоа. [Аплауз] Мислам дека Габе се случува да се зборува сега на се надевам дека помалку високо ниво. Габриел Гимараеш: Добро, момци. Сега ајде да разговараме малку повеќе за код и за Ruby on Rails себе, и за тоа како таа се однесува на сето ова MVC приказна. Во суштина, Ruby on Rails е рамка. Повеќе за тоа во една секунда. Но, само за да ви даде чувство на кој го користите, како, сите овие големи companies-- па GitHub, Groupon, Twitter-- тие се сите тие се со користење на Руби Шини како нивна главна рамка за спроведување на нивниот веб-сајт. Па јас сум сигурен дека многу од луѓето ги користат овие веб-сајтови тука. А сето тоа е Ruby on Rails да се спроведе модел, поглед, и контролорот на сите овие веб-сајтови и многу повеќе. Во ред? Значи како што реков, Ruby on Шини е рамка. И можете вид на може да се мисли на рамка во смисла на како градење на куќа. Значи, ако си оди за да се изгради на house-- и може да се секогаш се почне од нула, нели? Може да се обидете да се излезе со начин да се видов дрво, и да се донесе на дрво да се на место, и да се добие камен во вистинската форма, а потоа сето тоа. Но, тоа се случува да се земе веројатно многу години додека не ги добиете сите на материјалот, и ќе го добиете сето заедно, а вие всушност проектот да се изгради вашиот дом. Значи излегува, ако почнете да излегува со рамка со нешто што е Веќе вид во место за било кој тип на куќа што сакате да build-- нешто тоа е многу генерички но тоа може да се тогаш модел кон свој goals-- тогаш можете да потпора оваа моќ на рамки за да се изгради нив нешто многу, многу побрзо. OK. Значи ова е истата идеја во рамка за веб апликации или за било кој тип на апликација, за тоа прашање. Ти всушност се започне од со половина апликација веќе постојат во место за вас. А со тоа и јас значи дека можете да добиете многу додадени фајлови кои веќе имаат функции, како библиотеки, како и функционалност, и команди дека може да работи со цел за да го направат вашиот живот многу поедноставно и полесно. OK. Значи во овој случај, ние ќе да се зборува за Ruby on Rails. Постојат многу различни Рамки таму. Има Џанго за Python. Има Zend Framework или Laravel за PHP. Постојат многу различни од нив. Ruby on Rails е прилично убаво нов. Многу луѓе го користат тоа во стартап и овој вид на животната средина. И некои од овие многу голем компании кои дојдов тука пред се исто така со користење Ruby on Rails. Па само да ви даде смисла на она што е Руби како, бидејќи вие момци се повеќе се користи да, како, Ц и малку на PHP сега, па Руби се случува да биде еквивалент на вашиот PHP во оваа смисла. Ова не е Руби. Ова е В. ред? Но, ова е како DJBHash функција која јас Знам многу луѓе користат за PSET грешките во правописот. И во Руби, прилично слично како во PHP, може да се спроведе оваа со само неколку линии на код. Наместо да се грижите за хеш функција, да се грижите за кофи, и сето тоа, вие само може да се каже, речник = Hash.net. И тогаш ќе се користи како вид на истата идеја дека PHP имале. И така тоа е за да се обистини. И тогаш, ако сакате да провери, па проверете функција ќе биде ако речник "foo" еднаква еднаква точно, се врати вистина. И тоа е се 'во ред? Па ќе забележите неколку разлики. Нема полу-запирки тука, како што имаше во В. Но, генералната идеја е многу сличен. Во ред? Исто така, во Руби, постојат камења, кои се вид на Руби библиотеки. И шини ракува со нив во многу убав начин за вас. Значи, ако сакате да се стави во некои библиотека прави пораки, или дека прави текст пораки, или дека прави интеграција со Фејсбук, или било каков вид на работа како што за вашиот стан, тоа е многу, многу лесно. Шансите се дека може да се најде нешто како што на интернет. И тие само го прават нешто како кажано КОЈ скапоцен камен сакате да ја користите во Бисер датотека. И тогаш Rails инсталира сè. Вие не треба да се грижите за било за тоа, па тоа е навистина кул. Исто така, има многу, многу од помош на интернет. Значи, можете да најдете многу нешта. Ако имате грешка, само може да го Google, и тоа се случува да биде многу лесно да се добие помош. И тоа е многу fun-- exactly-- затоа што не мора да се грижите за ниско ниво детали, имплементација на хаш маси и мора да излезе со сите на HTTP заглавија, и многу работи, па дури и некои повисоко ниво нешта. Вие не треба да се грижите за тоа во шините. Тоа го прави многу, многу убаво за вас. И ние си оди за да се покаже дека поконкретно многу наскоро. OK. Па малку за Руби повторно. Значи тоа е само како C, како што реков. Наместо printf, велиме "Става", која е "да се стави стринг." Таа го става низа на конзола. И во овој случај, ние сме само печати "Здраво". Ние не треба на загради, но тоа е доста слично. И тогаш, ако сакате да се направи нешто тука, како печати еден куп на "smalls" и еден куп на "bigs" во додека јамка, тоа е вид на како во C, нели? Вие немате params, но тоа е прилично многу исти. Вовлекувањето тука точки, па х е еднакво на 1. И тогаш Додека x е помал од 50-- ова е Ако ова е друго. Тоа е прилично многу сличен на она што го видов. И тогаш x + = 1 е само incrementing, вид на како прават ++ што ќе може да направи во C. Но, тоа е прилично многу она што го видов во В. Тоа не смее да биде премногу комплицирано. Но, тоа е помоќна. Па така постојат неколку команди тука кои се дефинитивно малку понова. Така на пример, "става." Можете да ги користите овој хаштагот нотација тука само да се печати something-- доста како што би направиле ако % d% или C или нешто слично. И вие всушност може да се стави Ако веднаш по соопштението. Па јас само сакам да направам this-- Ако x е поголемо од 3. Па зошто да морам да направи целиот Ако блок? Не знам. Јас само може да печати ја оваа само ако x е еднаква на поголем од 3. Значи ова е една линија начин го прават тоа во Ruby. Листа на Руби е нешто многу разновиден. Значи, вие навистина не треба да имаат само еден тип. Можете да имаат низа, а потоа некои броеви, и сеедно. И ако сакате да се додаде нешто да се листа, можете само да ја користите оваа нотација, токму тука. И ако сакате да iterate. Доста 4each во PHP, овде, имаат листа и ќе го стори "List.each се направи." И ова "ЕЛЕМ", ова е како и името на секој елемент што јас ќе одам да имаат во мојата листа. И тогаш јас само може да "го става ELEM." И "вели" доста рачки ставање на тоа за вас, да ја испечатите. Тоа не е важно дали тоа е низа или INT. Тоа се случува да работат, кои за вас. Зарем не? Кул. И само како PHP, Ruby и HTML исто така, се интегрира многу, многу убаво. И тука се, има некои HTML со Руби во неа. Значи имаме телото таг како во HTML. И ако сакаме да се провери дека корисникот е, на пример, најавени, ние само може да се каже, почнувајќи од Руби, ако user.logged_in ?, крајот на Руби. Верзија за целата оваа работа, која има некои Руби во неа, што е само вид на како што синтакса за PHP дека отпечатоци од променлива. Ајде да се печати user.name. Па добредојде, Стефан, во внатрешноста на HTML div. И на крајот, ние имаме "крајот" и Руби код, што значи дека ова е мојот Ако блок. Во ред? Така, тоа е исто како и лесна интеграција меѓу Руби и HTML. Исто така, постојат многу ресурси. Но, пред да продолжат понатаму, не никого имате било какви прашања во врска со Руби, нешто? OK. Постојат многу ресурси онлајн да tryruby.org, Кодекс академија, ruby-lang.org, каде што можете да го пробате надвор на вашиот интернет пребарувач, пред навистина да сте велат, ох, во ред, јас ќе одам да се користи Руби за мојата финалниот проект. И така дефинитивно им даде на оние, се обиде. Сите овие слајдови се ќе бидат достапни на интернет, па можете едноставно да го преземете. И, да? ПУБЛИКАТА: [нечујни] што само покажува е HTML и кодот вградени во до овој поим на модел Прикажи Контролор? Габриел Гимараеш: Да. Ние ќе го направи тоа за една секунда кога ќе покажеме нашиот пример, во ред? Благодарам за прашањето. Значи, прашањето е во основа ако се може да се покаже оваа интеграција на Руби во HTML во рамките на модел Прикажи контролор рамка. Значи идејата на модел Види контролор рамка е тоа е во основа на филозофијата, исто како Стивен покажа тука. И тоа не е нешто што треба да се направи, но тоа е нешто што го прави твојот живот толку многу поедноставно. И Ruby on Rails е изграден околу оваа филозофија на код. Значи ние ќе се покаже пример многу наскоро. Значи Rails е љубов. Многу луѓе го користат, како што реков. И тоа е навистина забавно. Вие момци треба да дефинитивно го даде да се проба. MVC прави се што е поедноставно. Значи Модел Види контролор, раздвојувачкиот работи и ставање на една личност, сама по себе, или еден дел од вашата апликација да се направи секој од различни работни места дека апликацијата треба да се направи. И помалку време поминато на ниско ниво на проблеми. И сега се многу популарни. Имаме шини 4.0, која е нова верзија. И тоа доаѓа со многу кул работи. Друго прашање. ПУБЛИКАТА: Друго прашање. Ruby on Rails наспроти Ruby on Rails Grails. Габриел Гимараеш: Добро. Прашањето беше, Руби on Rails наспроти Ruby-- ПУБЛИКАТА: Grails. Руби? Габриел Гимараеш: Да. Значи Руби е јазикот. ПУБЛИКАТА: Не Ве молам да се споредат јазик и рамка, Ruby on Rails, со уште една популарна јазик framework-- Grails-- со Руби на шини. Габриел Гимараеш: Добро. Жал ми е. Прашањето беше, да ги споредиме Руби и Ruby on Rails во друга рамка и another-- ПУБЛИКАТА: Руби. Тоа е во ред. Ако не знаат за тоа, тоа е во ред. Габриел Гимараеш: Како, она што јас разбирам е that-- ПУБЛИКАТА: Има уште еден рамка наречена Grails. Габриел Гимараеш: О, Grails. Јас никогаш не слушнале за него. Жал ми е. Јас никогаш не слушнале за Groovy на шини. Жал ми е. ПУБЛИКАТА: Тоа е многу подобро интегриран со Java. Габриел Гимараеш: Ја гледам. ПУБЛИКАТА: Јас сум љубопитен за некои луѓе што ги знам like-- Габриел Гимараеш: Не, јас никогаш слушнале за оној, за жал. Grails. ПУБЛИКАТА: И некои луѓе очигледно како Ruby on Rails. Габриел Гимараеш: Јас сум користени Ruby on Rails многу. Јас сум користел во некои Џанго со Python, како што реков. Јас сум користел во некои Laravel. Но, јас не го користел Groovy на шини. Жал ми е. И тоа е многу популарна сега со шини 4.0. Како на пример, некои од работите што Шини прави тоа за вас, на пример, е што имаат многу CSS фајлови и многу го вклучите Javascript-датотеки. И можете да ги третираат како посебна и сè. Но, тогаш кога automatically-- ви испратиме кодот за производство, тој автоматски компајлира сите нив во една единствена датотека тоа е minified без простори, така што го зазема помалку простор во вашата апликација, така што дека навистина може да скала работите многу. Тоа е зошто таков големите компании како Twitter и GitHub се користи шини, бидејќи тоа го прави сите тоа за вас, што е навистина кул. Едно нешто што е многу, многу, многу тешка за луѓе, вклучувајќи ме и мене, кои се обидуваат да работат со рамка на почетокот, е дека кога ќе почнете некоја апликација, си оди за да се види еден куп на датотеки. Како, кога ќе се создаде Шини Нов, моето барање, си оди за да се види на сите овие folders-- стан, отпадоци, конфигурација, база на податоци, lib, најавите, во јавност. Како, многу, многу нешта. И прв пат јас видов тоа, јас бев како, Добро, јас немам поим што се случува. Јас само сакам да се создаде веб-сајт со "Здраво, свет" и тоа ми создава, како, 100 милијарди различни страници. Не знам што се случува. Затоа ве молам немојте да бидете премногу совладана од тоа. Идејата е во тоа што, всушност, има половина на куќа таму за вас веќе. Таа има една цела рамка за што веќе. Тоа е причината зошто има толку многу датотеки. Но убаво е тоа што таа одвојува сите нив многу убаво. Шансите се вие ​​не мора да се грижите за повеќето од овие директориуми. Најважниот, јас би рекол, е стан папка, каде вашиот стан, всушност, живее. Значи конфигурација, си оди за да мора да configurate некои работи, како вашата база на податоци и работи како кој вид на база на податоци што ја користите. Но, освен тоа, како и повеќето од вашата работа ќе биде направено во стан. Значи во стан, имате средства, контролори, помагачи, испраќачи, модели, ставови. Па еве, ќе почнете да гледате дека контролори, модели и ставови се во игра. Mailers само ако сакаат да испраќаат електронски пораки. Помошници ако сакате да создавање на некои функции што ќе се користат многу во погледот. Значи, да ги стави во помагачи. И средства во основа сите Вашите слики, сите на вашиот CSS, сите ваши JavaScript, и како и оние видови на работи кои се испраќаат до клиентот. И сè што е на средствата, што реков претходно, добива minified. Тоа е составена. А ти навистина не треба да се грижите за дека кога таа оди на производство код. Кул. Сега Зак се случува да дојдат, и тој е ќе го направи пример за Twitter50. ПУБЛИКАТА: Woo-Hoo! Зак Chauvin: Прекрасно. Значи, имав прилика да работам со Ruby on Rails ова лето. Тоа е неверојатна рамка. Многу сум делумно на неа. И јас само ќе ви покажам малку пример за тоа што тоа би можело да изгледа. Скокни во текот на Хром. Значи ова е пример на еден многу едноставен Ruby on Rails application-- нешто како ова е нешто дека Руби навистина супериорна that-- само каде што е вашиот модели се многу добро дефинирани. Во овој пример, ќе видите две различни модели, кои се што имаме корисници и ние имаме твитови. Значи ова е Twitter50, Сопствени Твитер Харвард. Како што можете да видите, јас сум најавени какоzack. И јас сум во можност да се направи нови твитови. Па јас think-- "Ова е" - Жал ми е? ПУБЛИКАТА: [нечујни]. Зак Chauvin: О, во ред. Потребата да се спречи серверот. Одлично. Значи, тука сме. Како што можете да видите, ние имаме Твитер апликација, токму тука. И тоа е супер лесно да се започне на серверот. Ние само ќе го направи "шини серверот." Велики. OK. Ви благодариме за тоа. Па сега ние си работи. И ние ќе каже: "Ова е одличен семинар ". И ајде да видиме што се случува. Затоа ние ќе чуруликам за тоа. Одредување на дното, можете да видите сега има повеќе од три твитови. Значи имаме малку на номериране случува. И ние го имаме тоа чуруликам. И јас, исто така, може да пребарувате низ мојот tweets-- пребарување за ова и двете оние кои имаат зборот "Овој" во нив се појавиш. Ние, исто така може да го избришете твитови од кликнување на копчето Избриши малку. И очигледно, можам само да го избришете местото што му припаѓа на мене. Веќе, ние речиси имаат функционалноста на Твитер. Како, кога ќе размислите околу тоа, Твитер навистина не го прави сето тоа многу. Таа има корисници, тоа има твитови. Има некои посложени функционалност. Но, кога навистина се фаќате за тоа, тоа е сосема едноставен Ruby on Rails стан. И нешто како ова, а со добро разбирање на Ruby on Rails, можете да веројатно направи во еден час или два. И тоа навистина доаѓа назад кон Руби мантра, кој е на конвенцијата во текот конфигурација. Па назад во текот на денот, луѓето, во секое време тие сакаа да се направи овој сајт, ќе мора да почне од нула. Добро, сакам да се направи веб страната. Да се ​​направи оваа датотека и оваа датотека и оваа датотека. Со Ruby on Rails, има ништо од тоа. Велите, сакам нов стан. И исто како и Габе ни покажа, тоа создава целата датотека структура за нас. И ние само промена на малку делови кои ние треба да се. Ние само изберете она што е уникатен за нашиот стан. Кул. Значи да се вратам на нашата презентација preview-- интересно. Каде можам да ги презентираат? ПУБЛИКАТА: Цел екран. Горе десно. Зак Chauvin: Одлично. Кул. OK. Значи прво на сите, моделот. Стивен направи одличен работа на одредувањето на MVC. И сега ние се случува да се однесуваат дека назад во Ruby on Rails. Значи, моделот може да се вид на сметаме како база на податоци. Сте биле гледа ова во CS50 Финансии, каде што моделот продавници информации за колку акции што ги имате, или сите трансакции што сте го направиле. Ова е пример на линијата на тоа како ќе се одат за правење на нов модел во шините. Значи сакам корисник. Тоа се случува да имаат е-пошта, која е стринг, и лозинка, кои Исто така е стринг. Значи тоа е како those-- Сакам секој ред во мојата маса на корисниците да изгледа тоа. А навистина страшни дел за Rails е тоа што го прави непотребно да се напишете било SQL прилично многу. Како и многумина од вас момци сакаше пишување SQL во PSET 7? Токму така. SQL не е многу пријателски за корисниците. И шини апстракти сето тоа далеку со овие навистина лесно команди. Така на пример, ако имаме корисникот, корисникот има многу твитови. И секој еден од оние твитови припаѓа на корисникот. Значи, ако се погледне тука, ова Нашиот модел за нашите чуруликам. И сите ние треба да се каже е оваа единствена line-- сум твит и 'припаѓам на корисникот. А со тоа и единствена линија и малку на базата на податоци конфигурација, Шини поставува овој однос. Во секое време, само можам да кажам, zack.tweets, како, дај ми сите на Зак твитови. Не SQL. Супер лесно. Повторно, тоа е Конвенцијата во однос на конфигурација доаѓаат во игра. Можете да се види малку на пример на Руби тука. Како дадоа изјави, пишување Руби е како вид на пишување на англиски јазик. Тоа е многу високо ниво јазик, и тоа го прави навистина лесно за нас да се каже нешто како, сакам да бидете сигурни дека тоа чуруликам има тело. Нејзиното присуство е точно. И јас сакам да бидете сигурни дека тоа чуруликам, исто како нормална Твитер, има Максимална должина од 140. Тоа е супер-интуитивно, а навистина голем јазик. Потоа имаме став. Значи, ова вклучува HTML и CSS. И еве еден пример на гледање. Значи Ruby on Rails вид на патувањето интегрира и Руби и HTML со цел да генерира она што сакаме на оваа страница. Значи ова е пример за нашиот изглед. Така можете да видите некои тагови, кои можете момци се навикнати, како HTML, телото, на сите дека добрите нешта. И токму тука, сепак, ние се вклучат некои Руби, велејќи: ако има порака за да се прикаже, тогаш се прикаже порака во div. Па јас не ќе се премногу во тоа. Но, ова е генерално страница, која добива изречена on-- и без оглед на која страница на, ова се добива изречена. Значи ова е она што добива вклучени и секогаш. Кул. Друг пример на ова е view-- онаа каде што го одбрала за сите твитови. И некои од овие работи може да изгледа доста познато. Така на пример, токму тука, ние сме јамки низ секоја од твитови, и ние сме им печатење. Значи тука е местото каде што ние сме печатење на телото. И ако user-- чуруликам е тука е реален пример на SQL не е вклучено. Јас сум само прашува, дали е ова корисникот чуруликам за тековниот корисник? Потоа се покаже на линкот за да го избришете. Тоа е супер едноставен. Контролорот. Значи ова е, пак, интерфејс меѓу модел и погледот. Тоа е оној кој го прави на напорна работа на interacting-- биде посредник. Се вчитува информации за видите, што ќе видиме во една секунда. И со цел да комуницирате со модел, повикува модел методи, кои се она што вие момци се познати како функции. Така на пример, ова е контролор нашите чуруликам е. Тоа може да изгледа малку застрашувачка моментов. Но, тоа е всушност супер интуитивен штом еднаш ќе почнете нуркање. Така на пример, во нашиот индекс, тоа е каде што сакаме да покажеме на сите твитови. И така оваа линија во основа само прашува за сите твитови. И тогаш се иницијализира и новиот tweet-- па како ако тие сакаат да се создаде нови чуруликам на оваа страница. И прашува што на тековниот корисник е. И ова е многу слично на направат што го виде во PSET 7, каде што тоа е само вид на раскажување на view-- тоа е вид на, како, полагање на променливи кои сте ќе треба во поглед на гледање. И има еден куп на различни методи дека овој контролер чуруликам може да се справи. Но, навистина, Rails не одлична работа за вид од нив распределба во различни акции кои вашиот контролер може да се направи. Дали постојат било какви прашања во врска со било која од MVC делови на шините? Вид на само бриз од страна. Значи, вие момци можат да се провери го ова на своја. Прекрасно. Ние ќе продолжи да оди. Значи инсталирање шините. Инсталирање шини може да биде, како, еден од повеќе тешка делови на целата шини процес, за жал. Но, очигледно, сето ни се околу за да им помогне. И кога веќе е таму, многу големи ресурси, како Габе напоменато, за да започнете. Еве линкови што ќе треба со цел за да ја преземете шини да го добие инсталиран на вашиот компјутер. Очигледно, тоа е на располагање и за Windows и Mac и за CS50 апаратот. Прашања во врска со нешто што рековме? ПУБЛИКАТА: Јас ќе бидам заинтересирани, actually-- па знам дека симнувањето софтвер е најголемата препрека. Ако има доволно интерес да имаат симнување на мини сесија или нешто слично. Зак Chauvin: MM-хм. Да. Тоа може да биде навистина од голема помош. Ако некој е вистински кунг-Хо за користење на овој за нивниот проект или во иднина, тогаш ние би дефинитивно бил среќен да разговара со вас за тоа. ММ-хм. ПУБЛИКАТА: А поврзани со прашањето на она што го прашав порано. За оние од вас кои имаат направено други рамки кои се уште се се обидува да го стори истото работа, да може полесно да се изгради веб-сајт или функционалност, мислам дека секоја смисла зошто ние би биле on Rails наспроти Zend или на некои други рамки и јазици. Зак Chauvin: јас само ќе да се каже мојот 0,02 $ за тоа. Сакам Ruby on Rails. Имав шанса да работат во двете PHP и Ruby on Rails. Јас многу сакам Ruby on Шини поради Руби. Дефинитивно, тоа е голем дел од неа. Како, кога сте изборот на вашата рамка, исто така можете да го изберете вашиот јазик. Руби е супер accessible-- Мислам многу подобра од PHP јазик. Но, тоа е вид на личен избор. Исто така, уште се разгледува е заедницата зад рамка кои си работат со. Токму сега Ruby on Rails е навистина жешка. Постојат тони на поддршка зад неа. Да ја објавите нешто на Стак Прелевање за проблем сте имајќи Ruby on Rails, и тоа е одговорено. Повторно, тоа е со отворен код, што значи дека тоа е постојано се менува. Постојат тони на луѓе кои се навистина посветени со цел да го прави ова навистина страшни рамка. Значи тоа е зошто јас би изберете Ruby on Rails. Габриел Гимараеш: Да. Јас би рекол дека идејата зад повеќето рамки сте ќе се најде таму е многу, многу слични, нели? Значи Модел Види контролор, фактот дека нашите контролорот Ќе изгледа како нешто како this-- секоја од функциите е како една од вашите страници, и тоа ви пренасочувања, и го иницијализира променливи. Тоа се случува да биде една иста работа за секоја рамка што го гледате таму. И таму се случува да биде модел. И можете да направите нешто како, "припаѓа". Така, наместо за правење на SQL верзија, само, како, направи, user.tweets, и ќе добиете сè. Секој има тоа. Освен во Руби, го правите user.tweets, а потоа некои рамки во PHP, да го направите user.getalltweets Каде што мојата PHP не е проблем. Како, тоа е голема линија. Тоа е истото, но тоа е голема линија. Значи, тоа е една од главните причини од моите желби во текот Руби. Тоа е само правам токму истото во други рамки, тоа само ме зема два пати колку линии на код. Во ред? Било какви други прашања? Зак Chauvin: Нешто Повторно ќе ги споменам quickly-- Габе зборуваше малку за скапоцени камења. И тоа е навистина great-- Мислам, ова е вид на заедничко за сите рамки, дека е еден вид на дијамант концепт, кој е како во мојот мал пример, Јас се најавите. Како на пример, можете да се регистрирате, се одјавите. Како, тоа е, всушност, вид на сложен процес. Тоа беше ракува малку малку за вас во PSET 7. Но, јас се уште не се целосно знаат како за спроведување на знак-во, знак-надвор. И тоа е затоа што Ruby on Rails има тони на скапоцени камења, кои прават такви работи за вас. Повторно, на конвенцијата во текот конфигурација. Секој се случува да се прави овој знак-во, зачлени надвор чекор. Па зошто да не само да се направи пакет, наречен Изработат во овој случај, што е дијамант. Можете само да го вклучат. А потоа, тука е некои помош онлајн со тоа како да го користам. И вие не мора да се грижите за такво нешто. Закачување на слики на овие things-- скапоценост за тоа. Како, во секое време ќе се обидуваш да се направи ништо ново, има дијамант за тоа. И ти вид на само состави мозаикот за овие камења и да се изгради многу сложени примената многу брзо. Кул. Било какви други прашања? Стивен турбан: Woo-Hoo. Не мислам дека [нечујни]. Габриел Гимараеш: Добро. Благодарение толку многу, момци. Стивен турбан: Buh поздрават. Зак Chauvin: Buh поздрават. Стивен турбан: Woo-Hoo. [Аплауз] Yay.