Rails Rails 学习顺序?

cassiuschen · 2013年12月16日 · 最后由 fengkuok 回复于 2015年03月10日 · 5086 次阅读

还记得上次我说有任务在教一群孩子搞开发么?目前后台方向的孩子们已经学完了 Ruby 基础语法,虽然对闭包还不太能理解,但基本上写 Rails 够用了…于是问题来了…… 本来希望接触 Rails 之前先让他们看看 Sinatra,借此了解动态网页渲染流程和路由。可是他们对于 REST 毫无概念,于是先让他们去读 REST 和 RESTful,于是生硬地学 REST 之后如何验收呢?读 REST 的同时让他们去看看什么是 MVC,也用 Rails 的一些 app 代码让他们体验了 Rails 的 MVC 工作流程,下一步难道就可以直接上 Rails 将各个模块了么……

另外,各位学习 Rails 的时候是什么流程?先从 ActionRecord 开始?然后 ActionCotroller?然后 Action View?然后 ActionDispath?最后 ActionModel 和 Mailer 啊 helper 之类的?

先把 RFC2616 读一遍吧,看一遍 RFC2616,绝对比你在各种博客里能学到的所谓的 REST 风格更多

再把 The Database Programmer 这个博客看完,无论碰到什么问题把数据的 schema 定义出来永远是第一步

接着直接在 rack 上开发就好了

Rails 这种内存怪兽不用其实也没什么损失 ...

我怎么感觉先不用懂,学会 copy 别人代码,扒别人代码,模仿别人代码。一套下来想不会都难。估计这也就是深入潜出吧。。。

#2 楼 @fengkuok 也就是说直接带着先做个小实验性项目让他们感受一下?

#4 楼 @Rei 带着做完那个购物车小程序?

#4 楼 @Rei 而且这货啥时候出的 rails4…………我那本还是 2.3 呢好像…

#6 楼 @cassiuschen 自己做,有问题问。

#2 楼 @fengkuok 深入浅出好像是“对内容的理解十分深刻,表达却浅显易懂。”的意思吧……

#8 楼 @Rei 我当初就这么干的…然后走了不少弯路……而且愈发地觉得陷入了第三方 Gems 的泥潭……

#10 楼 @cassiuschen 所以我始终推荐 Agile 这本书,原汁原味的 Rails 框架。

#5 楼 @cassiuschen 反正我都是这种方式学的是最深刻,掌握最好的。 目前我 Ruby 就不太行,反思原因就是没人在背后追赶,而是按照常规的方式,看书,写书里但 demo,进展特别慢。

而当年踏上 Java web 之路的时候还不会写一句 Java 代码,从没听说过 Servlet,但是实习需要,没办法,直接 struts2 入手,先用熟,写每日工作需要的东西,晚上再往回看,进步巨快。

后来在学习 ExtJS 的时候也是这样,当时还大四,签了个小公司,没几天就和另一个同事出差,说新项目用 ExtJS,俩人都不会,我甚至都不会写一句 js 代码,白天跟客户谈需求,画原型,晚上 ExtJS 实现,一周下来完全熟悉。

这样的情况在我日后的学习中屡试不爽...

当然了,这种方式需要你在掌握使用方法后需要不断的深入研究,需要有探索的精神。不然就只能停留在会用的状况了。

学会查 API 文档就好,一直这么过来的。

#13 楼 @fengkuok 嗯…谢谢…本来是有这个打算…让他们自己摸出来一个 app,哪怕半个 app 也能熟悉不少东西…

#14 楼 @chunlea 赶脚一上来就看 guides.rubyonrails.org 会让这群只写过 g++ 的孩子抓狂的吧…

#16 楼 @cassiuschen 可以先 CGI 搞起啊

#9 楼 @nightire 不知道搬到技术上,从难(框架入手)开始模仿,山寨中学习。。。然后再回过头来理解基础,心里总会有种“哦,原来上这样”这种感觉,是不是也能算上“深入浅出”

#17 楼 @bhuztez 难道先写 php 么…

