当前位置:主页 > 计算机电子书 > 程序设计 > Clojure下载
Clojure经典实例

Clojure经典实例 PDF 完整高清版

  • 更新:2021-12-28
  • 大小:12.1 MB
  • 类别:Clojure
  • 作者:Luke、VanderHart、/、[加]、Ryan、Neufeld
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

本书以具体实例的形式讲解了Clojure语言在不同领域的应用,不仅介绍如何运用Clojure,而且还展示了很多常见库。书中给出了添加了注释的示例代码,详细分析并解释了数百个真实世界的编程任务。读者既可通过本书深入了解Clojure的精髓,也可将本书用作参考指南,解决具体问题。

目录

  • 译者序xi
  • 前言xiii
  • 第1章原生数据1
  • 1.0简介1
  • 1.1改变字符串的大小写2
  • 1.2清除字符串中的空白字符3
  • 1.3利用部件构建字符串5
  • 1.4将字符串作为字符序列6
  • 1.5字符与整数的转换7
  • 1.6格式化字符串9
  • 1.7按模式查找字符串11
  • 1.8利用正则表达式从字符串中取出值12
  • 1.9对字符串执行查找和替换13
  • 1.10将字符串切分成部分15
  • 1.11基于数量为字符串加复数16
  • 1.12在字符串、符号和关键字之间的转换18
  • 1.13利用非常大或非常小的数来保持精度20
  • 1.14使用有理数21
  • 1.15解析数字23
  • 1.16数的截断和舍入24
  • 1.17模糊比较26
  • 1.18三角计算27
  • 1.19根据不同的进制输入和输出整数29
  • 1.20计算数值集合的统计值30
  • 1.21位操作33
  • 1.22生成随机数34
  • 1.23操作货币36
  • 1.24生成唯一ID37
  • 1.25得到当前的日期和时间39
  • 1.26用字面值来表示日期40
  • 1.27利用clj-time解析日期和时间42
  • 1.28利用clj-time格式化日期43
  • 1.29比较日期45
  • 1.30计算时间间隔的长度46
  • 1.31生成一系列的日期和时间48
  • 1.32利用原生Java类型生成一系列日期和时间49
  • 1.33根据日期间的关系取得日期52
  • 1.34处理时区53
  • 1.35将Unix时间戳转换成Date对象55
  • 1.36将Date对象转换成Unix时间戳56
  • 第2章复合数据58
  • 2.0简介58
  • 2.1创建列表59
  • 2.2从已有的数据结构创建列表61
  • 2.3在列表中“添加”一个元素62
  • 2.4从列表中“移除”一个元素63
  • 2.5测试是否列表64
  • 2.6创建向量65
  • 2.7在向量中“添加”一个元素66
  • 2.8从向量中“移除”一个元素67
  • 2.9取得索引处的值68
  • 2.10设置索引处的值70
  • 2.11创建集71
  • 2.12在集中添加和移除元素73
  • 2.13测试集成员74
  • 2.14使用集操作76
  • 2.15创建映射表77
  • 2.16从映射表中取得值79
  • 2.17从映射表中同时取出多个键82
  • 2.18设置映射表中的键84
  • 2.19用复合值作为映射表的键86
  • 2.20将映射表作为序列(或反过来)88
  • 2.21对映射表应用函数90
  • 2.22一个键保存多个值92
  • 2.23合并映射表95
  • 2.24值的比较与排序97
  • 2.25从集合中移除重复元素100
  • 2.26检测集合是否包含几个值中的一个102
  • 2.27实现定制的数据结构:红黑树(第一部分)103
  • 2.28实现定制的数据结构:红黑树(第二部分)106
  • 第3章广义计算111
  • 3.0简介111
  • 3.1运行最小的ClojureREPL111
  • 3.2交互式文档112
  • 3.3探索命名空间114
  • 3.4尝试库而不指明依赖关系116
  • 3.5运行Clojure程序117
  • 3.6从命令行运行程序119
  • 3.7解析命令行参数121
  • 3.8创建定制的项目模板124
  • 3.9构建具有多态行为的函数128
  • 3.10扩展内建的类型133
  • 3.11用core.async解除消费者和生产者的耦合135
  • 3.12用core.match为Clojure表达式制作解析器138
  • 3.13用core.logic查询层级图141
  • 3.14演奏儿歌146
  • 第4章本地I/O150
  • 4.0简介150
  • 4.1写入STDOUT和STDERR150
  • 4.2从控制台读入一次击键152
  • 4.3执行系统命令153
  • 4.4访问资源文件156
  • 4.5复制文件157
  • 4.6删除文件或目录159
  • 4.7列出目录中的文件161
  • 4.8文件的内存映射163
  • 4.9读写文本文件164
  • 4.10使用临时文件165
  • 4.11在任意位置读写文件166
  • 4.12并行文件处理168
  • 4.13带归约的并行文件处理170
  • 4.14读写Clojure数据172
  • 4.15在配置文件中使用edn174
  • 4.16将记录作为edn值发布178
  • 4.17读取Clojure数据时处理未知的带标签字面值180
  • 4.18从文件中读取属性182
  • 4.19读写二进制文件184
  • 4.20读写CSV数据186
  • 4.21读写压缩文件187
  • 4.22处理XML数据189
  • 4.23读写JSON数据190
  • 4.24生成PDF文件192
  • 4.25生成带可滚动文本的GUI窗口196
  • 第5章网络I/O和Web服务200
  • 5.0简介200
  • 5.1发出HTTP请求200
  • 5.2执行异步HTTP请求202
  • 5.3发出Ping请求204
  • 5.4取得并解析RSS数据205
  • 5.5发送邮件206
  • 5.6用RabbitMQ实现队列通信210
  • 5.7通过MQTT与嵌入式设备通信215
  • 5.8并发使用ZeroMQ219
  • 5.9创建TCP客户端222
  • 5.10创建TCP服务器223
  • 5.11收发UDP包227
  • 第6章数据库230
  • 6.0简介230
  • 6.1连接SQL数据库231
  • 6.2利用连接池连接SQL数据库233
  • 6.3操作SQL数据库236
  • 6.4用Korma简化SQL242
  • 6.5用Lucene进行全文查找245
  • 6.6用ElasticSearch建立数据索引248
  • 6.7使用Cassandra252
  • 6.8使用MongoDB256
  • 6.9使用Redis259
  • 6.10连接Datomic数据库262
  • 6.11为Datomic数据库定义数据模式264
  • 6.12向Datomic写入数据267
  • 6.13从Datomic数据库中删除数据270
  • 6.14尝试Datomic事务而不提交272
  • 6.15遍历Datomic索引274
  • 第7章Web应用277
  • 7.0简介277
  • 7.1Ring简介277
  • 7.2使用Ring中间件279
  • 7.3用Ring提供静态文件281
  • 7.4用Ring处理表单数据282
  • 7.5用Ring处理Cookie284
  • 7.6用Ring保存会话286
  • 7.7在Ring中读写请求和响应的头288
  • 7.8用Compojure路由请求289
  • 7.9用Ring执行HTTP重定向291
  • 7.10用Liberator构建REST风格的应用292
  • 7.11用Enlive实现HTML模板294
  • 7.12用Selmer实现模板300
  • 7.13用Hiccup实现模板305
  • 7.14渲染Markdown文档307
  • 7.15用Luminus来构建应用310
  • 第8章性能与开发效率312
  • 8.0简介312
  • 8.1AOT编译312
  • 8.2将项目打包成JAR文件314
  • 8.3创建WAR文件317
  • 8.4将应用作为守护进程运行320
  • 8.5利用类型暗示减轻性能问题325
  • 8.6用原生Java数组进行快速数学运算328
  • 8.7用Timbre进行简单剖析330
  • 8.8用Timbre记日志332
  • 8.9向Clojars发布库334
  • 8.10使用宏来简化API弃用336
  • 第9章分布式计算341
  • 9.0简介341
  • 9.1用Storm构建活动推送系统342
  • 9.2用抽取转换加载(ETL)管道来处理数据350
  • 9.3聚合大型文件354
  • 9.4测试Cascalog工作流359
  • 9.5设置Cascalog任务的检查点361
  • 9.6解释Cascalog查询363
  • 9.7在ElasticMapReduce上运行Cascalog任务365
  • 第10章测试367
  • 10.0简介367
  • 10.1单元测试368
  • 10.2用Midje测试372
  • 10.3通过随机输入进行彻底测试375
  • 10.4寻找导致失败的值379
  • 10.5运行基于浏览器的测试381
  • 10.6追踪代码执行386
  • 10.7用core.typed避免空指针异常389
  • 10.8用core.typed验证Java互操作392
  • 10.9用core.typed检查高阶函数395
  • 关于作者399

资源下载

资源下载地址1:https://pan.baidu.com/s/1-AsRUhQ5ZWLWyWLitjuMNw

相关资源

网友留言