>> [音乐播放]
>> STEPHEN TURBAN：所以我斯蒂芬头巾。
在这里上的一面，也许我们 可以得到一些人潜水。
我们有Gabriel和扎克。
因此，对于在一个简短的路线图是什么 这是怎么回事的样子，
我会做一些非常 高层次看看什么MVC是。
加布？
>> GABRIEL GUIMARAES：我要去 谈Ruby和一点点
Rails是如何工作以及它如何 帮助您构建Web应用程序。
>> ZACK CHAUVIN：而且我要去 告诉你怎样一个具体的例子
使用Rails的构建 超级真棒应用程序。
STEPHEN TURBAN：真棒。
甜蜜。
行。
因此，让我们来谈谈MVC。
因此，让我们去下一张幻灯片，其中 我会按这个按钮做的。
让我们去next--发展， 我喜欢去想要去CVS，
由于CVS是一家商店， 也有中央的V。
>> 因此，让我们想象一家商店。
让我们使这家店 只卖一件事。
所以，我们要这个 存储只卖这些红色的杯子。
想象你走在，你去 到商店，和人的前面。
他的名字叫文斯。
>> 和Vince波你好你说喜。
你注意到一件事对文斯。
所以每当我们想到文斯，我们 必须考虑两个关键形容词。
文斯是美丽的，但他是愚蠢的。
好不好。
所以，你知道，没有他的错， 不幸的是，他的美丽。
他是我们的观点。
所以我们的第一个剧组成员是存在的。
记住这一点。
>> 现在，你问文斯，你去了，哎文斯。
我是一个客户。
他说喜。
我真的希望你的红色杯子中的一个。
又是什么文斯说？
没有人有任何 知道什么文斯说？
我要去造访。
你怎么看文斯说？
>> 听众：他说，我可以告诉你 它在哪里，但我不能给你一个。
>> STEPHEN TURBAN：他说，我可以告诉你 它在哪里，但我不能给你一个。
更糟糕的。
任何人有另一种 知道什么文斯可能会说什么？
>> 听众：他要去检查 如果他们有任何的红色杯子。
STEPHEN TURBAN：文斯不 甚至不知道他有检查。
还要别的吗？
所以，你说，有 检查他是否有红色的杯子。
前进。
听众：什么是红色的杯子？
STEPHEN TURBAN：什么是红色的杯子？
什么是红色的杯子？
文斯是困惑。
所以，文斯是要谈 我们的下一个剧组成员，卡尔。
当我们想到卡尔，我们 总得想想两大adjectives--
他的控制，但他无能为力。
>> 所以，文斯goes--他 云，什么是红色的杯子？
我不知道什么是红色的杯子。
他转过身来，他问卡尔。
他说，卡尔，一个人 要了一杯红。
你能做到吗？
又是什么卡尔说？
让我们看着办吧。
没有任何人有任何 想法是什么卡尔说？
而我就重复回给你。
我看到了一个手部动作。
>> 听众：他告诉别人 其他获得红杯。
>> STEPHEN TURBAN：他告诉 别人拿到红色杯子。
没错。
而且我们有一个想法 谁的那个人可能是什么？
这是一个提示。
这将开始与M.暴民？
>> 听众：模型。
>> 斯蒂芬TURBAN：模型，是的。
他的名字是不是模式，遗憾的是， 因为这是一个愚蠢的名字。
我们有米特。
当我们想到Mitt-- 没有，这不是扎克的图片。
我们必须考虑两个 关键形容词与米特。
他的能力，但他顺从。
所以米特知道他必须做， 但他真的不能做任何事情。
或者，他真的不能决定自己的。
>> 因此，我们有卡尔。
卡尔在呼喊米特。
他说，嘿米特，我们需要红色的杯子。
和米特去他的红色杯子保管。
他抓起一个杯子，他给它回来。
没有任何人有任何 想法会发生什么呢？
给人的杯子。
到目前为止米特已经对他的红色 杯资料库，取出来，
检查它，说， 我把一红杯。
而他把它给卡尔。
你有一个想法？
您如何看待卡尔呢？
>> 听众：卡尔把它交给文斯。
>> STEPHEN TURBAN：卡尔把它交给文斯。
文斯。
>> 听众：和Vince 它显示为[听不清]。
STEPHEN TURBAN：没错。
所以，这也正是它。
所以，文斯把杯， 甚至不知道它是什么，
但他显示它给用户。
所以让我们尝试重新 这真的简要介绍。
而且我们要需要 3沉默的志愿者，
因为你们不打算 要能发言。
所以，我能抢3？
好不好。
又是谁，你想是什么？
>> 听众：我是文斯。
>> STEPHEN TURBAN：文斯，OK。
美丽的，但愚蠢的。
大。
别人？
我们正在寻找一个 但能够逆来顺受。
任何人都希望能？
>> 观众：我可能是卡尔。
STEPHEN TURBAN：甜。
我们已经得到了卡尔。
>> 听众：米特。
>> STEPHEN TURBAN：米特，OK。
并且我们将需要 A--我会客户。
所以来了，上来吧。
并为大家在看法？
所以我要问到文斯 站在前面，只是面带微笑，
只是微笑尽可能明亮。
而我们要问卡尔， 没错，你为什么不一样，
站在她右后方？
和米特，你为什么不 刚刚熄灭在后面，
然后我给你一组 杯挂出。
>> 所以我的客户。
我来了。
我让[听不清]我 说，嗨，我想一个杯子。
完美。
所以，文斯不知道。
那么什么是文斯办呢？
Vince--好了，我要去 是现在叙述。
>> 文斯喊卡尔，杯具！
什么是卡尔办？
卡尔骂米特。
米特抓起一个杯子。
米特给它卡尔。
卡尔返回给文斯。
和Vince显示它给用户。
>> 而这是一个高，高， 高，这么高看MVC。
我们通过有一个观点把它什么 用户看到，控制器，有人
谁做的一切在后台 但真的不能更新任何东西
或不能做任何事情的意义 除了调用视图和模型。
然后我们有米特，模型， 谁更新任何数据，我们有。
所以，非常感谢你对我们的美丽， 控制，并能志愿者。
我认为这是它。
>> [掌声]
>> 我认为加布是现在要谈 在一个希望少高水平。
>> GABRIEL GUIMARAES：OK，伙计们。
现在，让我们来谈谈更一点关于 代码和有关Ruby on Rails的本身，
以及有关它与 所有这一切的MVC的故事。
基本上，Ruby on Rails是一个框架。
更多关于在第二。
>> 但只给你一个 是谁感的使用它，
像所有的这些大companies-- 所以GitHub上，Groupon的，Twitter--
他们都使用Ruby on 导轨为主要框架
实现他们的网站。
所以我敢肯定有很多人 在这里使用这些网站。
和它的on Rails的Ruby的全部落实 模型，视图和控制器
在所有这些网站和许多更多。
好不好？
>> 所以，正如我所说，在红宝石 Rails是一个框架。
你可以种想想框架 在就像盖房子一样的感觉。
所以，如果你要打造 一个house--，你可以随时
从头开始，对不对？
你可以尝试拿出 一种方法来锯木头，
并且使木材的地方，和 得到石头在正确的形状，
然后将所有的这一点。
但要采取 也许很多年
直到你得到所有的材料， 你会得到一切融合在一起，
你真正开始 来建房。
>> 所以，事实证明，如果你开始时 带着几分框架的
种已经到位 对于任何类型的房子
要build--东西 这是很普通的，但是，你可以
那么模型对你自己 goals--那么你可以利用
该框架的这种力量打造 他们的东西很多，要快得多。
好不好。
因此，这是同样的想法在 框架的Web应用程序
或用于任何类型的 应用程序，对于这个问题。
>> 你真正开始了 有一半的应用程序
已经存在于你的地方。
通过这一点，我的意思是你会得到很多的 文件已经具备的功能，
像图书馆一样的功能， 和命令，你可以为了运行
让你的生活更 简单和容易。
好不好。
>> 所以在这种情况下，我们要 谈Ruby on Rails的。
有许多不同 框架在那里。
有Django的Python的。
有Zend框架 或Laravel的PHP。
有很多不同的。
Ruby on Rails是一个相当不错的新的。
很多人使用，在创业公司 而这种环境。
而其中的一些非常大的 我在这里表现出公司之前，
也使用Ruby on Rails。
>> 所以只给你一个 什么Ruby是感
像，因为你们用的比较多 到一样，C和PHP的一点点
现在，让红宝石将是该 相当于在这个意义上你的PHP。
这不是红宝石。
这是C. OK？
但是，这是像 DJBHash功能，我
知道很多人使用 为PSET拼写错误。
>> 而在Ruby中，漂亮 就像在PHP，你
可与实施这一 只有几行代码。
而不必担心 关于该散列函数，
不必担心桶， 而所有这一切，你就可以说，
字典= Hash.net。
然后使用一种像 该PHP有同样的想法。
所以这是为true。
然后，如果你想 检查，所以检查功能
是，如果字典“富” 等于等于true，返回true。
而这一切，OK？
>> 所以，你看到一些差别。
有没有分号 这里，因为有在C.
但一般的概念非常类似。
好不好？
>> 此外，在Ruby中，有宝石，其中 是一种对Ruby库。
和Rails处理他们 一个非常好的方式为您服务。
所以，如果你想放 一些库
确实的电子邮件，或 的确短信，
或者，做与整合 Facebook或任何种类的东西
这样你的应用程序， 这是非常，非常容易。
奇怪的是，你可以找到的东西 像在互联网上。
他们只是做 像放哪
创业板要在创业板文件中使用。
然后安装Rails的一切。
你不必担心任何 这一点，所以这真的很酷。
此外，还有大量的， 大量的在线帮助。
所以，你可以找到很多的东西。
如果你有一个错误， 你可以Google一下，
而这将是 很容易得到帮助。
>> 这是一个很大的fun-- exactly--因为你
不必担心低级别 详情，实施哈希表的
并且必须拿出所有的 HTTP头，和很多事情，
甚至一些更高层次的东西。
你不必担心 有关Rails中。
它确实非常，非常漂亮的你。
我们要去证明 更具体地很快。
好不好。
>> 所以关于Ruby一点点了。
所以，它就像C，正如我所说。
取而代之的printf的，我们说 “把”，这是“把字符串”。
它把一个字符串到控制台。
在这种情况下，我们 刚刚打印的“Hello World”。
我们不需要括号， 但它是非常相似的。
>> 然后，如果你想 做的东西在这里，
像打印一串“小商品”和 在While循环一堆“大个子”的，
这有点像在C，对不对？
你没有的参数，可以 但它几乎是相同的。
这里的压痕 计数，所以x等于1。
然后当x是小于 50--这是一个如果，这是一个else。
这几乎就像你看到的是什么。
>> 和那么x + = 1只是递增， 有点像做++，你可以
做C.但是它是相当 多，你在C.看到的
它不应该是太复杂了。
但它更强大。
因此，有一些命令在这里 这肯定是一个有点新。
>> 因此，例如，“卖出期权”。
你可以使用这个符号包括hashtag 这里只是打印something--
很像，如果你会做什么 在％D或％C或有点类似。
而实际上你可以把一个 如果会后声明的权利。
所以，我只想做this-- 如果x大于3。
那么，为什么我要 使整个If块？
我不知道。
我可以只打印这只 如果x等于大于3。
所以这是一个行路 对这样的红宝石。
>> 在红宝石名单 一些非常灵活。
所以你并不真的需要 有一种类型。
你可以有一个字符串，然后 一些数字，而不管。
如果你想追加 东西的列表，
你可以使用这个 符号就在这里。
>> 如果你想迭代。
几乎是在4each PHP，在这里，你 有一个列表，你做“List.each做的。”
而这个“ELEM”，这是 像的每个元素的名称
那我要在我的名单。
然后我就可以“把ELEM。”
和“放”几乎手柄 把它给你，打印。
这并不重要，如果 它是一个字符串或一个整数。
这是去上班的为你。
对不对？
酷。
>> 而且就像PHP，Ruby和HTML 还集成了非常，非常漂亮。
在这里，有一些 HTML和Ruby它。
因此，我们有一个body标签像HTML。
如果我们想检查 一个用户，例如，
登录后，我们就可以说，一开始的 红宝石的红宝石，如果user.logged_in？结束。
打印这整个事情，这 有一些红宝石在里面，这是刚
种这样的语法 PHP的打印出的变量。
让我们打印user.name。
>> 所以欢迎，斯蒂芬， 在HTML的div。
并在结束时，我们有一个“终点”，并 Ruby代码，这意味着这是我的
如果块。
好不好？
所以，它就像一个无缝 Ruby和HTML之间的集成。
也有很多的资源。
但在此之前，我们继续前进，做任何人 对Ruby的，什么什么问题吗？
好不好。
>> 有大量的资源在网上 到tryruby.org，代码学院，
ruby-lang.org，在那里你可以试试 其实出在你的浏览器之前，您
说，哦，好吧，我将使用 红宝石为我最后的项目。
所以肯定会给那些一试。
所有这些幻灯片都是 将在网上提供，
所以你可以下载它们。
是的？
>> 观众：[听不清] 你刚才表现是什么
被HTML和代码嵌入到 它的模型 - 视图 - 这个概念
控制器？
>> GABRIEL GUIMARAES：是的。
我们将在第二 当我们展示我们的例子中，OK？
谢谢你的问题。
所以，问题基本上是，如果我们 可以显示这种集成的Ruby
在模型中的HTML 视图控制器架构。
>> 因此模型的想法 视图控制器架构
是它基本上是一个理念， 就像斯蒂芬显示在这里。
它不是什么 你所要做的，
但它的东西，使 你的生活变得更简单。
和Ruby on Rails是建立 围绕这一理念的代码。
所以，我们要展示 一个例子很快。
>> 所以Rails是爱。
很多人都在使用它，因为我说的。
它真的很有趣。
你们应该 肯定会给它一个尝试。
MVC使一切更简单。
所以模型视图控制器， 分离的东西
并把一个人本身， 或者您的应用程序的一部分
做每一个不同的职位 你的应用程序必须做。
少花时间 低层次的问题。
和非常受欢迎的现在。
我们的Rails 4.0， 这是一个新的版本。
它配备了很多很酷的东西。
另外一个问题。
>> 听众：另一个问题。
Ruby on Rails的对比 Ruby on Rails的Grails的。
>> GABRIEL GUIMARAES：OK。
现在的问题是，红宝石 on Rails的与Ruby--
听众：Grails的。
红宝石？
>> GABRIEL GUIMARAES：是的。
因此Ruby语言。
>> 听众：第
我问你比较的语言 和框架，Ruby on Rails的，
与其他流行的语言 framework-- Grails--使用Ruby
on Rails的。
>> GABRIEL GUIMARAES：OK。
抱歉。
现在的问题是，比较 Ruby和Ruby on Rails的
另一个框架和another--
>> 听众：红宝石。
没关系。
如果你不知道它，这很好。
>> GABRIEL GUIMARAES：像， 我的理解是that--
>> 听众：还有一个 框架称为Grails的。
>> GABRIEL GUIMARAES：哦，Grails的。
我从来没有听说过。
抱歉。
我从来没有听说过的Groovy on Rails的。
抱歉。
>> 听众：这是更好 集成的Java。
>> GABRIEL GUIMARAES：我明白了。
>> 听众：我只是好奇 一些人，我知道like--
>> GABRIEL GUIMARAES：不，我从来没有 听说那一个，很遗憾。
Grails的。
>> 听众：有些人 明明喜欢Ruby on Rails的。
>> GABRIEL GUIMARAES：我有 使用Ruby on Rails的很多。
我已经使用了一些Django的 与Python，正如我所说。
我用了一些Laravel。
但我没有使用过的Groovy on Rails的。
抱歉。
它很受欢迎 现在使用Rails 4.0。
喜欢，有些东西Rails的 为你做，比如说是你
有很多的CSS文件和 大量的JavaScript文件。
你可以把它们作为 独立和一切。
>> 但随后automatically--时 你把你的代码到生产，
它会自动编译 他们都到一个单一的文件
这是缩小的，没有任何 空间，以便它占用
在应用程序中更小的空间，所以 你可以真正扩展了很多东西。
这就是为什么这样的大公司 像Twitter和GitHub上
使用Rails的，因为它所有 这对你来说，这是真的很酷。
>> 有一件事，这是非常， 非常，非常艰巨
人，包括我在内， 谁是努力工作
带框架的开头，是 当你开始了一个应用程序，
你会看到一堆文件。
喜欢，当你创建 Rails的新的，我的应用程序，
你会看到所有的这些 folders--应用程序，垃圾桶，配置，DB，LIB，
日志，公开。
喜欢，很多很多的东西。
>> 和我第一次 见此情景，我当时想，
OK，我不知道发生了什么事情。
我只是想创建一个 网站，“你好，世界”
这是给我一样， 100十亿不同的页面。
我不知道发生了什么事情。
所以，请不要用太气馁。
>> 我们的想法是，它实际上具有半 一个房子有你了。
它有一个整 框架你了。
这就是为什么有这么多的文件。
但好处是，它 分开他们都非常漂亮。
奇怪的是，你不必担心 有关大多数这些文件夹中。
>> 最重要的一条，我 可以说，是应用程序文件夹，
在您的应用程序实际上生活。
所以，配置，你会 要configurate一些东西，
像你的数据库之类的东西 哪一种你正在使用的数据库。
但除此之外，像极了 你的工作是要在应用程序完成。
因此，在应用程序，你有资产，控制器， 佣工，邮寄，模型，视图。
所以在这里，你开始看到 控制器，模型和视图来
发挥作用。
>> 寄件人只是，如果你 要发送电子邮件。
助理如果你想 创建一些功能
您在视图中使用了很多。
所以，你把它们放在助手。
和资产基本上所有的 你的形象，你的所有的CSS，
所有的JavaScript， 而像那些种
的东西，被发送到客户端。
和一切是在资产， 我以前说过，被缩小的。
它的编译。
你真的不担心 当它进入生产代码。
酷。
>> 现在，扎克会来的，而且他的 打算做Twitter50的一个例子。
>> 听众：呜 - 呼！
>> ZACK CHAUVIN：真棒。
所以，我要工作机会 使用Ruby on Rails的这个夏天。
这是一个惊人的框架。
我很偏爱它。
而我就告诉你一点点 是什么它可能看起来像一个例子。
跳过至Chrome浏览器。
因此，这是一个非常简单的一个例子 Ruby on Rails的application--东西
像这样的东西 那红宝石的确有过人之处
that--只需在您的 模型是非常明确。
>> 在这个例子中，你会看到 两种不同型号，其中
都是我们的用户 我们有鸣叫。
所以这是Twitter50， 哈佛自己的微博。
正如你所看到的，我的身份登录@zack。
而我能够做出新的鸣叫。
所以我think--“这是一个” - 对不起？
观众：[听不清]。
ZACK CHAUVIN：哦，OK。
需要停止服务器。
优秀的。
所以，我们在这里。
正如你所看到的，我们有我们的 Twitter的应用程序就在这里。
和它的超级容易启动服务器。
我们就做“导轨的服务器。”
大。
好不好。
感谢。
所以，现在我们正在运行。
>> 我们会说，“这 是一个真棒研讨会“。
让我们看看会发生什么。
因此，我们将鸣叫了。
倒在底部，你可以看到 现在有三个以上的鸣叫。
因此，我们有一点点 分页的事情。
我们有鸣叫。
我也可以通过搜索我的 tweets--搜索，这和两
那些有词 “这个”在其中出现。
我们还可以通过删除微博 点击小删除按钮。
很明显，我只能删除 这是属于我的岗位。
>> 目前，我们几乎有 Twitter的功能。
喜欢，当你想想看，微博 真的没有做那么多。
它的用户，它有鸣叫。
还有一些更复杂的功能。
但是，当你真正坐下来了， 这是一个相当简单的Ruby on Rails应用程序。
而这样的事情，有 很好理解的Ruby on Rails的，
你很可能 使一两个小时。
>> 而这其实就是 回到Ruby的口头禅，
这是约定优于配置。
所以，早在一天，人们随时随地 他们想让这个网站，
将不得不从头开始。
OK，我想使一个网站。
让我们把这个文件， 这个文件，这个文件。
>> 随着Ruby on Rails的， 有没有说。
你说，我希望有一个新的应用程序。
就这样加布向​​我们展示了，它 为我们创造了整个文件结构。
我们只是改变 小部分，我们需要。
我们只是定义了什么 独特之处我们的应用程序。
酷。
所以，要回我们的介绍 preview--有趣。
我在哪里出现？
听众：全屏。
右上角。
>> ZACK CHAUVIN：优秀。
酷。
好不好。
所以首先，模型。
斯蒂芬做了一个真棒 工作概述MVC的。
现在我们要与 这回的Ruby on Rails。
因此，该模型可以种 中认为的数据库。
你已经看到这CS50 金融，那里的模型店
有关信息 你有多少的个股有，
或者所有你所做的交易。
这是一个例子 行，你会怎么
去让Rails中的新模式。
所以我想一个用户。
这将有 电子邮件，它是一个字符串，
和密码，其 也是字符串。
所以，它就像those--我想每一行 在我的用户表看起来像。
>> 一个真正真棒一部分 Rails的是，它
使得不必 写任何SQL漂亮多了。
怎么你们的人爱 编写SQL在PSET 7？
没错。
SQL是不是很人性化。
和Rails抽象一切离开 这些很容易的命令。
因此，例如，如果我们有一个 用户中，用户有许多鸣叫。
而这些中的每一个 鸣叫属于一个用户。
>> 所以，如果你看这里，这 是我们的模型对我们的鸣叫。
而我们不得不说的是 这种单一line--我鸣叫
我属于一个用户。
并与单个线路和一个 数据库配置点点，
导轨设置这种关系。
任何时候，我只能说，zack.tweets， 喜欢，给我所有扎克鸣叫。
没有SQL。
超级简单。
再次，这是惯例了 配置开始​​发挥作用。
>> 你可以看到一点点 红宝石这里的例子。
像都给说，编写Ruby是 有点像写英语。
这是一个非常高层次的语言， 它使得它很容易
对我们说这样的话，我想 确保这条推文有一具尸体。
它的存在是真实的。
我想确保这个 鸣叫，就像正常的微博，
拥有140的最大长度。
这是超级直观，一 真正伟大的语言。
>> 接下来我们有看法。
因此，这涉及到HTML和CSS。
而且这里有一个观点的一个例子。
因此，Ruby on Rails的那种无缝 集成了Ruby和HTML
为了产生 我们想要在页面上。
因此，这是我们的布局的一个例子。
所以你可以看到一些标签，你 家伙都习惯了，就像HTML，身体，
所有的好东西。
>> 而就在这里，虽然，我们 加入一些红宝石说，
如果有消息显示， 然后显示在一个div消息。
所以，我不会得到太多成。
但是，这是一个通常 这被on--呈现的页面
无论你是哪一页 对，这一个被渲染。
所以这是什么得到总是包含。
酷。
>> 一个view--另一个例子是 一个地方选择所有的tweet。
而一些这方面的东西， 可能看起来很熟悉。
因此，例如，就在这里，我们 通过每个鸣叫的循环，
我们正在打印出来。
所以，这里是我们 打印出的身体。
如果鸣叫的user--这里有一个 没有SQL的真实的例子是参与。
我只是问，这是 鸣叫的用户当前的用户？
然后显示一个链接删除。
这是超级简单。
>> 控制器。
所以这是，再次，接口 模型和视图之间。
这是一个的辛勤工作 的interacting--作为中间人。
它加载信息的 看来，我们将在几秒钟之内看到。
并以交互 与模型，它
调用模型的方法，这是什么 你们所熟悉的功能。
>> 因此，例如，这是 我们的鸣叫的控制器。
它可能看起来有点 令人生畏现在。
但它实际上是超直觉 一旦你开始跳水英寸
因此，例如，在我们的索引，这是 在这里我们要显示所有的鸣叫。
所以这条线基本 只是要求所有的鸣叫。
然后我们俩初始化 新tweet--这么喜欢
如果他们想要创建一个 该网页上新的鸣叫。
>> 而且，它要求当前用户是什么。
这是非常类似的 使您在PSET 7所看到的，
种在那里，它只是告诉 在view--它的种一样，
顺便指出你的变量 将需要在视图中的视图。
并有一大堆 不同的方法
这鸣叫的控制器可以处理。
>> 但实际上，Rails会 这种伟大的工作
中把它们分为不同的 行动控制器可能会做。
是否有任何问题 任何一个Rails的MVC部分？
那种只是一件轻而易举的通过。
所以你们可以查 它在你自己。
真棒。
我们会继续前进。
>> 所以安装导轨。
安装滑轨可能是一样， 更艰巨的部分之一
整个的Rails 过程中，很遗憾。
但很明显，所有的 我们周围，以帮助。
一旦它在那里， 很多伟大的资源，
作为加布提到，入门。
这里是链接 你需要为了
下载的Rails得到它 安装在您的计算机上。
显然，这是可用的 适用于Windows和Mac
并为CS50器具。
我们说一下什么问题？
>> 观众：我是 兴趣，actually--
所以我知道下载 软件是最大的障碍。
如果有足够的兴趣，有一个 下载小型会议什么的。
ZACK CHAUVIN：嗯。
是啊。
这可能是真正有用的。
如果有人真的很卖力的约 使用此为他们的项目
还是将来，那么我们倒是肯定 很高兴和你谈谈这一点。
嗯。
>> 听众：一个相关的问题 什么我问过。
对于那些你们谁做 其他的框架，仍
试图做同样的 的事情，更容易
建立一个网站或 功能，我想任何意义
为什么我们会on Rails的对比 Zend的或其他的一些框架
和语言。
>> ZACK CHAUVIN：我就 说我0.02美元有关。
我喜欢的Ruby on Rails。
我有工作的机会 在这两个PHP和Ruby on Rails。
我更喜欢的Ruby on 导轨因为Ruby的。
肯定地说，这是它的一个重要组成部分。
喜欢，当你 选择你的框架，
你也可以选择你的语言。
>> Ruby是超级accessible--我想 比PHP更好的语言。
但是，这是一种个人喜好。
同时，另外一个考虑是 该框架背后的社区
你正在使用。
>> 现在，Ruby on Rails是真热。
还有吨的背后支持。
您发布的东西在堆栈 溢出你是一个问题
其在Ruby on Rails的， 和它的回答。
再次，它是开源的，这意味着 它是不断地被改变。
有成千上万的人 这是真正的专用
为了使这 真正真棒框架。
所以这就是为什么我会 选择Ruby on Rails的。
GABRIEL GUIMARAES：是的。
我会说，这个想法 大多数框架背后的你
要找出有 非常非常的相似，对吧？
所以模型视图控制器， 一个事实，即我们的控制器的
去看看喜欢的事 像this--每个功能
就像你的一个页面， 它会将您重定向，
它初始化的变量。
这将是同样的事情 每一个框架，你看那里。
还有的将是模型。
你可以做的东西一样，“属于”。
所以不是做SQL版， 你刚才一样，做什么，user.tweets，
而你得到的一切。
每个人都有的。
但在Ruby中，你做user.tweets， 然后在PHP一些框架，
你做user.getalltweets 在我的PHP是没有问题的。
喜欢，这是一个大线。
这是同样的事情， 但它是一个大线。
>> 所以这是主要的原因之一 我的偏好超过红宝石。
这只是我做的正是 在其他框架一样的东西，
它只是需要我两次 只要行代码。
好不好？
>> 还有没有其他问题？
>> ZACK CHAUVIN：东西 我会提到quickly--加布
谈到宝石一点点。
而这是一个非常great--我的意思是，这 是一种常见的以全框架，
这有一种宝石的概念， 这就像我的小例子，
我已经登录。
喜欢，您可以登录，登出。
喜欢，这实际上 怎样的一个复杂过程。
它是处理一个小 在PSET 7位给你。
但我还是不完全知道如何 实现登录，注销。
那是因为 Ruby on Rails的拥有万吨
中的宝石，做这样的东西给你。
>> 再次，约定优于配置。
每个人都会做 此签到，签退的步骤。
那么，为什么不只是做一个包，叫做 设计在这种情况下，这是一个宝石。
你只是包括它。
再有就是一些帮助 在线和如何使用它。
而且你不必担心 关于这样的事情。
>> 图片连接这些 things--宝石为。
喜欢，任何时候你正在试图做 任何新的东西，有一个创业板的。
而你只是种 拼凑这些宝石
并建立一个非常复杂的 应用程序非常迅速。
酷。
还有没有其他问题？
>> STEPHEN TURBAN：胡灏。
我不认为[听不清]。
>> GABRIEL GUIMARAES：OK。
非常感谢，伙计们。
>> STEPHEN TURBAN：寮步再见。
ZACK CHAUVIN：寮步再见。
>> STEPHEN TURBAN：胡灏。
[掌声]
>> 耶。