代码的未来PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(日)松本行弘著;周自恒译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2013
- ISBN:9787115317513
- 页数:355 页
第1章 编程的时间和空间 3
1.1 编程的本质 3
编程的本质是思考 4
创造世界的乐趣 4
快速提高的性能改变了社会 5
以不变应万变 8
摩尔定律的局限 9
社会变化与编程 10
1.2 未来预测 13
科学的未来预测 14
IT未来预测 14
极限未来预测 16
从价格看未来 16
从性能看未来 17
从容量看未来 18
从带宽看未来 19
小结 20
第2章 编程语言的过去、现在和未来 20
2.1 编程语言的世界 23
被历史埋没的先驱 25
编程语言的历史 26
编程语言的进化方向 30
未来的编程语言 32
20年后的编程语言 34
学生们的想象 34
2.2 DSL(特定领域语言) 36
外部DSL 37
内部DSL 38
DSL的优势 39
DSL的定义 39
适合内部DSL的语言 40
外部DSL实例 42
DSL设计的构成要素 43
Sinatra 46
小结 47
2.3 元编程 48
Meta,Reflection 48
类对象 51
类的操作 52
Lisp 53
数据和程序 54
Lisp程序 56
宏 56
宏的功与过 57
元编程的可能性与危险性 59
小结 60
2.4 内存管理 61
看似无限的内存 61
GC的三种基本方式 62
术语定义 62
标记清除方式 63
复制收集方式 64
引用计数方式 65
引用计数方式的缺点 65
进一步改良的应用方式 66
分代回收 66
对来自老生代的引用进行记录 67
增量回收 68
并行回收 69
GC大统一理论 69
2.5 异常处理 71
“一定没问题的” 71
用特殊返回值表示错误 72
容易忽略错误处理 72
Ruby中的异常处理 73
产生异常 74
更高级的异常处理 75
Ruby中的后处理保证 76
其他语言中的异常处理 77
Java的检查型异常 77
Icon的异常和真假值 78
Eiffel的Design by Contract 80
异常与错误值 80
小结 81
2.6 闭包 82
函数对象 82
高阶函数 83
用函数参数提高通用性 84
函数指针的局限 85
作用域:变量可见范围 87
生存周期:变量的存在范围 88
闭包与面向对象 89
Ruby的函数对象 89
Ruby与JavaScript的区别 90
Lisp-1与Lisp-2 91
第3章 编程语言的新潮流 97
3.1 语言的设计 97
客户端与服务器端 97
向服务器端华丽转身 98
在服务器端获得成功的四大理由 99
客户端的JavaScript 100
性能显著提升 101
服务器端的Ruby 102
Ruby on Rails带来的飞跃 102
服务器端的Go 103
静态与动态 104
动态运行模式 105
何谓类型 105
静态类型的优点 106
动态类型的优点 106
有鸭子样的就是鸭子 107
Structural Subtyping 108
小结 108
3.2 GO 109
New(新的) 109
Experimental(实验性的) 109
Concurrent(并发的) 110
Garbage-collected(带垃圾回收的) 110
Systems(系统) 111
Go的创造者们 111
Hello World 112
Go的控制结构 113
类型声明 116
无继承式面向对象 118
多值与多重赋值 120
并发编程 122
小结 124
3.3 Dart 126
为什么要推出Dart ? 126
Dart的设计目标 129
代码示例 130
Dart的特征 132
基于类的对象系统 132
非强制性静态类型 133
Dart的未来 134
3.4 Coffee Script 135
最普及的语言 135
被误解最多的语言 135
显著高速化的语言 136
对JavaScript的不满 138
CoffeeScript 138
安装方法 139
声明和作用域 139
分号和代码块 141
省略记法 142
字符串 143
数组和循环 143
类 145
小结 146
3.5 Lua 148
示例程序 149
数据类型 149
函数 150
表 150
元表 151
方法调用的实现 153
基于原型编程 155
和Ruby的比较(语言篇) 157
嵌入式语言Lua 157
和Ruby的比较(实现篇) 158
嵌入式Ruby 159
第4章 云计算时代的编程 163
4.1 可扩展性 163
信息的尺度感 163
大量数据的查找 164
二分法查找 165
散列表 167
布隆过滤器 169
一台计算机的极限 170
DHT(分布式散列表) 171
Roma 172
MapReduce 173
小结 174
4.2 C10K问题 175
何为C10K问题 175
C10K问题所引发的“想当然” 177
使用epoll功能 180
使用libev框架 181
使用EventMachine 183
小结 185
4.3 HaShFold 186
HashFold库的实现(Level 1) 187
运用多核的必要性 190
目前的Ruby实现所存在的问题 191
通过进程来实现HashFold(Level 2) 191
抖动 193
运用进程池的HashFold(Level 3) 194
小结 197
4.4 进程间通信 198
进程与线程 198
同一台计算机上的进程间通信 199
TCP/IP协议 201
用C语言进行套接字编程 202
用Ruby进行套接字编程 204
Ruby的套接字功能 205
用Ruby实现网络服务器 208
小结 209
4.5 Rack与Unicorn 210
Rack中间件 211
应用程序服务器的问题 212
Unicorn的架构 215
Unicorn的解决方案 215
性能 219
策略 220
小结 221
第5章 支撑大数据的数据存储技术 221
5.1 键-值存储 225
Hash类 225
DBM类 226
数据库的ACID特性 226
CAP原理 227
CAP解决方案——BASE 228
不能舍弃可用性 229
大规模环境下的键-值存储 230
访问键-值存储 230
键-值存储的节点处理 231
存储器 232
写入和读取 233
节点追加 233
故障应对 233
终止处理 235
其他机制 235
性能与应用实例 236
小结 236
5.2 NoSQL 237
RDB的极限 237
NoSQL数据库的解决方案 238
形形色色的NoSQL数据库 239
面向文档数据库 240
MongoDB的安装 241
启动数据库服务器 243
MongoDB的数据库结构 244
数据的插入和查询 244
用JavaScript进行查询 245
高级查询 246
数据的更新和删除 249
乐观并发控制 250
5.3 用Ruby来操作MongoDB 251
使用Ruby驱动 251
对数据库进行操作 253
数据的插入 253
数据的查询 253
高级查询 254
find方法的选项 256
原子操作 257
ActiveRecord 259
ODMapper 260
5.4 SQL数据库的反击 264
“云”的定义 264
SQL数据库的极限 264
存储引擎Spider 265
SQL数据库之父的反驳 265
SQL数据库VoltDB 268
VoltDB的架构 269
VoltDB中的编程 270
Hello VoltDB! 271
性能测试 273
小结 275
5.5 memcached和它的伙伴们 276
用于高速访问的缓存 276
memcached 277
示例程序 278
对memcached的不满 279
memcached替代服务器 280
另一种键-值存储Redis 282
Redis的数据类型 284
Redis的命令与示例 285
小结 289
第6章 多核时代的编程 293
6.1 摩尔定律 293
呈几何级数增长 293
摩尔定律的内涵 294
摩尔定律的结果 295
摩尔定律所带来的可能性 296
为了提高性能 297
摩尔定律的极限 302
超越极限 303
不再有免费的午餐 304
6.2 UNIX管道 305
管道编程 306
多核时代的管道 308
xargs——另一种运用核心的方式 309
注意瓶颈 311
阿姆达尔定律 311
多核编译 312
ccache 313
distcc 313
编译性能测试 314
小结 315
6.3 非阻塞I/O 316
何为非阻塞I/O 316
使用read(2)的方法 317
边沿触发与电平触发 319
使用read(2)+select的方法 319
使用read+O_NONBLOCK标志 321
Ruby的非阻塞I/O 322
使用aio_read的方法 323
6.4 node.js 330
减负 330
拖延 331
委派 332
非阻塞编程 333
node.js框架 333
事件驱动编程 334
事件循环的利弊 335
node.js编程 335
node.js网络编程 337
node.js回调风格 339
node.js的优越性 340
EventMachine与Rev 341
6.5 ZeroMQ 342
多CPU的必要性 342
阿姆达尔定律 343
多CPU的运用方法 343
进程间通信 345
管道 345
SysV IPC 346
套接字 347
UNIX套接字 349
ZeroMQ 349
ZeroMQ的连接模型 350
ZeroMQ的安装 352
ZeroMQ示例程序 352
小结 354
版权声明 356
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《代码少女 上》黑眼圈著 2019
- 《现代艺术的源代码=THE SHORT STORY OF MODERN ART》(英)苏西·霍奇著 2020
- 《HTML5,CSS3,JavaScript开发手册》孟庆昌,王津涛编著 2013
- 《家电维修完全掌握丛书 电磁炉维修技能完全掌握》孙立群编著 2012
- 《高等学校教材 C语言程序设计》刘达明,陈昌志,王宁等编著 2013
- 《质量监控与优化理论、算法及应用 基于计算智能视角》崔庆安著 2013
- 《新华大字典 最新修订版单色版》新华大字典编委会编 2011
- 《“十二五”普通高等教育本科国家级规划教材 计算机图形学 理论、工具与应用》魏海涛编著 2013
- 《HTML5+CSS3网页设计案例教程》姬莉霞主编;周改云副主编 2013
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019