自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(347)
  • 资源 (2)
  • 收藏
  • 关注

原创 docker 容器迁移

docker 容器迁移

2024-04-12 11:04:53 248

原创 linux 配置服务开机启动

可以通过创建一个自定义的 Dockerfile,并在其中使用CMD或ENTRYPOINT指令来指定启动时运行的命令。编辑 /etc/rc.local 文件,并在exit 0语句之前添加你的应用程序路径。在运行docker run命令时,可以使用-d参数后跟启动命令来确保进程在后台运行。systemctl enable myapp.service #配置开启启动。ExecStart=/path/to/myapp #启动命令。WantedBy=multi-user.target #依赖。

2024-04-11 15:59:13 446

原创 Mysql 事物阻塞

查看现有事物(锁),批量生成 kill 命令

2024-04-10 16:18:04 303

原创 安装 windows 版 dash —— zeal

安装 windows 版 dash —— zeal

2024-04-08 18:23:47 301

原创 tcpdump 命令

tcpdump

2024-03-04 11:29:24 324 1

原创 redis 限流

redis 限流

2023-06-28 20:23:46 574

原创 centos8 升级 nginx

centos8 升级 nginx

2023-04-26 23:42:23 326 1

原创 空间索引-点在线上

空间索引,点在线上

2022-11-09 23:40:35 305

原创 ip范围和cidr相互转换

根据ip范围计算cidr

2022-09-09 03:04:38 1819

转载 github下载慢

github下载慢

2022-08-07 23:09:26 4617

原创 go 二分查找、上下边界

