写点什么

跟 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:005054
用户头像

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

关注

评论

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

火山引擎×威科:拥抱大模型,法律行业信息库建设再提效

新消费日报

看完这篇,你的服务设计能力将再次进化!

京东零售技术

后端 企业号2024年7月PK榜

【洞见】智算操作系统,推进算力迈入普惠智算新时代

九章云极DataCanvas

淘宝详情数据获取的 API 之旅:突破与创新

Noah

2024 年 6 月公链行业研报:市场回调,比特币和以太坊 Layer 2 表现各异

Footprint Analytics

比特币 以太坊 公链 区块链+ BTC

HBase 在统一内容平台业务的优化实践

vivo互联网技术

HBase 连接池预热 compact优化

MySQL派生表合并优化的原理和实现

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年7月PK榜

本周六!上海场新能源汽车数据基础设施专场 Meetup 来了

Greptime 格睿科技

数据库 大数据 开源 汽车 新能源

中国在GenAI应用方面位列全球第一!马斯克取消100亿美元Oracle服务器交易,准备自己整活!|AI日报

可信AI进展

人工智能

深入解析 MS404:基于 ERC404 标准的独特原生资产

NFT Research

NFT ERC404

Sentieon Arm版本:进一步降低基因组计算成本

INSVAST

基因数据分析 生信服务

特权账号管不好,“删库跑路”防不住

芯盾时代

iam 删库保护 特权账号管理

探索大模型:袋鼠云在 Text To SQL 上的实践与优化

袋鼠云数栈

sql 大数据 数据中台 AI 大模型

华为云IoT端到端灰度发布,如何实现海量用户业务平稳过渡升级

华为云开发者联盟

微服务 物联网 华为云 华为云开发者联盟 企业号2024年7月PK榜

京东.Vision首登苹果Vision Pro 背后的技术探索

京东零售技术

Vision pro 企业号2024年7月PK榜

“离职员工”试图打包资料带走,如何防止敏感数据外泄?

极盾科技

数据安全

公共安全和应急管理系统:提升社区韧性与危机应对能力

天津汇柏科技有限公司

安全 应急响应

观测云产品更新 | 视图变量、仪表板、监控通知对象、日志索引等

观测云

监控 日志

基于Rspack实现大仓应用构建提效实践|得物技术

得物技术

最佳实践 企业号2024年7月PK榜 Rspack 前端大仓

十大 Feature:腾讯云数据仓库TCHouse-D 2.0内核引擎全新升级

腾讯云大数据

TCHouse

DataCanvas Alaya NeW智算操作系统震撼亮相WAIC 2024

九章云极DataCanvas

彻底解决网络哈希冲突,百度百舸的高性能网络 HPN 落地实践

百度Geek说

网络 哈希 企业号2024年7月PK榜

袋鼠云产品支持全栈信创适配,更加安全可靠、自主可控

袋鼠云数栈

信创 信创产业 信创生态 信创国产化 国产信创

阿里云人工智能平台PAI论文入选OSDI '24

阿里云大数据AI技术

人工智能 论文 大模型 大语言模型 OSDI

乘用车1-5月销量同比增长7%,火山引擎数据飞轮能帮车企盘活下半年增长吗?

字节跳动数据平台

大数据 数字化转型 云服务 火山引擎 数据飞轮

文献解读-多组学-第十八期|《整合 WES 和 RNA-Seq 数据以进行短变异发现》

INSVAST

基因数据分析 生信服务

1688跨境寻源通系统案例:rakumart日本市场1688代采集运系统搭建

tbapi

1688代采系统 1688代采 1688代购系统 1688寻源通 1688寻源通系统

小间距LED显示屏:安防监控的未来趋势

Dylan

科技 LED LED display LED显示屏 市场

如何高效使用YashanDB PL语言?这5点建议值得收藏

YashanDB

数据库 数据库系统 yashandb 崖山数据库

优秀的程序员都有的十条特征,你中了几条?

禅道项目管理

项目管理 程序员 软件开发 项目管理软件

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