Clojure高级编程PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:(美)JeremyAnderson,(美)MichaelGaare等著;蒋楠译
- 出 版 社:北京:清华大学出版社
- 出版年份:2017
- ISBN:9787302471110
- 页数:247 页
第1章 保持初学者的心态 1
1.1函数式思维 2
1.1.1以值为导向 2
1.1.2从递归的角度考虑问题 4
1.1.3高阶函数 7
1.1.4拥抱惰性 11
1.1.5当变动成为必需时 12
1.1.6 Nil双关 15
1.1.7函数式Web 16
1.2改进面向对象编程 17
1.2.1利用defmulti实现多态调度 18
1.2.2使用deftype和defrecord定义类型 20
1.2.3协议 21
1.2.4 reify 22
1.3可持久化数据结构 23
1.4塑造语言 27
1.5小结 29
第2章Clojure的快速反馈循环 31
2.1 REPL驱动开发 31
2.1.1 REPL在Leiningen中的基本操作 32
2.1.2通过nREPL实现远程REPL 34
2.1.3 REPL在实际程序中的应用 36
2.1.4 REPL与编辑器的连接 40
2.2代码重载 41
2.2.1从REPL重载代码 41
2.2.2自动重载代码 45
2.2.3编写可重载的代码 52
2.3小结 54
第3章Web服务 55
3.1项目总览 55
3.2构成Web服务的元素 57
3.2.1库,而非框架 57
3.2.2 HTTP 57
3.2.3路由 66
3.2.4 JSON端点 73
3.3示例服务 78
3.3.1创建项目 78
3.3.2其他命名空间 78
3.3.3默认中间件 81
3.3.4存储协议 82
3.3.5处理函数 87
3.3.6中间件 92
3.3.7路由 94
3.4部署 99
3.4.1使用Leiningen 99
3.4.2编译Uberj ar或Uberwar 100
3.4.3托管 101
3.5小结 102
第4章 测试 105
4.1 clojure.test测试基础 106
4.1.1 with-test宏 106
4.1.2 deftest库 107
4.1.3 are 108
4.1.4使用基境 109
4.2测试策略 110
4.2.1数据库测试 110
4.2.2 Ring处理函数测试 112
4.2.3采用with-redefs实现模拟/存根 115
4.2.4重新定义动态var 117
4.2.5采用vcr-clj实现录制和重放 118
4.3度量代码质量 119
4.3.1采用cloverage度量代码覆盖率 120
4.3.2采用kibit和bikeshed进行静态分析 122
4.3.3将依赖置于掌控之中 124
4.4其他测试框架 127
4.4.1 expectations 127
4.4.2 speclj 128
4.4.3 Cucumber 129
4.4.4 kerodon 136
4.5小结 137
第5章 采用ClojureScript开发反应式网页 139
5.1 ClojureScript与众不同 140
5.2 ClojureScript初探 142
5.2.1创建新的ClojureScript项目 142
5.2.2采用Figwheel实现快速反馈 143
5.2.3创建组件 144
5.2.4数据建模 145
5.2.5响应事件并处理状态变更 147
5.2.6理解错误和警告信息 148
5.2.7命名空间布局 151
5.2.8样式 152
5.2.9表单输入与表单处理 153
5.2.10导航和路由 156
5.2.11 HTTP调用:与服务器进行通信 157
5.2.12拖放 160
5.2.13发布 160
5.3 Reagent进阶 162
5.3.1形式1:返回向量的函数 162
5.3.2形式2:返回组件的函数 163
5.3.3形式3:返回类的函数 164
5.3.4序列与键 165
5.3.5自定义标记 167
5.3.6反应 168
5.3.7对样式的注释 170
5.4 Devcards的测试组件 170
5.5与JavaScript的互操作性 174
5.6一种语言,一种惯用法,多个平台 176
5.7 Closure编译器和Closure库浅析 176
5.8采用DataScript处理建模状态 177
5.9在浏览器中使用core.async 178
5.10小结 179
第6章Datomic数据库 181
6.1 Datomic基础 182
6.1.1为何选择Datomic? 182
6.1.2 Datomic数据模型 184
6.1.3查询 187
6.1.4事务 192
6.1.5索引:将数据切实绑定在一起 195
6.1.6 Datomic的独特架构 198
6.2对应用数据建模 200
6.2.1任务跟踪器应用的示例模式 200
6.2.2实体id和分区 209
6.3 Datomic的Clojure API 209
6.3.1基本设置 209
6.3.2在REPL中小试牛刀 213
6.4采用Datomic构建应用 219
6.4.1用户函数 219
6.4.2账户函数 222
6.4.3任务函数 223
6.4.4部署 227
6.4.5局限性 227
6.5小结 228
第7章 性能 231
7.1何为性能? 233
7.2性能优化的前提:选择正确的数据结构 233
7.3基准测试 235
7.3.1测定低速模块的时间 235
7.3.2采用Criterium测定高速模块的时间 237
7.3.3采用测试选择器进行性能测试 239
7.4并行 239
7.5记忆化 240
7.6内联 241
7.7利用瞬态机制安全地处理变动 243
7.8性能分析 243
7.9利用类型提示避免反射 244
7.10 Java标志 246
7.11数值计算 246
7.12小结 247
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019