Cwww3's Blog

Record what you think

0%

元字符

  • . 匹配除换行符以外的任意字符
  • \w 匹配字母或数字或下划线或汉字
  • \s 匹配任意的空白符 (包括空格,制表符,换行符,中文全角空格等)
  • \d 匹配数字
  • \b 匹配单词的开始或结束 并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置
  • ^ 匹配字符串的开始
  • $ 匹配字符串的结束
    阅读全文 »

哈希

定义

  • 任意长度的输入通过哈希算法变换成固定长度的输出,该输出就是散列值。 这种转换是一种压缩映射。散列值又称摘要(Digest)、校验值(Checksum)、指纹(Fingerprint)

用途

概念

LRU 全称是 Least Recently Used,即最近最久未使用算法,它是页面置换算法的一种。

原理

LRU 算法根据数据的历史访问记录来进行淘汰数据,其核心思想是「如果数据最近被访问过,那么将来被访问的几率也更高」。

阅读全文 »

Base64编码

定义

  • Base64 就是把64个字符(a-z,A-Z,0-9,+,/)以及一个作为垫字的’=’(实际65个)作为基本字符集。然后把所有其他的字符转化为这个字符集中的字符。
  • 传输内容时,经常将内容进行base64编码,防止内容的丢失。

步骤

  • 第一步 将每三个字节作为一组,一共是24个二进制位。
  • 第二步 将这24个字节分为四组,每组6个二进制位。
  • 第三步 每组前面加两个0,扩展成32位二进制位,即四个字节。
  • 第四步 根据下表,得到扩展后每个字节对应的符号,构成Base64编码值。
  • 补充 因为Base64 将3个字节转化为4个字节,所以编码后 内容会比原来长三分之一左右。
    阅读全文 »

OAuth

  • 作用 让”客户端”安全可控地获取”用户”的授权,与”服务商提供商”进行互动。
  • 思路 OAuth在”客户端”与”服务提供商”之间,设置了一个授权层(authorization layer) 。”客户端”不能直接登录”服务提供商”,只能登录授权层,以此将用户与客户端区分开来。”客户端”登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。”客户端”登录授权层以后,”服务提供商”根据令牌的权限范围和有效期,向”客户端”开放用户储存的资料。
    阅读全文 »

选择排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func selectSort(arr []int) {
// 遍历n轮
for i := 0; i < len(arr); i++ {
// 找到当前数组范围内的最小值的小标
minIndex := i
for j := i; j < len(arr); j++ {
// 找到最小的
if arr[minIndex] > arr[j] {
minIndex = j
}
}
// 如果最小值下标和头部下标不同就进行交换
if minIndex != i {
arr[i], arr[minIndex] = arr[minIndex], arr[i]
}
}
}
阅读全文 »