admin 发布的文章

学了一段时间爬虫之后才知道 所见即所得的道理。
关于爬行过程中所需要的IP池搭建大致想法

1 找几个大型的免费代理网站
2 爬下IP,并存入redis。 给每个IP一个权重 权重越高越有用。
3 一个爬取IP存入redis, 一个随机返回ip 一个检查IP是否可用 主要这三大接口。

若是嫌得麻烦可以直接买

个人比较熟悉github来管理代码
看项目整体规模大小来确定项目分支
一般来说 git 分支分为:
master - hotfix - develop - feature - release

master (生产环境)

hotfix (热更新环境, 也可做为预发布环境进行测试 一般正对master进行更新)

develop (开发环境)

hotfix 与 master 代码并行。 develop中代码更新至 hotfix-> 交付给测试。

feature 是为了某个自己的功能而拉取的分支

release 为了即将上线前,允许改变的东西 更新到hotfix 。

回滚

$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码

git push origin HEAD --force 强制推送

最近在做微信授权登陆中
1366 Incorrect string value: 'xF0x9Fx98x84xF0x9F...' for column 'nickname' at row 1
提示报错

我遇到的原因是 微信用户名含有 表情符号 而表情符号 4字节 而utf8编码是 3字节 多了一个字节无法存储,所以报错。
解决办法是
1 采用 utf8mb4 编码 即可
我采用php 链接数据库时设置的编码就是utf8mb4 数据库字段表也是 utf8mb4

假设场景:
在双11当天00:00 1000个用户同时打开了淘宝首页。 假设淘宝网页中 首页的请求是 10个。
全部人打开的网页 到 加载完毕的 时间为 1秒。

那么 在这1s内的

TPS为 1000个

QPS为 10*1000个

并发量为 1000个

响应时间为 1秒 (响应时间是指系统对请求作出响应的时间 一般指平均时间)

吞吐量为 1100010 (1s1000并发10请求)

其中 TPS为一次事务的完整发生过程

QPS为 每秒的响应请求数 单服务器最大吞吐能力。

吞吐量 是指系统在单位时间内处理请求的数量

一个系统吞吐量的要素

一个系统中的 单个 请求(reqeust) 对系统的资源暂用量越小, 系统的吞吐量就越高。反之越低。

目前对其他的 IO, CPU运行这些其实个人还是懵懂的

至于一些外部接口(像腾讯登陆之类的 暂时还不需要考虑到那种程度吧)

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

  1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);
  2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。