Clojure Web Development in Practice cover

Clojure Web Development in Practice

Rating 4.0
Word count
88K words
Chapters
75
ISBN
9787115398932

Tags

Summary

Clojure is a Lisp dialect. By directly supporting concurrent software development through functional programming techniques, it has been embraced by many developers and is widely used across various fields. Web development is one of Clojure's main battlegrounds. This book is devoted to the practical application of Clojure in web development. Through reading it, readers can both gain an in-depth understanding of the Clojure web stack and apply that knowledge to build web applications with ease. Its seven chapters cover every aspect of Clojure web development in detail, while the appendices introduce IDE selection, a quick start with Clojure, and related database technologies. The book suits readers at all levels: some functional programming experience will help, but it is not required. If you have never really used Clojure, you can quickly master how to use the language to solve practical web development problems.

Editor's review

Clojure Web Development in Practice is a hands-on technical guide by the experienced developer Dmitri Sotnikov. Rather than a general syntax manual, it dissects Clojure—an expressive functional language—within the real-world context of modern web development. Taking the building of maintainable, high-performance web applications as its throughline, the book systematically covers the full workflow from project setup, routing design, and database interaction to API construction, testing, and deployment. The author deftly weaves Clojure's core philosophy—immutable data and function composition—into every stage of development, so that readers learn not only how to do something but why it is done that way. The treatment of core libraries such as Ring, Compojure, and Liberator is especially thorough, and practical examples show how to use Clojure's concurrency model and macro system to simplify complex logic. For engineers already familiar with other languages who wish to explore functional web development, the book offers a solid path forward and valuable experience in avoiding common pitfalls. Dense in content and highly practical, it is a key text for turning Clojure from an interesting language into a reliable productivity tool.

Who it's for

A good fit for

  • Engineers with a background in other programming languages who want a systematic study of Clojure for web development
  • Intermediate and advanced developers interested in functional programming and its application in real web projects
  • Full-stack or back-end engineers who need to build highly concurrent, maintainable back-end services
  • Technology enthusiasts who want a deeper understanding of how core libraries such as Ring and Compojure work

Not a good fit for

  • Complete beginners with no programming background seeking their first language
  • Readers interested only in Clojure's theory or academic study, not in concrete engineering practice

Reading tips

  1. As you read, work through the examples in your own development environment; functional thinking requires hands-on practice.
  2. Read the book alongside the official documentation; its explanations of libraries will help you understand the design decisions behind the docs.
  3. Do not feel obliged to finish it in one sitting; study and practice in stages according to the technical module each chapter covers, such as routing, databases, or testing.

About the publisher

Posts & Telecom Press China · Founded in 1953

Posts & Telecom Press is known for its strengths in science and technology, computing, and information and communications titles, and has extended its publishing into photography, art, software learning, and inspirational growth, giving it a fairly diverse range. Its catalog includes computing and communications works such as Refactoring and Patterns (Revised Edition) and Huawei Switch Learning Guide (Second Edition), alongside bilingual collector's editions such as The Little Prince (Chinese-English-French illustrated collector's edition), The Great Gatsby, and Three Days to See. Beijing Ten Years: 1980-1990 and Ghost Blade: WLOP Personal Illustration Collection reflect its presence in photography and art. Its authors include Antoine de Saint-Exupéry, Helen Keller, Joshua Kerievsky, Wang Da, Zhang Zhaozeng, and WLOP.

