自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风火燎原、

有志不在年高,无志空活百年。

  • 博客(79)
  • 收藏
  • 关注

原创 MySQL数据类型int(m)中m意义

int类型有符号整型和无符号整型都占用4字节是固定的,所以m值不代表存储的数值字符长度; 存储的数值字符长度小于m值,并且设置了zerofill用0来填充,才能够看到m的效果,没有zerofill,m值就是无用的;...

2021-09-14 17:23:12 54

原创 Sql查询按照in语句的顺序排列

mysql写法SELECT * FROM table WHERE id IN (6,5,1,4) ORDER BY FIELD(id,6,5,4,1);SELECT * FROM table WHERE id IN (6,5,1,4) ORDER BY INSTR(',6,5,1,4,',CONCAT(',',id,','));sqlite写法SELECT * FROM table WHERE id IN('6','5','1','4') ORDER BY INSTR('6,5,1,4'

2021-06-24 17:27:08 335

原创 移动端border-radius绘制圆点不圆

问题border-radius:50%画出来的圆点,在移动端上有的大,有的小,还有的不圆。原因一般情况下,只要你几个圆点用的同一个css,那就肯定不是你代码问。而且你查看ios中居然很完美,当然挺贵的安卓手机中基本上也没问题。造成这种原因的情况好几种:使用了px转rem或者px转vw之类的插件,造成了计算过程中产生误差。 使用了rem或者vw之类像素单位,造成了计算过程中产生误差。 这个情况最操蛋,画圆宽高是奇数,而且圆点比较小,画出的圆就不规则了。当然可能还有其他情况,毕竟安卓手机版

2021-06-24 15:29:06 102

原创 Golang判断字符是不是字母组成

功能 : 判断字符是不是字母组成参数 : str 表示待判断的字符串返回值: 布尔类型 true or falsefunc StrAllLetter(str string) bool { match, _ := regexp.MatchString(`^[A-Za-z]+$`, str) return match}

2021-06-04 18:08:48 528

原创 Golang#sql: Scan error on column index 5, name “created_at“: unsupported Scan

问题golang中time.Time类型直接存储到mysql报错,如下:sql: Scan error on column index 5, name "created_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time原因golang中time.Time为2018-12-24 18:00:00 CSTmysql中timestamp为22018-12-24 18:00:00gol.

2021-04-28 16:53:08 541

原创 Golang时间类型存储到MySQL中时间不对

问题时间类型golang存储到mysql中时间不对情况一:原因使用go-sql-driver来连接mysql数据库,获取的时区默认是UTC+0的,与我们所处的东八区是有区别,所以出现了问题。UTC即世界标准时间,中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。解决方法在mysql连接的dsn中添加parseTime=true和loc=Local,此处的Local可以换为具体的时区,我们都用上海.

2021-04-28 16:46:44 411

原创 MySQL8.0#ERROR: SQLSTATE[HY000] [2006] MySQL server has gone away

问题php7.1或者php7.2连接mysql8.0就报错SQLSTATE[HY000] [2006] MySQL server has gone away。原因mysql8默认是使用使用caching_sha2_password的身份验证机制,以往的验证机制则是mysql_native_password。解决方法在mysql配置文件my.cnf的[mysqld]下面加上一行default-authentication-plugin=mysql_native_password.

2021-03-11 14:35:47 400

原创 Mac杀掉占用端口

lsof -i :端口kill -9 PID

2021-02-19 18:17:31 25

原创 Git修改.gitignore文件不生效

问题修改.gitignore文件后不起作用/不生效。原因.gitignore文件只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,修改.gitignore是无效的。解决方法先把本地缓存删除,改变成未track状态,然后再提交。 如下:git rm -r --cached .git add .git commit -m'update .gitignore'...

2021-02-19 14:07:14 76

原创 ProtoBuf定义数组类型

通过在字段前面添加repeated关键词,使当前字段是成为一个二维数组。例子message Msg { repeated string ids = 1;}

2021-02-18 14:49:07 3249

原创 Golang获取时间戳和时间操作

时间戳 time.Now().Unix() //时间戳(秒) time.Now().UnixNano() //时间戳(纳秒)time.Now().UnixNano() / 1e6 //时间戳(毫秒)time.Now().UnixNano() / 1e9 //时间戳(纳秒转换为秒)注:1秒 = 1000毫秒 1毫秒 = 1000微秒 1微秒 = 1000纳秒 1e6是指数表达形式:1* 10的6次方时间格式化nowtime:=time.Now().Forma...

2021-02-03 10:44:05 1110

原创 Golang求数组和切片中出现次数最多的值的Top

注:func中用的是string,如果你们的类型不同请自行修改func ArrayCountValueTop(arrInit []string, length int) (arrTop []string) { if len(arrInit) == 0 { return arrTop } arrMap1 := make(map[string]int) for _, value := range arrInit { if arrMap1[value] != 0 { arrMap1

2021-01-22 13:27:23 71

原创 Golang中string和int类型相互转换

string转成int:int, err := strconv.Atoi(string)string转成int64:int64, err := strconv.ParseInt(string, 10, 64)int转成string:string := strconv.Itoa(int)int64转成string:string := strconv.FormatInt(int64,10)

2021-01-20 15:44:44 89

原创 elasticsearch数字类型的最大最小值

整型byte 有符号8位整数 -128~127short 有符号16位整型 -32768~32767integer 有符号32位整型 -2^{31}~2^{31}-1int64 有符号64位整型 -2^{63}~2^{63}-1浮点型float单精度32位IEEE 754浮点double双精度64位IEEE 754浮点使用注意事项:尽可能选择范围小的数据类型, 字段的长度越短, 索引和搜索的效率越高;...

2021-01-19 15:36:30 611

原创 Golang数字类型的最大最小值

整型uint8无符号8位整型0~255uint16无符号16位整型0~65535uint32无符号32位整型0~4294967295uint64无符号64位整型0~18446744073709551615int8有符号8位整型-128~127int16有符号16位整型-32768~32767int32有符号32位整型-2147483648~2147483647int64...

2021-01-19 15:17:40 501

原创 elasticsearch常用命令

索引GET /_cat/indices #查看所有索引DELETE /_index #删除索引 DELETE /_index_one,_index_two #删除多个索引DELETE /_index* #通配符删除多个索引,默认配置不允许映射GET /_index/_mapping/_type #查看映射(索引_index中类型_type的映射)文档...

2021-01-12 16:20:25 89

原创 谷歌浏览器安装Sense插件

下载百度网盘链接: https://pan.baidu.com/s/1kgt1FAbskXgNNfVVh4LtnA 密码: sfw5安装打开谷歌浏览器,进入扩展程序,拖动下载文件到扩展程序界面如下:修改插件注:如果你的elasticsearch版本小于6.0,扩展安装就算完成了。可以不用修改,不然会报以下错误:{ "error": "Content-Type header [application/x-www-form-urlencoded; charset=UTF-...

2021-01-05 17:29:46 206

原创 Laravel使用验证码gregwar/captcha

下载通过 Composer 安装 gregwar/captcha 包(项目根目录下运行):composer require gregwar/captcha使用1 、在项目app/Http/Controllers目录下,创建CodeController.php文件,文件内容如下:<?phpnamespace App\Http\Controllers;use Gregwar\Captcha\CaptchaBuilder;use Illuminate\Support\Faca

2020-10-27 11:56:05 180

原创 Docker命令常用

容器管理docker start [container id | names] #启动一个或多个已经被停止的容器docker stop [container id | names] #停止一个运行中的容器docker restart [container id | names] #重启容器docker kill -s kill [container id | names] #杀掉一个运行中的容器docker pause [container id | names] #暂停容器中所有的进

2020-10-15 17:39:30 52

原创 JS实现WebSocket客户端

//webSocket 服务端地址var wsUrl = 'ws://127.0.0.1:2581/ws-web';//webSocket 对象var ws;//webSocket 尝试重新创建webSocket 定时var reconnectTimeOut;//心跳重试次数 服务端3次无响应就断开重连var heartCheckNum = 0;//webSocket 链接锁,用来保证只有一个客户端与服务端只生成一个连接。var lockReconnect = false;//判断浏.

2020-10-14 11:54:21 350

原创 Golang字符串中子串的出现次数

出现次数counts := regexp.MustCompile("world").FindAllStringIndex("hello world world", -1)fmt.Println(len(counts))是否存在isExist := strings.Contains("hello world", "world")fmt.Println(isExist)

2020-10-14 10:11:31 679

原创 MySQL中utf8和utf8mb4区别

UTF-8编码字节一个US-ASCIl字符只需1字节编码(Unicode范围由U+0000~U+007F)。 带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等字母则需要2字节编码(Unicode范围由U+0080~U+07FF)。 其他语言的字符(包括中日韩文字、东南亚文字、中东文字等)包含了大部分常用字,使用3字节编码。 其他极少使用的语言字符使用4字节编码。参考资料来源:百度百科-UTF-8utf8和utf8mb4区别utf8 编码最大字符长度为

2020-07-01 13:48:57 80

原创 Golang单引号与双引号和反引号的区别

单引号'单引号里面只能包含一个字符,默认是 rune类型(等同于int32),输出的值改会自动改为字符的ASCII值。双引号"双引号里面可以是单个字符也可以是字符串,对应golang中的string类型,实际上是字符数组。可以用索引号访问某字节,也可以用len()函数来获取字符串所占的字节长度。双引号里的字符串可以转义,但是不能换行。反引号`反引号中的字符串表示其原生的意思,里面的内容不会被转义,可以换行。...

2020-06-29 10:28:43 714

原创 Git撤销pull操作

查看回退位置git reflog #显示所有的操作记录,包括提交,回退的操作结果如下:解决方法git reset --hard [commit_id|HEAD@{n}] #强制返回到某次提交前的源码状态命令中n是你要回退到的位置,如:git reset --hard HEAD@{18}注:你回退的位置之前有push操作,再次提交到远端的时候需要强制提交,用下面命令gitpush-foriginbranch...

2020-06-24 14:12:59 373

原创 Linux下bashrc的使用

使用群体全部用户需要有root权限,配置文件根据发行版不同而在不同的位置,但都在/etc下,并且带有bashrc字样。gentoo在/etc/bash/bashrc,arch和debian为/etc/bash.bashrc。注意配置内容不能写在文件的最上面。个人用户直接执行下面命令在里面编辑就好了vim ~/.bashrc命令解释:~代表的当前用户的home目录.bashrc是文件名~/.bashrc是绝对路径,这样你就可以在任何位置使用该命令啦bashrc编辑

2020-05-20 15:17:43 247

原创 Vim中鼠标无法使用

注:该方法只适合vim8.0以后的版本/usr/share/vim/vim80(如果你的vim版本为8.1 那文件夹为/usr/share/vim/vim81,以此类推)文件夹下找到defaults.vim把下面这几行代码注释掉。if has('mouse')set mouse=aendif注释的方法是在代码行前面加上双引号如:"if has('mouse')"set mouse=a"endif...

2020-05-20 14:33:57 270

转载 下载文件解决中文乱码及HTTP头的编码问题(Content-Disposition)

最近在做项目时遇到了一个 case :需要实现一个强制下载功能(即强制弹出下载对话框,阻止浏览器尝试解析显示某些文件格式),并且文件名必须保持和用户之前上传时相同(可能包含非 ASCII 字符)。前一个需求很容易实现:使用 HTTP Header 的Content-Disposition: attachment即可,还可以配合Content-Type: application/octet...

2020-04-08 18:05:09 713 1

原创 Shell脚本一键部署LAMP

Shell代码#!/bin/sh#检查一下liunx系统if grep -Eqii "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release; then DISTRO='CentOS'fiversion=$(/usr/bin/lsb_release -a |grep Description |awk -F : '{pri...

2020-03-06 09:24:59 371

原创 sessionStorage、localStorage区别

sessionStorage生命周期:浏览器窗口或标签页被关闭,那么sessionStorage存储的数据也会被清空 储数据大小:5MB 形式存储:总是以字符串的形式存储,并且数值类型会自动转化为字符串类型 共享范围:不同浏览器无法共享sessionStorage信息。并且不同页面或标签页间也无法共享sessionStorage的信息。(注:页面及标 签页仅指顶级窗口,如果一个标签页包含...

2020-03-05 18:27:08 93

原创 Windows批处理自动安装MySQL,MySQL绿色安装包

注:你要是对批处理不太熟悉,没关系,直接看本文的最下面批处理代码@cd /d %~dp0@%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit:以管理员身份运行cmd@echo off s...

2020-03-05 10:52:07 1342

转载 Redis缓存雪崩、穿透、击穿概念及解决办法

缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤; 访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增...

2020-03-04 18:33:12 139

原创 Redis的pipeline(管道),PHP使用pipeline

piplineredis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的实现。pipline可以打包n条命令,一次性传输到服务端,然后再按顺序返回命令的执行结果。需要注意的是集群模式对于pipline不太友好,因为pipline要操作的key可能在不同的哈希槽上,此时就需要进行请求的转发,但是这是与pipline...

2020-03-04 15:11:05 1019

原创 Redis (error) CROSSSLOT Keys in request don't hash to the same slot

在解决这个问题之前我们先来理解几个概念哈希槽(hash slot)哈希槽是一个key的集合,Redis共有16384个哈希槽,每个key会通过算法来决定key被放到哪个槽中,单点rendis所有的哈希槽在一起,集群中每个节点负责一部分哈希槽。以有三个节点的集群为例:节点A包含0到5500号哈希槽 节点B包含5501到11000号哈希槽 节点C包含11001到16384号哈希槽...

2020-03-04 12:46:47 2505

原创 Redis的单线程为何能够高并发

设计成单线程的原由官方表示,因为redis是基于内存的操作,cpu不是redis的瓶颈,redis的瓶颈最有可能是机器内存的大小或者网络带宽。而且官方提供的数据是可以达到100000+的qps(每秒内查询次数),这个数据并不比采用单进程多线程 memcached 差!所以官方采用来单进程单线程的设计。支持高并发的原由1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。2、采用...

2020-03-03 18:27:12 173

原创 Redis命令常用

连接Redisredis-cli #连接redisredis-cli -h 127.0.0.1 -p 6379 -a auth aklredispass #远程连接redisselect index # 使用 index 号数据库Key操作exists key #确认一个key是否存在del key #删除一个keytype key #返回值的...

2020-03-03 17:07:27 45

原创 Kafka命令常用

启动zookeeper./bin/zookeeper-server-start.sh config/zookeeper.properties &启动kafka./bin/kafka-server-start.sh config/server.properties &创建名为test的主题./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partit.

2020-03-01 15:25:38 55

原创 MySQL利用sql_calc_found_rows获取group by后的条数

注:sql_calc_found_rows 是比较慢的,sql执行的时间可能会达到count的10倍那么夸张,数据越大,相差时间越长,所以除了特定情况最好别使用 mysql 的 sql_calc_found_rows 来获取总行数。group by 后的数据是每一组一行记录,统计分组后的总的记录数不能用count,这时候sql_calc_found_rows就派上用场了。用法:1、在 ...

2020-03-01 14:42:14 177

原创 MySQL插入更新 on duplicate key update

on duplicate key update:要是插入的数据与表中数据的唯一索引或者主键重复,就会发生旧行的更新,否则插入一条新的记录。例:users表内容执行语句insert into users (id, name, pwd) values (1, '张三111', '密码111') on duplicate key update name = '张三222' ,...

2020-03-01 09:40:18 85

原创 Git之版本回退

方法一1、找到要回退的commit idgit log2、回退到指定版本gitreset--hardcommit_id3、强制推送本地分支到远程代码库gitpush-forigin branch方法二1、查看tag名称git tag2、回退到指定taggitreset--hardtag_Name3、强制推送本地分支到远程代...

2020-02-29 19:10:45 57

原创 Git合并分支到主分支,使主分支有一个干净清晰的log

合并分支到主分支,使主分支有一个干净清晰的log操作如下:git checkout master //切换回主分支git pull origin master //拉取远端master代码git merge --squash 分支名 //如遇冲突就解决冲突git commit -m "这里是注释"git push origin master //提交master代码到远端...

2020-02-29 15:16:21 400

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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