算法中的哨兵

算法与数据结构
在地面上有200个箱子连续排列着,现在需要看一下前面100个箱子中有没有苹果。一般情况下,会怎么做呢? 下面用代码来模拟一下。 package main import ( "fmt" ) func main() { s := make([]int, 200) for i := 0; …...
Read more →

JSON Web Token 实现

计算机网络
结构 JSON Web Token 由.分隔为三个部分,分别是: Header Payload Signature 如Header.Payload.Signature。 Header Header 由两部分组成,签名算法和令牌类型,签名算法有 HMAX SHA256 或 RSA 等,令牌类型则是 …...
Read more →

WebSocket 原理探究

计算机网络
WebSocket 究竟是什么东西呢?貌似有人看到 WebSocket 里面有 Socket 就以为它跟 Socket 有什么关系。呃,要真说它们有什么关系,也确实有,WebSocket 跟 Socket 之间还隔着一层 HTTP,姑且算是有关系吧。 WebSocket 协议是基于 HTTP 实现的 …...
Read more →

连接池的实现原理

计算机网络
连接池是什么东西?所谓连接,指的是TCP连接,而池,则是容器,普通的池子可以容纳水等物体,而连接池,则是容纳TCP连接的容器。 现实中的容器可以是多种材质的,连接池也不例外,连接池可以用各种数据结构来实现,只要能保存并允许使用连接即可。为了方便,本文仅用一个变量来模拟连接池。以下是完整的示例。 …...
Read more →

Web 终端实现原理

计算机网络
平时看到各种云平台提供的 Web 终端操作页面,觉得还挺有意思,恰好最近要实现一个类似的玩意。 由于前端不是我擅长的方向,所以我的前端并没有使用什么高大上的东西,也没有什么美观可言,仅仅使用了 WebSocket 进行命令的传输(可以用 xterm.js 来做前端,有空再玩玩吧)。终端的关键在于命令 …...
Read more →