速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

跟 Michael Hartl 学习 Ruby on Rails

  • 2011-05-09
  • 本文字数:2566 字

    阅读完需:约 8 分钟

学习一门新语言很容易让人焦躁,人们也往往不知从何处开始着手。要是再同时学一个新的 web 框架,那可就真的是找不着北了。

Ruby 始创于上世纪 90 年代 ,日渐为人熟识。 Ruby on Rails 也成了耳熟能详的名词,越来越多的公司在用它快速搭建 web 应用。

要学一门新语言和一个新框架,该从哪儿开始学呢?这方面的好书有很多,有些是写给新手的,有些则是给老鸟看的。

不管你用的是 Java 还是.NET,或者其它任何语言,都可以通过 RailsTutorial.org 来学习 Ruby on Rails 3。这个网站是 Ruby 专家 Michael Hartl 创建的,其宗旨就是为 Ruby 新手提供服务。而且无论你是喜欢看书学习还是看视频,这网站上都有。

我们最近跟 Michael Hartl 聊了聊他是怎么教别人 Ruby On Rails 的,还谈到了他的新书" Ruby on Rails 3 Tutorial "。经过作者允许,InfoQ 现提供该书的第八章下载,章节名"Sign Up"。这章讲述的是如何在Rails 应用中创建一个用户注册页面。

Robert Bazinet (RB):来给我们介绍一下你的背景吧。

Michael Hartl (MH):我是个程序员、教师、企业家。我跟人合写过 RailsSpace 这本书,2007 年出版的,曾经在 Rails 指南类图书中名列前茅。我跟人一起创立了 Insoshi,它是用 RoR 开发的一个比较流行的社交网络平台,我还是其中的技术领导。之前我在加州理工学院教过理论物理和计算物理,2008 年我参加了 Y-Combinator 企业家计划。

RB:给我们介绍一下 Ruby on Rails 3 Tutorial 这本书如何?

MH:这本书讲的是怎样用 Ruby on Rails 开发并部署一个真实的、工业强度的 web 应用。Ruby on Rails 是一个开源的 web 框架,已经用在了很多顶级 web 站点上,比如 Twitter、Hulu、Yellow Pages。

RB:什么类型的程序员应该读这本书呢?

MH:只要是对用 RoR 开发 web 应用感兴趣的人都可以读。

RB:我看到你还提供了一系列的 Rails 3 视频教程,这些视频是补充书里面的内容呢,还是完全不相关呢?它们跟书有什么区别呢?

MH:嗯,绝大多数视频还是跟着书走的,它们主要还是提供了跟读书完全不同的学习体验。就像是根据书改编的电影一样。

RB:Railstutorial.org 网站上免费提供了这本书的所有内容。你为什么把它免费开放呢?

MH:免费内容算是一种商业策略吧。这里面放了站内链接,可以点击某些词直接打开搜索引擎搜索,也有大量的参考资料,不计其数的优秀经验总结。

RB:你觉得对于新人来说,Rails 3 比 Rails 2.5 要好很多么?

MH:Rails 3 的内部结构比 2.3 要干净的多得多,但是对于普通的程序员来讲,我觉得区别并没有那么大。Rails 3 和 2.3 最大的不同在于,Rails 3 的公共 API 在设计上已经稳定了,既然这个框架还会不断向前发展,那新手还是用 Rails 3 会比较容易,因为 Rails 3 在版本更迭的时候不会有那么多东西被破坏。

RB:如果是一个有经验的程序员,你觉得他该怎么学 Rails 才最合适,又怎样才能把这个框架引入公司呢?

MH:如果是内部推销这个框架的话,我建议去看看那些成功使用了 Rails 的网站。至于学习 Rails,我觉得一本书加上一系列配套视频就够了。

RB:我们的读者大多数都是企业应用的开发者,你觉得 Rails 3 已经适合企业应用了么?你觉得它能跟当前的企业级语言相比么?比如 Java 和 C#?

MH:我从没有过 Java 和 C#的开发经验,所以我没法拿它们跟 Ruby 比,我对 Java 和 C#的 web 框架也不熟。但是从 Rails 在那些高访问量网站──比如 Twitter、yp.com、Groupon──的使用情况来看,Rails 做企业应用肯定是没问题的。

RB:企业应用常常都要涉及到很多独立系统的集成点。你觉得 Ruby,尤其是 Rails,能够为企业级开发者提供这种类型的支持么?Ruby/Rails 比其他语言和框架更容易做集成么?

MH:我没有多少企业级应用的开发经验,但我知道有很多公司,比如 Linkedin,用的是 JRuby on Rails,这样就能和他们的 Java 应用很自然的交互了。因为反正你最后得到的也是的 WAR 包,跟其他 Java web 应用一样部署就是了。

RB:那你在哪方面的背景知识对这本书起到过帮助呢?

MH:Web 开发很困难,比绝大多数人意识到的都要困难得多。我从前教过物理,这些经验能够让我预料到 Rails 哪方面的内容容易让人困惑。我在加州理工教核心的课程教了五年,我在不断的把要传授的内容(主要是力学和电动力学)拆分成容易理解的片段,不停的预测哪些地方比较难理解。我在写 Ruby on Rails Tutorial 这本书的时候,也用了同样的方式。

RB:你还想跟读者讲点什么别的东西么?

MH:我常常半开玩笑的把自己叫做”反圆周率领袖 “。我去年写了篇论文,叫做” Tau 宣言“,里面提出用一个新的符号来表示一个重要的数学常量:tau = 周长 / 半径,而不是 pi = 周长 / 直径。我还创立了一个节日:Tau Day,在 6 月 28 号,跟 3 月 14 号的 Pi Day 对着来。这个项目得到了广泛关注,还上了 New Scientist 和 CNN.com。

