V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kilerd  ›  全部回复第 6 页 / 共 287 页
回复总数  5738
1 ... 2  3  4  5  6  7  8  9  10  11 ... 287  
2022-05-17 11:26:08 +08:00
回复了 Davic1 创建的主题 问与答 大家头像一般都在哪里下载?
@xibolai 不是不想支持,可你这也太丑了吧
2022-05-14 18:10:59 +08:00
回复了 TcDhl 创建的主题 反馈 好奇 V2EX 的楼层回复机制
别问,问就是够用,没必要改
Bean 自动注册与发现,避免手动维护某个集合

这种东西即便是 java 里面的 Spring 也是框架帮你做了脏活累活,不可能由语言层面给你提供一个 di 框架的啊。

先搞清楚自己到底需要什么东西
2022-05-12 12:58:40 +08:00
回复了 jimmyczm 创建的主题 问与答 有没有什么清热解毒的良方啊,一吃油炸的就热气
癍痧又叫二十八味,你可以搞一个配方去药店配,然后自己煮,这样就不用担心贵的问题了。 或者药店都现成装的二十四味,也可以考虑
2022-05-12 11:25:06 +08:00
回复了 liangzimo 创建的主题 Rust 关于 RUST 生命周期的疑问
@bearice 说的没错,具体分析一下:
```
1 fn main() {
2 let n = String::from("rust");
3 let myname;
4 {
5 let obj = AA{
6 name: &n
7 };
8 myname = obj.get_name();
9 }
10 println!("{}", myname)
11
12 }
```

n 的生命周期是 2-12
myname 是从 3-12
obj 的是 5-9



fn get_name(&self) -> & str 这个代码为什么当前版本能运行,是因为 Rust 为了简化生命周期的繁琐写法,给出三条自动补全规则,这里命中其中一条「如果 parameter 和 return value 有且仅有一个 ref ,便给他自动补上一个匿名的 lifetime 」 也就是。fn get_name(&'_ self) -> &'_ str 。 值得注意的是这里的 _ 并不是你在结构体上写的 'a ,所以在经历了某个阶段之后会变成 @bearice 说的 fn get_name(&'ccc self) -> &'ccc str 。而这个 ccc 是来自于 struct ref 的,所以生命周期只能是遵循 obj 的生命周期,所以是 5-9


当你写成 fn get_name(& self) -> &'a str 的时候发生了什么呢? 注意的是 'a 是来自于 field name 的,name 的值 &n 的生命周期是 n 的生命周期,即 2-12 , 也就是说 小生命周期(5-9)的 obj 接纳了一个长生命(2-12)的 &n ,这显然是允许的

fn get_name(& self) -> &'a str 这种写法就是明确的告诉愚蠢的 rustc ,我返回的值是 ‘a 那么长的,别瞎搞我。 然后 rustc 你看 返回值 'a >= &n 的 ‘a ,ok ,pass , 这就返回了一个 ’a 的 &&n
2022-05-11 09:21:11 +08:00
回复了 flystone 创建的主题 分享发现 基于 iBeacon 的巡逻打卡系统怎么样?
现在的巡逻打卡用的是 NFC 模式,目标点的墙上贴着一个卡片,用专用的机子过去就可以签到。
2022-04-28 13:06:32 +08:00
回复了 tinybvjk 创建的主题 奇思妙想 感觉需要一门中文编程语言用于青少年的编程教育
历史的车轮又转了一圈,又开始来聊 中文编程了, 不知道上次的那个老哥去哪里,还能找到不。
2022-04-27 10:08:16 +08:00
回复了 mm163 创建的主题 Rust 说点 Rust 入门的感受吧
@Akitora rust 目前很多时候需要你知道 how to do, 而不是 what I need.

新手和老手最大的问题在于: 新手完全不会看 docs.rs ,而老手认为 docs.rs 给出的信息已经足够丰富了,很多情况下不需要单独写 document 了,直接看 API 就可以了。

举个例子,我做了一个 DateTime 的扩展库,加了一个 to_timestamp 的方法。 那么在 docs.rs 里面,我都告诉你 impl MyTrait for DateTime { fn to_timestamp()} 了,这已经很明显很明显了。 应该一眼就能看出来。 但是新手往往会问你,这个库要怎么用。
一是,新手完全不会看 docs.rs
二是,大部分新手还没搞懂 其他语言 class 和 interface 与 Rust 的 trait 的区别。没能扭过「 rust 可以直接在结构体上追加特性」的特性


怎么阅读 TRPL ,docs.rscrates.rslibs.rs 可能俨然成为新时代下 Rust 新手的必备但是没人教的技能之一。
2022-04-22 13:22:04 +08:00
回复了 a1lenyang 创建的主题 Java 微服务如何统一返回格式
service mesh ,可以用 sidecar 模式,让 sidecar 帮忙
2022-04-20 14:59:26 +08:00
回复了 ALLROBOT 创建的主题 职场话题 ThoughtWorks 外包公司有人了解吗?
能别去还是别去,哈哈哈哈
2022-04-19 18:21:47 +08:00
回复了 zealinux 创建的主题 问与答 大家有什么推荐的域名 Domain 管理商?
namesilo
2022-04-17 11:40:39 +08:00
回复了 BNineCoding 创建的主题 分享创造 真的受不了 B 站的推荐算法了,干脆自己搞了个 App...
对于 B 站我只想要一个屏蔽功能,我实在不喜欢头部那几个日常向,制作粗制滥造 的 UP 主,而他们却经常能上到榜单。
2022-04-14 17:02:09 +08:00
回复了 louzhumuyou 创建的主题 Rust cargo check 执行报错
检查你的 name 在数据库类型,数据库里面没有加 not null 的约束,sqlx 解析到的类型是 Option<String> 而不是 String
2022-04-14 14:57:33 +08:00
回复了 sevenphoto 创建的主题 分享创造 独白-造了一个给自己念念碎的小程序
我是 telegram 有一个 bot , 你发送给他, 他就帮你转存到 github repo 。
people die ,but long live the github
楼上说得其实都不对,swift 也是基于 llvm 的,怎么没见 swift 编译慢呢?
在 rust 1.60 的更新里面 cargo 支持了一个 timing 的参数来导出编译时间分析 https://blog.rust-lang.org/2022/04/07/Rust-1.60.0.html#cargo---timings

业界普遍对 rust 编译慢的认识主要有几点。
1. 真泛型的 monomorphization (不知道怎么翻译这个),倒是了拆解 generic 后的 code bloat 问题,代码技术一下子变得很大。
2. rust 自身几乎不做任何优化的产生 llir ,几乎所有的优化都基于 llvm 自己来做处理,这就是为什么同样基于 llvm 的 swift 不会有这样的问题。
3. rust 在产生 llir 之前经历了 HIR MIR LIR 的阶段,parse 分析等,尤其是 NLL 等特性加入导致其实对于 lifetime ,ownership 的分析会变得很重(具体可以看看 timing 的分析),https://github.com/rust-lang/polonius 基于代数的新型分析器可能能解决这个问题。
4. 如果真是 llvm 的问题,你可以完全切到 cranelift 去试试编译看,其实提升也没有很大就是了。
1 ... 2  3  4  5  6  7  8  9  10  11 ... 287  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5822 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 06:19 · PVG 14:19 · LAX 23:19 · JFK 02:19
♥ Do have faith in what you're doing.