V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  bv  ›  全部回复第 1 页 / 共 6 页
回复总数  109
1  2  3  4  5  6  
6 天前
回复了 mrleft 创建的主题 Local LLM ollama 如何手动下载模型?
@smartruid 我移动千兆宽带,一开始十几兆每秒,约莫一分钟后就会在 2M/s 浮动
31 天前
回复了 anciity 创建的主题 程序员 有没有人遇到过这类请求,每天请求一遍
@anciity 不一定是通过域名扫描的,可能是通过 IP 地址,一扫一大段,广撒网。
31 天前
回复了 anciity 创建的主题 程序员 有没有人遇到过这类请求,每天请求一遍
就是恶意扫描
37 天前
回复了 zhangyongji 创建的主题 程序员 各种 JDK 版本下载
@sn0wdr1am 对头
Don’t use panic for normal error handling. Use error and multiple return values.

https://go.dev/wiki/CodeReviewComments#dont-panic
@yuzuhi 咋不试试 gorm/gen https://gorm.io/gen/query.html
94 天前
回复了 IIInsomnia 创建的主题 Go 编程语言 从 0 到 1 手撸一个协程池
实现协程池需要这么多代码?
新库新办法,老库老办法 https://i.imgur.com/Ug1iMq4.png
109 天前
回复了 brader 创建的主题 程序员 现在有部分前端真的水到家了
@bv 啥也别说了,给她个文档看看吧: https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/set#filename
109 天前
回复了 brader 创建的主题 程序员 现在有部分前端真的水到家了
不光是你,我身边有过工作接触的前端开发中,不止一个人对 multipart/form-data 一脸蒙逼,TA 们似乎认为只有 JSON 格式的数据。
lis, err := net.Listen("tcp", ":8080")
if err != nil {
fmt.Printf("listen error: %v\n", err)
return
}
fmt.Println("listening on port 8080")

srv := &http.Server{}
srv.Serve(lis)
117 天前
回复了 atonganan 创建的主题 程序员 请问现在有啥工具可以替代 postman 吗
121 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@jeesk #119 就是 rename 才报的 invalid cross-device link 错误,不明白你说 “cross-device link 错误后,直接拿到文件去 rename 即可.”要表达什么意思?

如果你有什么解决思路,不妨分享一下代码,或者详细的描述一下思路。
121 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@jeesk #117 不明白你为何不行,至少我这边自测是成功的。
同时也测试出了 rename 存在一个限制:在 Linux 中,不同分区/分区格式不同时,会报错:rename <src> <dest>: invalid cross-device link ,这并不是上面的代码使用方式不对,只是系统低层的限制。rename 出错最好不要直接返回错误,而是要退化到 io.Copy 去兜底。
121 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@jeesk #113 注意看:如果断言是 *os.FIle 就 os.Rename() 。不是才走 io.Copy 。
121 天前
回复了 momowei 创建的主题 Go 编程语言 go 的内存优势在部分场景比想象中多
@jeesk #108 这倒是个不错的思路,我看了下,用不到反射,只需要简单的断言就可以了。

func saveFile(upload *multipart.FileHeader, dst string) error {
srcFile, err := upload.Open()
if err != nil {
return err
}
defer srcFile.Close()

if file, ok := srcFile.(*os.File); ok {
return os.Rename(file.Name(), dst)
}

dstFile, err := os.Create(dst)
if err != nil {
return err
}
defer dstFile.Close()

_, err = io.Copy(dstFile, srcFile)

return err
}
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2779 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.