如何快速学习 Ruby on Rails

Python012

如何快速学习 Ruby on Rails,第1张

需要学习一些ruby语言,但是初期不用学得太深入,学一些基本知识就可以开始学习ruby on rails。对ror有一定掌握以后,还是需要再回头补充ruby知识的。一些国内人写的ror入门书,我记得好像有个红皮的《ror完全自学手册》,就是先讲的ruby,用了...

0. 预备, 《Lean Startup》、How to Start a Startup 前2课

其实你不一定需要学会编程来实现自己的想法

创业≠产品≠做App

类别:产品向 vs. 工程师向

1.《Ruby on Rails Tutorial》全书+视频教程,网上有下的

注意事项:跳过测试;可以用Win开发;开始不懂没太大关系,快速跟着视频过一遍,大量复制代码没问题

时间:大概1-2周。

2. 复习《Ruby on Rails Tutorial》

刚开始看教程,主要是建立一个大致的感觉。现在,则要回过头来思考和复习

具体来说,也就是回答这个问题:“这一章,到底讲了什么?这个功能是怎么做的?”

比如,怎么做出用户注册功能的?(其实核心也就是怎么用attribute来modelling)

然后带着这种问题,去重新读一读书,会有很大收获。

很多人只是草草过了一遍书、复制代码,却忘记了本质的思考,这个就是学习方法的问题。实际上一点就明。不过这样读书,自然更费脑子

3. 《Agile Web Development with Rails》+ Rails Guide(Get Started部分)

①Agile Web: 这本书也常被推荐用来入门,区别在于,没有视频。因此,适合其他有开发经验的人来入门,而不适合完全0基础的人。

但现在,因为已经有了《Rails Tutorial》的基础,所以可以看了。重点,和上面也要,也是放在“这个功能应该怎么实现?”,比如说要做购物车,那么就应该自己想想,是不是要建立一个Cart的Model,和Product之间怎么建立联系?先自己想一想,然后再和书中的做法比较。

因此,读书中的第2部分就行,第3部分深入的不需要看。

②Rails Guide:Get Started部分,则是一个做博客的实例,用于重温之前学过的概念挺好

其实,也可以横向展开其他的入门教程了(比如One Month Rails、CodeSchool的视频)。只是,始终注意学习的方法,是不断在问自己“这个东西是怎么做的?”“这一章到底讲了什么?”

带着问题去学习比较累,但是这样才有收获

4. RailsApp Tutorial (可省略,因为收费了)

主要是Gem的使用,比如Devise、Bootstrap

因为之前的教程,都是自己从0实践,所以需要这个教程过度一下。不过似乎现在没有免费的教学了,可以跳过,关系也不大。看之后的RailsCasts也是一样的

5. 自己的idea的实现, Putting it all together

这个略复杂,分为两大块

5.1.界面设计(前端)

页面本身的设计(美观)+ 代码实现(HTML+CSS+JS)

5.1.1 美观设计 《Non Designer's Design Book》+ 《Before &After Magazine》

理工科的男生比如我,设计感实在不足,这两个帮助很大大

5.1.2 前端代码

前端,其实要问自己一个问题,HTML、CSS、JS各是干什么的?看看W3Cschool,然后把这个问题回答上来就行,不需要一股脑看完。具体的代码,可以直接抄别的网站的,比如登陆界面等[1]

5.2.功能设计(后端)

Gem + RailsCasts + Google + StackOverflow

通过Rails Tutorial学会的功能,也就是注册、登陆、发帖、关注这几个。

那么,要新的功能,怎么办?就是google去搜,

比如”喜欢‘功能, 就搜“Rails how to make a vote system”. 这样就会常常查到Railscasts和StackOverflow的东西。而对于查不到的,就自己到StackOverflow上去问。

很多时候想要实现的基本功能,StackOverflow上已经有了做法,或者有了相关的gem,看railscasts的教程就行了。但是很多人不明白,这也是一点就透。包括自己上stackoverflow提问,也是一样。[2]

把东西做出来,就算入门了。想学得更快的话,可以在看完《Rails Tutorial》直接开始做自己的网站,省略中间的步骤,因为中间的步骤其实都是在做过渡和铺垫,减小学习难度。

6.进阶

Ruby: 《Practical Object Oriented Programming》

Rails: 《Crafting Rails Application》,thoughtbot, CodeSchool等等...这个时候其实凭自己的水平,再做些网站,就可以去找实习了。

而且各方面的书、源码都可以自己开始看了,也已经没必要再限定在哪个方面了

补充:怎么使用CodeSchool的教程?

CodeSchool的教程,尽管号称learn by doing来帮助入门。但实际上,还是在讲特性、讲功能。对于初学者入门帮助很有限,绝对不如《Rails Tutorial》这种可以完全跟着做的教程。

那么怎么用?

用来复习、思考。比如开始用前端了,就可以看下CSS的基础入门课程和Chrome 的Dev Tools教程。学的时候,还是要去思考,这次的视频讲了些什么?怎么做的?或者觉得自己Ruby不是很够用了,就看看Ruby的基础视频。最重要的并不是跟着视频去动手的过程,而是每看完一集视频,马上自己总结这集讲了什么。这个学习方法,依然是一点就透……可是貌似很多人都不明白....

7.

这里的学习路线已经很复杂了,其实,可以简化成一点——学会提问

(1)对自己提问。也就是看完一章、一个视频,问自己这个到底讲了什么。通过主动思考来把东西学会

(2)对外界提问,也就是有了不懂的,用google去搜,也就能发现RailsCast, StackOverflow, 以及等等书、视频等学习资源

8.

如果对产品兴趣远大于技术的话

其实学完了,可以看看《Lean Startup》等等。