>> [Гуляе музыка]
>> Стыў TURBAN: Так што я Стывен цюрбан.
Над на баку тут, можа быць, мы можа атрымаць некаторыя людзі апускання ст.
У нас ёсць Гаўрыіл і Зака.
Такім чынам, для кароткага дарожнай карты аб тым, што гэта будзе выглядаць,
Я збіраюся рабіць некаторыя надзвычай высокага ўзроўню погляд на тое, што MVC з'яўляецца.
Гейб?
>> GABRIEL Гимарайнш: Я збіраюся казаць пра Сячы і трохі
як Rails працуе і як гэта можа дапамагчы вам ствараць вэб-прыкладанні.
>> ZACK CHAUVIN: І я збіраюся паказаць вам канкрэтны прыклад таго, як
выкарыстоўваць Rails для стварэння супер дзіўным дадатак.
Стыў TURBAN: Awesome.
Салодкі.
Добра.
Такім чынам, давайце пагаворым аб MVC.
Такім чынам, давайце пяройдзем да наступнага слайд, які Я зраблю, націснуўшы на гэтую кнопку.
І давайце ісці на next-- развіцця, Мне падабаецца думаць аб збіраюся CVS,
таму што CVS з'яўляецца захоўванне i таксама мае V ў цэнтры.
>> І так давайце прадставім, у краму.
І давайце зробім гэтую краму прадаць толькі адну рэч.
Такім чынам, мы збіраемся, каб гэта захоўваць толькі прадаць гэтыя чырвоныя кубкі.
І ўявіце, што вы ўваходзіце, і вы ідзяце ў пярэдняй частцы крамы, і чалавека.
І яго завуць Вінс.
>> І Вінс хвалі прывітанне на вас, кажа прывітанне.
І вы заўважыце адну рэч аб Вінса.
Таму, калі мы думаем пра Вінс, мы трэба думаць аб двух ключавых прыметнікаў.
Вінс прыгожа, але ён дурны.
ОК.
Такім чынам, вы ведаеце, не па сваёй віне, На жаль, ён прыгожа.
Ён наш погляд.
Такім чынам, наш першы акцёрскі склад ёсць.
Майце гэта на ўвазе.
>> Цяпер, спытаеце вы Вінса, вы ідзяце, эй Вінс.
Я кліент.
Ён кажа, прывітанне.
Я сапраўды хачу адзін з вашых чырвоных кубкаў.
І што Вінс сказаць?
Хто-небудзь ёсць якія-небудзь Ідэя, што кажа Вінс?
Я збіраюся халоднай выкліку.
Што вы думаеце Вінс кажа?
>> АЎДЫТОРЫЯ: Ён кажа, што я магу паказаць вам, дзе ён знаходзіцца, але я не магу даць вам адзін.
>> Стыў TURBAN: Ён кажа, што я магу паказаць вам, дзе ён знаходзіцца, але я не магу даць вам адзін.
Нават горш.
Хто-небудзь яшчэ ёсць іншы ведаю, што Вінс можа сказаць?
>> АЎДЫТОРЫЯ: Ён павінен пайсці праверыць ці ёсць у іх чырвоныя кубкі.
Стыў TURBAN: Вінцэнт ня нават ведаю, што ён павінен праверыць.
Што-небудзь яшчэ?
Так вы сказалі, павінен праверыць, калі ён мае чырвоныя кубкі.
Працягвай.
АЎДЫТОРЫЯ: Што Чырвоная кубак?
Стыў TURBAN: Што Чырвоная кубак?
Што Чырвоная кубак?
Вінс ў замяшанні.
Так Вінс збіраецца пагаварыць з Наш наступны акцёрскі склад, Карл.
І калі мы думаем пра Карла, мы Павінен думаць аб двух вялікіх adjectives--
ён кантралюючым, але ён не ў стане.
>> Так Вінс goes-- ён ідзе, што Чырвоная кубак?
Я не ведаю, што чырвоны кубкі.
Ён паварочваецца і пытаецца Карл.
Ён кажа, Карл, хто-то папрасіў чырвонай кубкі.
Ці можаце вы гэта зрабіць?
І што ж Карл сказаць?
Давайце зразумець гэта.
Хто-небудзь ёсць любая Ідэя, што кажа Карл?
І я проста паўтарыць яго назад да вас.
Я бачыў рух рукі.
>> АЎДЫТОРЫЯ: Ён кажа хто-то яшчэ, каб атрымаць чырвоныя кубкі.
>> Стыў TURBAN: Ён кажа хто-то яшчэ, каб атрымаць чырвоную кубак.
Менавіта так.
І ў нас ёсць ідэя хто гэты чалавек можа быць?
Гэта намёк.
Гэта будзе пачаць з М. Mob?
>> АЎДЫТОРЫЯ: Мадэль.
>> Стыў TURBAN: мадэль, так.
Яго імя не мадэлі, на жаль, таму што гэта дурное назву.
У нас ёсць Mitt.
І калі мы думаем пра Mitt-- Не, гэта не карціна Зака.
Мы павінны думаць аб двух Асноўныя прыметнікі з рукавіцай.
Ён здольны, але ён пакорлівым.
Так Міт ведае, што ён павінен зрабіць, але ён сапраўды нічога не можа зрабіць.
Ці ён сапраўды не можа вырашыць, сам па сабе.
>> Такім чынам, мы маем Карл.
Карл крычыць на выставе MITT.
І ён кажа, эй Міт, мы павінны чырвоныя кубкі.
І Міт ідзе да сваёй чырвонай дэпазітарыя кубкі.
Ён хапае кубак, і ён дае яго назад.
Хто-небудзь ёсць любая ідэя, што адбываецца потым?
Дае кубак.
Пакуль Міт адправіўся ў свой чырвоны сховішча кубак, узяў яго,
праверыць яго, сказаў: Я ўзяў адну чырвоную кубак.
І ён дае яго з Карлам.
У вас ёсць ідэя?
Што вы думаеце Карл робіць?
>> АЎДЫТОРЫЯ: Карл дае яго Вінсам.
>> Стыў TURBAN: Карл дае яго Вінсам.
Вінс.
>> АЎДЫТОРЫЯ: І Вінс паказвае, што ён [неразборліва].
Стыў TURBAN: Цалкам дакладна.
Дык вось менавіта ён.
Так Вінс бярэ кубак, нават не ведаю, што гэта такое,
але ён паказвае яго карыстальніку.
Так давайце паспрабуем узнавіць гэта сапраўды коратка.
І мы збіраемся неабходнасць тры ціхія добраахвотнікаў,
як вы, хлопцы, не збіраецца каб быць у стане гаварыць.
Так я мог захапіць тры?
ОК.
І кім бы вы хацелі быць?
>> Аўдыторыя: Я буду Вінс.
>> Стыў TURBAN: Вінцэнт, OK.
Прыгожа, але па-дурному.
Выдатна.
Хто-небудзь яшчэ?
Мы шукаем здольны, але пакорлівым.
Хто-небудзь яшчэ хоча быць у стане?
>> Аўдыторыя: Я мог бы быць Carl.
Стыў TURBAN: Sweet.
У нас ёсць Карл.
>> АЎДЫТОРЫЯ: Міт.
>> Стыў TURBAN: Міт, OK.
І мы збіраемся трэба a-- я буду кліент.
Так што прыходзьце на да, давай до.
І ўсе ў сілу?
Так што я збіраюся спытаць Вінса стаяць у пярэдняй, так усміхаючыся,
проста усміхаецца так ярка, як гэта магчыма.
І мы збіраемся папрасіць Карла, Добра, чаму б табе не, быццам бы,
стаяць прама за ёй?
І Міт, чаму б табе не проста сыходзяць у спіну,
і тады я дам вам групу кубкаў, каб боўтацца с.
>> Так што я кліент.
Я прыйду.
І я раблю [неразборліва] Я кажуць, прывітанне, я хацеў бы кубак.
Ідэальна падыходзіць.
Так Вінс не мае ні найменшага падання.
Такім чынам, што ж Вінс рабіць далей?
Vince-- ОК, так што я збіраюся быць апавядае цяпер.
>> Вінс крычыць на Карла, кубак!
Што Карл рабіць?
Карл крычыць на выставе MITT.
Міт хапае кубак.
Міт дае яго Карлу.
Карл вяртаецца яго Вінсу.
І Вінс паказвае яго карыстальніку.
>> І гэта высокі, высокі, высокі, так высока погляд на MVC.
Мы дзелім яго на якія маюць від, што карыстальнік бачыць, кантролер, хто
хто робіць усё, што ў фонавым рэжыме але на самой справе нічога не магу абнавіць
або што-небудзь якое-небудзь значэнне не можа зрабіць акрамя выкліку выгляд і мадэль.
А то ў нас Mitt, мадэль, хто абнаўляе ўсе дадзеныя ў нас ёсць.
Так што дзякуй вам вялікі за наш цудоўны, кіравання, і здольныя валанцёры.
І я думаю, што гэта было.
>> [Апладысменты]
>> Я думаю, Гейб будзе казаць цяпер на спадзявацца, менш высокім узроўні.
>> GABRIEL Гимарайнш: Добра, хлопцы.
Зараз давайце пагаворым крыху больш пра Код і пра Рубі на сябе Rails,
і пра тое, як ён ставіцца для ўсіх у гэтай гісторыі MVC.
У асноўным, Ruby на Rails з'яўляецца асновай.
Больш падрабязна пра гэта ў секунду.
>> Але толькі, каб даць вам аб тым, хто выкарыстоўвае яго,
як усе гэтыя вялікія companies-- так GitHub, Groupon, Twitter--
яны ўсё з выкарыстаннем Рубін на Рэйкі ў якасці асноўнага рамках
для рэалізацыі іх на сайце.
Так што я ўпэўнены, што шмат людзей выкарыстоўвалі гэтыя сайты тут.
І ўсё гэта Ruby On Rails для рэалізацыі мадэль, выгляд і кантролер
на ўсіх гэтых вэб-сайтаў і многае іншае.
ОК?
>> Так як я ўжо сказаў, Рубін на Rails з'яўляецца асновай.
І вы можаце б думаю рамак у сэнсе, як будаваць хату.
Так што калі вы збіраецеся будаваць house--, і вы можаце заўсёды
пачаць з нуля, ці не так?
Вы можаце паспрабаваць прыдумаць з вобразам убачыў дрэва,
і давесці драўніну да месца, і каб атрымаць камень у правай формы,
а затым усё гэта.
Але што адбываецца, каб прыняць верагодна, шмат гадоў
пакуль вы не атрымаеце ўсе матэрыялы, і вы атрымаеце ўсе разам,
і вы на самой справе пачаць пабудаваць свой дом.
>> Вось і атрымліваецца, калі вы пачынаеце з рамкі з чым-тое, што гэта
ужо накшталт на месцы для любога тыпу дома
што вы хочаце build-- што-то гэта вельмі агульны, але што вы можаце
то мадэлі, да сваім меркаванні goals--, то вы можаце выкарыстоўваць
Гэтая сіла рамках будаваць ім што-то значна, значна хутчэй.
ОК.
Так што гэта тая ж самая ідэя ў рамкі для вэб-прыкладанняў
або для розных тыпаў Дадатак, па гэтым пытанні.
>> Вы на самой справе пачаць з паловай прыкладання
там ужо на месцы для вас.
І гэта, я маю на ўвазе вы атрымаеце шмат файлы, якія ўжо маюць функцыі,
як бібліятэкі, як функцыянальнасць, і каманды, якія можна запусціць у парадку
каб зрабіць вашу жыццё нашмат прасцей і лягчэй.
ОК.
>> Такім чынам, у гэтым выпадку, мы збіраемся казаць пра Ruby On Rails.
Ёсць шмат розных каркасаў там.
Там жа Django для Python.
Там гэта ў Zend Framework або Laravel для PHP.
Ёсць шмат розных.
Лал на Rails з'яўляецца вельмі прыемна новы.
Шматлікія людзі выкарыстоўваюць, што ў стартапы і гэты выгляд навакольнага асяроддзя.
І некаторыя з іх вельмі вялікі кампаніі, якія я паказаў тут раней
Таксама з дапамогай Ruby On Rails.
>> Так што проста даць вам адчуванне таго, што Рубі
як, так як вы, хлопцы, больш прывыклі каб, як, C і трохі PHP
цяпер, так Рубін будзе эквівалент вашай PHP ў гэтым сэнсе.
Гэта не Рубі.
Гэта C. OK?
Але гэта, як Функцыя DJBHash, што я
ведаю, што многія людзі выкарыстоўвалі для Pset памылкамі друку.
>> І ў Ruby, даволі гэтак жа, як у PHP, вы
маглі б рэалізаваць гэта з толькі некалькі радкоў кода.
Замест таго, каб турбавацца аб хэш-функцыі,
турбуючыся аб вёдрах, і ўсё, што вы можаце проста сказаць,
слоўнік = Hash.net.
І тады вы карыстаецеся накшталт як Тая ж ідэя, што PHP не было.
І так гэта ісціна.
І потым, калі вы хочаце, каб праверыць, так што праверыць функцыю
калі б слоўнік "Foo" роўная роўная праўда, вяртанне праўда.
І гэта ўсё, добра?
>> Такім чынам, вы заўважыце, некаторыя адрозненні.
Там няма кропкі з коскі тут, як гэта было ў З
Але агульная ідэя вельмі падобная.
ОК?
>> Акрамя таго, у Ruby, ёсць каштоўныя камяні, якія з'яўляюцца свайго роду бібліятэк Рубі.
І Rails апрацоўвае іх у вельмі добры спосаб для вас.
Так што калі вы хочаце паставіць у нейкай бібліятэкі, якія
робіць электронную пошту, або што робіць тэкставымі паведамленнямі,
або што робіць інтэграцыю з Facebook, або якой-небудзь рэчы
як, што для вашага прыкладання, гэта вельмі, вельмі лёгка.
Хутчэй за ўсё вы можаце знайсці што-то так у Інтэрнэце.
І яны проста робяць нешта накшталт сайце, які
каштоўны камень вы хочаце выкарыстоўваць у файле каштоўных камянёў.
А потым Rails ўсталёўвае ўсё.
Вы не павінны турбавацца аб якіх-небудзь таго, што, такім чынам, гэта сапраўды выдатна.
Акрамя таго, ёсць шмат, шмат онлайн дапамогу.
Такім чынам, вы можаце знайсці шмат рэчаў.
Калі ў вас ёсць памылкі, вы можаце проста Google яго,
і гэта будзе вельмі лёгка атрымаць дапамогу.
>> І гэта шмат fun-- exactly--, таму што вы
не прыйдзецца турбавацца аб нізкім узроўні дэталі, рэалізацыя хэш-табліц
і таго, каб прыдумаць усё HTTP-загалоўкі, і шмат рэчаў,
і нават некаторыя больш высокія рэчы ўзроўню.
Вы не павінны турбавацца аб тым, што ў Rails.
Гэта робіць яго вельмі, вельмі добра для вас.
І мы збіраемся паказаць, што больш канкрэтна вельмі хутка.
ОК.
>> Так трохі аб Рубі зноў.
Так што гэта проста, як C, як я ўжо сказаў.
Замест таго, каб Printf, мы гаворым, "Ставіць", які з'яўляецца "пакласці радок".
Гэта ставіць радок на кансоль.
І ў гэтым выпадку, мы проста друку "Hello World".
Нам не трэба дужкі, але гэта ў значнай ступені падобныя.
>> І потым, калі вы хочаце зрабіць што-то тут,
як надрукаваць кучу "штанах" і куча "BIGS" у той час як цыкл,
гэта накшталт як у З, ці не так?
Вы не маеце Params, але гэта ў значнай ступені тое ж самае.
Водступы тут падлічвае, таму х роўны 1.
І потым, калі х менш, чым 50-- гэта Калі гэта астатняе.
Гэта даволі шмат, як тое, што вы бачылі.
>> І тады х + = 1 толькі павялічваючы, накшталт як робіць ++, якія вы можаце
зрабіць у С. Але гэта даволі шмат, што вы бачылі ў С.
Яна не павінна быць занадта складанай.
Але гэта больш магутным.
Такім чынам, існуе некалькі каманд тут што, безумоўна, трохі навей.
>> Так, напрыклад, "путаў".
Вы можаце выкарыстоўваць гэтую хэштэгу абазначэння тут проста раздрукаваць something--
вельмі падобна на тое, што вы маглі б зрабіць, калі % D або% C або некалькі, як, што.
І вы можаце паставіць Калі адразу пасля зацвярджэння.
Так што я хачу рабіць толькі this-- Калі х больш, чым 3.
Дык чаму б я павінен зрабіць усю Калі блок?
Я не ведаю.
Я магу проста раздрукаваць гэта толькі калі х роўны больш, чым 3.
Так што гэта спосаб адной лініі рабіць гэта ў Ruby.
>> Спіс у Рубіне што-то вельмі універсальным.
Такім чынам, вы сапраўды не трэба мець толькі адзін тып.
Вы можаце мець радок, а затым некаторыя колькасці, і ўсё.
І калі вы хочаце, каб дадаць то ў спіс,
вы можаце проста выкарыстоўваць гэта Абазначэння прама тут.
>> І калі вы хочаце перабраць.
Даволі шмат 4each ў PHP, тут, вы ёсць спіс, і вы робіце "List.each зрабіць."
І гэта "Элем", гэта як імя кожнага элемента
што я буду мець на маім спісе.
І тады я проста не магу "ставіць элем."
І "ставіць" даволі шмат ручкі пакласці яго для вас, друку.
Гэта не мае значэння, калі гэта радок або INT.
Гэта будзе працаваць, што для вас.
Дакладна?
Крута.
>> І гэтак жа, як PHP, Ruby і HTML таксама інтэграваць вельмі, вельмі прыгожа.
І вось, ёсць нейкая HTML з Рубінам ў ім.
Таму ў нас ёсць тэг цела, як у HTML.
І калі мы хочам, каб праверыць што карыстальнік, напрыклад,
ўвайшлі ў сістэму, мы можам проста сказаць: пачатак Рубі, калі user.logged_in?, Канец Ruby.
Раздрукаваць гэтую ўсю рэч, якая ёсць некаторыя Рубі ў ім, што гэта проста
накшталт як, што сінтаксіс для PHP, што друкуе зменную.
Давайце друкаваць user.name.
>> Так што сардэчна запрашаем, Стывен, ўнутры HTML-дзіваў.
І ў рэшце рэшт, у нас ёсць "канец" і Рубі код, які азначае, што гэта мой
Калі блок.
ОК?
Так што гэта проста, як бясшвовыя інтэграцыя паміж Рубінам і HTML.
Ёсць таксама шмат рэсурсаў.
Але перш чым мы пяройдзем, хто-небудзь ёсць якія-небудзь пытанні аб Ruby, што-небудзь?
ОК.
>> Ёсць шмат рэсурсаў у Інтэрнэце у tryruby.org, код акадэміі,
ruby-lang.org, дзе вы можаце паспрабаваць яго на вашым браўзэры перад вамі на самай справе
кажуць, о, добра, я збіраюся выкарыстоўваць Рубі для майго канчатковага праекта.
І так вызначана даюць тым, паспрабаваць.
Усе гэтыя слайды з'яўляюцца будзе даступная онлайн,
так што вы можаце проста загрузіць іх.
І так?
>> АЎДЫТОРЫЯ: [неразборліва] што вы толькі што паказалі,
быў HTML і код, укаранёны ў іх у гэта паняцце Model View
Кантролер?
>> GABRIEL Гимарайнш: Так.
Мы зробім гэта ў секунду калі мы паказваем наш прыклад, добра?
Дзякуй за пытанне.
Так пытанне быў у асноўным, калі мы можа паказаць гэтую інтэграцыю Рубі
у HTML у рамках мадэлі Прагляд базы кантролера.
>> Такім чынам, ідэя мадэлі База View Controller
гэта ў асноўным філасофія, гэтак жа, як Стывен паказаў тут.
І гэта не тое, што ў вас ёсць, каб зрабіць,
але гэта тое, што робіць Ваша жыццё нашмат прасцей.
І Рубін на Rails пабудаваны вакол гэтай філасофіі кода.
Такім чынам, мы збіраемся, каб паказаць Прыклад вельмі хутка.
>> Так Rails ёсць любоў.
Многія людзі выкарыстоўваюць яго, як я ўжо сказаў.
І гэта сапраўды весела.
Вы, хлопцы, павінны безумоўна, даць яму паспрабаваць.
MVC робіць усё прасцей.
Такім чынам, Model View Controller, якія падзяляюць рэчы
і пакласці адзін чалавек, па сутнасці, або адна частка вашага прыкладання
зрабіць кожнага з розных працоўных месцаў што ваша прыкладанне мае справу.
І менш часу правёў па праблемах нізкага ўзроўню.
І вельмі папулярныя цяпер.
У нас ёсць Rails 4.0, што новая версія.
І гэта адбываецца з вялікай колькасцю цікавага матэрыялу.
Іншае пытанне.
>> АЎДЫТОРЫЯ: Яшчэ адно пытанне.
Лал на Rails супраць Лал на Rails Grails.
>> GABRIEL Гимарайнш: OK.
Пытанне было, Ruby на Rails супраць Ruby--
АЎДЫТОРЫЯ: Grails.
Рубі?
>> GABRIEL Гимарайнш: Так.
Так Рубін мову.
>> АЎДЫТОРЫЯ: Няма
Я прашу вас, каб параўнаць мову і рамкі, Ruby на Rails,
з другога папулярнай мовы framework-- Grails-- з Рубінам
па рэйках.
>> GABRIEL Гимарайнш: OK.
Выбачайце.
Пытанне, параўнайце Сячы і Рубін на Rails
ў іншых рамках і another--
>> АЎДЫТОРЫЯ: Ruby.
Гэта нармальна.
Калі вы не ведаеце пра гэта, гэта нармальна.
>> GABRIEL Гимарайнш: Як, Наколькі я разумею, гэта that--
>> АЎДЫТОРЫЯ: Там яшчэ адзін Асновы палітыкі заклікаюць Grails.
>> GABRIEL Гимарайнш: О, Grails.
Я ніколі не чуў пра яго.
Выбачайце.
Я ніколі не чуў пра Groovy на Rails.
Выбачайце.
>> АЎДЫТОРЫЯ: Гэта значна лепш, інтэграваны з Java.
>> GABRIEL Гимарайнш: Я бачу.
>> Аўдыторыя: Я проста цікава аб некаторых людзях, якіх я ведаю like--
>> ня GABRIEL Гимарайнш: Не, я ніколі не чулі пра тое, што адзін, на жаль.
Grails.
>> АЎДЫТОРЫЯ: І некаторыя людзі Відавочна, як Ruby On Rails.
>> GABRIEL Гимарайнш: Я б Рубін на Rails шмат.
Я выкарыстаў некаторыя Django з Python, як я ўжо сказаў.
Я выкарыстаў некаторыя Laravel.
Але я не выкарыстаў Groovy на Rails.
Выбачайце.
І гэта вельмі папулярна Зараз з Rails 4.0.
Маўляў, некаторыя з рэчаў, якія Rails робіць для вас, напрыклад, вы
ёсць шмат CSS файлаў і шмат файлаў JavaScript.
І вы можаце разглядаць іх як асобна і ўсё.
>> Але тады гэта automatically--, калі Вы адпраўляеце код да вытворчасці,
ён аўтаматычна кампілюе іх усё ў адзін файл
які паменшаная без якіх-небудзь прасторы, так што яна займае
менш месцы ў вашым дадатку, што вы сапраўды можаце маштабаваць рэчы шмат.
Вось чаму такія буйныя кампаніі як Twitter і GitHub
выкарыстанні Rails, таму што яна робіць усё, што для вас, што гэта сапраўды крута.
>> Адна рэч, якая вельмі, вельмі, вельмі складанай
для людзей, у тым ліку мяне, хто спрабуе працаваць
з каркасам ў пачатку, з'яўляецца што, калі вы пачынаеце дадатак,
Вы будзеце бачыць кучу файлаў.
Маўляў, пры стварэнні Rails Новы маю заяву,
Вы будзеце бачыць усё гэта folders-- дадатак, BIN, канфігурацыі, дб, Lib,
увайсці, грамадскасць.
Маўляў, шмат-шмат усялякага.
>> І першы раз, калі я ўбачыў, што я быў бы,
Добра, я паняцця не маю, што адбываецца.
Я проста хачу, каб стварыць Вэб-сайт з "Прывітанне, свет",
і гэта дае мне, як, 100000000000 розных старонках.
Я не ведаю, што адбываецца.
Таму, калі ласка, не будзьце занадта бянтэжачыся тым, што.
>> Ідэя заключаецца ў тым, што ён на самай справе мае палову дамы для вас ужо.
Яна мае цэлую рамкі для вас ужо.
Вось чаму існуе так шмат файлаў.
Але прыемна тое, што гэта аддзяляе ўсе з іх вельмі добра.
Хутчэй за ўсё вам не прыйдзецца турбавацца пра большасць з гэтых тэчак.
>> Найбольш важным з іх, я б сказаў, татка прыкладання,
дзе ваша прыкладанне на самай справе жыве.
Так канфігурацыі, вы збіраецеся павінны канфігураваць некаторыя рэчы,
як базы дадзеных і таму падобнае які выгляд базы дадзеных, якую вы выкарыстоўваеце.
Але акрамя таго, што, як і большасць ваша праца будзе зроблена ў дадатку.
Такім чынам, у дадатку, у вас ёсць актывы, кантралёры, памочнікі, паштовыя, мадэлі, віды.
Дык вось, вы пачынаеце бачыць, што кантралёры, мадэлі і віды прыходзяць
у гульню.
>> Канверты з'яўляюцца проста калі Вы Каб адправіць электронную пошту.
Памочнікі, калі вы хочаце, каб стварыць некалькі функцый
што вы выкарыстоўваеце шмат у прадстаўленні.
Такім чынам, вы змесціце іх у памочнікаў.
І актываў у асноўным усе Вашыя выявы, усе вашы CSS,
усе вашы JavaScript, і як гэтыя віды
рэчаў, якія будуць пасланыя кліенту.
І ўсё гэта ў актывах, што я сказаў раней, атрымлівае сціснуты.
Гэта кампіляцыі.
І вы сапраўды не трэба турбавацца аб што, калі ён ідзе ў працоўным кодзе.
Крута.
>> Цяпер Зак прыйдзе ў, і ён збіраюся зрабіць прыклад Twitter50.
>> АЎДЫТОРЫЯ: Woo-Hoo!
>> ZACK CHAUVIN: Awesome.
Так што я меў магчымасць працаваць з Рубінам на Rails гэтым летам.
Гэта дзіўная структура.
Я вельмі неабыякавы да яе.
І я проста пакажу вам крыху прыклад таго, што можа выглядаць.
Перайсці да Chrome.
Так што гэта прыклад вельмі просты Лал на Rails application-- што-то
як гэта нешта што Рубі сапраўды вылучаецца
that-- толькі там, дзе ваш мадэлі вельмі добра вызначаны.
>> У гэтым прыкладзе, вы ўбачыце, дзве розныя мадэлі, якія
у тым, што ў нас ёсць карыстальнікаў і ў нас ёсць твітаў.
Так што гэта Twitter50, Уласны Twitter Гарварда.
Як вы можаце бачыць, я ўвайшоў, какzack.
І я ў стане зрабіць новыя твіты.
Так што я think-- "Гэта" - прабачце?
АЎДЫТОРЫЯ: [неразборліва].
ZACK CHAUVIN: О, добра.
Трэба спыніць сервер.
Выдатна.
Дык вось мы тут.
Як вы можаце бачыць, у нас ёсць Twitter прыкладанне прама тут.
І гэта вельмі лёгка запусціць сервер.
Мы проста зробім "рэйкі сервер."
Выдатна.
ОК.
Дзякуй за гэта.
Так што цяпер мы бяжым.
>> І мы будзем казаць: "Гэта з'яўляецца дзіўным семінар ".
І давайце паглядзім, што адбудзецца.
Такім чынам, мы цвіркалі пра гэта.
Там, на дне, вы можаце ўбачыць зараз ёсць больш чым у тры чырыканне.
Таму ў нас ёсць трохі нумарацыі старонак адбываецца.
І ў нас ёсць, што ў твітэры.
І я таксама можаце шукаць праз маё tweets-- пошук для гэтага і двух
тыя, якія маюць слова "Гэта" у іх з'яўляюцца.
Мы таксама можам выдаліць твіты ад націснуўшы на кнопку Выдаліць мала.
І відавочна, што я магу толькі выдаліць пост, які належаў мне.
>> Ужо цяпер амаль ля Функцыянальнасць Twitter.
Маўляў, калі вы думаеце пра гэта, Twitter на самай справе не рабіць усё, што шмат.
Гэта ёсць карыстальнікі, у яго ёсць твітаў.
Там нейкая больш складаная функцыянальнасць.
Але калі вы сапраўды атрымаеце ўніз да яго, гэта даволі проста Рубін на Rails прыкладанне.
І што-нешта накшталт гэтага, з Добрае разуменне Ruby On Rails,
вы, верагодна, зрабіць на працягу гадзіны або двух.
>> І гэта сапраўды адбываецца Вярнуцца да мантру Рубі,
што Канвенцыя па канфігурацыі.
Такім чынам, вернемся ў той жа дзень, людзі, у любы час яны хацелі, каб зрабіць гэты вэб-сайт,
прыйдзецца пачынаць з нуля.
ОК, я хачу, каб зрабіць вэб-сайт.
Давайце зробім гэты файл і Гэты файл і гэты файл.
>> З Ruby On Rails, няма ні ў гэтым.
Вы кажаце, што я хачу, новае прыкладанне.
І гэтак жа, як Гейб паказаў нам, што стварае ўсю структуру файла для нас.
І мы проста змяніць маленькія дэталі, якія мы павінны.
Мы проста наладзіць, якія Унікальнасць нашага прыкладання.
Крута.
Так вяртаючыся да нашай прэзентацыі preview-- цікава.
Дзе я магу ўявіць?
АЎДЫТОРЫЯ: Поўны экран.
Уверсе справа.
>> ZACK CHAUVIN: Выдатна.
Крута.
ОК.
Таму ў першую чаргу, мадэль.
Стывен зрабіў дзіўны Праца з выкладаннем MVC.
І зараз мы збіраемся звязаць што яшчэ ў Ruby On Rails.
Так мадэлі вы можаце выгляд Думай як базы дадзеных.
Вы ў апошні раз бачыў гэта ў CS50 Фінансы, дзе мадэль крамы
інфармацыя аб колькі акцый у вас ёсць,
ці ўсе аперацыі, якія вы зрабілі.
Гэта з'яўляецца прыкладам лінія, як бы вы
ісці аб тым, новую мадэль у Rails.
Таму я хачу карыстальніка.
Гэта будзе мець электроннай пошты, які з'яўляецца радком,
і пароль, якія Таксама радок.
Так што гэта, як those-- Я хачу, каб кожны шэраг у маёй табліцы карыстальнікаў, каб выглядаць.
>> Сапраўды дзіўным частка аб Rails з'яўляецца тое, што яго
робіць непатрэбным пісаць SQL даволі шмат.
Як многія з вас, хлопцы любяць пісаць SQL ў PSET 7?
Менавіта так.
SQL не вельмі зручна.
І Rails рэфераты ўсё, што ад з гэтых сапраўды лёгка каманд.
Так, напрыклад, калі ў нас ёсць Карыстальнік, карыстальнік мае шмат твітаў.
І кожны з тых, Твіты належыць карыстальніку.
>> Так што, калі вы паглядзіце тут, гэта наша мадэль для нашай твіт.
І ўсё, што мы павінны сказаць, Гэты сінгл line-- Я твіт
і я належу да карыстальніку.
І з гэтай адзінай радкі, і трохі канфігурацыі базы дадзеных,
Rails ўсталёўвае гэтую сувязь.
У любы час, я магу проста сказаць zack.tweets, як, дай мне ўсё Zack твітаў.
Няма SQL.
Супер лёгкі.
Зноў жа, гэта Пагадненне па Канфігурацыя ўступлення ў гульню.
>> Вы можаце ўбачыць трохі прыкладу Рубін тут.
Як Даў сказаў, пісаць Рубін накшталт як пісаць па-ангельску.
Гэта вельмі мова праграмавання высокага ўзроўню, і гэта робіць яго вельмі лёгка
для нас, каб сказаць нешта накшталт, я хачу пераканайцеся, што твіт ёсць цела.
Яго прысутнасць праўда.
І я хачу, каб пераканацца, што гэта цвіркалі, як нармальны Twitter,
мае максімальную даўжыню 140.
Гэта супер-інтуітыўны, сапраўды вялікі мову.
>> Затым у нас ёсць меркаванне.
Так што гэта ўключае ў сябе HTML і CSS.
А вось прыклад выгляду.
Так Ruby On Rails выгляд лёгка інтэгруе лал і HTML
для таго, каб генераваць што мы хочам на гэтай старонцы.
Так што гэта прыклад нашага макета.
Такім чынам, вы можаце ўбачыць некаторыя прыкметы, якія вы Хлопцы прывыклі, як HTML, цела,
усё, што добры матэрыял.
>> І прама тут, аднак, мы ўключыць некаторыя Рубі, сказаўшы,
калі ёсць паведамленне для адлюстравання, затым адлюстраваць паведамленне ў дзіваў.
Так што я не атрымаеце занадта шмат у гэтым.
Але гэта, як правіла, Старонка, якая атрымлівае вынесена on--
і незалежна ад таго, на якой старонцы вы знаходзіцеся на, на гэты раз атрымлівае вынесена.
Так што гэта, што ўваходзіць заўсёды.
Крута.
>> Іншы прыклад, гэта view-- той, дзе яна выбрала ўсё твіты.
І некаторыя з гэтых рэчаў можа выглядаць даволі добра знаёмыя.
Так, напрыклад, тут, мы цыкл праз кожны з твітаў,
і мы іх друку.
Дык вось, дзе мы раздрукоўкі цела.
І калі user-- твіт тут гэта рэальны прыклад не SQL ўдзельнічае.
Я проста пытаюся, гэта Карыстальнік Tweet ў бягучы карыстальнік?
Затым пакажыце спасылку, каб выдаліць яго.
Гэта супер проста.
>> Кантролер.
Такім чынам, гэта, зноў жа, інтэрфейс паміж мадэллю і паказам.
Гэта той, які робіць цяжкую працу з interacting-- быць пасярэднікам.
Ён загружае інфармацыю глядзець, што мы ўбачым у секунду.
І для таго, каб ўзаемадзейнічаць з мадэллю, яе
заклікае мадэлі метады, якія, што вы, хлопцы, знаёмыя як функцыі.
>> Так, напрыклад, гэта Кантролер нашай Tweet гадоў.
Гэта можа выглядаць трохі складанай прама цяпер.
Але гэта на самай справе супер інтуітыўна зразумелы як толькі вы пачынаеце дайвінг ст.
Так, напрыклад, у нашым індэксе, гэта дзе мы хочам, каб паказаць усе твіты.
І так гэтая лінія ў асноўным проста просіць усіх твітаў.
А потым мы ініцыялізуючы як новыя tweet-- так як
калі яны хочуць стварыць новы твіт на гэтай старонцы.
>> І гэта пытаецца, што бягучы карыстальнік.
І гэта вельмі падобна на зрабіць, што вы бачылі ў PSET 7,
дзе гэта проста нейкая распавядаць view-- гэта свайго роду, як,
перадаючы зменныя, якія вы спатрэбіцца ў мэтах прадстаўлення.
І ёсць цэлая куча розных метадаў
што кантролер твіт можа справіцца.
>> Але на самой справе, Rails робіць вялікую працу па выглядзе
дзялення іх у розныя дзеянні, якія кантролер можа зрабіць.
Ці ёсць пытанні аб любы з частак MVC рэек?
Выгляд проста брыз.
Так што вы, хлопцы, можаце праверыць гэта на свой уласны.
Высокі.
Мы будзем трымаць збіраецца.
>> Таму ўстаноўка Rails.
Ўстаноўка Rails можа быць, як, адзін з больш складаных частак
цэлых Rails Працэс, на жаль.
Але відавочна, што ўсе нам вакол, каб дапамагчы.
І як толькі гэта там, шмат вялікіх рэсурсаў,
як ужо згадвалася Гейб, для пачатку.
Вось спасылкі, якія Вы павінны будзеце ў парадку
спампаваць Rails, каб атрымаць яго усталяваны на вашым кампутары.
Відавочна, што гэта даступна як для Windows, і Mac
і для CS50 прылады.
Пытанні ні пра што мы ўжо казалі?
>> Аўдыторыя: Я б цікавіць, actually--
так што я ведаю, што загрузка Праграмнае забеспячэнне вялікім перашкодай.
Калі ёсць дастатковы цікавасць у Спампоўваючы міні сесію ці нешта.
ZACK CHAUVIN: Мм-хм.
Так.
Гэта можа быць вельмі карысна.
Калі хто-то сапраўды энтузіязму аб выкарыстоўваць гэта для свайго праекта
або ў будучыні, то мы б, безумоўна, рады пагаварыць з вамі пра гэта.
Мм-хм.
>> АЎДЫТОРЫЯ: звязаны з гэтым пытанне да чаго я спытаў раней.
Для тых з вас, хто зрабіў іншыя механізмы, якія да гэтага часу
спрабуе зрабіць тое ж самае рэч, зрабіць гэта прасцей
стварыць вэб-сайт або Функцыянальнасць, я думаю, нейкі сэнс
чаму мы б на Rails супраць Zend або некаторых іншых структур
і моў.
>> ZACK CHAUVIN: Я проста Say My $ 0,02 пра гэта.
Я люблю Ruby On Rails.
Я меў магчымасць працаваць як у PHP і Ruby On Rails.
Я аддаю перавагу Рубін на Рэйкі з Ruby.
Вызначана, гэта вялікая частка гэтага.
Маўляў, калі вы выбары базы,
Вы таксама можаце выбраць патрэбны мову.
>> Рубі супер accessible-- Я думаю, значна лепш, чым мова PHP.
Але гэта выгляд асабістага перавагі.
Акрамя таго, яшчэ адно меркаванне з'яўляецца супольнасць за рамкі
што вы працуеце з.
>> Зараз Рубін на Rails з'яўляецца вельмі горача.
Там тоны падтрымкі за ім.
Вы што-то на стэку у тэмах Перапаўненне пра праблему, якую вы
маючы на ​​Ruby On Rails, і гэта адказаў.
Зноў жа, гэта з адкрытым зыходным кодам, што азначае, што ён увесь час змяняецца.
Там тоны людзей што на самой справе прысвечаны
для таго, каб зрабіць гэта сапраўды дзіўным рамкі.
Дык вось чаму я б выбраць Ruby On Rails.
GABRIEL Гимарайнш: Так.
Я б сказаў, што ідэя За шматлікімі рамках вы
збіраецца высветліць, ці ёсць вельмі, вельмі падобныя, ці не так?
Такім чынам, Model View Controller, Справа ў тым, што наш кантролер гадоў
будзе выглядаць як-то як this-- кожнай з функцый
гэта як на адной з старонак, і перанакіроўвае вас,
і ініцыялізуе зменныя.
Гэта будзе тое ж самае для кожны рамкі, якія вы бачыце там.
І там будзе мадэль.
І вы можаце рабіць такія рэчы, як, "належыць".
Такім чынам, замест таго, каб рабіць версію SQL, Вы проста, як, зрабіць, user.tweets,
і вы атрымаеце ўсё.
Кожны мае гэта.
За выключэннем Ruby, вы user.tweets, а затым некаторыя асновы ў PHP,
вы user.getalltweets Дзе мае PHP не праблема.
Маўляў, гэта вялікая лінія.
Гэта тое ж самае, але гэта вялікая лінія.
>> Так што гэта адна з галоўных прычын, з маіх пераваг з рубінам.
Гэта проста я дакладна Тое ж самае і ў іншых рамках,
ён проста бярэ мяне ў два разы да таго часу, радкоў кода.
ОК?
>> Любыя іншыя пытанні?
>> ZACK CHAUVIN: Што-то Я назаву quickly-- Гейб
трохі пагаварылі аб каштоўных камянях.
І гэта сапраўды great-- Я маю на ўвазе, гэта гэта свайго роду агульным для ўсіх структур,
нешта накшталт канцэпцыі каштоўных камянёў, якая, як у маім маленькім напрыклад,
Я увайсці ў сістэму.
Напрыклад, вы можаце ўвайсці ў сістэму выйсці.
Маўляў, на самой справе выгляд складанага працэсу.
Было апрацавана мала няшмат для вас у PSET 7.
Але я ўсё яшчэ не ў поўнай меры ведаць, як для рэалізацыі Уваход у, рэгістрацыя пры ад'ездзе.
І гэта таму, што Лал на Rails мае тон
каштоўных камянёў, якія робяць такія рэчы, як гэта для вас.
>> Зноў жа, пагадненне па канфігурацыі.
Усё гэта будзе рабіць гэты знак у, увайдзіце ад'езду крок.
Дык чаму б проста не зрабіць пакет, які называецца Распрацаваць у гэтым выпадку, які з'яўляецца жамчужынай.
Вы проста яго ўключыць.
І, нарэшце, нейкая дапамога онлайн з тым, як яго выкарыстоўваць.
І вам не прыйдзецца турбавацца ні пра што падобным.
>> Прымацаванне фатаграфіі на гэтыя things-- каштоўны камень для гэтага.
Маўляў, у любы час вы спрабуеце зрабіць нешта новае, ёсць каштоўны камень для гэтага.
І вы, здаецца, проста сабраць разам гэтыя каштоўныя камяні
і пабудаваць сапраўды складаны Дадатак вельмі хутка.
Крута.
Любыя іншыя пытанні?
>> Стыў TURBAN: Ву-ху.
Я не думаю, што [неразборліва].
>> GABRIEL Гимарайнш: OK.
Вялікі дзякуй, хлопцы.
>> Стыў TURBAN: Буг да пабачэння.
ZACK CHAUVIN: Буг да пабачэння.
>> Стыў TURBAN: Ву-ху.
[Апладысменты]
>> Ўра.