胡说八道之云服务
杭州的云服务建设的非常快。
下图中白云的后面就有非常强大的软硬件储备,撑起了几乎整个中国互联网的基础建设。

与微软亚马逊等科技公司不同,国外巨头一般把服务器存放在大海里,方便散热降低能耗。
杭州的云服务建设的非常快。
下图中白云的后面就有非常强大的软硬件储备,撑起了几乎整个中国互联网的基础建设。
与微软亚马逊等科技公司不同,国外巨头一般把服务器存放在大海里,方便散热降低能耗。
所有应用层层面的数据,如果需要进行网络传输,必定需要ip地址这个核心参数。没有ip地址的包,是不可能发出去的,都过不了网卡。因为网卡不知道要把这个包传到哪里去。
而ip地址人类很难记忆,所以很多服务都是通过域名进行访问。域名是比较方便记忆,但是网络又不认,因为网络无法根据域名进行数据传输,即域名没有定位功能。
所以所有的应用层的域名访问,都需要DNS协议解析成ip地址后才能够封包发送,ip有定位功能。如果一个应用层服务直接通过ip地址访问另一个服务,那么是完全不用DNS做一次ip地址解析的。
我们的域名是需要从特定的服务商进行购买,在服务商处会进行ip地址的配置。而DNS协议的根据就是层层服务商解析,问根域,返回顶级域,问顶级域,返回权威域,这样通过.com
、.cn
等不同服务商的判断,最终落实并返回一个确定的ip地址。
DNS协议是系统层级的操作,应用层无需关心,系统通过DNS协议拿到ip地址后会给到应用层,然后应用层将ip地址传递到传输层进行网络数据封包。
为了效率问题,系统会进行DNS的缓存以加快解析速度,并且还会设置有效期以较少误差。
比较例外的是hosts文件。在这里配置的信息具有第一优先级,系统如果在hosts中找到了对应的域名和ip地址的映射,则不再进行DNS请求而直接返回映射数据。
DNS 会有劫持问题,在移动端会使用 HTTPDNS 技术。DNS 有一个非常重要的大杀器,就是做负载均衡。
1.开发同学一定要了解字符集和编码。
2.没有 “Unicode 编码” 一说, Unicode 不是编码,是标准。
3.认识字符、字节、字符集、编码的区别,如果不理解,不要胡诌乱造以讹传讹,对别人影响很大。
假设你已经查阅了很多关于 Unicode 、UTF8 等之间的关系,并且有了很好的认知。毕竟这博客太低微了,能找到并打开这个链接,那肯定都是看过十几个其他博文的解读了。
本篇博文重点描述编码认知过程中的几个坑点,这个很重要。
对 CPU 的一点简要说明。
如果你是对CPU的制作有一些模糊,或者希望通过其他博文来验证你的想法,那么下面一些认知或许对你有一些帮助。
大到宇宙飞船,小到PC、手机、冰箱,无一没有芯片的影子。
各位一定都对芯片有很多认知了,我们不需要多做说明,没有芯片,就没有新时代。从真空三极管到锗晶体管到硅晶体管,每一步都是一次跃迁。
原材料首当其冲的是高纯度硅。通过把高纯度的硅融化,用一个引子伸入容器,不断的让硅附着生长在引子上面。我们可以想象明矾的制作过程。
引子不断的往上提,最后一个很重的圆柱形硅淀就形成了。
这个圆柱形直径有10厘米+。
然后通过机器切割,从上往下,切割一个豁口或者一个边,这个豁口或者边,是为了客户进行晶圆制作的时候辨认方向用的。因为最终晶圆不是100%利用的,这个豁口或者边,是肯定不会用到的。
然后,对整个圆柱形硅切割成晶圆。每个晶圆对直径也还是10厘米+,但是厚度只有3毫米左右。这样的一片片晶圆,就是后面集成电路的原材料了。
所以,晶圆其实是很大的一个圆盘,比普通人的一张脸,还是要大一些的。
我有一个梦想,因为这个梦想,我也产生过心里的孤独。
今天我索性大胆的把自己的念想写出来,也把自己孤独的过程表达出来。
如果屏幕前的你看完心里也会产生一些奇思妙想,那我们或许可能很好的沟通下去。如果有共鸣,如果旅途方向再一直,陌生人我也愿意为你背负行囊。
比特是计算机存储的最小存储单元
。我们认知到的数字3
,在计算机的存储里(硬盘或者内存)的结构是这样的:00000011
,也就是我们理解的二进制。
所以这个数字3
是由8位组成的。每位有0
和1
两种变化。
比特存储,是计算机的基石。我们在互联网上通行的一切,如图片、音视频、文字,甚至各位的博客、App、电子书等等,能想到的能通过互联网传输的一切,都是比特存储。
举个例子,我们看的一张图片,在磁盘上的存储,或许就是这样子:0101011101010101010111101011110101010101100***(省略100000000个)***1010100111010101
。
1字节(byte)=8比特(bit)
我们刚才说到的数字3
,就是一个字节,在磁盘上就是00000011
。(为了便于理解,实际可能是00000000 00000011
,或者00000000 00000000 00000000 00000011
)。
1KB = 1024B(2的10次方)
1MB = 1024KB(2的10次方)
1GB = 1024MB(2的10次方)
这些大小的计算都是定死的规则。规则很重要,有了规则才能合作。
今天,在公司卫生间里面,看到了这个“每天努力0.01”和“每天懈怠0.01”一年后的差距,颇为感触。
不过我不是因为这两个差距的比较产生心里的鸡汤,而是引发了一些关于努力的思考。
什么算是努力?好人一定要好报吗?
1 | update 2023.09.21 |
今天去社区一个牙科诊所洗牙了。
现在已经洗牙归来,本来不是什么天大的个人事情需要在博客里面说一遍。
但是我忍不住自己的喜悦,所以一定想要推荐没有洗牙习惯的朋友,一定要去一次。
这是脱胎换骨的体验。
1、RACSiganl 信号类。
RACEmptySignal :空信号,用来实现 RACSignal 的 +empty 方法;
RACReturnSignal :一元信号,用来实现 RACSignal 的 +return: 方法;
RACDynamicSignal :动态信号,使用一个 block - 来实现订阅行为,我们在使用 RACSignal 的 +createSignal: 方法时创建的就是该类的实例;
RACErrorSignal :错误信号,用来实现 RACSignal 的 +error: 方法;
RACChannelTerminal :通道终端,代表 RACChannel 的一个终端,用来实现双向绑定。