类似推荐
编辑推荐
本书专门探讨Clojure在Web开发领域的实际应用。通过阅读本书,读者既可以深入理解ClojureWeb栈的专业知识,同时又能运用这些知识来轻松构建Web应用。
内容简介
Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是Clojure的主战场之一。
本书专门探讨Clojure在Web开发领域的实际应用。通过阅读本书,读者既可以深入理解Clojure Web栈的专业知识,同时又能运用这些知识来轻松构建Web应用。全书共7章,详细介绍了Clojure Web开发的各个方面,附录部分介绍了IDE的选择、Clojure快速入门以及相关的数据库技术。
本书适合各个层次的读者。如果具备一些函数式方面的编程经验,将对阅读本书有所助益,但这并不是必需的。如果你还没有真的用过Clojure,可以快速掌握如何运用这门语言来解决Web开发中的实际问题。
作者简介
作者Dmitri Sotnikov,专注开发Web应用已近十年,已开发并持续维护几个大型的Clojure库(类似Luminus框架)。
章节目录
版权信息
作者简介
内容提要
对本书的赞誉
简介
本书适合你吗?
为什么选择Clojure?
为何选Clojure来构建Web应用?
第1章 起步
1.1 环境设置
使用Leiningen管理工程
Leiningen工程文件一瞥
Leiningen的模板
使用Light Table
1.2 你的第一个工程
了解应用程序的结构
添加一些功能
添加数据模型
组合起来
收尾
你学到了什么
第2章 Clojure的Web技术栈
2.1 使用Ring来路由请求
请求处理
请求map和响应map
请求map的内容
响应map的内容
通过中间件扩充功能
适配器是什么
2.2 定义Compojure路由
访问请求参数
2.3 应用架构
程序的handler
路由请求
应用模型
应用视图
定义页面
Hiccup处理模板化页面
添加资源
Hiccup API一览
回顾留言簿程序
2.4 Compojure和Ring之后
处理重定向
管理会话
处理输入验证
添加安全机制
指定MIME类型
Noir API一览
2.5 你学到什么
第3章 服务组件Liberator
3.1 创建项目
3.2 定义资源
判定
处理
操作
声明
3.3 汇总
3.4 你学到什么
第4章 访问数据库
4.1 使用关系型数据库
访问数据库
定义参数map
指定驱动直连
定义JNDI字符串
创建表
查询记录
插入记录
更新现有记录
删除记录
事务
4.2 生成报表
配置PostgreSQL数据库
生成报表
显示报表
4.3 你学到什么
第5章 相册
5.1 开发流程
5.2 相册有什么
代码架构
5.3 创建应用程序
5.4 程序数据模型
配置数据库
定义数据模型
5.5 任务1:账户注册
将用户写入数据库
5.6 任务2:登入登出
5.7 任务3:上传图片
生成缩略图
将文件保存到用户目录
在数据库保存图片清单
重构通用代码
5.8 任务4:显示图片
5.9 任务5:删除图片
Ajax和Servlet Context
5.10 任务6:删除账户
5.11 你学到什么
第6章 收尾
6.1 添加一些样式
通过JavaScript添加颜色
6.2 单元测试
测试API
测试程序
6.3 日志
6.4 程序配置文件
6.5 打包应用
独立部署
运行uberjar
通过HTTP Kit运行
通过leiningen trampoline运行
通过daemon运行
应用服务部署
Tomcat部署
Immutant部署
Heroku部署
6.6 你学到什么
第7章 混合
7.1 使用Selmer
Selmer有什么区别?
创建模板
使用filter
使用模板标签
自定义标签
继承模板
扩展模板
包含模板
将相册转换成Selmer
转换主页
转换注册页
转换上传页面
7.2 升级为ClojureScript
ClojureScript概要
JavaScript交互
宏
并发
7.3 SQL Korma
7.4 创建程序模板
7.5 你学到什么
Luminus 框架
结束语
附录1 选择IDE
安装Eclipse
安装Counterclockwise插件
配置Eclipse
安装Emacs
替代品
Cursive
VimClojure
附录2 Clojure入门
函数式理念
状态维护
实现代码复用
向并发借力
数据类型
使用函数
匿名函数
命名函数
高阶函数
闭包
流表达式
惰性化
结构化代码
非结构化数据
命名空间
:use关键字
:require关键字
动态变量
召唤Java
引入类
实例化类
调用方法
动态多态
全局状态怎么样
为我们写代码的代码
REPL
综述
附录3 面向文档的数据库访问
选择正确的数据库
一致性
可用性
分区容忍性
使用CouchDB
Clutch库
连接到数据库
存储文档
检索单个文档
检索多个文档
删除文档
使用MongoDB
连接数据库
插入记录
选择记录
更新记录
删除记录
看完了
版权声明
ClojureWeb开发实战是2015年由人民邮电出版社出版,作者[美] Dmitri Sotnikov。
得书感谢您对《ClojureWeb开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。