V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yin1999  ›  全部回复第 3 页 / 共 14 页
回复总数  262
1  2  3  4  5  6  7  8  9  10 ... 14  
2023-05-02 14:25:51 +08:00
回复了 q84055472 创建的主题 宽带症候群 现在千兆快的只有 50 兆上行?
@luodaoyi 杭州电信好像看地区?我家里能跑 70M 上行,下行 300M 的
举个简单的例子,比如我现在主进程里面使用 pipe 创建了一个管道,然后将输入端的文件描述符传递给 fork 出来的 A ,并在 A 中重定向输出到 pipe 的输入端,关闭 pipe 的输出端文件描述符。但我没有在主进程中关闭输入端的文件描述符并直接 fork 出了进程 B ,在 B 中重定向 Pipe 的输出端到标准输入,也在这里关闭 pipe 的输入端。那即使 A 退出了,B 中调用 read 也是会阻塞的(读不到 EOF )。因为主进程里面没有关闭输入端的文件描述符。

正确的做法是在 fork 出 A 后在主进程直接关闭输入端的文件描述符,再 fork B ,然后再在主进程中关闭输出端文件描述符。这样能保证输入端和输出端的文件描述符仅由两个 fork 出的子进程持有。

fork 得到的文件描述符可以当作引用吧,如果不是所有的引用都断开了,并不会关闭所指向的文件描述符。(不确定是否完全正确,这两天有踩过没在主进程关闭文件描述符的坑)
2023-03-21 09:56:05 +08:00
回复了 yin1999 创建的主题 分享发现 阿里云盘学生免费领取 1TB 永久空间
@spongeboBoy 找个别人分享的阿里云盘文件,转存一下,就能点亮第二个图标了(备份电脑文件可能是有 bug ,我没试过)
2023-03-13 10:29:58 +08:00
回复了 kofip 创建的主题 Google Google Chrome 浏览器 User-Agent 问题
对,这个是故意的,之前有公告: https://developer.chrome.com/docs/privacy-sandbox/user-agent/
2023-02-24 20:40:27 +08:00
回复了 god7d 创建的主题 Linux 推荐 Linux 系统
Debian +1
2023-02-11 16:03:29 +08:00
回复了 daqin 创建的主题 NAS sshd 混合硬盘在群晖里识别成 hhd 还是 ssd?
@bigdude sshd 是吧 xD:
@edis0n0 base64 一下怎么保证唯一,签名算法要做得尽量通用,不论是用 js 、Java 、go 、Python 还是其它语言。不排序如何保证最终要处理的字符串是相同的
2023-01-17 08:29:52 +08:00
回复了 techstay 创建的主题 程序员 请教一下 clash 的最适合打开方式,以及几个小疑问
@wangyu17455 有 ip6tables ,用 nftables 就更方便了,代理软件不是用优先域名匹配的更多些嘛,根据 sni 来对 HTTPS 流量做分流就成了。我是参考 Xray 配置的 https://xtls.github.io/document/level-2/tproxy_ipv4_and_ipv6.html#%E4%BD%BF%E7%94%A8-iptables
2023-01-11 16:42:59 +08:00
回复了 m1klos 创建的主题 程序员 有没有垃圾佬? E5 2666 v3 现在还能打吗?
的确,组了台 13 代,然后在摸鱼逛 v2

https://i.imgur.com/CBPX5CL.png
2023-01-03 18:54:20 +08:00
回复了 1800x 创建的主题 信息安全 有没有 AES CBC 模式,填充,加初始向量的加解密代码例子?
应该是可行的,正常就是使用 pkcs7 pad 扩充为 16 字节的整数倍。
2022-12-02 15:07:03 +08:00
回复了 imNull 创建的主题 分享创造 写了一个可以通过 http 发送邮件的转换工具
可以加一个 STARTTLS 端口的支持,这样也是可以用标准库进行 PlainAuth 认证的
2022-12-01 22:07:36 +08:00
回复了 billzhuang 创建的主题 程序员 OpenAPI 新项目 ChatGPT
Fix typo: OpenAI
2022-11-29 21:25:09 +08:00
回复了 sealinfree 创建的主题 Go 编程语言 求教 os.readfile 内存溢出的问题
也可以选择在
data1 = infoArr[0]
data2 = infoArr[1]
这里克隆两个字符串
data1 = strings.Clone(infoArr[0])
data2 = strings.Clone(infoArr[1])
应该是 GMap 长期持有子串,造成整个字符串无法被 GC ,尝试在长期持有子串的地方克隆一下子串
2022-11-29 21:21:51 +08:00
回复了 sealinfree 创建的主题 Go 编程语言 求教 os.readfile 内存溢出的问题
var GMap=map[string]string

func DomainMapLoadFromFile() {
GMap=make(map[string]string,10)
//尝试解决内存溢出
fileStr := ReadAll("DataMap", "CacheMap")
contentStrArr := strings.Split(*fileStr, "\n")
var wg sync.WaitGroup
wg.Add(contentLen)
for i := range contentStrArr {
go func(content string) {
infoArr := strings.Split(content, "|")
var deviceId int64
l := len(infoArr)
if l == 2 {
data1 = infoArr[0]
data2 = infoArr[1]
} else {
fmt.Println("不符合长度 5-6 的数据,content:" + content)
wg.Done()
return
}
GMap[data1]=data2
wg.Done()
}(strings.Clone(contentStrArr[i]))
}
wg.Wait()
}

func ReadAll(fileName, dirName string) string {
content, _ := os.ReadFile(GetFilePathPWD(fileName, dirName))
contentStr := string(content)
return contentStr
}
2022-11-29 21:20:05 +08:00
回复了 sealinfree 创建的主题 Go 编程语言 求教 os.readfile 内存溢出的问题
ReadAll 里面应该返回 string ,这不会增加开销,用指针反而会增加 GC 的开销。用 copy 拷贝数组,应该不会拷贝字符串吧,strings.Split 函数返回的子串都是对原字符串的引用。尝试在向里面的匿名函数传递数组元素时,使用 strings.Clone() 拷贝一份子串
1  2  3  4  5  6  7  8  9  10 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   874 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 21:42 · PVG 05:42 · LAX 13:42 · JFK 16:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.