《轻量级Web应用开发》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:邱俊涛著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115391520
  • 页数:344 页
图书介绍:如何快速的将一个可以工作的应用程序发布,并由真实的用户进行试用,反馈,然后逐步改进。其中包括了很多的轻量级的工具,程序库,框架,以及轻量级的开发流程如强调测试,持续集成,自动化部署等。 另外,书中的最后一部分包含了一个完整的实例,从头到尾展现了如何开发一个现代的Web应用,并最终使其上线。书中的其他章节同样包含了很多代码片段和示例,这些片段都可以直接拿来在实际的项目中使用。

第1章 环境配置与工具准备 1

1.1 Shell 1

1.2 管道 7

1.3 几个常用命令 9

1.3.1 文件查找命令find 9

1.3.2 网络命令curl 11

1.3.3 文件搜索grep 13

1.3.4 定时任务crontab 14

1.3.5 JSON查询利器jq 15

1.4 编辑器 18

1.4.1 Vim编辑器 18

1.4.2 Sublime Text编辑器 23

1.5 程序启动器 26

1.5.1 Launchy 27

1.5.2 Alfred 27

1.6 关于Windows 29

第2章 Web应用服务器 30

2.1 Rack 30

2.1.1 rackup 32

2.1.2 Rack中间件 36

2.2 Sinatra 39

2.2.1 404页面 39

2.2.2 使用模板引擎 44

2.2.3 简单认证中间件 46

2.3 Grape 47

第3章 数据库访问层 56

3.1 数据库的访问 56

3.2 数据库方案(schema)的修改 57

3.3 ActiveRecord 59

3.3.1 和Rails一起使用 59

3.3.2 独立使用(在既有数据库中) 65

3.3.3 校验 70

3.4 DataMapper 76

第4章 客户端框架 80

4.1 富客户端 80

4.2 Backbone js简介 83

4.2.1 模型 83

4.2.2 视图 85

4.2.3 集合 91

4.2.4 与服务器交互 94

4.2.5 路由表 95

4.3 Angular.js 98

4.3.1 数据双向绑定 98

4.3.2 内置指令 100

4.3.3 AngularJS中的服务 101

4.3.4 与RESTFul的API集成 105

4.3.5 与moko集成 106

第5章 CSS框架简介 108

5.1 Foundation简介 108

5.2 BootStrap简介 117

5.2.1 布局 118

5.2.2 常用组件 121

第6章 客户端测试框架 130

6.1 Jasmine简介 130

6.1.1 Spy功能 131

6.1.2 自定义匹配器 133

6.2 Mocha 134

6.2.1 Mocha的基本用法 135

6.2.2 测试异步场景 137

第7章 现代的前端开发方式 140

7.1 Karma简介 140

7.2 前端依赖管理 141

7.3 搭建工程 143

7.4 测试驱动开发 146

7.5 实例Todoify 147

7.5.1 underscore的一些特性 148

7.5.2 jQuery插件基础知识 150

7.5.3 Todoify 151

7.5.4 进一步改进 159

第8章 编写更容易维护的JavaScript代码 161

8.1 一个实例 161

8.2 重构:更容易测试的代码 165

8.2.1 搜索框 166

8.2.2 发送请求 167

8.2.3 结果集 168

8.2.4 放在一起 171

8.3 关注点分离:另一种实现方式 174

8.3.1 搜索服务 175

8.3.2 结果视图 175

8.3.3 搜索框视图 176

8.3.4 搜索逻辑 176

8.3.5 放在一起 177

8.3.6 更容易测试的代码 178

第9章 本地构建 180

9.1 Ruby中的构建 180

9.1.1 Rake 180

9.1.2 Guard 185

9.2 JavaScript中的构建 187

9.2.1 Grunt的使用 187

9.2.2 Gulp的使用 192

第10章 持续集成 196

10.1 环境搭建 196

10.1.1 安装操作系统 196

10.1.2 安装Jenkins 199

10.1.3 安装rbenv 200

10.1.4 安装NodeJS 201

10.1.5 安装Xvfb 202

10.2 持续集成服务器 203

10.3 与Github集成 210

10.3.1 Travis 211

10.3.2 Snap 213

第11章 单元测试与集成测试 215

11.1 RSpec单元测试 215

11.2 集成测试工具Selenium 221

11.2.1 Selenium-webdriver 222

11.2.2 Capybara 223

11.2.3 Cucumber 224

11.3 搭建Selenium独立环境 230

11.3.1 安装Selenium 230

11.3.2 服务脚本 230

第12章 环境搭建的自动化 233

12.1 自动化工具Chef 234

12.1.1 使用Berkshelf管理cookbook 234

12.1.2 自动创建用户 236

12.1.3 安装nginx服务器 237

12.1.4 配置nginx 239

第13章 应用程序发布 244

13.1 使用Heroku发布应用程序 244

13.2 发布到虚拟机环境 249

13.2.1 使用密钥登录 249

13.2.2 使用Mina 250

13.3 服务器典型配置 254

第14章 一个实例(前端部分) 259

14.1 线框图 259

14.2 搜索结果页面 261

14.2.1 模板页面 262

14.2.2 导航栏 263

14.2.3 走马灯 264

14.2.4 搜索框 266

14.2.5 目录侧栏 266

14.2.6 植物列表 267

14.2.7 分页器 268

14.3 详细信息页面 270

14.4 加入JavaScript 271

14.4.1 moko 273

14.4.2 AngularJS应用 275

14.4.3 细节页面 279

第15章 一个实例(后台部分) 283

15.1 第一个迭代 284

15.1.1 配置环境 284

15.1.2 定义数据 285

15.1.3 第一次提交 288

15.1.4 添加数据 289

15.2 发布到Heroku 291

15.2.1 环境准备 292

15.2.2 添加数据库插件 292

15.2.3 测试远程应用 293

15.2.4 访问远程数据 294

15.2.5 导出数据 295

15.3 更进一步 296

15.3.1 模块化的Sinatra应用 296

15.3.2 测试 297

第16章 一个实例(集成) 304

16.1 发布 307

16.1.1 添加植物页面 308

16.1.2 一个奇怪的bug 310

16.2 添加图片 313

16.2.1 后台API 314

16.2.2 客户端上传文件 315

16.3 新的问题 321

16.4 文件存储 323

16.4.1 创建分组及用户 323

16.4.2 创建S3中的bucket 325

16.4.3 存储到云端 326

16.4.4 部署到Heroku 328

附录A Web如何工作 330

A.1 CGI的相关背景 330

A.2 配置Apache支持CGI 331

A.3 更进一步 332

A.4 一个稍微有用的脚本 333

A.5 更进一步FastCGI 334

附录B Angular.js的测试 335

B.1 测试Controller 335

B.1.1 AngularJS的一个典型Controller 335

B.1.2 测试依赖于Service的Controller 336

B.1.3 在何处实例化Controller 337

B.1.4 如何mock一个service 338

B.2 测试Service 339

B.2.1 Service的典型示例 339

B.2.2 $httpBackend服务 339

B.2.3 Service的测试模板 341

B.2.4 服务器Moco 342