避坑之 grpc metadata 不能存入非 ASCll 字符 grpc metadata 不能存入非 ASCll 字符 1rpc error: code = Internal desc = header key "user_name" contains value with non-printable ASCll characters 项目中进行 rpc 调用的时候出现这个问题,问题很容易追踪, 就是在 metadata.AppendTo 2023-07-06 #Golang #gRPC
一次重复支付引发的思考 如何避免订单重复提交和重复支付, 在网上一些文章视频都很好的讲出怎么避免此类问题 然而重复支付真正发生在自己身上, 却还是焦头烂额 复盘 6月10日13点22分, 业务方反馈支付系统对人员自动打款没有到账, 让排查问题 13点36分, 我反馈支付服务压根没有收到支付请求, 产品让业务服务手动把支付状态改为支付失败, 这样可以在页面上手动支付 13点36分-13点44分, 业务服务修改支付状态后 2023-06-13 #思考
使用 Bitwarden_RS 构建属于自己的密码管理器 痛痛痛 生活在互联网上, 账号密码的记录真的是让人头疼的问题, 各种网站应用的登录,不同的账号密码规则,有时候还有同一个网站应用开了多套账号 因此,密码管理器顺势而出,只用记住一个主密码,就可以管理所有的账号密码 市面上的密码管理器有很多,非常有名的有1Password, LastPass, Dashlane, Bitwarden等等,V站上每个月都有讨论这方面的帖子 废话多说, 分享一下个人搭建 2023-05-13 #分享发现
<逆向学习小记之request headers藏了加密信息>axios拦截器之axios.interceptors.request.use 网站 1btoa('aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0MDYwMC9qeWdn') 网站中所有请求都带了 12345X-Dgi-Req-App: xxxxX-Dgi-Req-Nonce: xxxX-Dgi-Req-Signature: xxxxxxxX-Dgi-Req-Timestamp: xxx 错误的签名或者没有签名都会出现错误 2023-04-06 #Python
Gorm 中使用 Postgres 的 json 官方json文档 https://www.postgresql.org/docs/12/functions-json.html 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071pac 2023-03-06 #Golang #Gorm #Postgres
用反射闭包了一下 Gin 的 HandlerFunc, 我终于可以开开心心的写单元测试了 用反射闭包了一下 Gin 的 HandlerFunc, 我终于可以开开心心的写单元测试了 上家公司是用 go-micro 写 rpc, 现在跑过来写 gin, 写单元测试构造用例可太麻烦了 用反射封装了一下,我又回到当初写微服务的快乐了 没有破坏路由也没有破坏中间件,就加了 req 和 resp 的反射封装 基佬链接: https://github.com/maocatooo/thin/tre 2023-03-06 #Golang #Gin
腾讯一面经 面经 腾讯社招一面 tpc和udp区别 tcp如何保证可靠传输 三次握手四次挥手 四次挥手 TIME_WAIT 为什么要等待2MSL Redis 为什么这么快 (多个情况) Redis 热key Redis 和 MongoDB区别 MySQL 数据库SQL执行流程 MySQL 聚簇索引和非聚簇索引 区别 MySQL 回表 MySQL 索引失效的情况 负责服务的QPS 建立索引后, 如何优化SQL 2023-02-27 #面经
再见 2022, 2022 总结 2022年 2022年, 因为疫情一月被封到过年,中间断断续续也是因为疫情被封在家里几次,12月放开也是迅速的阳了,因为公司是内网开发,且不能远程办公,导致被封在家的时间只能从周内晚上、周末来补,也是让我真正体会到了什么是996 2022年9月老板意外去世, 12月老板娘深夜突然搬空公司机房, 导致顺利失业 工作 拿到了2021年公司优秀员工之一, 算是对2021的交代 完善了公司 Golang 2023-02-01 #思考
Golang 内存管理 堆内存 arena(64MB) -> 8192 page(8KB) span -> N page(一个span包含多个page)-> M 内存块(一个span等分M个内存块) Go 语言的内存管理模块中一共包含 67 种跨度类 spanclass1 - 8B … spanclass67 - 32KB spanclass 0 表示大于32KB的大块内存 微对象 (0, 16B) 2023-01-07 #Golang
Golang 一些题目 golang中分为值类型和引用类型 值类型分别有:int系列、float系列、bool、string、数组和结构体 引用类型有:指针、slice切片、管道channel、接口interface、map、函数等 值类型的特点是:变量直接存储值, 内存通常在栈中分配 引用类型的特点是:变量存储的是一个地址, 这个地址对应的空间里才是真正存储的值, 内存通常在堆中分配 数组和切片的区别 数组是定长的 2023-01-06 #Golang