Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是Clojure的主战场之一。
本书专门探讨Clojure在Web开发领域的实际应用。通过阅读本书,读者既可以深入理解Clojure Web栈的专业知识,同时又能运用这些知识来轻松构建Web应用。全书共7章,详细介绍了Clojure Web开发的各个方面,附录部分介绍了IDE的选择、Clojure快速入门以及相关的数据库技术。
本书适合各个层次的读者。如果具备一些函数式方面的编程经验,将对阅读本书有所助益,但这并不是必需的。如果你还没有真的用过Clojure,可以快速掌握如何运用这门语言来解决Web开发中的实际问题。
目录
- 第1章 起步 1
- 1.1 环境设置 1
- 1.2 你的第一个工程 7
- 第2章 Clojure的Web技术栈 23
- 2.1 使用Ring来路由请求 24
- 2.2 定义Compojure路由 28
- 2.3 应用架构 31
- 2.4 Compojure和Ring之后 40
- 2.5 你学到什么 52
- 第3章 服务组件Liberator 53
- 3.1 创建项目 54
- 3.2 定义资源 54
- 3.3 汇总 58
- 3.4 你学到什么 65
- 第4章 访问数据库 66
- 4.1 使用关系型数据库 66
- 4.2 生成报表 71
- 4.3 你学到什么 79
- 第5章 相册 80
- 5.1 开发流程 80
- 5.2 相册有什么 80
- 5.3 创建应用程序 82
- 5.4 程序数据模型 83
- 5.5 任务1:账户注册 85
- 5.6 任务2:登入登出 95
- 5.7 任务3:上传图片 97
- 5.8 任务4:显示图片 110
- 5.9 任务5:删除图片 115
- 5.10 任务6:删除账户 121
- 5.11 你学到什么 123
- 第6章 收尾 124
- 6.1 添加一些样式 124
- 6.2 单元测试 128
- 6.3 日志 132
- 6.4 程序配置文件 135
- 6.5 打包应用 137
- 6.6 你学到什么 143
- 第7章 混合 144
- 7.1 使用Selmer 144
- 7.2 升级为ClojureScript 157
- 7.3 SQL Korma 168
- 7.4 创建程序模板 171
- 7.5 你学到什么 173
- 附录1 选择IDE 176
- 安装Eclipse 176
- 安装Emacs 177
- 替代品 179
- 附录2 Clojure入门 180
- 函数式理念 180
- 数据类型 182
- 使用函数 183
- 匿名函数 184
- 命名函数 184
- 高阶函数 186
- 闭包 187
- 流表达式 188
- 惰性化 188
- 结构化代码 188
- 非结构化数据 189
- 命名空间 191
- 动态变量 193
- 召唤Java 194
- 调用方法 195
- 动态多态 195
- 全局状态怎么样 196
- 为我们写代码的代码 198
- REPL 199
- 综述 200
- 附录3 面向文档的数据库访问 201
- 选择正确的数据库 201
- 使用CouchDB 202
- 使用MongoDB 205