Contents

  1. 版权信息
  2. 对本书的赞誉
  3. 简 介
  4. 第1章 起步
  5. 1.1 环境设置
  6. 1.2 你的第一个工程
  7. 第2章 Clojure的Web技术栈
  8. 2.1 使用Ring来路由请求
  9. 2.2 定义Compojure路由
  10. 2.3 应用架构
  11. 2.4 Compojure和Ring之后
  12. 2.5 你学到什么
  13. 第3章 服务组件Liberator
  14. 3.1 创建项目
  15. 3.2 定义资源
  16. 3.3 汇总
  17. 3.4 你学到什么
  18. 第4章 访问数据库
  19. 4.1 使用关系型数据库
  20. 4.2 生成报表
  21. 4.3 你学到什么
  22. 第5章 相册
  23. 5.1 开发流程
  24. 5.2 相册有什么
  25. 5.3 创建应用程序
  26. 5.4 程序数据模型
  27. 5.5 任务1:账户注册
  28. 5.6 任务2:登入登出
  29. 5.7 任务3:上传图片
  30. 5.8 任务4:显示图片
  31. 5.9 任务5:删除图片
  32. 5.10 任务6:删除账户
  33. 5.11 你学到什么
  34. 第6章 收尾
  35. 6.1 添加一些样式
  36. 6.2 单元测试
  37. 6.3 日志
  38. 6.4 程序配置文件
  39. 6.5 打包应用
  40. 6.6 你学到什么
  41. 第7章 混合
  42. 7.1 使用Selmer
  43. 7.2 升级为ClojureScript
  44. 7.3 SQL Korma
  45. 7.4 创建程序模板
  46. 7.5 你学到什么
  47. 附录1 选择IDE
  48. 安装Eclipse
  49. 安装Emacs
  50. 替代品
  51. 附录2 Clojure入门
  52. 函数式理念
  53. 数据类型
  54. 使用函数
  55. 匿名函数
  56. 命名函数
  57. 高阶函数
  58. 闭包
  59. 流表达式
  60. 惰性化
  61. 结构化代码
  62. 非结构化数据
  63. 命名空间
  64. 动态变量
  65. 召唤Java
  66. 调用方法
  67. 动态多态
  68. 全局状态怎么样
  69. 为我们写代码的代码
  70. REPL
  71. 综述
  72. 附录3 面向文档的数据库访问
  73. 选择正确的数据库
  74. 使用CouchDB
  75. 使用MongoDB

FAQ

How much Clojure do I need to know to read this book?
The book assumes you already understand Clojure's basic syntax and core data structures (lists, vectors, maps). If you have read the first few chapters of The Joy of Clojure or a similar introduction and can write simple functions, you are ready. Advanced concepts used in the book, such as macros and protocols, are explained as needed.
How does this book differ from introductions such as The Joy of Clojure?
Books like The Joy of Clojure focus mainly on the language's core features and functional programming ideas. This book, by contrast, is devoted to applying those features to the specific field of web development and solving real engineering problems—project structure, state management, API design, and performance optimization. It is the ideal next step after an introduction.
Is the technology stack in the book outdated as of 2023 and beyond?
The book centers on libraries such as Ring and Compojure, which are classic, foundational frameworks for Clojure web development, stable in design and actively maintained. Although front-end technologies such as JavaScript frameworks change rapidly, the book focuses on back-end and API development, and the core ideas it imparts—immutable data, pure functions, component design—retain lasting value. After reading it, you will have a firm grasp of the Clojure web development paradigm and can more easily adapt to specific library version updates.

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

About the author

Shchotnikov is an author about whom Chinese bibliographic sources contain little information. His nationality, dates of birth and death, and educational background cannot be confirmed from publicly available material. The library currently holds one work by him, Clojure Web Development in Practice, classified under programming and design and aimed at readers building web applications with the Clojure language. This work suggests that the author focuses on applying functional programming languages in real projects, with topics leaning toward engineering practice rather than theoretical overviews, and its content likely follows the technical path of web development. Owing to the lack of further biographical and bibliographic information, it is difficult to judge the full range of his writing style or to assess his lasting influence in the field. On the available evidence, Shchotnikov's contribution lies mainly in bringing Clojure web development experience into the view of Chinese-language technical readers, offering developers a practical reference book.

张恒 Author

Zhang Heng is an author whose works span several fields. Public information about him is limited, and his nationality, dates of birth and death, and professional background cannot be confirmed. Judging from the four works included in the database, his writing interests cover programming and design, fashion, industrial technology, and essays: they include Clojure Web Development in Practice for developers, A Course on the Floristry Design System: A Test-Preparation Guide for Floristry Examinations, which systematically sets out floristry knowledge and examination points, When Nuclear Energy Meets Intelligence, which discusses the intersection of nuclear energy and intelligent technology, and Student Notes, which has a personal, observational and narrative character. These works differ markedly in subject, ranging from practical technical guidance to general knowledge and personal essays, showing the author's ability to move between professional writing and everyday reflection. Overall, Zhang Heng comes across as a writer of broad interests who balances technical substance with readability, and his cross-disciplinary practice merits attention from different angles.

More by the same author

Top rated in the same category