万本电子书0元读

万本电子书0元读

顶部广告

Clojure经典实例电子书

本书涵盖150多个具体实例,展示了有经验的Clojure发者如何用这门JVM语言完成各种编程任务。解决方案全面广泛:从构建动态网站和应用数据库到网络通信、云计算、高级测试策略等,面面俱到。这些实例源于全球60多名Clojure发者。 本书的每个实例不仅可以即学即用,而且其中提供的关于解决方案原理的讨论,让读者可以在模式、方法和技巧上举一反三,从而在遇到本书未提及的其他编程任务时也能游刃有余。

售       价:¥

纸质售价:¥65.50购买纸书

20人正在读 | 0人评论 6.2

作       者:范德哈特(Luke VanderHart) 诺伊费尔德(Ryan Neufeld)

出  版  社:人民邮电出版社

出版时间:2015-08-01

字       数:42.8万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书以具体实例的形式讲解了Clojure语言在不同领域的应用,不仅介绍如何运用Clojure,而且还展示了很多常见库。书中给出了添加了注释的示例代码,详细分析并解释了数百个真实世界的编程任务。读者既可通过本书深了解Clojure的精髓,也可将本书用作参考指南,解决具体问题。<br/>【推荐语】<br/>本书涵盖150多个具体实例,展示了有经验的Clojure发者如何用这门JVM语言完成各种编程任务。解决方案全面广泛:从构建动态网站和应用数据库到网络通信、云计算、高级测试策略等,面面俱到。这些实例源于全球60多名Clojure发者。 本书的每个实例不仅可以即学即用,而且其中提供的关于解决方案原理的讨论,让读者可以在模式、方法和技巧上举一反三,从而在遇到本书未提及的其他编程任务时也能游刃有余。 通过阅读本书,你可以: 掌握内建原生数据和复合数据结构; 使用Leiningen工具创建、发和发布库; 与本地计算机交互; 管理网络通信协议和库; 掌握连和使用各种数据库的技术; 应用Ring HTTP服务器库构建并维护动态网站; 解决封装、发布、配置、日志等应用任务; 行云计算和重量级分布式数据处理; 深研究单元测试、集成测试、模拟测试和基于属性的测试。<br/>【作者】<br/>Luke VanderHart是一名Clojure和ClojureScript发者,目前就职于Cognitect公司(Clojure之父在该公司任CTO)。他是Practical Clojure(Apress)和ClojureScript: Up and Running(O'Reilly)的合著者之一,目前在北卡罗来纳州达勒姆市生活和工作。 Ryan Neufeld通晓多种计算机语言,是一名全能型软件发者,热衷于分布式系统和网络应用发。Ryan十分善于为客户解决各种或棘手或简单的软件技术问题,及时为客户交付成果。他目前居住于北卡罗来纳州达勒姆市,是Cognitect公司的一名发人员。<br/>
目录展开

O'Reilly Media, Inc. 介绍

业界评论

译者序

编程语言习得

前言

本书如何写成

读者对象

其他资源

本书结构

各章简介

软件获取

本书约定

REPL会话

控制台/终端会话

排版约定

使用代码示例

Safari® Books Online

联系我们

致谢

Ryan Neufeld

Luke VanderHart

第 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包

问题

解决方案

讨论

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 简介

Cascalog

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检查高阶函数

问题

解决方案

讨论

参阅

关于作者

关于封面

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部