V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nebkad  ›  全部回复第 2 页 / 共 7 页
回复总数  121
1  2  3  4  5  6  7  
省心,省日常成本,省总成本,目前不能全部同时拥有:

1. 纯电:主打省心(保养简单),日常充电如果愿意等公桩谷时电价,或者有家充也算省钱,但要开很多才能把电池成本省回来;但是日常体验目前来说是最好的,开着不用想油价什么的问题;

2. 插电混动( PHEV ):主打省短期成本,车价格比纯电便宜,使用成本比纯油低,适合随心所欲地用车,没有续航焦虑,能适应很多计划外情形(长途、突发),但是保养会比纯电频繁一点贵一点;油价焦虑是客观存在的,所以其实不是很适合固定通勤路线的上班族,适合经常需要不定期出远门的;

3. 油车和油混( HEV ):纯油或者油混总成本其实是目前最便宜的(因为是最成熟的工业而不是因为先进)。但除非你真的只买最便宜的油车并且是那种预留一大笔钱来支付保养和日常耗费,否则你是省不出这个感觉的。通常来说,越穷的人越难按计划消费(很反直觉但是是真的),所以适合穷人买的便宜油车反而其实很难省出价值来。
用 C# 写网络应用,性能瓶颈不在于跨平台异步框架设计带来的 IO 开销,因为实际上都是直接利用底层 OS API (例如 epoll iocp kqueue 等等)提供的支持,也就是说做到了别的语言最多只能一样快。

性能瓶颈在于一些 corner case 下,GC 阻碍了资源(不仅仅是内存,还有内存上面你写的对象)的及时释放而导致的奇怪问题。尽管有 `IDisposable` 但还是会写得很痛苦,心智负担很高。

但如果你只是原型开发、快速开发简单业务,那么 C# 可以搞一搞。
204 天前
回复了 xaoflysho 创建的主题 NAS 想问问大伙 NAS 备份照片的方案
V 友什么的最好了
t/980166
220 天前
回复了 youngPacce 创建的主题 Rust rust 关于.await 的疑惑
你的疑惑不在于 await ,而是你还没理解 协程( coroutine) 和 线程 (thread) 的运行方式。
协程是对线程的分时复用,线程是操作系统提供的对 CPU 的分时复用。
Rust 的 await 是一种协程相关的关键字,你的理解是线程的工作方式。
235 天前
回复了 proxyai 创建的主题 Rust 再见 Golang, 你好 Rust
@qianjian #17

如果不考虑开发成本、维护成本、沟通成本的话,确实是什么都能写啊。
哪个领域可以用 C++ 几乎都可以用 Rust ,没人提起,是因为 Rust (的名声)积累还不够深。
235 天前
回复了 proxyai 创建的主题 Rust 再见 Golang, 你好 Rust
欢迎新的 Rustacean~!

Rust 是否能够有效减少锁使用,对这个问题有怀疑的程序员朋友们,可以尝试挑战一下实现这个。
在假定使用者不能使用 unsafe 或者别的魔法的情况下,设计一个既可用于多线程,又可以用于单线程的支持异步操作的 ring buffer ,其隐含的约束或者需求是:只允许有一个写入端和一个读取端
我用 C# golang C++ Rust 都试过。
结论就是 Rust 确实不需要额外加锁,仅仅依靠类型系统在编译时就能保证使用者一定满足上述约束。
其他语言只能通过额外对 ring buffer 加锁保证,或者只能靠文档保证。
255 天前
回复了 OliverDD 创建的主题 程序员 对数据库感兴趣,但完全接受不了 cpp
Rust 神教教徒来传教了,不喜请忽略。

我跟你一样,对数据库的查询引擎和存储结合的部分很感兴趣,也觉得 CPP 的心智负担真的太大了,没办法让我在快速试验想法的同时,能够积累一些代码用于下一次的迭代。

如果只是要快速迭代,那可能用脚本语言或者别的灵活性很高的语言是可以的,但问题是这些语言虽然表现力强但是性能真的很成问题,很难用于积累。

所以 Rust 真的很适合,它的类型系统能够帮助你以很正交的方式来描述抽象设计,零成本抽象的设计原则提供了良好的运行时性能。

