cookie-session token 与 ajax
Cookie-Session
设置 Cookie
服务器通过返回 Set-Cookie 的 Header 在浏览器设置 Cookie,可以设置 domain,path,expires,secure,httponly 等参数。
参数
解释
domain
域名,命中时才让浏览器发送 cookie
path
路径,上面的域名下命中这个路径才让浏览器发送 cookie
expires
过期时间(相对于客户端时间)UTCString,如,Wed, 21 Oct 2015 07:28:00 GMT
secure
只允许 https 传输 cookie,一般网站是 https,会自动启用这个参数
httponly
不允许 js 读取这个 cookie
把 cookie 设置在 example.com 下,那么访问 a.example.com,b.example.com 都会自动携带。
把 cookie 设置在 a.example.com,那么访问 a.example.com 会自动携带。 访问 b.example.com 不会自动携带。
所以说 cookie ...
七牛云转存网络资源
有时需要将网上的图片转存到自己的七牛云,避免网络资源失效。
1234567891011121314151617181920212223242526272829303132333435363738394041const qiniu = require("qiniu");var accessKey = "你的 ak";var secretKey = "你的 sk";var bucket = "你的 bucket";var mac = new qiniu.auth.digest.Mac(accessKey, secretKey);var config = new qiniu.conf.Config();// 空间对应的机房 华东config.zone = qiniu.zone.Zone_z0;var bucketManager = new qiniu.rs.BucketManager(mac, config);/** * * @param {String} _url 网络图片地址 * @par ...
wifi 抓包
握手包
1sudo tcpdump "ether proto 0x888e and ether host 路由器MAC" -I -U -vvv -i en0 -w handshake.cap
beacon
1sudo tcpdump "type mgt subtype beacon and ether src 路由器MAC" -I -c 1 -i en0 -w beacon.cap
合并
1mergecap -a -F pcap -w capture.cap beacon.cap handshake.cap
ip 划分——子网掩码查询表
16-30 位网络号——掩码位数,IP 总数,子网掩码查询表
掩码位数
IP 总数
子网掩码
C 段个数
/30
4
255.255.255.252
1/64
/29
8
255.255.255.248
1/32
/28
16
255.255.255.240
1/16
/27
32
255.255.255.224
1/8
/26
64
255.255.255.192
1/4
/25
128
255.255.255.128
1/2
/24
256
255.255.255.0
1
/23
512
255.255.254.0
2
/22
1024
255.255.252.0
4
/21
2048
255.255.248.0
8
/20
4096
255.255.240.0
16
/19
8192
255.255.224.0
32
/18
16384
255.255.192.0
64
/17
32768
255.255.128.0
128
/16
65536
255.255.0.0
256
24 位网络号
24 ...
docker cheat sheet
镜像启动之后成为容器。容器是运行着的镜像。
启动镜像并执行命令
1$ docker run 镜像名 执行命令
启动镜像并给容器设定主机名
1$ docker run -h HOSTNAME 镜像名 执行命令
查询容器特定信息
1$ docker inspect --format {{.NetworkSettings.IPAddress}} 容器名/容器ID
查询容器内文件的变动
1$ docker diff 容器名/容器ID
查询容器日志
1$ docker logs 容器名/容器ID
镜像重命名
12$ docker tag 镜像ID 新名字$ docker image rm 镜像旧名字
删除容器
1$ docker rm 容器名/容器ID
例子
1$ docker run -it --name cowsay --hostname cowsay debian bash
在容器内可以安装一些软件,然后把容器留下,也就是转成镜像
1$ docker commit 容器名称/容器ID 镜像名称
启动镜像并创建数据卷
1$ docker run -v ...
Mac 终端美化
安装 homebrew
安装 coreutils
安装 iTerm2
在偏好设置里面,Profiles -> Colors -> Color Presets 设置为 Tango Dark。Cyan Bright 设置为 84b0d8。
安装 zsh
.zshrc
1234LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31 ...
wget 命令
1.命令格式:
wget [参数] [URL地址]
2.命令功能:
用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:
1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;
2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;
3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;
4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;
5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的。
3.命令参数:
启动参数:
-V, –version 显示wget的版本后退出
-h, ...
信息论结课论文
信息论基础结课论文——不同压缩编码方法的适用场景
作者
yelexin
关键词
信息论,压缩,编码
摘要
许多经典压缩算法基于算数编码、PPM 编码、LZ 编码。在不同的压缩对象上有着不同的压缩效果,本文对这些常见的压缩编码在处理不同的压缩对象时的压缩率、速度表现进行比较。
绪论
我们会接触许多类型的文件,例如文本、文字图像、自然图像等。在传输这些信息的过程中,往往会对先数据进行压缩。对不同特征的数据,合理运用压缩方法,能够达到最佳压缩率。我们也会发现,对信息多次使用不同的压缩算法,并不能达到更好的压缩效果。
1.1 算术编码
算术编码是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n < 1.0)的小数 n。在给定符号集和符号概率的情况下,算术编码可以给出接近最优的编码结果。使用算术编码的压缩算法通常先要对输入符号的概率进行估计,然后再编码。这个估计越准,编码结果就越接近最优的结果。
1.2 P ...
Vue 记录
Vue CLI 配置
允许线上启用 devtools
构建方法
关键是 --mode development
1npx vue-cli-service build --target lib --mode development --name Guard ./src/main.js
vue 入口 js
1Vue.config.devtools = true;
浏览器 BOM DOM 记录
跨域无法访问 window.opener
无法监听目标窗口的关闭事件,不过可以轮询
1234567var win = window.open("http://www.google.com");var timer = setInterval(function() { if (win.closed) { clearInterval(timer); alert("closed"); }}, 1000);
使用 postMessage 在 iframe、window 窗口之间通信
子窗口内无页面跳转的情况下,document.referer 可以获取父窗口的 url。不然获取到的就是子窗口跳转前的页面的 url。