首发于 计算机科学速成课
【21-30】计算机科学速成课- Carrie Anne

【21-30】计算机科学速成课- Carrie Anne

21、压缩

目的:相同的文件,占据更少的存储空间

【方式1】消除冗余——减少重复信息

游程编码

【方式2】紧凑代码表示——霍夫曼树编码(字典压缩法)

霍夫曼树生成字典:1950年代大卫* 霍夫曼发明
编码
字典 + 编码后数据

第一步:统计所有块出现频率

第二步:每次选择频率最低的两个组成树,频率变更为节点之和,直到形成一个按照频率分层的树形结构

第三步:每个二叉编码为0或1,生成字典

第三步:编码

第四步:字典 + 编码后数据

【方式1】感知编码——删除人类无法感知数据,减少人类感知弱的数据

skype软件因为网络速度下降,压缩算法减少精度——声音逐渐失真

音频——mp3

图片——JPEG

视频——时间冗余(每一帧画面中存在大面积相同图案 + 只是少量像素位置变化)MPEG-4

视频有损压缩——解码异常时案例

22、命令行

人机交互概念:计算机和人类间信息交换 —— 输出:计算机→人类 & 输入:人类→计算机 *

现代打字机 和 电传打字机

打字机目标:易读性和标准化

打字机速度提升:1880年代十指打字 和 盲打 普及

转移成本:当人们熟悉最早的QWER布局,适应其它布局键盘将额外费时费力

基于打字的人机交互:键入命令,计算机执行并打印输出响应信息

屏幕最早出现在1950年代,由于分辨率低和价格高,直到1970年代屏幕才代替电传打字机

终端(屏幕和键盘):虚拟电传打字机、玻璃电传打字机

1971年美国大约有7万台电传打字机和7万个终端。1970年代末,屏幕成本标配


命令行交互

编程

早期交互式文字游戏:1977年Zork → 多人游戏MUD/多人地牢游戏 → MMOrpg大型多人在线角色扮演游戏


打开现代计算机终端 windows——cmd Mac——Terminal 尝试安装游玩Zork

23、屏幕和二维图形显示

早期屏幕用途:追踪程序运行情况、显示临时变量、图形绘制

1960年计算机PDP-1:文本任务和图形显示任务独立——屏幕分辨率低,显示文字不清晰
磁场控制电子CRTs阴极射线管 显示:发射电子撞击屏幕磷光图层发光,磁场控制带负电荷电子偏移
矢量扫描——引导电子束描绘图形 VS 逐行扫描——按照固定路径一行行扫描,仅在特定点打开电子束
基于红绿蓝像素 和 光栅扫描
基于字符集的字符显示 & 基于字符的图像

早期计算机内存小,采用字符编码(ASCII→ IBM CP437,额外色彩编码……)配合字符生成器显示,更省存储

第一代显卡(字符生成器):自带ROM存储符号点阵,从内存中屏幕缓冲区读取信息,转换为光栅图形显示

矢量 和 基于矢量的电子游戏spacewar
1962年sketchaped——用于计算机辅助设计CAD的交互式图形用户界面——第一完整图形程序

帧缓冲区(内存)→VRAM(显存)

8bit图像——256灰度等级

基于函数指令填充像素表示图形:直线、曲线、图形、文字等


位图显示更加灵活,代价高昂 持续了数年(1971年只有约1000台电脑有交互式图形界面)

24、冷战和消费主义

二战中计算机发挥重要作用,美苏冷战时政府将大量资源投入科学和工程领域。早期计算机依赖政府投入快速发展

首个商业成功计算机型号:Univac 1—成功预测1952年美国大选,使得计算机进入公众视野;首个批量生产型号

【晶体管普及】

1940年代真空管收音机 VS 1950年代晶体管收音机

晶体管收音机更小、更耐用、只需电池更便携

日本获取贝尔实验室晶体管授权,1955年索尼推出TR-55晶体管收音机,5年内占据一半美国便携收音机市场

【苏联】1950年第一个可编程电子计算机

【美苏太空争霸】

1957年苏联发射人类第一个卫星 Sputnik 1

1961年苏联将第一个太空宇航员 尤里* 加加林送进太空

美国NASA预算占政府财政收入比例变化

美国阿波罗登月计划——阿波罗导航计算机(计算要快、体积小&重量轻、超高可靠性)——集成电路

洲际导弹和核弹等军事设施和超级计算机——推动集成电路大规模生产

早期美国半导体依赖政府高利润订单,1950-1960年代日本依靠模经济&自动化 降低成本占领半导体消费者市场

1970年代夏普、卡西欧等日本公司的集成电路产品成为主流,例如:手持计算器

基于微处理器的其它电子产品:电视、手表、随身听、游戏机(1972年Pong、1976年打砖机)

1975年Altair 8800——第一批家用电脑 & 1977年Atari 2600——第一款家用游戏机


政府投入,推动计算机早期发展,维持计算机行业生命力和技术成熟到商用

公司和消费者让计算机成为主流

25、个人计算机革命

1970年代末,计算机各个组件成本下降,性能强大——个人计算机时代