作为一个曾经的 CPP 程序员,我认为 Rust 真的不需要知道什么奇技淫巧或者 corner case 就能用得很好;当然这对于很多人来说,可能 Rust 的门槛真的很高,因为他们不一定需要这么强力的工具。但以你的目标来看( DBMS 核心组件),Rust 应该是恰当的。
261 天前
回复了 hfl1995 创建的主题 Tesla 关于“单踏板模式”
@yannxia #198
我反正无所谓我是不是愚昧,我又不是无所不知。
但是你说我站在他们的对立面,那你肯定又是愚昧了。
反对“单踏板模式”的人里面,会持有什么观点我非常清楚并且很理解。
倒是你有没有问过他们,有没有开过可调节动能回收、定速巡航或者全速自适应巡航,
如果他们知道这些的话,电车不可以松开踏板放在刹车踏板上备刹吗?这时候和油车有任何区别吗?
愚昧就是愚昧,不会因为有自己的理由就不是愚昧
261 天前
回复了 hfl1995 创建的主题 Tesla 关于“单踏板模式”
看完所有回复,OP 有没有觉得人类的愚昧真的很顽固?哈哈哈哈~

就是有那么一部分人,既不能从文字描述中感知叙述者的感受,也不愿意亲自去感受,
然后坚持以自己的想象否定叙述者的体验。

所以我一直认为,一线销售人员应该是一种技术工种。
@bli22ard #6
标准库里为所有 T &T &mut T [自] [动] [地] 实现了 Borrow 和 BorrowMut 。
你不妨试试“自动地”实现一个 trait 在某个 feature 没有 stable 之前是不是允许的。

AsRef 和 AsMut 可没有这个待遇。
并且,其实 AsRef 和 AsMut 更符合设计用途的用法是类似于 OO 里面的子类隐式向父类引用转换。
而 Borrow 和 BorrowMut 在理解了 “有所有权” 和 “有使用权” 的细微差异后就会发现真的很有用
@bli22ard #4 你会这么想是不是因为你没有注意到 这段代码
https://doc.rust-lang.org/src/core/borrow.rs.html#208-241

不可能有别的代码能替代这段标准库里的效果
譬如说,我要实现一个 RingBuffer ,可以 RingBuffer 自己分配 buffer 的内存,也可以接受外部输入的 buffer 。
我们可以发现,无论自己分配还是外部输入,RingBuffer 的大部分功能代码都是一样的,不太可能为此写两种不同的 RingBuffer 。那么,RingBuffer 就可以这么定义:

```Rust
pub struct RingBuffer<B: BorrowMut<[u8]>>(B);
```
303 天前
回复了 sevenfeet 创建的主题 生活 老婆坚持想生孩子,烦
如果你对没有小孩的生活有美好的期待,觉得那是一种持久的自由甚至是幸福,那我只能说你还很嫩。
养育小孩是另一种创业,不知道这个角度对你来说会不会有点启发。
确实有很多人不适合养育小孩,正如很多人不适合创业一样。
305 天前
回复了 yanyao233 创建的主题 程序员 总是忍不住重复造轮子
这很正常,我前两天又手痒造了个基于 ticket 的 spinlock 并且实现了用合理的代价支持线程退出争夺锁
准备再过段时间实现一次 poison 检测
而这些东西,任何现代操作系统都直接提供了实现
307 天前
回复了 fgasdzxc 创建的主题 Go 编程语言 想探讨下 Go 中的网络编程模式
如果你学 Rust ,那就可以很容易地明白他们为什么这么说,但你学 Go 我只能说你要多想。
(对我是来挑事儿的 XD
谁能想到呢,写个 spinlock 都需要引入分布式算法。

在极其有限的内存中(一个 int )挤出两个 bit 用来标记:1.受控取消争夺锁状态,2.有线程崩溃后的 非受控取消争夺锁状态。

先说 1 受控取消
取消者要设置标记,然后把自己的 ticket number N 放在 atomic_int 里面,才可以安全退出,
然后 ticket number 是 N + 1 的等待者检测到这个变化,也把 N + 1 防盗 atomic_int 里面,继续等待。
如此类推,就可以顺利地把所有等待者都顺利更新 ticket 。
第 n 个受影响的等待者会发现自己更新之后,N + n 一直不会变,那么他来负责清除这个受控取消状态的标记。
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5385 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 48ms · UTC 08:18 · PVG 16:18 · LAX 00:18 · JFK 03:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.