0%

什么是JWT,以及原理

网上有大把解释JWT认证原理的,直接看refer部分。

JWT认证

  1. 当用户登陆的时候,后端根据部分字段进行签名,然后将签名得到的数据返回给用户。
  2. 用户下一次请求数据的时候,在请求头的authentication字段携带token。
  3. 服务端收到token后进行解密,前两段用私钥签名的结果跟第三段对比,看是否一致,如果一致,则判定当前用户合法,反之则非法。
  4. JWT的token为三段,前两段用base64编码,可以解开,第一段是描述认证方式和算法,第二段就是具体的一些信息,第三段为服务端私钥根据前两段内容进行的签名,也就是加密部分。
Read more »

我想在django中放一个脚本,然后循环执行他,该脚本会操作数据库,我懒得自己pymysql等方式写,就想用orm的方式,直接脚本中import models,但是呢,python xxxx执行后各种报错,说找不到环境变量,网上搜了下解决方案,也是差不多,但我就是没有调试出来。于是打算用django自带的方式执行命令。

Read more »

好久没写了,这次用阴阳师来举例子。

Django Model的三种Relationship

  1. 一对一 (关键词 OneToOneField)
  2. 一对多 (关键词 ForeignKey) 没有OneToManyField这种写法
  3. 多对多 (关键词 ManyToManyField)
Read more »

快速排序

  1. 快速排序用到的是分治思想。
  2. 实现方法是,在序列中先确定一个比较值k,左边部分的值比k小,右边部分的值比k大,然后对左边和右边两部分继续获取各自的比较值k,依次递归,直到都排列完成,从而整个数列都变得有序。
  3. 退出条件是,左边增长的角标大于右边缩小的角标。
  4. 如果选取的比较值k为最左边一个,则需要从右边优先开始比较;如果选取的比较值为k最右边第一个,则需要从左边优先开始比较。
Read more »

如何使用主从复制

建立复制

主从复制的开启,完全是在从节点发起的;不需要我们在主节点做任何事情。

从节点开启主从复制,有3种方式

Read more »

tcp

http封装

Ethernet2(以太网2帧头) | IPV4 | TCP | HTTP | FCS(以太网2帧尾)

tcp端口号

  1. 取值范围
    • 16bit 范围0-65535 0–2^16-1
    • 1-1023 知名端口
    • 1024-65535 非知名端口
Read more »

误删场景

今天find写日志切割tomcat日志,需要匹配后缀为log,out,txt,之后忘记写括号,将log和out删除了。

1
/usr/bin/find /opt/*/logs/* ( -name "*.out"  -o -name "*.log" -o -name "*.txt" ) -mtime +30 | xargs -I {} rm -f {}

tomcat不像nginx那样可以reload,其需要整个暂停,然后启动才能重新生成日志文件,但如果重启tomcat,则war包加载需要的时间比较长,且这段时间无法提供服务。

Read more »

同一分支 不同文件 无冲突情况

  1. 本地修改master,远端(模拟其他协同开发人员)修改remote_change
1
2
3
$ ls
master remote_change

Read more »