- 博客(351)
- 资源 (2)
- 收藏
- 关注
原创 yum 报错:error: rpmdb: BDB0113 Thread/process 32266/140516331530304 failed: BDB1507 Thread
【代码】yum 报错:error: rpmdb: BDB0113 Thread/process 32266/140516331530304 failed: BDB1507 Thread。
2024-04-30 12:54:40 207 2
原创 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 483
原创 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 545
原创 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 1114
原创 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 1021
原创 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 619
原创 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 920
原创 go GMP调度原理
一、golang调度器的由来1、单进程时代(单任务系统)顺序执行任务,同一时刻只有一个进程被执行;进程阻塞带来cpu资源的浪费。2、多进程多线程时代(多任务系统)任务并发执行,轮询调度,每个进程执行一个时间片。上下文切换的切换成本增大,cpu利用率降低。多线程随着同步竞争(锁、竞争资源冲突)开发设计变得越来越复杂。占用内存资源大,进程占用内存,虚拟内存4GB(32bit操作系统),线程约4MB。3、协程时代(内核线程+用户线程)通过语言级别的协程调度器,调度.
2022-01-12 00:19:08 4406
原创 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 119
原创 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 99
原创 幂等问题总结
1、什么是幂等接口幂等性是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。幂等是指一个操作无论执行多少次,产生的效果是一样的。幂等与是不是分布式高并发都没有关系,关键是所执行的操作是不是幂等的。2、开发中的幂等场景(1)页面上快速点击按钮重复提交表单、重复刷新页面,导致产生了多条重复的数据、放大了更新增量导致错误的结果。(2)接口调用超时,通常会增加重试。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回
2022-01-02 01:37:52 535
原创 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 1743
原创 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 876
原创 go 编译部署问题
1、go get 出现如下错误x509: certificate signed by unknown authority(1)切换代理GOPROXY=https://goproxy.ioGOPROXY=https://goproxy.cn
2021-11-27 15:01:18 254
转载 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 136
原创 go 发布依赖到 git
1、新建本地项目,创建 module使用 github 标准格式:github.com/用户名/仓库名go mod init github.com/xiaozhu/hello // 指定名称,创建 module2、安装依赖,编写代码go tide // 安装缺少的依赖,清理无用的依赖go get // 安装缺少的依赖go get "xxx@v1.0.0" ...
2021-11-20 16:47:12 552
原创 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 2505
原创 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 1043
原创 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 "xxx@xxx.com"2、push 错误Failed to connect to github.com port 443 after 21
2021-11-06 19:40:18 1195
原创 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 177
转载 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 8782
原创 go 命令
go mod tide (1)删除未使用的模块(2)添加已使用但 go.mod 中不存在的模块go mod tidy -v 打印移除的模块go help mod tidy 查看帮助go get
2021-11-02 17:40:25 421
原创 常用正则表达式
一、整行匹配1、匹配整行,且不包含字符串hello^(?!.*?hello).*$2、匹配整行,且包含字符串hello^.*hello.*$3、匹配整行,且必须是字母、数字、下划线的组合^\w+$二、贪婪匹配和非贪婪匹配贪婪匹配,找能够匹配的最大区间:?、*、+非贪婪匹配,找能够匹配的最小区间:??、*?、+?三、非捕获元1、匹配aaa,且前面是bbb(?<=bbb)aaa2、匹配aaa,且后面是cccaaa(?=ccc
2021-10-20 21:44:33 1255
转载 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 109
原创 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 229
原创 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 300
原创 mysql 插入重复
1、重复条件 字段为主键、唯一键2、重复处理方式 重复时不插入(ignore)、重复时删除重建(replace into)、重复时更新(on duplicate key update)3、应用场合 重复时更新:存在更新,不存在插入...
2021-10-14 01:58:14 1376
原创 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 12351 2
leach+pegasis_ns234.patch
2020-01-16
stm32F407 SPI1/SPI2 DMA 方式读写 CH376S
2019-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人