Rails 自学之路:Rails 简介与自学重点
共 1853字,需浏览 4分钟
·
2016-08-19 22:55
网站开发有很多技术可以选择,Ruby on Rails是当前很热门的选项,Twitter、GitHub、BaseCamp等等著名的网站都是以Rails起家的。
除了Rails,目前在创业圈很火红的建站选项还有node.js等,不过我也不会这些技术,本文只好忍痛割舍这些厉害的技术。
什么是Ruby on Rails?
Rails是一个以Ruby这个程序语言为根基的建构网站的框架。一套构架帮开发者规范好哪些事该怎么做(例如哪些档案应该固定放在项目的哪个文件夹下),并提供一些工具(程序指令)帮助开发者快速做出符合这些规范的事情。
用框架开发项目的好处:
因为框架帮你把重要的事情都规范好了,假如同一个团队中的开发人员都有着同样的开发规范,则大家就有基本的合作默契,可以省去不必要的沟通成本。
例如在Rails的构架下,设定相关的档案都会放在“config“这个文件夹内。同事要查你负责的设定档中写了什么时,自己就知道要去“config”下面找,而不会出现「你昨天写的那个设定档是放在哪啊?」这种对话。
因为事情都规范好了,即便你没有同事(我相信很多创业家一开始没有同事),你日后也可以很轻易的回想自己当初做了什么、在做什么。软件工程师常常会遇到的尴尬是,隔了一个月后看自己一个月前写的程序,会搞不懂自己一个月前到底在写什么鬼,于是就会有这种心情:
因为事情都规范好了,开发中遇到问题时,可以比较快的分解问题、缩短除错时间。例如你看到错误讯息发生在“config“文件夹下,就知道是设定档出了问题,而不是你的代码写烂了。
框架开发会很完美的准备好工具(指令)以帮助你符合规范,这些指令都可以帮助程序员缩短开发时间。
当然,以上好处都是在「有遵守规范」的前提下。许多天才程序员虽然用了框架,但自己另辟蹊径,实际在开发项目时并没有遵守规范,那就会是一条不归路。
简言之,Ruby语言就像一种武器,(Ruby on Rails框架)就像是以这个武器为基础的武功秘籍。
秘籍能让使用者快速发挥武器的威力、一招一式都有章法可循,而Ruby on Rails就是以Ruby这把宝刀为基础的武功秘籍。
如何开始自学Rails?
我觉得对一位自学的程序员来说,最重要的能力是快速从海量的资源中过找到自己需要的数据的能力。
毕竟技术是个无底洞,不可能有学完的一天。重要的不是一位开发者已经会多少,而是这位开发者遇到没遇过的问题时,能多快的解决。
可是对初学者来说,常常会遇到「我有问题,但我不知道我的问题是什么⋯⋯。」的困境,甚至偶尔也会有「我的代码是在执行明明没有错啊,但我不知道为什么⋯⋯。」的状况。
定义Rails关键词
要解决「不知道问题是什么」或「不知道为什么」的问题,首先必须在脑海中定义好重要的关键词。
当然,「有了基本的认识」和「可以写出东西」完全是两回事。在实际开发的过程中,你大概会遇到很多不确定或不知道的东西,这时候请回头看很多资料和书籍。因为你已经有基本语言逻辑,很容易归纳出你的问题大概是什么类型、关键词是什么,所以可以快速找到自己需要的东西(Mac上请用command + f;windows和linux上请用ctrl + f)。
多用搜索指令查询
但学习过程中一定还会遇上这两者都没有提到的问题,或是你不理解的bug。
此时请直接拿这些关键词或错误讯息去Google,记得搭配Google推荐的关键字组合。搭配Google推荐的关键字,通常比较能有效的找到你真正需要的东西。
假如你习惯用英文搜寻(强烈建议要用英文搜寻,数据比较多、比较新),你可能常常会被Google导到StackOverflow。这是个专门在讨论技术的英文站点,上面卧虎藏龙、高手如云,内容都很有品质,而且很多示例代码都可以直接复制粘贴,往往可以救工程师于水火,可是说是技术江湖中的续命人参。
另外,很多程序员会在个人博客上分享开发经验,也有一些专门在讨论技术的博客,这两者往往也都很有参考价值。
不过开始学Rails时,你需要一定的语言基础,假如你还不会任何语言,你可能要先花一两周的时间学Ruby。
结论
Rails是个以Ruby为基础的框架,用框架开发有很多好处。对自学者来说,重要的是能多快的解决新遇上的问题,而不是现在已经会多少。
要快速解决新遇到的问题,需要自己知道一些基本的关键词并搭配google推荐的关键字组合,另外还可以利用一些高级搜索指令如:intitle,allintitle,inurl等等去查询。