-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathforeword.html
109 lines (97 loc) · 6.32 KB
/
foreword.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8"/>
<title>Ruby on Rails 教程 - 序</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="description" content="最好的 Ruby on Rails 入门教程"/>
<meta name="keywords" content="ruby, rails, tutorial"/>
<meta name="author" content="Michael Hartl"/>
<meta name="translator" content="安道"/>
<meta name="generator" content="persie 0.0.1.beta.3"/>
<link rel="stylesheet" type="text/css" href="http://cdn.staticfile.org/twitter-bootstrap/3.2.0/css/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="http://cdn.staticfile.org/font-awesome/4.2.0/css/font-awesome.min.css"/>
<link rel="stylesheet" type="text/css" href="assets/style.css"/>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.staticfile.org/twitter-bootstrap/3.2.0/js/collapse.min.js"></script>
<script type="text/javascript" src="assets/global.js"></script>
</head>
<body>
<header class="navbar navbar-default navbar-fixed-top navbar-book">
<div class="container">
<div class="navbar-header">
<a href="http://railstutorial-china.org" class="navbar-brand">Ruby on Rails 教程</a>
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".book-navbar-collapse">
<span class="sr-only">导航</span>
<i class="fa fa-bars"></i>
</button>
<a href="http://railstutorial-china.org/#purchase" id="navbar-purchase-xs" class="btn btn-warning navbar-btn visible-xs collapsed-purchase-btn">购买</a>
</div>
<nav class="collapse navbar-collapse book-navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="http://railstutorial-china.org" title="首页">首页</a></li>
<li class="active"><a href="http://railstutorial-china.org/read/" title="在线阅读">阅读</a></li>
<li><a href="http://railstutorial-china.org/blog/" title="最新消息">博客</a></li>
<li><a href="https://selfstore.io/products/189/topics" title="论坛">论坛</a></li>
<li class="hidden-xs"><div><a href="http://railstutorial-china.org/#purchase" id="navbar-purchase" class="btn btn-warning navbar-btn" title="购买电子书">购买</a></div></li>
</ul>
</nav>
</div>
</header>
<div class="content">
<div class="container">
<div class="row">
<div class="col-lg-offset-2 col-lg-8">
<div class="alert alert-warning">
<p>在线版的内容可能落后于电子书,如果想及时获得更新,请<a href="http://railstutorial-china.org/#purchase" title="购买电子书">购买电子书</a>。</p>
</div>
<article class="article">
<section data-type="foreword" id="_序">
<h1>序</h1>
<p>我之前工作的公司(CD Baby)是大张旗鼓转用 Ruby on Rails 最早的企业之一,然后又更加惹眼地换回了 PHP(在 Google 中搜索我的名字,能搜到关于这场闹剧的文章)。很多人都强烈推荐 Michael Hartl 的这本书,所以我不得不读一下,读完《Ruby on Rails Tutorial》后,我又开始使用 Rails 做开发了。</p>
<p>我读过很多 Rails 相关的书,但是这本真正让我入门了。书里的一切都很符合“Rails 之道”,我以前觉得这个“道”很不自然,但是读完这本书,却感觉自然无比。本书也是唯一一本自始至终都使用“测试驱动开发”(Test-driven Development,简称 TDD)理念的 Rails 书籍。很多行家都推荐使用 TDD,但是在这本书出版之前从没有人如此清楚地介绍过这个理念。书中的演示应用还用到了 Git、Bitbucket 和 Heroku,作者真是让你体验了一把开发真正能用的应用是什么感觉,而且书中用到的代码并不是凭空捏造出来的。</p>
<p>线性叙述是很好的模式。我花了三天的时间<sup>[<a id="fn-ref-1" href="#fn-1">1</a>]</sup>阅读本书,完成了书中所有的演示应用,也做了全部练习。从头至尾,循序渐进,不要跳着读,这样才能从中受益。</p>
<p>享受这本书吧!</p>
<p class="text-right">Derek Sivers (<a href="http://sivers.org">sivers.org</a>)<br />
CD Baby 创始人</p>
</section>
</article>
<div class="navi clearfix">
<div class="pull-left">
<a class="prev" href="to-reader.html" title="致中国读者">« 致中国读者</a>
</div>
<div class="pull-right">
<a class="next" href="acknowledgments.html" title="致谢">致谢 » </a>
</div>
</div>
<div class="footnotes">
<ol>
<li id="fn-1">这可不常见,读完整本书花的时间往往比三天长很多。 <a href="#fn-ref-1" class="symbol">↩</a></li>
</ol>
</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<p>©2013-2015 <a href="http://about.ac" title="安道的网站">安道</a></p>
<p class="sns"><a href="https://twitter.com/andor_chen" title="安道的 Twitter"><i class="fa fa-twitter"></i></a> <a href="http://weibo.com/andor27" title="安道的微博"><i class="fa fa-weibo"></i></a></p>
<p>保留部分权利,禁止转载</p>
</footer>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56255794-2', 'auto');
ga('send', 'pageview');
$('#navbar-purchase').on('click',function(){
ga('send', 'event', 'button', 'click', 'navbar purchase');
});
$('#navbar-purchase-xs').on('click',function(){
ga('send', 'event', 'button', 'click', 'navbar purchase xs');
});
</script>
</body>
</html>