V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PTLin  ›  全部回复第 5 页 / 共 25 页
回复总数  488
1  2  3  4  5  6  7  8  9  10 ... 25  
57 天前
回复了 liuidetmks 创建的主题 程序员 网盘既要大容量,又要隐私,很难办?
有钱有稳定又流量大的代理就用 mega 网盘。
57 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
@bli22ard 我不是让你用 dup 实现 split ,我是指 dup 之后两个 fd 也是指向的一个 vfs 这个概念,再结合你上个问的&File 问的问题你应该理解为什么有 impl Write for &TcpStream 了吧。
58 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
@PTLin 最后有口误,是让不同的 fd 对于的 fdtable 里的条目指向同一个 file 。
58 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
别钻牛角尖了,本来 os 上的 socket 就没有可以设定只能只读/只写的接口,介于这个原因标准库才没搞什么像是 tokio 里 split 那种只读只写的结构,和你上一个问的为什么&File 可以读写数据一个理由,就是更贴近 os 端的设计导致的。
所有什么只能读或者只能写的接口全都是上层语言或者库的抽象,你要想搞什么只读只写自己包一下就完事了,try_clone 在 Linux 就是 dup 系 syscall ,让多个不同 fd 指向同一个 fdtable 里的 file ,操作 clone 出来的新 TcpStream 和你操作原先的没有任何区别,两个指向的都是一个 socket file 。
59 天前
回复了 bli22ard 创建的主题 Rust rust TcpStream 为什么设计读写一体
你的想法也没什么问题。标准库没提供,只能手动 clone ,但是 tokio 提供了你想要的功能。
https://docs.rs/tokio/latest/tokio/net/struct.TcpStream.html#method.split
62 天前
回复了 bli22ard 创建的主题 Rust rust 的 File 是有魔法吗?
这个属于 api 设计问题,我举个例子。
假如有个文件 test.txt 内容是 asd
```rust
let file1 = OpenOptions::new().write(true).open("test.txt").unwrap();
let file2 = File::open("test.txt").unwrap();

(&file1).write_all(b"zxc").unwrap();
let mut buf = String::new();
(&file2).read_to_string(&mut buf).unwrap();

assert_eq!(&buf, "zxc");
```
两个变量打开了同样的文件,本来 file2 读取出来的东西应该是 asd ,但是由于打开的是一个文件,file1 修改文件后 file2 就读出来 zxc 了,就是有这种副作用,file2 在根本没有操作的情况下改变了内容,这种性质在语言层面没有办法限制。
介于 os 中 file 的这种特性,设计成非要 mut 才能 read write 就失去了意义。
吊单杠算是相当科学的方法了,我家附近的公园还能看见腰突的大妈为了缓解去吊单杠。
66 天前
回复了 Cola98 创建的主题 Rust 请教一个 Rust 问题,提前祝大家中秋节快乐
来个最小 demo ,不过你要写解析库还是推荐用 nom
69 天前
回复了 sai190209 创建的主题 Python Python 该如何进阶学习呢?
书的话无非 cookbook 和 fluent
毕竟那个文章作者冯若航就是靠 PostgreSQL 赚钱的,可以看看他之前的文章,他说出什么话我都感觉不奇怪。
77 天前
回复了 Lcode01 创建的主题 程序员 真不错,写的文章被掘金官方转载了
我都不用点开就知道是前端的文章 :)
一旦套上了“业务开发”,“业务经常变化”的 buff 之后,多丑的代码都可以接受了。
78 天前
回复了 ericcen 创建的主题 Go 编程语言 go 编程方式
78 天前
回复了 dumbbell5kg 创建的主题 程序员 进程有自己的栈吗
78 天前
回复了 dumbbell5kg 创建的主题 程序员 进程有自己的栈吗
@dumbbell5kg 你要想搞明白建议买一本好点的内核书籍,详细学习一下 switch_to ,switch_mm 都代表着什么,为什么需要内核栈,中断和 syscall 是怎样切换到内核栈的,内核栈所在的地址空间和用户地址的关系。
Linux 内核设计与实现这书是教不会人的,讲的太笼统。
@murmur 这是 rustc 的问题,项目的一些信息会存在在二进制中,被吐槽好久了,前几个月还说要改来着。
那就加载到本机然后前缀树匹配不行吗,我试了下 6800h 单线程匹配也就 1 毫秒
f2fs 这种带日志的说实话真彻底挂掉的概率是很小的,随时断电的场景下 100%没问题是不可能的,但就迭代了这么多年,加上个人的经验,99%没问题倒是可以。
1  2  3  4  5  6  7  8  9  10 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2923 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 14:39 · PVG 22:39 · LAX 06:39 · JFK 09:39
Developed with CodeLauncher
♥ Do have faith in what you're doing.