2019年10月20日
分类 CPU 其实内部已经含有一些小指令集,我们所使用的软件都要经过 CPU 内部的微指令集来达成才行。 那这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要 CPU 种类: 分别是精简指令集 (RISC) 与复杂指令集 (CISC) 系统。 精简指令集 (Reduced Instruction Set Computing, RISC): 这种 CPU 的设计中,微指令集较为精简,每个指……
阅读全文
2019年10月20日
磁盘接口分类 IDE:全称 Integrated Drive Electronics,即“电子集成驱动器”,俗称 PATA 并口。它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。IDE 代表着硬盘的一种类型,但在实际的应用中,人们也习惯用 IDE 来称呼最早出现 IDE 类型硬盘 ATA-1,这种类型的接口随着接口技术的发展已经……
阅读全文
2019年9月27日
历史问题 Q:明明是 string to int 为什么是 Atoi? A: Atoi (Ascii to Integer),Ascii 即上古时期的 string,流传至今 题目 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者……
阅读全文
2019年9月27日
概念准备 只有 UDP 套接字允许广播或多播 无状态 无连接 使用 UDP 协议进行信息的传输之前不需要建议连接。换句话说就是客户端向服务器发送信息,客户端只需要给出服务器的 ip 地址和端口号,然后将信息封装到一个待发送的报文中并且发送出去。至于服务器端是否存在,或者能否收到该报文,客户端根本不用管。 单播用……
阅读全文
2019年9月26日
Linux Control Group(简称 cgroup)是一个用于限制、统计和隔离进程的资源的特性 在虚拟化领域,如 qemu-kvm 和 linux container,cgroup 用常用来限制以下类型的资源: CPU time:进程占用的 CPU 时间 Memory:进程占用的物理内存 Block IO:进程访问块设备的 bandwidth 或 IOPS Network IO:进程访问网络的 bandwidth 或 packages 的数……
阅读全文
2019年9月25日
byte 实质上就是 uint8 类型。byte 用来强调数据是 raw data,而不是数字; rune 实质上就是 int32 类型。而 rune 用来表示 Unicode 的 code point。 uint8 the set of all unsigned 8-bit integers (0 to 255) int32 the set of all signed 32-bit integers (-2147483648 to 2147483647) byte alias for uint8 rune alias for int32 // byte is an alias for uint8 and is equivalent to uint8 in all ways. It is // used, by convention, to distinguish byte values from 8-bit unsigned // integer values. type byte = uint8 // rune is an alias for int32 and is equivalent to int32 in all ways. It is……
阅读全文
2019年9月25日
从今年年初就陆陆续续搭建过 1.13 ,1.15 版本,每次搭建都要在网上找 blog,自己虽有总结,却总不完善,现在(2019 年 9 月 24 日) 1.16 版本已经发布,希望此次能有一份完善的总结。 一、安装虚拟机 我使用的 VMware 安装的 Centos 7 最小安装,这个过程不再详述,属于基本操作,网上资源也很多。 二、配置虚拟机 改 yum……
阅读全文
2019年9月25日
在看过 Go module 的简介之后,我以为我已经知道了这个功能我需要知道的一切。但是很快,我意识到并不是这样。最近,人们开始提倡使用 Go module proxy。在研究了利弊之后,我得出结论,这将是近年来 Go 语言最重要的变化之一。 但为什么会这样呢?是什么让 Go module 代理如此特别? 使用 Go modules 时,如果向干净的缓存的计算机……
阅读全文
2019年9月24日
Go 中的通道(channel)机制十分强大,但是理解内在的概念甚至可以使它更强大。实际上,选择缓冲通道或无缓冲通道将改变应用程序的行为和性能。 无缓冲通道 无缓冲通道是在消息发送到通道时需要接收器的通道。声明一个无缓冲通道时,你不需要声明容量。例如: package main import ( "sync" "time" ) func main() { c := make(chan string) var wg sync.WaitGroup wg.Add(2)……
阅读全文