Awebone's Blog

FreeCodeCamp学习笔记(二)

FreeCodeCamp学习笔记(二)

基本概念

软件概念

  • 软件是程序或在硬件上运行的程序,写入硬件的代码,两种软件类型是操作系统和应用软件。

  • 有三个主要的操作系统:Windows,Mac和Linux。

  • 应用范围包括所有其他软件,如Web浏览器,游戏,还有像Photoshop,查看邮件,编辑文档的软件等。

CDN

  • 内容传递网络(CDN)是一种分布式服务器(网络),基于用户的地理位置向用户分发网页和其他Web内容,网页和内容分发服务器的起源。

  • CDN的目标是建立更高质量的网络连接。

  • CDNs通过为用户和用户目标站点之间建立快速通道或提供更快的建立在其他服务器上的镜像站点来达成目标。

  • 这个概念和这种类型的服务不是创新型的想法,但是它正使互联网更加普及。

  • 网站付费使用CDN服务,而CDN反过来you向因特网提供商付费来使用他们的服务和数据。

  • 谷歌托管库就是一种CDNs – developers.google.com/speed/libraries/#jquery

  • 谷歌托管那些(常用的)库,比起你自己(在自己的服务器上)部署这些库,你的用户就可以更快的访问到它。

  • 有可能的话,用户浏览器甚至会存储已经访问过的网站的缓存。

模拟与数字转换和压缩

  • 一个模拟声波可能看起来像任何东西,例子中它是一条波浪线。

  • 计算机采集和测量很多很多不同的点。把他们转化为数字,这就是所谓的采样。之后,计算机可以使用这些数字,并再次把它们变成声音。

  • 压缩的好处是,它是一个更小的文件:它更容易储存,它更容易发送给其他人,它只是占用更少的空间。

  • 压缩声音的一种常用方法是以更低的频率采样。

  • 另一种方式是,它从一个中点而不是0开始采样,所以所采集的数字更小。

  • 在图像中,它是通过测量一组16个的像素来压缩,而不是独立的。

  • 视频中减掉的部分是你想使用一个高质量的数字文件,但当你在压缩时,你需要决定压缩到何种程度以确保用户仍然有最好的体验。

联网

  • 路由器是连接不同的小范围网络的东西。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
我想打个比方:我是一名教师,我在一所学校工作。
假如说我有一个包,并且我需要把它送给我在民政事务处工作的人。
我不知道她在哪里,我不知道她的办公室所在地,但我知道她的名字。
我找我的秘书,像我的第一台路由器,我说"嘿,我需要找在民政事务处的某某,你能帮帮我吗?",她会说:"当然,我不知道她的办公室准确位置,但我知道,下一步,我可以找到她所在的区域。"
于是,她继续并将其它发送至到民政事务处的秘书,下一个路由器。
那秘书不知道我是谁或者我在哪里,但她看到包装上的名称,知道结束位置。
我想要去表达的是每个路由器只需要知道自己的小网,就在它旁边的站点。
它不必知道整个互联网,但只是它自己的连接。
它可以获取信息并说,好吧,我不知道确切位置这回事,但我会在正确的方向传递下去吧。
这就是它所需要做的事。
  • 路由器可以是不同的尺寸,不同容量,但他们做的是知道自己的邻居,获得信息,并传递向正确的方向。

  • 路由器甚至不必须有完整的包的信息。

  • 如果一台电脑正试图将信息发送到另一个时,数据可能会在不同的路由器之间分开,但是这没问题。计算机仍然知道如何正确地把信息重新组合到一起。

  • 所发送信息的小碎片被称为数据包。包实际上是一小段二进制代码。

  • 这是一个数据包的样子的示例,一段电流的视觉表示,计算机可以把它转化为1和0的,这就是我们所知道的二进制,可以代表任何数字数据。

  • 这些小数据包通过路由器发送,并且如果一个文件是用一个信息包(发送)太大,它可以被分成帧(较小的小数据包)。帧发送到目的地不必采用相同的路由。

  • 他们可以决定哪个路由是开放的,取其速度最快,而且因为它们具有IP地址,所有的路由器知道从哪里发送。一旦他们到达终点目的地,计算机知道如何把所有的信息重新拼合到一起。

源代码,解释器和编译器

  • 源代码本身是程序员创建的文本文档:他们键入它,它的字母,数字和符号。

  • 如果你把这个给别人,让他们看看在他们的电脑查看这个文档,这没法帮助他们查看电子邮件,它不是一个浏览器,它只是一个文本文档。

  • 计算机必须有一种解释它的东西,并使一些有用的东西可以运行于它。

  • 有两种主要的方法是这样做:无论是由一个解释器或编译器。

  • 每个浏览器都有一个解释器,这就是JavaScript如何被处理的。

  • 其他的语言,像C++,使用编译器。

  • 与解释器不同的是,编译器将其所有的工作都放在了程序员的端上。

  • 他们发送他们的包,他们的产品,它已经被编译,它已经可以在一台机器上运行。

  • 然而,JavaScript,和其他的解释型语言,您只需编写JavaScript,用户端的浏览器有能力解释它所以你不需要编译它。