如果你看一下 Tau 宣言的话(译者注:需要翻墙),你会发现它的在线排版格式非常好看,也有 PDF 版本,就跟 Rails Tutorial 那本书一样。这可不是什么巧合,我这些文档都是用自己写的 Ruby 程序生成的。这个程序教 PolyTeXnic,是基于 LaTex 系统开发的。我希望将来有一天可以把 PolyTeXnic 开源了,帮助其他人可以做出非常精美的在线技术文档(当然还有迷人的 PDF)。

RB:非常感谢。

想阅读 Michael 的在线图书的读者可以访问 Ruby on Rails Tutorial 网站。在网站上还可以找到图书和视频的购买地址。

参加 2011 年 5 月 16 日至 19 日在 Baltimore 举办的RailsConf 大会的听众,可以去听 Michael 关于“ Rails 入门 ── 第一、二部分”的话题.

关于图书作者

Michael Hartl 是个程序员、教师、企业家。他跟人合写了 RailsSpace 这本书,2007 年出版,曾经在 Rails 指南类图书中销量名列前茅。他跟人一起创立了 Insoshi──用 RoR 开发的一个比较流行的社交网络平台,他还是其中的技术领导。之前 ta 在加州理工学院教过理论物理和计算物理,获得了优秀教师终身成就大奖。Michael 从哈佛毕业,在加州理工拿了物理学博士学位,并参加了 Y-Combinator 企业家计划。

本书的出版社 Addison-Wesley 把配套视频做成了 DVD,同书一起销售

查看英文原文: Learning Ruby on Rails with Michael Hartl


给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2011-05-09 00:005075
用户头像

发布了 197 篇内容, 共 54.8 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

面试官:谈谈你对 IoC 和 AOP 的理解!

JavaGuide

Java spring aop ioc

如何借助SD-WAN实现简单且经济的组网?

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

豆包MarsCode初体验,用 React 创建一个最经典的贪吃蛇游戏

豆包MarsCode

人工智能 编程 程序员 AI 代码

火山引擎数据飞轮面向企业大模型业场景务提供数智服务

字节跳动数据平台

大模型 数智化 数智化转型

观测云全面支持 OaC,通过 Terraform 管理您的可观测性

观测云

Terraform

性能测试 | JMeter的运行

测试人

软件测试

面试官:项目中如何实现布隆过滤器?

王磊

PhysicsAI 与 Inspire Cast 的结合:实现铸件缺陷的快速预测

Altair RapidMiner

人工智能 AI 仿真 智能制造 altair

如何在 Rust 中通过 Rumqttc 实现 MQTT 通信

EMQ映云科技

rust mqtt emqx

【首席战略官分享】流程管理和流程数字化 | 活动成本法

望繁信科技

数字化转型 业务流程管理 流程挖掘

AI加速数字员工智能化落地——中国数字员工市场发展及企业数字员工落地建议

易观分析

第一届POLARDB数据库性能大赛-亚军0xCC☣☢比赛攻略

阿里云天池

ChatGPT 向更多用户推出高级语音模式:支持 50 种语言;字节发布两款新视频生成大模型丨 RTE 开发者日报

声网

天池云上智能降雨量预测总决赛-优胜奖RIOFGROUP队攻略分享

阿里云天池

体验3A云游戏,无需购买高端显卡

Ogcloud

云游戏 3A云游戏 云游戏发行 游戏云化

开发者的利器:Rainbond 赋能你的产品创新

北京好雨科技有限公司

云原生 k8s rainbond 企业号9月PK榜

inBuilder零代码新版表单设计器特性一览

inBuilder低代码平台

低代码 零代码

鸿蒙智行首款轿跑SUV智界R7上市,小艺化身贴心随行的用车顾问

Geek_2d6073

实践-最佳实践-时间管理V3

南山

个人成长

TEDxDUTH 使用 NocoBase 实现革新

NocoBase

低代码 TED 管理工具 无代码 创新管理

2024-09-25:用go语言,给定一个长度为 n 的整数数组 nums 和一个正整数 k, 定义数组的“能量“为所有和为 k 的子序列的数量之和。 请计算 nums 数组中所有子序列的能量和,并对

福大大架构师每日一题

福大大架构师每日一题

专业期刊《Java aktuell》:使用Apache TsFile和Apache IoTDB对时序数据进行分布式数据采集

Apache IoTDB

“万亿级”低空经济,谁在风口上“飞”?

趣解商业

科技 出行 低空经济

JMeter的运行

霍格沃兹测试开发学社

新场景、新能力,AI-native 时代的可观测革新

阿里巴巴云原生

阿里云 云原生 可观测

从自动化到智能化:AI如何推动业务流程自动化

天津汇柏科技有限公司

自动化 智能化 AI 人工智能

如何根据拍立淘API返回值进行商品数据分析

技术冰糖葫芦

API Gateway api 货币化 API 接口 API 测试 pinduoduo API

手工测试用例转Web自动化测试生成

霍格沃兹测试开发学社

华为四大创新助力运营商打造万兆智能接入网,加快50G PON商用部署,加速智能应用创新

Geek_2d6073

深入探索 RUM 与全链路追踪:优化数字体验的利器

阿里巴巴云原生

阿里云 云原生 全链路追踪 RUM

被动元数据的不足和主动元数据的先进性

Aloudata

大数据 数据治理 元数据 数据管理 数据血缘

跟Michael Hartl学习Ruby on Rails_Ruby_Robert Bazinet_InfoQ精选文章