#19 楼 @cassiuschen CGI 是 CGI,PHP 是 PHP,尽管 PHP 可以以 CGI 方式运行 ...

#18 楼 @fengkuok 嗯,那算是对自己“深入浅出”了,不过还没表达出来。等有了“哦,原来是这样”的感觉之后,写篇心得发表出来,别的拎不清的人看过你的心得之后会说:“哦,原来是这样!这哥们写得好,真称的上是‘深入浅出’”!

#20 楼 @bhuztez 总得有个载体啊…选 C 一类的直接写 cgi 起点略高…

#22 楼 @cassiuschen perl 啊,python 啊,ruby 啊 ...

#21 楼 @nightire 总有种感觉自己可以把自己的心得写出来——但网上也有别人写过这种东西了…

#24 楼 @cassiuschen 我是想降低语言学习成本…毕竟开发中语言只是载体不是目的…

#24 楼 @cassiuschen 别人写没写过不重要,重要的是你写的和别人写的不一样。我们学习一种技术的时候经常不止看一本书,看一篇博客。往往有些文章本来是写的很对的,但是表达不对路子,所以就看不懂。过一段时间看了另外一篇,写的是一样的东西,但是却感觉一下子看明白了,然后回过头看之前那篇,也明白了。于是,第二篇就算不得“重复”,它有自己的价值。

#21 楼 @nightire 让你说到我的弱点,痛点上了!从上小学开始,最初是造句子都不太会,再后来是写作文就跟要命一样,到大学毕业为止,通读过的课文都能数得过来,小说几乎一本没看过...你可想而知我的写作水平了。

以前试过写点东西,不是感觉写的文体幼稚,就是感觉句子不通顺(这也可能和我的稍微完美主义和强迫症有点点关系),一篇写下来够完再自己学几个知识点了,感觉特别浪费时间。后来就不了了之了。

#26 楼 @nightire 嗯……看来我也要慢慢写点…

#26 楼 @nightire 两个人,一人一个苹果,交换过后还是每人一个苹果,但是两种思想,交换一下,那就是两种或者更多的思想咯,很有道理

#30 楼 @QueXuQ 哈哈…现在他们还在啃 programming ruby 呢…

。。。先搞明白最原始的 CGI……语言在这里不重要……只要知道如何取得环境变量就够了……

然后自己写个 warpper……搞明白 HTTP……最后是 WSGI/Rack这种东西……基本就算有基础了……

#32 楼 @Kabie 哦………………谢谢…………可以尝试…………

集体订阅 Treehouse 课程吧!

#34 楼 @chunlea c++……打错了……

#35 楼 @howiehu 哈哈我们定一份行不~

#37 楼 @cassiuschen 可以,没问题,课程计划非常合理,方向划分明确。

#13 楼 @fengkuok extjs 有这么好学么?

#39 楼 @mogodb 当初是 ExtJS2 末班车,使用上是很简单的,但是你想深入的话当然需要点耐心以及付出。后来 ExtJS3 的时候我们已经封装公司基础组件。至今为止,我仍然觉得做企业级开发,如果不考虑其他外在因素的话,ExtJS 仍然是不二之选。

#40 楼 @fengkuok 封装公司基础组件是啥意思?和 extjs 有关系么?

#41 楼 @mogodb 有关系啊!比如公司系统列表都是都是统一展现方式(toolbar-->add,edit,remove;列表可排序,末行叫操作...)封装出来,只需要简单配置 column 信息即可出来 crud grid

#42 楼 @fengkuok 不就是定制过的 ext 么,啥叫封装?

#43 楼 @mogodb 呃,我说的封装指的是定制扩展自己的组件

#44 楼 @fengkuok 也是 JS 组件么?

#45 楼 @mogodb 当然啊,ExtJS 的所有组件都是有类结构关系的,无非就是照着这种模式往下定制开发扩展

#46 楼 @fengkuok 你扩展过 Ext 么?是不是很难?哪个版本的 ext?

#47 楼 @mogodb 3 和 4 都有过,这个没什么难度啊,首先你得知道 Ext 的结构,然后根据你的需求去定制自己的 component 就可以了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号