1、标准库的二分查找func upperBound0(nums []int, target int) int { //upper := sort.SearchInts(nums, target) upper := sort.Search(len(nums), func(i int) bool { return nums[i] >= target }) return upper}func lowerBound0(nums []int, target int) int { //

2022-02-13 14:43:13 504

原创 go string和[]byte对比

1、性能对比string 是常量,修改值会重新分配内存地址做内存拷贝,本质是一个结构体,含指针、len;[]byte 是变量,修改值不触发内存地址变动,扩容时是2倍策略,因此减少了频繁的内存拷贝,本质是一个结构体,含指针、len、cap。2、特性string 可以进行比较,可以作为map的key[]byte 不能进行比较,不能作为map的key[]byte和string区别golang string和[]byte的对比...

2022-02-11 20:37:55 1026

原创 go 文件流转发

先读入内存再返回的方式,不仅耗时,而且会占用较大的内存; 直接通过文件流方式,读一点,返回给前端一点,这样的方式更高效。package testimport ( "fmt" "io" "io/ioutil" "log" "net/http" "os" "testing")func TestServer(t *testing.T) { http.HandleFunc("/download/remote/stream", downloadRemote...

2022-02-09 01:18:22 911

原创 mysql 并发问题

1、查看并发连接数show processlist; -- 正在执行线程的列表show global status like 'Threads%'; -- 正在执行的线程的数量 Threads_connectedshowglobal status like '%connections%'; -- 查看历史最大连接数show global status like '%Max_used_connections%'; -- 查看历史最大连接数及其发生时间 Max_used_connections ..

2022-01-20 16:25:14 552

原创 gorutine 的9种状态

_Gidle = iota // 0_Gidle means this goroutine was just allocated and has not yet been initialized._Gidle 表示这个 goroutine 刚刚被分配,还没有被初始化。_Grunnable // 1_Grunnable means this goroutine is on a run queue. It is not currently executing user code. The sta

2022-01-15 23:49:40 833

原创 go GMP调度原理

一、golang调度器的由来1、单进程时代(单任务系统)顺序执行任务,同一时刻只有一个进程被执行;进程阻塞带来cpu资源的浪费。2、多进程多线程时代(多任务系统)任务并发执行,轮询调度,每个进程执行一个时间片。上下文切换的切换成本增大,cpu利用率降低。多线程随着同步竞争(锁、竞争资源冲突)开发设计变得越来越复杂。占用内存资源大,进程占用内存,虚拟内存4GB(32bit操作系统),线程约4MB。3、协程时代(内核线程+用户线程)通过语言级别的协程调度器,调度.

2022-01-12 00:19:08 3605

原创 go map

1、创建var mp map[string]string // nilmp := make(map[string]string) // empty map2、获取元素v := m[key],key不存在时,获取的是零值3、判断key是否存在v, ok := m[key]4、删除元素delete(map[key])

2022-01-02 17:48:04 77

原创 go slice

1、总结(1)切片容量不够时将自动2倍扩容(2)append 和 reslice 取片段,如果不引发扩容,就共用底层数组及cap(向后扩展),只是起始位置可能不一样,对新 slice 的操作会影响旧 slice。(3)append 和 reslice 取片段,如果引发扩容,新 slice 与原 slice 指向不同的底层数组。2、操作(1)初始化func initSlice() { var s1 []int //

2022-01-02 14:36:08 86

原创 幂等问题总结

1、什么是幂等接口幂等性是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。幂等是指一个操作无论执行多少次,产生的效果是一样的。幂等与是不是分布式高并发都没有关系,关键是所执行的操作是不是幂等的。2、开发中的幂等场景(1)页面上快速点击按钮重复提交表单、重复刷新页面,导致产生了多条重复的数据、放大了更新增量导致错误的结果。(2)接口调用超时,通常会增加重试。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回

2022-01-02 01:37:52 501

原创 Mysql 按逗号拆分

1、建测试表create table table_to_split ( `id` int unsigned auto_increment primary key, `name_list` VARCHAR(64));2、插入测试数据insert into table_to_split (id, name_list) values (1, 'name01,name02'), (2, 'name03,name04,name05');3、查询select * fro...

2021-12-22 13:02:13 1689

原创 mysql 备份表

1、备份​​​​​​​mysqldump -u xxx -p xxx -h 127.0.0.1 -P 6379 dbName tbName> tbName.sql2、脚本#!/bin/bashdatetime=$(date "+%Y%m%d_%H%M%S")echo ${datetime}user=rootpass=roothost=127.0.0.1port=6379db=dbNamemysqldump -u ${user} -p${pass} -h ${hos

2021-12-01 16:35:10 835

原创 go 编译部署问题

1、go get 出现如下错误x509: certificate signed by unknown authority(1)切换代理GOPROXY=https://goproxy.ioGOPROXY=https://goproxy.cn

2021-11-27 15:01:18 192

转载 go 错误处理

对于Go语言(golang)的错误设计,相信很多人已经体验过了,它是通过返回值的方式,来强迫调用者对错误进行处理,要么你忽略,要么你处理(处理也可以是继续返回给调用者),对于golang这种设计方式,我们会在代码中写大量的if判断,以便做出决定。func main() { conent,err:=ioutil.ReadFile("filepath") if err !=nil{ //错误处理 }else { fmt.Println(string(conent)) }}

2021-11-22 22:45:47 126

原创 go 发布依赖到 git

1、新建本地项目,创建 module使用 github 标准格式:github.com/用户名/仓库名go mod init github.com/xiaozhu/hello // 指定名称,创建 module2、安装依赖,编写代码go tide // 安装缺少的依赖,清理无用的依赖go get // 安装缺少的依赖go get "[email protected]" ...

2021-11-20 16:47:12 452

原创 git stash

1、暂存git addxxxgit stash #只会暂存已经 add(tracked)的内容,因此最好先 addgit stash save '暂存的名称' #指定暂存的名称2、查看所有暂存git stash list3、恢复暂存(1)指定暂存号恢复,并从 list 中删除git stash pop stash@{index}(2)指定暂存号恢复,但不从 list 中删除(建议)git stashapply stash@{i...

2021-11-11 14:35:48 1946

原创 gorm 事物锁

1、先读再写func UpdateUser(db *gorm.DB, id int64) error { tx := db.Begin() defer func() { if r := recover(); r != nil { tx.Rollback() } }() if err := tx.Error; err != nil { return err } user :=

2021-11-11 09:37:40 975

原创 git 错误处理

1、clone 错误fatal: unable to read config file ‘C:/Users/xxx/.gitconfig’: No such file or directory配置用户和邮箱git config --global user.name "xxx"git config --global user.name "[email protected]"2、push 错误Failed to connect to github.com port 443 after 21

2021-11-06 19:40:18 1134

原创 hunter base64url 编码

Golang 编码样例 1 2 3 4 5 6 7 8 9 10 11 12 packagemain import( "encoding/base64" "fmt" ) func main() { search := `title="北京"` search = base64.UR...

2021-11-05 13:30:05 162

转载 hunter 网络空间测绘

0x01资产搜集工具:全球鹰网络空间测绘搜索平台https://hunter.qianxin.com?from=csdn(简称 HUNTER)https://hunter.qianxin.com?from=csdn方法1-子域名搜集最开始对平台比较陌生,使用了domain检索,发现了一堆不匹配的数据。后来发现domain只是模糊查找带有关键词的域名数据,子域名搜集需要使用domain_suffix语法。输入语法domain_suffix=baidu.com,查找主域为baidu....

2021-11-02 20:53:21 6948

原创 go 命令

go mod tide (1)删除未使用的模块(2)添加已使用但 go.mod 中不存在的模块go mod tidy -v 打印移除的模块go help mod tidy 查看帮助go get

2021-11-02 17:40:25 361

原创 常用正则表达式

一、整行匹配1、匹配整行,且不包含字符串hello^(?!.*?hello).*$2、匹配整行,且包含字符串hello^.*hello.*$3、匹配整行,且必须是字母、数字、下划线的组合^\w+$二、贪婪匹配和非贪婪匹配贪婪匹配,找能够匹配的最大区间:?、*、+非贪婪匹配,找能够匹配的最小区间:??、*?、+?三、非捕获元1、匹配aaa,且前面是bbb(?<=bbb)aaa2、匹配aaa,且后面是cccaaa(?=ccc

2021-10-20 21:44:33 978

转载 mysql 回表和索引覆盖

一、什么是回表查询这先要从InnoDB的索引实现说起,InnoDB有两大类索引: 聚集索引(clustered index) 普通索引(secondary index) InnoDB聚集索引和普通索引有什么差异?InnoDB聚集索引的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引:(1)如果表定义了PK,则PK就是聚集索引;(2)如果表没有定义PK,则第一个not NULL unique列是聚集索引;(3)否则,InnoDB会创建一个隐藏的ro

2021-10-18 21:29:00 94

原创 mysql 分组查询

一、分组topk(1)建测试表-- 员工表create table member ( `id` INT UNSIGNED NOT NULL auto_increment PRIMARY KEY, `mgr_id` INT UNSIGNED NOT NULL DEFAULT 0, `num` INT UNSIGNED NOT NULL DEFAULT 0)ENGINE=INNODB;INSERT INTO member (mgr_id, num) VALUES(1...

2021-10-17 19:24:13 204

原创 msyql 复杂语句

一、复杂查询1、子查询 独立子查询,相关子查询。 子查询出现位置:select-column子查询(独立/相关),from-table子查询(独立),where-key子查询(独立/相关),where-value子查询(独立/相关)2、关联查询 inner-join、left-join、right-join、full-join 多表查询3、过滤 条件过滤 where 后过滤器 having(必须是se...

2021-10-17 16:14:41 264

原创 mysql 插入重复

1、重复条件 字段为主键、唯一键2、重复处理方式 重复时不插入(ignore)、重复时删除重建(replace into)、重复时更新(on duplicate key update)3、应用场合 重复时更新:存在更新,不存在插入...

2021-10-14 01:58:14 1301

原创 nginx:rewrite 和 proxy_pass

1、rewrite 特点(1)重写url,可以重写path,也可以重写整个url(存在协议,默认返回302,代表临时跳转)。(2)4 个 flag:last、break、redirect、permanent。存在 flag 时,在当前location 中,不再执行之后的 rewrite指令集(包括 rewrite、return)中的指令;break 和 last 正好相反,break 中止对其它location 的规则匹配,last 继续向其它 location 进行规则匹配;2、使用举例...

2021-10-09 21:47:14 11592 2

原创 mysql wherein 数组过大

1、加索引 对要查询的字段加索引,但是要注意存在联合查询的情况;因此要考虑是加单列索引还是多列的复合索引。2、join 使用关联查询,避免出现wherein。3、使用 between 分块,利用 between 提高效率。前提是要查询的数组内的值具有连续性。 ...

2021-10-07 12:23:33 910

原创 go 在linux配置go环境

# downloadmkdir -p /go/gopathcd /gowget https://dl.google.com/go/go1.15.2.linux-amd64.tar.gztar -zxf go1.15.2.linux-amd64.tar.gz# envvim /etc/profilesource /etc/profilego env# addexport GOROOT=/go/goexport GOPATH=/go/gopathexport PATH=$PATH:.

2021-10-07 12:03:25 146

原创 cookie-session

cookie 和 session 都是一块存储区域,主要是给服务端用的(当然客户端可以使用 cookie),作用:(1)认证客户端(2)区别存取与客户端相关的数据。1、cookie(1)cookie 是什么 存储在客户端,即在客户端/浏览器端划分出的一块存储区。存储的是一条一条的记录,每条记录由多个 k-v 键值对组成,其中一个为主体,即数据,其他为针对该条记录的配置,如过期时间、http-only等。 每次请求时,请求头 Cookie 字段将复制co...

2021-09-19 12:29:31 1269

原创 Mysql Spatial 索引

1、SRID 坐标系统,决定了坐标点的类型、坐标点范围大小、空间函数如何被使用;2、创建空间索引(1)创建空间索引时,字段的 SRID 应该被显示指定,否则索引仍然会被创建,但无法使用索引;(2)建多列空间索引时,这些列应该使用相同的 SRID,否则无法使用联合索引;...

2021-08-01 14:10:06 2454

leach+pegasis_ns234.patch

安装依赖:ubuntu10.04、ns-2.34 全过程详细配置:https://blog.csdn.net/weixin_41565755/article/details/88381605 打补丁方式安装,亲测可行,保证成功!

2020-01-16

stm32F407 SPI1/SPI2 DMA 方式读写 CH376S

内含SPI1/SPI2两个接口的读写版本,都是用的DMA方式,通信速度还不够快,好像几十KB吧,具体忘了多少了。下载者可以试着优化一下,速度还可以提高的。部分测试结果:https://blog.csdn.net/weixin_41565755/article/details/83115489

2019-01-03

空空如也

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

TA关注的人

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