V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  kivmi  ›  全部回复第 3 页 / 共 6 页
回复总数  107
1  2  3  4  5  6  
6 小时还能猝死?我有时候 4 点睡,8 点醒
mysql> alter table sbtest1 add column create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', algorithm=instant;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table sbtest1 add column update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间' ,algorithm=inplace;
Query OK, 0 rows affected (1 min 16.38 sec)
Records: 0 Duplicates: 0 Warnings: 0

这是 1000w 的表两种算法 DDL 修改的效果,而 algorithm=instant 是 mysql8.0 默认的算法,algorithm=inplace 是 mysql5.7 默认的算法,也就是说对于 mysql8.0 来说,并不需要 rebuild 数据表。
349 天前
回复了 cloudzhou 创建的主题 职场话题 大龄被裁大头兵职业感想
不要再痴迷于技术了,不要再痴迷于为人打工了,为了自己的流量密码和生意而搞技术,公司里写个屎山都没关系,私下里发展自己的事业,这样才能有一番事业。不然离了公司,断了粮!怎么能让自己可持续发展?可能需要站在技术前沿,站在全人类,而不是仅仅中国的角度来考虑问题,将文化和技术融合,将技术和文化融合,寻找技术壁垒,也就是说对于普通的程序员,更应该使用赚快钱的方式,而不是把一件事当做做一辈子的心态,与时俱进,随时切换。这是我对自己 10 多年工作的总结!
其实 github.com/gookit/slog 中已经有了所有的信息,包括行信息,当然这种情况下,对于多个链路调用没那么友好,只能看到发生错误的地方,到底是哪个模块产生的错误,还是不是很清楚,因此可以打印整个的调用栈帧,如下:

func printCallers() {
var pcs [10]uintptr
n := runtime.Callers(2, pcs[:])
frames := runtime.CallersFrames(pcs[:n])
for {
frame, more := frames.Next()
fmt.Printf("Function: %s\nFile: %s\nLine: %d\n\n", frame.Function, frame.File, frame.Line)
if !more {
break
}
}
}

func ErrWrap(err error, message string) (e error) {
if err != nil {
slog.Info(message)
printCallers()
return err
}
return nil
}

这样既可以拿到对应的行,也可以看到整个的调用栈:

[2025/01/01T15:45:43.828] [application] [INFO] [main.go:30,ErrWrap] Json 解析错误

Function: main.ErrWrap
File: F:/workspace/go/errors-demo/main.go
Line: 31

Function: main.covert
File: F:/workspace/go/errors-demo/main.go
Line: 39

Function: main.main
File: F:/workspace/go/errors-demo/main.go
Line: 51

Function: runtime.main
File: C:/Program Files/Go/src/runtime/proc.go
Line: 250

Function: runtime.goexit
File: C:/Program Files/Go/src/runtime/asm_amd64.s
Line: 1594

Error: invalid character '>' looking for beginning of value
Result: map[]

Process finished with the exit code 0
func ErrWrap(err error, message string) (e error) {
if err != nil {
fmt.Println(fmt.Errorf("Error: %v\nStack trace:\n%s", err, debug.Stack()))
slog.Info(message)
return err
}
return nil
}

func covert(data string) (result map[string]interface{}, err error) {
e := json.Unmarshal([]byte(data), &result)
e = ErrWrap(e, "Json 解析错误")
return result, e
} 类似这样的,是否满足你的需求呢?
2024-12-30 22:52:52 +08:00
回复了 junwind 创建的主题 程序员 怎么搭建一个自己的私人影视库,供给电视播放?
nas
说啥好呢?还是不说了吧.....OP ,加油!
2024-12-30 22:33:59 +08:00
回复了 Ashe007 创建的主题 程序员 学习研究搭建 Kubernetes 的问题
@gdw1986 用 kubeadmin 就绕过了
2024-12-30 22:32:52 +08:00
回复了 Ashe007 创建的主题 程序员 学习研究搭建 Kubernetes 的问题
@LokiSharp 自己玩 16G ,可以的
2024-12-30 22:30:55 +08:00
回复了 Ashe007 创建的主题 程序员 学习研究搭建 Kubernetes 的问题
@kursk K8S 只是一个容器编排工具,管理 pod 和容器,当然会涉及网络,存储,服务暴露之类的东东。
2024-12-30 22:21:07 +08:00
回复了 iamtuzi3333 创建的主题 程序员 大佬们,请教一下数据读取
从大数据处理基本都是 map-reduce ,所以,这么直接查询原始数据,总感觉有些不妥
2024-12-30 21:29:50 +08:00
回复了 freesun165 创建的主题 git 求助 git 自动 merge 丢代码
太危险了,master -> branch , 相当于你对同一行的修改无效啊,各种冲突吧?可以从 master 同时 fork 几个分支?一个为开发分支,一个为上线分支?当需要上线时,合并到上线分支,然后合并到 master ,一直保持上线分支跟 master 保持一致,实现快速上线。貌似 git flow hotfix 也可以做到。
2024-12-30 21:08:08 +08:00
回复了 ray2100 创建的主题 北京 程序员们一起跨年,一起玩
京西大悦城有跨年活动
2024-11-25 08:02:32 +08:00
回复了 Joker123456789 创建的主题 Java 其实,我更喜欢写 SQL
直接存储过程走起
2024-11-24 22:28:01 +08:00
回复了 li8888 创建的主题 程序员 新上一个工具站,求指点
@unclezs 系统卡顿引起的
2024-11-24 22:23:06 +08:00
回复了 li8888 创建的主题 程序员 新上一个工具站,求指点
@unclezs 桌面快捷方式启动不了
2024-11-24 22:21:36 +08:00
回复了 li8888 创建的主题 程序员 新上一个工具站,求指点
@unclezs 貌似是需要管理员安装
2024-11-24 22:19:34 +08:00
回复了 li8888 创建的主题 程序员 新上一个工具站,求指点
@unclezs window11 都启动不了啊
2024-10-25 16:43:40 +08:00
回复了 Margelator 创建的主题 Java 生活所迫,求推荐 Java 速成优秀教程(视频最好)
@Belmode java 的生态学起来周期太长,而且面试很卷,前端快多了,至少前端其实可以接活干
2024-10-25 00:03:58 +08:00
回复了 iixy 创建的主题 职场话题 年纪大又技术一般的人未来能做什么?
这个问题无解的。找到答案的也不会告诉你,告诉你的,你也不会接受。。。
1  2  3  4  5  6  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1186 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
♥ Do have faith in what you're doing.