自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 pt-online-schema-change安装使用详解

一、pt-online介绍pt-online-schema-change是percona公司开发的一个工具,在percona-toolkit包里面可以找到这个功能,它可以在线修改表结构原理:首先它会新建一张一模一样的表,表名一般是_new后缀然后在这个新表执行更改字段操作然后在原表上加三个触发器,DELETE/UPDATE/INSERT,将原表中要执行的语句也在新表中执行最后将原表的数据拷贝到新表中,然后替换掉原表使用pt-online-schema-change执行SQL的日志 SQL语句:

2021-01-27 11:32:31 2006

原创 MySQL 之 LEFT JOIN 避坑指南

left join在我们使用mysql查询的过程中可谓非常常见,比如博客里一篇文章有多少条评论、商城里一个货物有多少评论、一条评论有多少个赞等等。但是由于对join、on、where等关键字的不熟悉,有时候会导致查询结果与预期不符,所以今天我就来总结一下,一起避坑。假设有一个班级管理应用,有一个表classes,存了所有的班级;有一个表students,存了所有的学生,具体数据如下CREATE TABLE `classes` ( `id` int(10) unsigned NOT NULL AUTO

2021-01-06 15:03:09 324 1

原创 centos中安装redis插件bloom-filter

1.下载redisbloom插件(redis官网下载即可)https://github.com/RedisLabsModules/redisbloom/wget https://github.com/RedisLabsModules/rebloom/archive/v2.2.5.tar.gztar -zxvf v2.2.5.tar.gzmv RedisBloom-2.2.5/ redisbloomcd redisbloommakevi redis.conf配置文件加入如下:#######

2021-01-06 10:19:22 253

原创 linux centos 安装php8

1.下载php8链接: https://pan.baidu.com/s/10C4U2GPnLXb_KZLLmbY6dw 密码: 9chu2.解压:tar -zxvf php-8.0.0.tar.gz3.配置、安装./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc \--with-curl --with-freetype --enable-gd --with-jpeg --with-

2020-12-31 10:04:07 2294

原创 Hugo实现的静态网站

安装Hugo二进制安装(推荐:简单、快速)到 Hugo Releases 下载对应的操作系统版本的Hugo二进制文件(hugo或者hugo.exe)Mac下直接使用 Homebrew 安装:brew install hugo生成站点使用Hugo快速生成站点,比如希望生成到 /path/to/site 路径:hugo new site /path/to/site这样就在 /path/to/site 目录里生成了初始站点,进去目录:cd /path/to/site站点目录结构▸ ar

2020-12-21 10:53:17 428

原创 centos虚拟机搭建Redis Cluster集群

在local文件夹里创建项目mkdir softwarecd /usr/local/software/下载redis安装包wget http://download.redis.io/releases/redis-5.0.5.tar.gz安装部署redis解压文件夹tar zxvf redis-5.0.5.tar.gz重命名文件夹mv redis-5.0.5 redis安装make && make install安装完成后,进入redis下的src文件夹,将r

2020-11-27 11:47:05 225

原创 centos下clickhouse安装

一、ClickHouse是什么?ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。二、为什么要使用ClickHouse?一个字快,有些时候我们需要对生产数据进行大量的报表分析和统计,而使用OLTP (mysql) 数据库进行统计又太慢,影响生产。三、CentOS下安装单机版ClickHouse1、安装依赖yum install yum-utils2、导入镜像源rpm --import https://repo.clickhouse.tech/CLICKHO

2020-11-25 11:06:03 1078 1

原创 centos7安装kafka

1.安装javayum -y install java-1.8.0-openjdk完毕之后查看是否成功java -version配置java环境echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile让配置生效source /etc/profile2.安装kafka从官网下载https://mirror.bit.edu.cn/apache/kafka/

2020-09-30 15:26:03 154

原创 centos7+php7.3安装opcache

yum list php73* | grep opcacheyum install php73-php-opcache.x86_64查找opcache.so的位置find / -name opcache.so然后把这个文件移动到php的扩展目录zend_extension=opcache.so[opcache];开启opcacheopcache.enable=1 ;CLI环境下,PHP启用OPcacheopcache.enable_cli=1;OPcache共享内存存储大小,

2020-09-18 16:56:53 1568

原创 centos7安装redis客户端以及php扩展

下载rediswget http://download.redis.io/releases/redis-5.0.5.tar.gz解压tar -xzvf redis-5.0.5.tar.gzcd redis-5.0.5编译# 编译make# make完成后继续执行make install创建redis目录mkdir /usr/local/redis/binmkdir /usr/local/redis/etc之后出现cp redis.conf /usr/local/redi

2020-09-18 14:49:08 654

原创 Mac应用已损坏,打不开解决办法

1.打开「终端.app」,输入以下命令并回车,输入开机密码回车sudo xattr -rd com.apple.quarantine 空格 软件的路径如Sketch.app:sudo xattr -rd com.apple.quarantine /Applications/Sketch.app

2020-09-11 17:23:12 345

原创 beego查询数据并且json返回

type UserDb struct { Id int `json:"id" orm:"column(id)"` Name string `json:"name" orm:"column(name)"` Psw string `json:"psw" orm:"column(psw)"`}func (u *AdminController) Test() { var user []UserDb o := orm.NewOrm() _, err := o.Raw("SELECT

2020-09-08 15:13:05 1145

原创 centos7 Firewall防火墙开启80端口

查看有哪些端口开启firewall-cmd --list-all开启80端口firewall-cmd --zone=public --add-port=80/tcp --permanent重启防火墙systemctl restart firewalld.service

2020-09-08 10:27:35 299

原创 mac vmware fusion nat网络模式设置固定ip

一、首先 ,设置 vm 虚拟机对应的静态 ipsudo vi /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf注意,这边是 vmnet8 不是 vmnet1在 ####### VMNET DHCP Configuration. End of “DO NOT MODIFY SECTION” ####### 这一行之后添加, 在这一行之前添加的话保存后就不见了注意:vmcentos要和你自己的设置虚拟机名称一致,mac地址如上图的地址。

2020-09-08 09:43:39 445

原创 golang学习之解决依赖包飘红问题

如上图,引入包一路飘红,因为这样,所以在开发中,很多提示就没有了(虽然是可以正常运行)解决方案如下:首先查看go env如果没有开启,则需要进行开启export GO111MODULE=on由于这是一次性的,所以要永久开启,则需要vi ~/.bash_profile然后把上面放在最后一行,再重启source ~/.bash_profile进入到项目中初始化go mod init <项目名>下载依赖go mod tidy保存到vendorgo mod .

2020-09-04 11:59:19 4824

原创 解决layui框架自带的excel导出长数据变科学计数法

1、在layui/lay/modules/table.js中搜索:d.exportFile2、将d.exportFile这个函数,用下面内容替换掉: d.exportFile = function (e, t, i) { t = t || d.clearCacheKey(d.cache[e]), i = i || "csv"; var a = c.config[e] || {}, // 分页按钮

2020-09-02 10:49:23 1881

原创 mac vmware fusion 自定义挂载(mount)共享目录

yum install -y open-vm-tools其中workspace是我的mac共享目录 www是我linux的目录文件 1001是我的用户的id 用id命令即可查看vmhgfs-fuse .host:/workspace /www -o rw,uid=1001,gid=1001,allow_other,async_read

2020-08-19 14:51:30 504

原创 CentOS7 PHP7.3 连接Sqlserver

本机PHP版本7.3,非线程安全扩展下载地址https://github.com/microsoft/msphpsql/releases/tag/v5.6.1我的是centos7 7.3 所以选择centos7-73.tar解压完后:然后把文件移动到扩展文件下面比如我的是然后配置文件修改然后重启至此就完成了...

2020-08-17 23:11:27 1432

原创 Mac OS Virtual Box Centos7挂载

1.选择虚拟主机的设置—共享文件夹—点击“+”(添加共享文件夹,选择主机路径)—选择自动挂载,固定分配(在主机上创建名为workspace的文件夹)2.点击虚拟机—设置—存储—分配光驱(右侧光盘),选择VirtualBox增强镜像,本人用的VBoxGuestAdditios_6.1.12.iso下载链接:http://download.virtualbox.org/virtualbox/6.1.12/3.启动虚拟机,执行如下命令,将增强包的iso文件挂载到/home/vbox(需要先创建vbox文

2020-08-16 22:38:19 334

原创 golang学习笔记之go mod

用go mod 时出现dial tcp 216.239.37.1:443: connectex: A connection attempt failed这种错误解决方案:go env -w GOSUMDB=offgo env -w GOPROXY=https://goproxy.cn,direct用go mod 快,不用翻墙然后就可以go mod 了

2020-08-15 17:43:58 162

原创 golang学习笔记之日期

go时间格式化必须精确地限定到 golang 指定的时间原点:2006-01-02 15:04:05比如要显示当前日期 如 2020-08-02则需要fmt.Println(time.Now().Format(“2006-01-02”))如果显示当前日期 如2020-08-02 13:57:02则需要fmt.Println(time.Now().Format(“2006-01-02 15:04:05”))...

2020-08-02 13:58:02 135

原创 golang学习笔记之string转换

func main() { var s string = "2" var d int = 8 var b bool = true var f float64 = 12.22 var by byte = 'a' str1 := fmt.Sprintf("%s", s) str2 := fmt.Sprintf("%d", d) str3 := fmt.Sprintf("%t", b) str4 := fmt.Sprintf("%f", f) str5 := fmt.Sprintf("%c",

2020-07-11 12:38:41 170

原创 golang学习笔记之beego打包部署到linux

进入main.go的目录执行命令bee pack -be GOOS=linux然后去linux进行解压,执行tar -zxvf ppgo_api_admin.tar.gzserver { listen 80; server_name gotest.local; charset utf-8; access_log /www/logs/nginx/gotest.access.log; location /(css|js|fonts|im

2020-07-10 16:41:30 425 2

原创 golang学习笔记之beego安装(go mod方式)

go mod方式生成的代码不在src目录中,所以会出现import不成功bee new test会生成如下目录,然后执行go mod init test则会生成如下go.mod文件再执行 bee run至此就成功了!

2020-07-10 10:37:47 491

原创 golang学习之beego代理

打开你的终端并执行go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,directmacOS 或 Linuxexport GO111MODULE=onexport GOPROXY=https://goproxy.cn或者 echo "export GO111MODULE=on" >> ~/.profile echo "export GOPROXY=https://goproxy.cn" >> ~

2020-07-10 00:27:46 379

原创 golang学习笔记之string

var str = "你好golang" var l = len(str) for i := 0; i < l; i++ { fmt.Printf("%v %c %T ", str[i], str[i], str[i]) }输出结果为: var str = "你好golang" //var l = len(str) //for i := 0; i < l; i++ { // fmt.Printf("%v %c %T ", str[i], str[i], str[i.

2020-07-09 00:15:54 124

原创 golang 学习笔记之浮点数精确

package mainimport ( "log" "github.com/shopspring/decimal")func main() { var xdecimal, err = decimal.NewFromString("1129.6") if err != nil { log.Println("转化decimal失败", err) } ydecimal := decimal.NewFromFloat(100) log.Println(ydecimal) resu

2020-07-08 00:25:45 366

原创 golang学习笔记之int

func main() { //fmt.Print(a,b,c,d,e,f) var a int8 = 1 var b int16 = 2 var c int32 = 3 var d int64 = 4 var e int = 5 f := 6 fmt.Println(unsafe.Sizeof(a)) // 占用字节 1 fmt.Println(unsafe.Sizeof(b)) // 2 fmt.Println(unsafe.Sizeof(c)) // 4 fmt.Println

2020-07-07 23:42:25 208

原创 golang iota

对于iota每次遇见const则归0package mainimport "fmt"const ( a = iota b = iota c)const ( d = iota * 10 e f)func main() { fmt.Print(a,b,c,d,e,f)}结果为0,1,2,0,10,20

2020-07-07 22:22:32 82

原创 golang printf 格式化输出

Printf 格式化输出通用占位符:v 值的默认格式。%+v 添加字段名(如结构体)%#v  相应值的Go语法表示%T 相应值的类型的Go语法表示%% 字面上的百分号,并非值的占位符 布尔值:%t true 或 false整数值:%b 二进制表示%c 相应Unicode码点所表示的字符%d 十进制表示%o 八进制表示%q 单引号围绕的字符字面值,由Go语法安全地转义%x 十六进制表示,字母形式为小写 a-f%X 十六进制表示,字母形式为大写 A-F%U Unicode格式:

2020-07-07 21:38:02 1981

原创 centos php7.2 mcrypt扩展安装

首先下载文件:链接:https://pan.baidu.com/s/1nD0u6NntcvU5-P-A7rO4kw提取码:ssl91、安装 libmcrypttar -zxvf libmcrypt-2.5.7.tar.gzcd libmcrypt-2.5.7./configuremake && make install2、安装 mhashtar -zxvf mh...

2020-04-29 13:19:13 506

原创 PHP使用HMAC-SHA1+base64签名方法

/** * @brief 使用HMAC-SHA1算法生成oauth_signature签名值 * * @param $key 密钥 * @param $str 源串 * * @return 签名值 */ function getSignature($str, $key) { if (function_e...

2020-04-01 12:02:46 333

原创 虚拟机挂载

在CentOS Bash命令行界面输入:mount /dev/cdrom /mntls /mnt -la回车–建立存放VMTools软件的临时目录mkdir /tmp/VMTools回车–将VMTools软件压缩包拷贝至临时目录cp /mnt/*.gz /tmp/VMTools回车–将当前工作目录切换至存放VMTools软件的临时目录cd /tmp...

2020-03-27 19:36:39 943

原创 thinkphp nginx 配置

server { #配置监听端口 listen 80; listen [::]:80; #设置网站根目录作为变量root set $root /var/www/web; #设置网站根目录 root $root; #设置访问日志存放路径 #access_log logs/access.log; #设置错误日志存放路径...

2020-03-16 15:00:06 313

原创 GO变量

package mainimport "fmt"var a string = "aaa"var b int = 20func main() { c := 100 fmt.Println(a, b, c)}go变量可以使用var 来声明如果一行中同时声明,则只能声明同类型比如var a , b int = 1, 2c := 100则无需先声明,如果先声明则会报错...

2020-03-15 22:43:31 95

原创 Go语言之讲解GOROOT、GOPATH、GOBIN

Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性.go命令依赖一个重要的环境变量:$GOPATHGOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号;当有多个GOPATH时默认将go get获取的包存放在第一个目录下$GOPATH目录约定有三个子目录src存放源代码(比如:....

2020-03-15 22:12:43 966

原创 安卓生成渠道包

/** * 打包渠道包-仅适用于安卓 * @param $file * @param $dest_file * @param $cid * @return bool */ public static function package_channel_apk($file, $dest_file, $cid) { ...

2019-12-16 10:50:29 128

原创 帆布指纹识别 - js在浏览器生成唯一识别ID

帆布指纹识别广告联盟或许网站运营者都希望能够精准定位并标识每一个个体,通过对用户行为的分析(浏览了哪些页面?搜索了哪些关键字?对什么感兴趣?点了哪些按钮?用了哪些功能?看了哪些商品?把哪些放入了购物车等等),为用户推送更加精准的广告(精准化营销)。同时,通过对用户的标识,可以将不同站点的用户进行关联。在过去,实现上述cookie是最受欢迎的一种。但由于移动互联网的发展,移动设备限制、用户禁用...

2019-11-18 14:21:37 2160

原创 PHP7.3编译安装常见错误及解决办法

1、configure: error: Please reinstall the libzip distribution解决方法一,安装1.2.0版本的libzip:wget https://nih.at/libzip/libzip-1.2.0.tar.gztar -zxvf libzip-1.2.0.tar.gzcd libzip-1.2.0./configuremake &...

2019-11-08 18:15:43 923

原创 用HTQ实现http任务队列

一、什么是 HTQ先介绍下基本概念。我们在编写程序时,偶尔会遇到需要用到异步队列的情况。比如说,我发送一万封邮件,如果单纯使用一个for循环来发送,则执行时间要很长,要等很久才能发完,同时很容易导致阻塞、超时等问题。当邮件更多,比如一百万封的时候,问题会更加明显。这时最好的解决方案就是把这十万封邮件排队,一一发出去。这就是任务队列的概念。并且,我们并不需要等到十万封邮件都发送完毕后才在网站前...

2019-10-25 14:04:35 325

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除