skysilk美国洛杉矶vps服务器评测

测试机器的机房地址为:加利福尼亚州,洛杉矶

购买描述

cpu:1h
内存:2G
带宽:200M(1T流量)
SSD:30G
Ipv4:1个
Ipv6:1个
可选:备份(0.5刀);快照(0.5刀)
价格:1个月5刀
购买地址:购买

先来看看服务器配置以及io性能

QQ图片20201029195023.pngQQ图片20201029195023.png

io似乎有点低

网速测试

QQ图片20201029195212.pngQQ图片20201029195212.png

ping

QQ图片20201029195352.pngQQ图片20201029195352.png

QQ图片20201029195400.pngQQ图片20201029195400.png

QQ图片20201029195408.pngQQ图片20201029195408.png

QQ图片20201029195416.pngQQ图片20201029195416.png

QQ图片20201029195424.pngQQ图片20201029195424.png

购买地址:购买

Centos7 yum安装谷歌浏览器

创建yum源文件

cd /etc/yum.repos.d/
touch google-chrome.repo

编辑google-chrome.repo 输入yum源信息

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

安装谷歌浏览器

yum -y install google-chrome-stable --nogpgcheck

golang beego-httplib请求时302重定向获取cookie

国外服务器 抓取360搜索信息时有个302重定向的一个动作 是用来设置cookie的
不设置cookie的话 会出现stopped after 10 redirects

req := httplib.Get("https://www.so.com/s?ie=utf-8&fr=so.com&src=home_so.com&q=site:" + host)
req.Header("Accept-Language", "zh-CN,zh;q=0.9")
req.Header("Host", "www.so.com")
req.Header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36")
req.SetCheckRedirect(func(req *http.Request, via []*http.Request) error {
    return http.ErrUseLastResponse
})
response, err := req.Response()
if err != nil {
    fmt.Println(err)
    return
}
cookie := response.Header.Get("Set-Cookie")

golang为图片添加水印

//SetSY 一个图片添加水印
func SetSY(logo, tp string) {
    //原始图片是sam.jpg
    imgb, err := os.Open(tp)
    if err != nil {
        fmt.Println("打开图片失败")
        return
    }
    img, format1, err := image.Decode(imgb)
    if err != nil {
        fmt.Println("解码图片失败-", format1, err.Error())
        return
    }
    defer imgb.Close()

    wmb, err := os.Open(logo)
    if err != nil {
        fmt.Println("打开Logo失败")
        return
    }
    watermark, format2, err := image.Decode(wmb)
    if err != nil {
        fmt.Println("解码Logo失败-", format2, err.Error())
        return
    }

    defer wmb.Close()

    //把水印写到右下角,并向0坐标各偏移10个像素
    offset := image.Pt(img.Bounds().Dx()-watermark.Bounds().Dx()-10, img.Bounds().Dy()-watermark.Bounds().Dy()-10)
    b := img.Bounds()
    m := image.NewNRGBA(b)

    draw.Draw(m, b, img, image.ZP, draw.Src)
    draw.Draw(m, watermark.Bounds().Add(offset), watermark, image.ZP, draw.Over)

    //生成新图片new.jpg,并设置图片质量..
    imgw, _ := os.Create(tp)
    jpeg.Encode(imgw, m, &jpeg.Options{100})

    defer imgw.Close()

    fmt.Println("添加水印成功...")
}

golang协程限制数量


type GoLimit struct {
    ch chan int
}

func NewGoLimit(max int) *GoLimit {
    return &GoLimit{ch: make(chan int, max)}
}

func (g *GoLimit) Add() {
    g.ch <- 1
}

func (g *GoLimit) Done() {
    <-g.ch
}



g := NewGoLimit(10) //max_num(最大允许并发数)设置为10
for _, book := range 10{
    g.Add()
    go func(g *GoLimit) {
    defer g.Done() //一个并发协程已经完成
}(g)

golang 正则表达式匹配

rm := regexp.MustCompile("52bd") //正则规则匹配

将匹配的结果,替换成新输入的结果

ReplaceAllString(src, repl string) string

查找匹配的字符串

FindString(s string) string

查找匹配字符串开始和结束位置的索引

FindStringIndex(s string) (loc []int)

获取完全匹配和局部匹配的字符串到的字符串数组

FindStringSubmatch(s string) []string

获取完全匹配和局部匹配的字符串的索引数组

FindStringSubmatchIndex(s string) []int

是否匹配到

MatchString(s string) bool

获取所有匹配到的字符串,正整数用来限制匹配次数

FindAllString(s string, n int)

js正则表达式的用法

test
test 返回 Boolean,查找对应的字符串中是否存在模式。

exec
exec 查找并返回当前的匹配结果,并以数组的形式返回。

let domain = "http://wwww.52bd.net"
let reg  = new RegExp("^(http(s)?://)");
        let regRsul = reg.exec(domain)
        if(regRsul != null){
            msg("信息",`<p class="text-warning">不能以${regRsul[0]}开头:(</p>`)
            return
        }

match 是 String 对象的一个方法。
var str = "52bd.net";
var reg = new RegExp("52bd.", "");
alert(str.match(reg));

Navicate Premium 15官网原版及Keygen Patch及安装教程

一、官网原版下载地址:
https://www.navicat.com.cn/download/navicat-premium

二、Keygen Patch下载地址:
https://wwa.lanzous.com/irR9Vhbofah

安装教程:
本教程在Win10下安装64位软件测试通过
1、断网,直到破解成功后才能联网
2、卸载原有Navicat
3、删除"C:Program FilesPremiumSoft"文件夹
4、Win+R,输入regedit,删除"计算机HKEY_CURRENT_USERSoftwarePremiumSoft"文件夹
5、清空回收站,重启电脑
6、安装Navicat(全部点下一步),安装成功后不要打开软件
7、把Keygen Patch复制到安装目录"C:Program FilesPremiumSoftNavicat Premium 15"下,运行Keygen Patch
8、在最顶部选择版本,点右边Patch
看下方1.png
9、不要关闭Keygen Patch,打开桌面上Navicat快捷方式,点注册
10、返回Keygen Patch,点中部最右边的Generate
11、返回Navicat,此时激活码已自动填入,点激活,再点手动激活(会卡一下)
12、复制Navicat上方的请求码(一长串)到Keygen Patch的白色大框中,点击左下角的Generate
13、返回Keygen Patch,此时激活码已自动填入,点激活,点确定
14、然后软件会自动打开,打开左上角栏的工具—选项,取消自动检查更新,取消共享数据,点确定
15、关闭Navicat和Keygen Patch,电脑联网,打开Navicat,打开左上角栏的帮助—关于,如果仍然显示区域许可证,那么才是真正地激活成功
16、若出现各种错误,请按此教程重新走一遍