展开全部

主编推荐语

通过150多个详细方案,展示了资深Cloiure开发人员是如何使用JVM语言来解决各种编程任务的。

内容简介

本书超出了介绍Clojure语法和语义的层面,展示了该语言在不同领域的应用。不仅介绍如何运用Clojure,而且还会展示这本语言很多的常见库。书中给出了添加了注释的示例代码,详细分析并解释了数百个真实世界的编程任务。

目录

  • 版权信息
  • 内容提要
  • O'Reilly Media, Inc. 介绍
  • 译者序
  • 前言
  • 第1章 原生数据
  • 1.0 简介
  • 1.1 改变字符串的大小写
  • 1.2 清除字符串中的空白字符
  • 1.3 利用部件构建字符串
  • 1.4 将字符串作为字符序列
  • 1.5 字符与整数的转换
  • 1.6 格式化字符串
  • 1.7 按模式查找字符串
  • 1.8 利用正则表达式从字符串中取出值
  • 1.9 对字符串执行查找和替换
  • 1.10 将字符串切分成部分
  • 1.11 基于数量为字符串加复数
  • 1.12 在字符串、符号和关键字之间转换
  • 1.13 利用非常大或非常小的数来保持精度
  • 1.14 使用有理数
  • 1.15 解析数字
  • 1.16 数的截断和舍入
  • 1.17 模糊比较
  • 1.18 三角计算
  • 1.19 根据不同的进制输入和输出整数
  • 1.20 计算数值集合的统计值
  • 1.21 位操作
  • 1.22 生成随机数
  • 1.23 操作货币
  • 1.24 生成唯一ID
  • 1.25 得到当前的日期和时间
  • 1.26 用字面值来表示日期
  • 1.27 利用clj-time解析日期和时间
  • 1.28 利用clj-time格式化日期
  • 1.29 比较日期
  • 1.30 计算时间间隔的长度
  • 1.31 生成一系列的日期和时间
  • 1.32 利用原生Java类型生成一系列日期和时间
  • 1.33 根据日期间的关系取得日期
  • 1.34 处理时区
  • 1.35 将Unix时间戳转换成Date对象
  • 1.36 将Date对象转换成Unix时间戳
  • 第2章 复合数据
  • 2.0 简介
  • 2.1 创建列表
  • 2.2 从已有的数据结构创建列表
  • 2.3 在列表中“添加”一个元素
  • 2.4 从列表中“移除”一个元素
  • 2.5 测试是否列表
  • 2.6 创建向量
  • 2.7 在向量中“添加”一个元素
  • 2.8 从向量中“移除”一个元素
  • 2.9 取得索引处的值
  • 2.10 设置索引处的值
  • 2.11 创建集
  • 2.12 在集中添加和移除元素
  • 2.13 测试集成员
  • 2.14 使用集操作
  • 2.15 创建映射表
  • 2.16 从映射表中取得值
  • 2.17 从映射表中同时取出多个键
  • 2.18 设置映射表中的键
  • 2.19 用复合值作为映射表的键
  • 2.20 将映射表作为序列(或反过来)
  • 2.21 对映射表应用函数
  • 2.22 一个键保存多个值
  • 2.23 合并映射表
  • 2.24 值的比较与排序
  • 2.25 从集合中移除重复元素
  • 2.26 检测集合是否包含几个值中的一个
  • 2.27 实现定制的数据结构:红黑树(第一部分)
  • 2.28 实现定制的数据结构:红黑树(第二部分)
  • 第3章 广义计算
  • 3.0 简介
  • 3.1 运行最小的Clojure REPL
  • 3.2 交互式文档
  • 3.3 探索命名空间
  • 3.4 尝试库而不指明依赖关系
  • 3.5 运行Clojure程序
  • 3.6 从命令行运行程序
  • 3.7 解析命令行参数
  • 3.8 创建定制的项目模板
  • 3.9 构建具有多态行为的函数
  • 3.10 扩展内建的类型
  • 3.11 用 core.async 解除消费者和生产者的耦合
  • 3.12 用core.match为Clojure表达式制作解析器
  • 3.13 用core.logic查询层级图
  • 3.14 演奏儿歌
  • 第4章 本地I/O
  • 4.0 简介
  • 4.1 写入STDOUT和STDERR
  • 4.2 从控制台读入一次击键
  • 4.3 执行系统命令
  • 4.4 访问资源文件
  • 4.5 复制文件
  • 4.6 删除文件或目录
  • 4.7 列出目录中的文件
  • 4.8 文件的内存映射
  • 4.9 读写文本文件
  • 4.10 使用临时文件
  • 4.11 在任意位置读写文件
  • 4.12 并行文件处理
  • 4.13 带归约的并行文件处理
  • 4.14 读写Clojure数据
  • 4.15 在配置文件中使用edn
  • 4.16 将记录作为edn值发布
  • 4.17 读取Clojure数据时处理未知的带标签字面值
  • 4.18 从文件中读取属性
  • 4.19 读写二进制文件
  • 4.20 读写CSV数据
  • 4.21 读写压缩文件
  • 4.22 处理XML数据
  • 4.23 读写JSON数据
  • 4.24 生成PDF文件
  • 4.25 生成带可滚动文本的GUI窗口
  • 第5章 网络I/O和Web服务
  • 5.0 简介
  • 5.1 发出HTTP请求
  • 5.2 执行异步HTTP请求
  • 5.3 发出Ping请求
  • 5.4 取得并解析RSS数据
  • 5.5 发送邮件
  • 5.6 用RabbitMQ实现队列通信
  • 5.7 通过MQTT与嵌入式设备通信
  • 5.8 并发使用ZeroMQ
  • 5.9 创建TCP客户端
  • 5.10 创建TCP服务器
  • 5.11 收发UDP包
  • 第6章 数据库
  • 6.0 简介
  • 6.1 连接SQL数据库
  • 6.2 利用连接池连接SQL数据库
  • 6.3 操作 SQL 数据库
  • 6.4 用Korma简化SQL
  • 6.5 用Lucene进行全文查找
  • 6.6 用ElasticSearch建立数据索引
  • 6.7 使用Cassandra
  • 6.8 使用MongoDB
  • 6.9 使用Redis
  • 6.10 连接Datomic数据库
  • 6.11 为Datomic数据库定义数据模式
  • 6.12 向Datomic写入数据
  • 6.13 从Datomic数据库中删除数据
  • 6.14 尝试Datomic事务而不提交
  • 6.15 遍历Datomic索引
  • 第7章 Web应用
  • 7.0 简介
  • 7.1 Ring简介
  • 7.2 使用Ring中间件
  • 7.3 用Ring提供静态文件
  • 7.4 用Ring处理表单数据
  • 7.5 用Ring处理Cookie
  • 7.6 用Ring保存会话
  • 7.7 在Ring中读写请求和响应的头
  • 7.8 用Compojure路由请求
  • 7.9 用Ring执行HTTP重定向
  • 7.10 用Liberator构建REST风格的应用
  • 7.11 用Enlive实现HTML模板
  • 7.12 用Selmer实现模板
  • 7.13 用Hiccup实现模板
  • 7.14 渲染Markdown文档
  • 7.15 用Luminus来构建应用
  • 第8章 性能与开发效率
  • 8.0 简介
  • 8.1 AOT编译
  • 8.2 将项目打包成JAR文件
  • 8.3 创建WAR文件
  • 8.4 将应用作为守护进程运行
  • 8.5 利用类型暗示减轻性能问题
  • 8.6 用原生Java数组进行快速数学运算
  • 8.7 用Timbre进行简单剖析
  • 8.8 用Timbre记日志
  • 8.9 向Clojars发布库
  • 8.10 使用宏来简化API弃用
  • 第9章 分布式计算
  • 9.0 简介
  • 9.1 用Storm构建活动推送系统
  • 9.2 用抽取转换加载(ETL)管道来处理数据
  • 9.3 聚合大型文件
  • 9.4 测试Cascalog工作流
  • 9.5 设置Cascalog任务的检查点
  • 9.6 解释Cascalog查询
  • 9.7 在Elastic MapReduce上运行Cascalog任务
  • 第10章 测试
  • 10.0 简介
  • 10.1 单元测试
  • 10.2 用Midje测试
  • 10.3 通过随机输入进行彻底测试
  • 10.4 寻找导致失败的值
  • 10.5 运行基于浏览器的测试
  • 10.6 追踪代码执行
  • 10.7 用core.typed避免空指针异常
  • 10.8 用core.typed验证Java互操作
  • 10.9 用core.typed检查高阶函数
  • 关于作者
  • 关于封面
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。