硬件基础知识

硬件组成

计算机由4个基本部分组成:输入、输出、CPU(中央处理器)、存储器。

  • 输入是你放入计算机的东西。

  • 输出是你在显示屏上所看见的或在扬声器里所听见的。

  • CPU代表中央处理单元,并且当我们提到计算机时都能想起它。CPU是实现功能,运行软件的部分,由CPU来操作数据。

  • 存储器是我们存储数据和信息的地方。CPU对存储器具有独占访问权。你无法通过输入和输出来访问内存而不使用CPU。

    • 现在存储器可以分为短期存储器, 称作RAM, 或者是长期存储器.

    • 长期存储器通常是硬盘, 但是也可以是使CD-ROM或者是闪存设备, 或是任何这一类的。

除了这四个基本部分, 我们今天还有另外三样东西要谈论: 主板,扩展槽和电源。

  • 主板是连接这些硬件的东西。当这些数据到处流动试图找出该去哪时, 主板帮助他们导流他们,使他们去向正确的地方

  • 扩展卡是声卡,显卡,这类可以提升用户体验的东西。

  • 电源, 就像他的名字一样, 给我们的计算机提供电力。它通常是一个部件并有一个风扇在上面来帮助它散热。

    • 一个芯片全是由成千上万的晶体管(一种只能是0或1的开关)组成的

    • 所有的这些晶体管塞进了一个芯片里,并且这就是芯片存储信息的方式。

    • 在一个芯片上集成的晶体管数量决定了芯片的大小和速度

    • 摩尔定律是观察到自从1965年芯片上的晶体管数量每两年增加一倍的一种规律。

    • 二进制码是一种非常常见的计算机语言,它只能是1或0,也是on(开)或关,1代表on(开),0代表off(关)。

数据

数据大小

  • 最小的单位我们称之为1比特(bit)。比特(bit)只能是0或1, 也就是回到我们一直在学习的二进制。

  • 字节, 很常见, 8比特(bit)。很多东西都可以用二个字节来表示。

  • 下一步是KB, 1024个字节, 或者8192个比特(bit).

  • 之后是MB, 1024个字节的2次方。

  • 之后就是GB了, 1024个字节的3次方; TB, 1024个字节的4次方, 和PB, 1024个字节的5次方。

数据的速率

  • 数据速率不同于数据大小, 通常是计算每秒多少比特, 而大小是计算有多少比特。

  • 一旦我们涉及到指数级,数据速率的表示就有了很大的不同

  • 怎么讨论数据速率取决于我们在讨论的东西。

    • 在音频下载中,我们使用KB/s

    • 网速,我们使用MB/s。如果你看到你的网速有多少多少比特每秒,记住它永远比按你提到数据大小时的字节小8倍。

    • 网络中, 我们用GB/s (十亿比特每秒!)。

  • 这里主要选取方式是速度是按比特来计算而大小是按字节来计算。

超级计算机

  • 一种使用一种叫做并行处理的技术同理用很多CPU处理同一问题的计算机。

服务器

  • 服务器拥有并访问大量的数据或程序。

工作站

  • 一种和个人电脑非常相似的计算机, 但是更耗能且贵的多。

微控制器

  • 一种可能你汽车里都有的计算机,它非常擅长处理小型的特定的任务但是不可以像个人计算机那样操作和使用。

  • 主板的构成是处理器和内存之间的桥梁-如果它不这样做,它就不是一个主板。但是大多数主板要比这个功能多的多。主要是它们有扩展槽和接口。

    • 扩展槽使你可以任意插入提高计算机性能的东西,而不需要让中央处理器负担更多。

    • 举个例子,显卡和声卡可以提供更好的声音和更出色的显示效果从而显著提升用户体验,却不会拖慢电脑。

    • 网卡也可以插进扩展槽。

    • PC和扩展卡在笔记本上很常见,并且扩展卡因为他们尺寸很小被合并到了主板上。

    • 在电脑上,你会知道有一个地方链接USB,电源接口,SD卡,以太网,甚至是一个音频插孔来通过耳机听声音。它们都是接口,主板上一个可以连接外源到CPU来获取或者给予信息的地方。

数据网络

三种类型:局域网(LAN),广域网(WAN),虚拟专用网(VPN)。

  • 局域网就像是一小组计算机连接在了一起。局域网最重要的是这些计算机离得很近。

  • 广域网是两个,三个或者更多的局域网长距离的连接起来。

    • 你也许认为他们通过因特网(Internet)相连接,对于VPN来说(虚拟专用网,设计上和广域网相似),你是对的。

    • 一个广域网通常租用来自因特网公司的电缆来创建连接。

  • 因特网(Internet)的第一部分:因特网是如何工作的。

    • IP地址:你可能已经习惯了每个设备都有它自己的IP地址,就像一个房子有它自己的地址一样。

    • 如果一个设备没有IP地址因特网不能向它分发数据。

    • 不止设备有,猫(modem)和路由器(router)也有,数据传输路上的每一步都有。

    • IP地址由位置所决定,起始于5个大型国际地区。

    • 从左到右,数字意味着你的位置。