【硬件】允许用户购买零件组装,推动内存、纸带读取器、电传接口等硬件出现

第一个商业成功个人计算机——Altair 8800

【编程】机器码→Altair BASIC:比尔*盖茨 & 保罗*艾伦推出首个依赖解释器的编程语言

【社区】大量计算机爱好者小组,例如 家酿计算机俱乐部

1976年Steve Wozniak免费分享展示自行设计的计算机原型机——电视呢显示、提供文本界面

1976年7月,史蒂夫*乔布斯——Apple -1计算机:免费分享→出售预装主板(用于需要额外加键盘、电源、机箱)

【硬件】

1977年市面上三种开箱即用计算机:自带basic解释器,方便编程
Apple-2(首个全配套个人计算机:良好设计和制造、简单色彩和声音输出)
TRS-80-1(价格更便宜)
Commodore PET 2001(一体化设计:集成计算机、显示器、键盘、磁带驱动器)

【软件】游戏和各种生产力工具——计算器、文字处理器、最早的电子表格(1979年VisiCalc)

IBM忽视微型计算机市场:份额下降1970年60%→1980年30%;

推出采用开放式架构(IBM兼容)的个人计算机——IBM PC——良好文档、扩展槽、方便拓展其它硬件

微软将MS-DOS授权给其它计算机品牌——MS-DOS成为最受欢迎的PC操作系统


Apple从硬件到软件full-stack保持封闭架构——保证用户体验和较高可靠性

1984年Apple发布Macintosh——一体式计算机,首个图形用户界面+鼠标

26、图形用户界面

现代图形界面先驱:道格拉斯*恩格尔巴特

二战期间作为驻菲律宾雷达操作员,阅读Vannevar Bush的Memex文章

1955年在UCB获取博士学位

1962年报告“增强人类智力”:除了自动化,应借助计算机辅助解决复杂知识性问题

1964年,和同事比尔*英格利希研发便于使用屏幕进行人机交互的鼠标

1968年在“秋季计算机联合会议”历史首个演示:位图图像、视频会议、文字处理、协多人作等计算机功能

包含现代图形用户界面原型:鼠标光标 + 多窗口;过于超前,商业失败

1997年获得图灵奖

1970年代政府资金减少,道格拉斯*恩格尔巴特团队成员进入施乐的“帕洛阿尔托研究中心Xerox PARC“

1973年Xerox PARC开发带GUI计算机:XEROX ALTO

特点1:引入计算机桌面、窗口、文件堆叠等

特点2:WIMP Interface:用窗口、图标、菜单和指针设计图形界面

特点3:提供可复用基本显示元素(按钮、勾选框、滑动条、标签页等)

1981年发布系统”施乐之星“,引入计算机文件夹和文件

施乐首先使用术语:剪切、复制、粘贴——编辑打字机文件 & 计算机显示和纸张打印相同(所见即所得)

过于领先,价格昂贵,销量不佳

GUI事件驱动编程:GUI代码需要在任意时间可执行,响应事件

1979年12月乔布斯去施乐参观,完全基于鼠标的图形界面直观操作——计算机产业的未来

新功能:菜单栏、垃圾桶

1983年首个GUI + 鼠标计算机——Apple Lisa(价格过于昂贵,失败)

1984年Apple Macintosh发布,有销量但缺少可使用软件

价格更加低廉的原始图形用户界面计算机受到市场欢迎,影像apple营收

乔布斯和Apple新CEO关系紧张→被扫地出门

Windows 1.0 发布,基于非图形化的DOS系统开发

Windows 3.1后微软面向消费者开发的新的GUI操作系统Win95(多任务、受保护内存、开始菜单、任务栏、文件管理器)

微软另类图形化操作系统:Microsoft Bob

27、三维图形显示

xy坐标系 VS xyz坐标系
3D投影:通过图形算法将3D图形坐标显示到2D的屏幕上 ; 线框渲染:使用2D线段函数连接3D投影的全部点
正交投影:立方体各个边在投影后保持相互平行状态 VS 透视投影:真实3D世界中平行线段投影后会在远处收敛
三点确定一个平面,三角形(多边形)更适合表示复杂3D图形
多边形网格表示3D图形,通过多边形数量控制精细度
线扫描 ; 抗锯齿

线扫描:3D图形中单个三角形平面逐行扫描,填充像素

抗锯齿:正常填充多边形中的像素,对于多边形边缘的像素浅化颜色,减轻图形边缘锯齿感

遮挡:3D图形在某一时刻,只有部分被显示,另一部分被遮挡不显示

画家算法:由远到近排序后渲染 VS Z-Buffering算法:记录像素距离摄像机的距离,划分像素渲染层次

【问题1】:Z-fighting——两个多边形存在部分像素与摄像机距离相同

【问题2】多边形内存中位置变化导致访问顺序变化

【问题3】浮点计算误差

案例:背面剔除技术——实际只渲染多边形正面,不渲染反面,节省渲染时间。进入模型内部后部分平面消失

未明暗处理 VS 表面法线/平面着色(单一颜色着色) VS 高洛德着色和冯氏作色(用多个颜色着色)
纹理映射:使用现成纹理图案渲染多边形

