科技
类型
可以朗读
语音朗读
401千字
字数
2015-08-01
发行日期
展开全部
主编推荐语
通过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月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。