第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