磁盘的基本知识:磁道、柱面和扇区

一、磁盘的基本元素 磁盘由多个盘片组成,每个盘片的基本结构为: 各标识含义: A 是磁道,多个磁盘的同一个磁道重叠起来叫做柱面,它包含了很多个扇区。 B 是几何上的扇区,只做标示,此处无特殊含义。 C 是扇区,扇区是磁盘的最小组成单元,通常是 512 字节 (有的磁盘时 4096 字节) 。 D 是磁盘块 (簇),块/簇 ... 阅读更多

C++中的友元和运算符重载

一、友元 友元可以允许其他类或者函数访问自己的非共有成员,如果类想把它的函数作为友元,只需要增加一条以 friend 开头的函数声明即可。 1.1 添加外部函数作为友元 以下一个学生类,类中保存了学生的年龄、名字以及性别信息:

现在希望在 ... 阅读更多

数据结构之 B 树

一、 B 树的基本概念 B 树是一种多叉树,被广泛应用于数据库索引中。它也是一种特殊的搜索树,和搜索树最大的不同在于它的每个节点都包含了 n 个关键字和 n+1 个指向子节点的指针。它的表现形式为: B 树的特点: 假设 x.key 为当前节点中的关键字,x.child.key 是子节点中的关键字,那么它们之间存在以下关 ... 阅读更多

HTTP 协议中的 Basic Authentication 认证

一、关于 Basic Authentication HTTP 本身提供了一种基础的认证方式 Basic Authentication,使得访问者在访问时需要输入账号密码认证之后才能访问到页面: 如果没有输入密码访问,服务器将会返回 401: 当服务端开启认证后,通过认证的方式有两种: 在访问 URL 的时候主动 ... 阅读更多

typecho 重置密码的办法

进入到数据库,过滤出当前用户的信息:

修改第三列的密码为 e10adc3949ba59abbe56e057f20f883e:

然后使用密码 123456 登陆,重新修改密码就 ... 阅读更多

一次 pidof 命令卡住导致业务中断引发的设计思考

一、问题回顾 问题现象:线上业务,某个进程被卡住了,所有任务都不响应,导致业务中断。 问题原因:程序中调用了 system 命令,执行了一次 pidof 命令,然而作者万万没想到这个 pidof 命令会卡住了,导致整个进程都阻塞了。 排查过程 第一步,确定进程状态,看看进程在干什么:先通过 ps 命令得到进程的 pi ... 阅读更多

TCP 的滑动窗口协议

一、关于滑动窗口协议 在 TCP 协议中,所有的 SEQ 包发送出去都必须要受到对方的 ACK 才认为是发送成功,如果长时间没有收到 ACK 回复确认,发送方需要重新发送该包。而如果发送方每次都是发送一个包,然后等到接收方回复 ACK 了再发送下一个包,那么数据包的传输效率就相当低了。滑动窗口协议的作用就是为了解决这个 ... 阅读更多