标签
内容简介
《Clojure Web开发实战》是《Web Development with Clojure》的中文译本,专门探讨如何用 Clojure 这门 Lisp 方言进行实际的 Web 应用开发。Clojure 运行在 JVM 之上,既有丰富的 Java 生态可借用,又以函数式编程、不可变数据和简洁表达见长,因而非常适合构建并发友好、易演进的 Web 服务。全书共 7 章:从环境搭建与第一个工程起步,介绍 Ring/Compojure 技术栈与路由、应用架构,随后讲解 Liberator 构建 RESTful 服务、访问关系型数据库与生成报表,再以一个功能完整的相册网站为主线,串联账户注册、登录登出、图片上传、显示与删除、账户注销等典型任务,最后涵盖样式、单元测试、日志、配置与打包部署,以及 Selmer 模板、ClojureScript 与 SQLKorma 等进阶内容。书末三个附录分别介绍 IDE 选择、Clojure 快速入门和面向文档的数据库访问。全书篇幅精炼,以“边做边学”的方式带领读者走完从构思到上线的完整流程。
编辑推荐
Clojure 在国内开发者圈子里长期属于“小而美”的语言,系统性的中文实战书屈指可数,这本《Clojure Web开发实战》正是其中一本难得的选择。它由 The Pragmatic Programmers 出版,作者 Dmitri Sotnikov 是 Luminus 微框架的作者,十多年专注 Web 应用开发,书里的技术路线基本就是他本人在真实项目中的做法。全书只有两百来页,却没有把篇幅用在语法罗列上,而是以一个个递进的任务推进:先用 Ring/Compojure 打通请求与路由,再用 Liberator 讲清 REST 资源的状态转移,接着落到关系型数据库取数出报表,最后用一个相册网站把注册、登录、上传、展示、删除、部署串成完整闭环。读者跟着敲一遍,就能对 Clojure Web 栈形成整体认知。第七章还演示了如何把服务端代码平滑升级到 ClojureScript,让前后端共用同一门语言。附录的 Clojure 入门足够零基础读者起步,IDE 与文档数据库两节也补上了工程细节。适合想跳出 Java/Python 舒适区、体验函数式 Web 开发的一线工程师。
适合谁读
适合
- 已有 Web 开发经验、想系统学习 Clojure Web 栈的后端工程师
- 对函数式编程感兴趣、希望用 Lisp 方言落地真实项目的开发者
- 需要快速搭建 RESTful 服务与小型网站的技术负责人
- 熟悉 Java 或 JavaScript、希望在 JVM 上尝试新语言的技术爱好者
不适合
- 完全没有编程基础、尚未掌握任何一门语言的初学者
- 只想要 Clojure 语法速查手册或语言理论大全的读者
- 需要前端框架、微服务架构等当下热门主题深入讲解的从业者
阅读建议
- 先按附录2 了解 Clojure 的基本语法与 REPL,再回到正文第1章动手搭环境。
- 第5章相册项目是全书主线,建议边读边敲,先跑通再回头理解设计取舍。
- 对 REST 设计不熟的话,可在第3章 Liberator 部分多花时间,理解资源与状态转移。
- 书中库版本较老,实践时注意对照官方文档更新依赖,重点学习方法而非拷贝代码。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 起步
- 1.1 环境设置
- 1.2 你的第一个工程
- 第2章 Clojure的Web技术栈
- 2.1 使用Ring来路由请求
- 2.2 定义compojure路由
- 2.3 应用架构
- 2.4 compojure和Ring之后
- 2.5 你学到什么
- 第3章 服务组件Liberator
- 3.1 创建项目
- 3.2 定义资源
- 3.3 汇总
- 3.4 你学到什么
- 第4章 访问数据库
- 4.1 使用关系型数据库
- 4.2 生成报表
- 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:删除图片
- 5.10 任务6:删除账户
- 5.11 你学到什么
- 第6章 收尾
- 6.1 添加一些样式
- 6.2 单元测试
- 6.3 日志
- 6.4 程序配置文件
- 6.5 打包应用
- 6.6 你学到什么
- 第7章 混合
- 7.1 使用Selmer
- 7.2 升级为ClojureScript
常见问题
这本书适合零 Clojure 基础的人读吗?
适合。附录2 提供了 Clojure 快速入门,涵盖函数式理念、数据类型、高阶函数、命名空间等内容;正文第1章也从环境搭建讲起。不过读者最好已有其他语言的 Web 开发经验,读起来会更顺畅。
本书和英文原版是什么关系?
本书是 The Pragmatic Programmers 出版的《Web Development with Clojure》的中文译本,由张恒翻译、人民邮电出版社出版,据 2014 年英文原著译出。英文原书后续已更新到第3版,内容有较大变化。
书中的技术栈现在还能用吗?
Ring、Compojure、Liberator、Selmer、ClojureScript 等核心库沿用至今,思路依然有效;但具体版本、项目模板和部分依赖配置已经过时,实践时建议参照各库的最新文档调整。
读这本书需要什么前置知识?
作者表示具备一些函数式编程经验会有所帮助,但并非必需。建议至少熟悉一门编程语言,了解 HTTP 请求响应、路由、数据库等 Web 基本概念,这样能更快进入实战部分。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。