还记得上次我说有任务在教一群孩子搞开发么?目前后台方向的孩子们已经学完了 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 这种内存怪兽不用其实也没什么损失 ...
#5 楼 @cassiuschen 反正我都是这种方式学的是最深刻,掌握最好的。 目前我 Ruby 就不太行,反思原因就是没人在背后追赶,而是按照常规的方式,看书,写书里但 demo,进展特别慢。
而当年踏上 Java web 之路的时候还不会写一句 Java 代码,从没听说过 Servlet,但是实习需要,没办法,直接 struts2 入手,先用熟,写每日工作需要的东西,晚上再往回看,进步巨快。
后来在学习 ExtJS 的时候也是这样,当时还大四,签了个小公司,没几天就和另一个同事出差,说新项目用 ExtJS,俩人都不会,我甚至都不会写一句 js 代码,白天跟客户谈需求,画原型,晚上 ExtJS 实现,一周下来完全熟悉。
这样的情况在我日后的学习中屡试不爽...
当然了,这种方式需要你在掌握使用方法后需要不断的深入研究,需要有探索的精神。不然就只能停留在会用的状况了。
#24 楼 @cassiuschen 别人写没写过不重要,重要的是你写的和别人写的不一样。我们学习一种技术的时候经常不止看一本书,看一篇博客。往往有些文章本来是写的很对的,但是表达不对路子,所以就看不懂。过一段时间看了另外一篇,写的是一样的东西,但是却感觉一下子看明白了,然后回过头看之前那篇,也明白了。于是,第二篇就算不得“重复”,它有自己的价值。
。。。先搞明白最原始的 CGI……语言在这里不重要……只要知道如何取得环境变量就够了……
然后自己写个 warpper……搞明白 HTTP……最后是 WSGI/Rack这种东西……基本就算有基础了……