专用硬件,例如GPU & 将3D场景拆分成若干小部分,并行渲染

28、计算机网络-互联网

1950-1960年代,第一种计算机网络,用途:公司或研究室内部信息交换

特点:比搬运纸卡或磁带更快速可靠 & 可共享物理资源

典型局域网:1970年代施乐“帕洛阿尔托研究中心Xerox PARC”开发的以太网

【简单网络】所有设备共享信道,借助MAC地址(媒体访问控制地址)局域网中定位

【以太网】网络中计算机共享传输信道 VS (逻辑/物理)星形拓扑

CSMA载波侦听多路访问协议:共享信道的若干设备信息交换方式——监听信道,仅检测到信道空闲时发送信息

带宽:网络中两个设备间数据传输的速度

指数退避:单次信息发送前,检测到信道占用延后发送。延后次数越多,延后时间指数增加,避免网络拥塞

冲突域:共享信道的若干设备和信道载体本身

【复杂网络】交换机:将一个冲突域划分为两个小的冲突域,仅在跨冲突域信息传输时占用整个信道

网状拓扑
由若干局域网通过路由器组成的广域网
现代互联网:第一个分组交换网络ARPANET在1974年网络拓扑

29、计算机网络-因特网

因特网:使用TCP/IP协议族控制数据传输的互联网

IP数据报/分组:因特网中数据交换基本单位

两种IP数据报结构对比:UDP vs TCP

【UDP】无连接,开销小,网络质量要求低,数据最大限度送达

UDP通信——单向通信:一个发送、一个或多个接收

【TCP】建立连接,开销大,网络质量要求高,所有数据全部送达

TCP通信:一对一双向通信,双方同时作为发送方和接收方

阻塞控制:平衡网状结构中不同节点上的负载,确保数据传输快速可靠

【网络分层结构】按照功能层次划分互联网

应用层:能联网的互联网应用& 表示层:系统间信息交换格式及转换 & 会话层:连接建立与管理,有序数据传输

学习使用5层网络结构
分层网络结构中数据流向
域名层级 对应 分层DNS服务器
客户端访问DNS服务器顺序(一旦查询到域名返回IP,停止后续DNS服务器访问)

30、万维网

1990年Tim Berners-Lee建立第一个浏览器和服务器。1991年发布——万维网建立

web网页:万维网基本单位——单个页面,包含文字、图像、视频等 和链接到其它页面的超链接

HTML:超文本标记语言,用于内容组织和网络传输,可由浏览器渲染为web页面

URL:统一资源定位符号,唯一标识万维网中的网页。便于浏览器访问

HTTP:超文本传输协议,客户端和服务器端基于请求和响应交换数据

状态码:HTTP协议中,用于表示数据交换状态 :200—正常 、404—请求资源不存在、500—服务器内部错误

web页面——HTML文档(通过标签添加额外信息)

【互联网大繁荣】

开放标使得任何人可以开发新服务器和新浏览器
浏览器
1993年Mosaic浏览器——第一个文字和图像显示在一个页面的浏览器 & 书签功能等
其它浏览器:Netscape、Navigator、Internet Explorer、Opera、OmniWeb、Mozilla
服务器
Apache、微软互联网信息服务IIS
网站:
亚马逊、ebay

【搜索引擎】

万维网中网页众多,网址不易记忆和传播、粒度过大
web目录:Jerry and David‘s guide to the World Wild Web (雅虎前身)
1993年Jonathon Fletcher在斯特林大学创建第一个现代搜索引擎JumpStation
搜索引擎:【爬虫:不断将新链接加入自身列表】【索引:记录历史访问和单词】【搜索算法:查询索引方法】

搜索排名
早期依据网页中出现次数,无法避免恶意污染索引
Google: 前身1996年斯坦福大学BackRub项目,通过网页被链接数(而不是内容)判断可信度,避免信息污染


【支持】

防止商业公司 特别是互联网服务供应商,提升自身数据包优先级,节流(降低优先级和带宽使用)其它数据包

防止垄断,影响小公司和创新

【反对】

对于实时性要求不同的应用,用户有合理差异性需求
依靠市场竞争防止不良网络不良行为


注意:本文大量使使用网络素材

PHP网站源码哈密建网站价格舟山网站建设价格怀化网站关键词优化公司临汾关键词按天计费推荐布吉网站推广公司阜新英文网站建设霍邱SEO按效果付费推荐莆田企业网站制作哪家好梧州模板制作多少钱甘南优化哪家好漳州网站制作推荐铜仁百度竞价包年推广推荐广州百度网站优化排名价格衡水网站改版推荐德阳关键词按天计费公司南通网站seo优化推荐桂林seo网站推广公司平顶山网站优化软件哪家好铜川关键词排名多少钱广元网页设计哪家好吕梁网站推广工具公司西乡网站改版多少钱株洲网页制作报价安阳seo优化报价贵港seo网站优化多少钱绥化优化哪家好莱芜网站优化软件推荐塘坑关键词按天计费价格泉州网络营销哪家好醴陵外贸网站建设报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化