计算机是怎样跑起来的(读书笔记)

计算机是怎样跑起来的
  • 计算机的三大原则
    • 计算机的三个根本性基础
      • 输入、运算、输出是硬件的基础
      • 软件是指令和数据的集合
      • 计算机的处理方式和人们的思维习惯不同,对计算机来说什么都是数字
    • 只要理解了三大原则,即使遇到难懂的最新技术,也能轻松应对
    • 为了贴近人类,计算机在不断地进化
  • 试着制造一台计算机吧
    • 制作微型计算机所必须的元件
    • 电路图的读法
    • 连接电源、数据和地址总线
    • 连接 
    • 连接时钟信号
    • 连接用于区分读写对象是内存还是I/O的引脚
    • 连接剩余的控制引脚
    • 连接外部设备,通过MDA输入程序
    • 连接用于输入输出的外部设备
    • 输入测试程序并进行调试
  • 体验一次手工汇编
    • 从程序员的角度看硬件
    • 机器语言和汇编语言
    • Z80 CPU的寄存器结构
    • 追踪程序的运行结果
    • 尝试手工汇编
    • 尝试估算程序的执行时间
  • 程序像河水一样流动
    • 程序的流程分为三种
    • 用流程图表示程序的流程
    • 表示循环程序块的“帽子”和“短裤”
    • 结构化程序设计
    • 画流程图来思考算法
    • 特殊的程序流程---中断处理
    • 特殊的程序流程---事件驱动
  • 与算法成为好朋友
    • 算法是程序设计的“熟语”
    • 算法中解决问题的步骤是明确且有限的
    • 计算机不靠直觉而是机械地解决问题
    • 了解并应用典型算法
      • 辗转相除法
      • 埃拉托斯特尼筛法
      • 顺序查找
      • 二分查找
      • 哈希查找
      • 冒泡查找
      • 快速排序
    • 利用计算机的处理速度
    • 使用编程技巧提升程序执行速度
    • 找出数字间的规律
    • 先在纸上考虑算法
  • 与数据结构成为好朋友的七个要点
    • 了解内存和变量的关系
    • 了解作为数据结构基础的数组
    • 了解数组的应用---作为典型算法的数据结构
    • 了解并掌握典型数据结构的类型和概念
    • 了解栈和队列的实现方法
    • 了解结构体的组成
    • 了解链表和二叉树的实现方法
  • 成为会使用面向对象编程的程序员吧
    • 面向对象编程
    • 对OOP的多种理解方法
      • 面向对象编程通过把组件拼装到一起构建程序
      • 面向对象编程能够提升程序的开发效率和可维护性
      • 面向对象编程是适用于大型程序的开发方法
      • 面向对象编程就是在为现实世界建模
      • 面向对象编程可以借助UML设计程序
      • 面向对象编程通过在对象间传递消息驱动程序
      • 在面向对象编程中使用继承、封装和多态
    • 类和对象的区别
    • 类的三种使用方法
      • 通过继承使用
      • 通过类里面定义其他的类的对象
      • 调用类的成员
    • 在Java和.NET中有关OOP的知识不能少
  • 一用就会的数据库
    • 数据库是数据的基地
    • 数据文件、DBMS和数据库应用程序
    • 设计数据库
    • 通过拆表和整理数据实现规范化
    • 用主键和外键在表间建立关系
    • 索引能够提升数据的检索速度
    • 设计用户界面
    • 向DBMS发送CRUD操作的SQL语句
    • 使用数据对象向DBMS发送SQL语句
    • 事务控制也可以交给DBMS处理
  • 通过七个简单的实验理解TCP/IP网络
    • 实验环境
      • 查看网卡的MAC地址
      • 查看计算机的IP地址
      • 了解DHCP服务器的作用
      • 路由器是数据传输过程中的指路人
      • 查看路由器的路由过程
      • DNS服务器可以把主机名解析成IP地址
      • 查看IP地址和MAC地址的对应关系
    • TCP的作用及TCP/IP网络的层级模型
  • 试着加密数据吧
    • 什么是加密
    • 错开字符编码的加密方式
    • 密钥越长,解密越困难
    • 适用于互联网的公开密钥加密技术
    • 数字签名可以证明数据的发送者是谁
  • XML究竟是什么
    • XML是标记语言
    • XML是可扩展的语言
    • XML是元语言
    • XML可以为信息赋予意义
    • XML是通用的数据交换格式
    • 可以为XML标签设定命名空间
    • 可以严格地定义XML的文档
    • 用于解析XML的组件
    • XML可用于各种各样的领域
  • SE负责监管计算机系统的构建
    • SE是自始至终参与系统开发过程的工程师
    • SE未必担任过程序员
    • 系统开发过程的规范
    • 各个阶段的工作内容及文档
    • 所谓设计,就是拆解
    • 面向对象法简化了系统维护工作
    • 技术能力和沟通能力
    • IT不等于引进计算机
    • 计算机系统的成功与失败
    • 大幅度提升设备利用率的多机备份

你可能感兴趣的:(学习生活)