计算机是怎样跑起来的
出版信息
[日] 矢泽久雄 / 胡屹 / 人民邮电出版社 / 2015-5 / 39.00元
内容简介
本书倡导在计算机迅速发展、技术不断革新的今天,回归到计算机的基础知识上。通过探究计算机的本质,提升工程师对计算机的兴趣,在面对复杂的最新技术时,能够迅速掌握其要点并灵活运用。
本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。
图文并茂,通俗易懂,非常适合计算机爱好者和相关从业人员阅读。
作者简介
作者简介:
矢泽久雄
YAZAWA股份有限公司董事长兼总经理。GrapeCity信息技术集团顾问。电脑作家之友会会长。
曾在某大型电子公司从事过电脑生产,在Software House做过程序员,现主要从事软件开发工作。工作之余笔耕不辍,从电路到编程语言均有涉及。代表作有《程序是怎样跑起来的》《使用C语言学习程序设计的基础》《征服C++类和继承》等。自称软件艺人。
译者简介:
胡屹
多年从事Web开发工作。热爱编程,关注设计模式,致力于提升软件开发的质量。曾获得SCJP和PHP ZCE证书。
目录
第1章 计算机的三大原则 1
1.1 计算机的三个根本性基础 3
1.2 输入、运算、输出是硬件的基础 4
1.3 软件是指令和数据的集合 6
1.4 对计算机来说什么都是数字 8
1.5 只要理解了三大原则,即使遇到难懂的最新技术,也能轻松应对 9
1.6 为了贴近人类,计算机在不断地进化 10
1.7 稍微预习一下第2章 13
第2章 试着制造一台计算机吧 15
2.1 制作微型计算机所必需的元件 17
2.2 电路图的读法 21
2.3 连接电源、数据和地址总线 23
2.4 连接I/O 26
2.5 连接时钟信号 27
2.6 连接用于区分读写对象是内存还是I/O的引脚 28
2.7 连接剩余的控制引脚 29
2.8 连接外部设备,通过DMA输入程序 34
2.9 连接用于输入输出的外部设备 35
2.10 输入测试程序并进行调试 36
第3章 体验一次手工汇编 39
3.1 从程序员的角度看硬件 41
3.2 机器语言和汇编语言 44
3.3 Z80 CPU的寄存器结构 49
3.4 追踪程序的运行过程 52
3.5 尝试手工汇编 54
3.6 尝试估算程序的执行时间 57
第4章 程序像河水一样流动着 59
4.1 程序的流程分为三种 61
4.2 用流程图表示程序的流程 65
4.3 表示循环程序块的“帽子”和“短裤” 68
4.4 结构化程序设计 72
4.5 画流程图来思考算法 75
4.6 特殊的程序流程——中断处理 77
4.7 特殊的程序流程——事件驱动 78
COLUMN 来自企业培训现场 电阻颜色代码的谐音助记口诀 82
第5章 与算法成为好朋友的七个要点 85
5.1 算法是程序设计的“熟语” 87
5.2 要点1:算法中解决问题的步骤是明确且有限的 88
5.3 要点2:计算机不靠直觉而是机械地解决问题 89
5.4 要点3:了解并应用典型算法 91
5.5 要点4:利用计算机的处理速度 92
5.6 要点5:使用编程技巧提升程序执行速度 95
5.7 要点6:找出数字间的规律 99
5.8 要点7:先在纸上考虑算法 101
第6章 与数据结构成为好朋友的七个要点 103
6.1 要点1:了解内存和变量的关系 105
6.2 要点2:了解作为数据结构基础的数组 108
6.3 要点3:了解数组的应用——作为典型算法的数据结构 109
6.4 要点4:了解并掌握典型数据结构的类型和概念 111
6.5 要点5:了解栈和队列的实现方法 114
6.6 要点6:了解结构体的组成 118
6.7 要点7:了解链表和二叉树的实现方法 120
第7章 成为会使用面向对象编程的程序员吧 125
7.1 面向对象编程 127
7.2 对OOP的多种理解方法 128
7.3 观点1:面向对象编程通过把组件拼装到一起构建程序 130
7.4 观点2:面向对象编程能够提升程序的开发效率和可维护性 132
7.5 观点3:面向对象编程是适用于大型程序的开发方法 134
7.6 观点4:面向对象编程就是在为现实世界建模 134
7.7 观点5:面向对象编程可以借助UML设计程序 135
7.8 观点6:面向对象编程通过在对象间传递消息驱动程序 137
7.9 观点7:在面向对象编程中使用继承、封装和多态 140
7.10 类和对象的区别 141
7.11 类有三种使用方法 143
7.12 在Java和.NET中有关OOP的知识不能少 145
第8章 一用就会的数据库 147
8.1 数据库是数据的基地 149
8.2 数据文件、DBMS和数据库应用程序 151
8.3 设计数据库 154
8.4 通过拆表和整理数据实现规范化 157
8.5 用主键和外键在表间建立关系 159
8.6 索引能够提升数据的检索速度 162
8.7 设计用户界面 164
8.8 向DBMS发送CRUD操作的SQL语句 165
8.9 使用数据对象向DBMS发送SQL语句 167
8.10 事务控制也可以交给DBMS处理 170
COLUMN 来自企业培训现场 培训新人编程时推荐使用什么编程语言? 172
第9章 通过七个简单的实验理解TCP/IP网络 175
9.1 实验环境 177
9.2 实验1:查看网卡的MAC地址 179
9.3 实验2:查看计算机的IP地址 182
9.4 实验3:了解DHCP服务器的作用 184
9.5 实验4:路由器是数据传输过程中的指路人 186
9.6 实验5:查看路由器的路由过程 188
9.7 实验6:DNS服务器可以把主机名解析成IP地址 190
9.8 实验7:查看IP地址和MAC地址的对应关系 192
9.9 TCP的作用及TCP/IP网络的层级模型 193
第10章 试着加密数据吧 197
10.1 先来明确一下什么是加密 199
10.2 错开字符编码的加密方式 201
10.3 密钥越长,解密越困难 205
10.4 适用于互联网的公开密钥加密技术 208
10.5 数字签名可以证明数据的发送者是谁 211
第11章 XML究竟是什么 215
11.1 XML是标记语言 217
11.2 XML是可扩展的语言 219
11.3 XML是元语言 220
11.4 XML可以为信息赋予意义 224
11.5 XML是通用的数据交换格式 227
11.6 可以为XML标签设定命名空间 230
11.7 可以严格地定义 XML的文档结构 232
11.8 用于解析XML的组件 233
11.9 XML可用于各种各样的领域 235
第12章 SE负责监管计算机系统的构建 239
12.1 SE是自始至终参与系统开发过程的工程师 241
12.2 SE未必担任过程序员 243
12.3 系统开发过程的规范 243
12.4 各个阶段的工作内容及文档 245
12.5 所谓设计,就是拆解 247
12.6 面向对象法简化了系统维护工作 249
12.7 技术能力和沟通能力 250
12.8 IT不等于引进计算机 252
12.9 计算机系统的成功与失败 253
12.10 大幅提升设备利用率的多机备份 255