「Rust异步之书」中文翻译

#async #book

感谢 @huangjj的分享

Read More

nphysics的未来:纯Rust的2D和3D实时物理引擎

#physics #game #Rustsim

作者在本文中探到了Nphysics将来的愿景,是做一个性能水平可与现有流行的C++开源物理引擎(如Box2D和Bullet Physics)相媲美的Rust实时物理引擎。

该库现在属于Rustsim组织。

Read More

veloren: 一个类似于我的世界的游戏发布了0.3版本

#game

  • Read More

  • veloren源码

「SO问答」Rust中的128位整数如何在64位系统上工作?

#stackoverflow

问题:

Rust有128位整数,用数据类型i128表示(u128表示无符号整数):

let a:i128 = 170141183460469231731687303715884105727;

Rust如何使该i128值在64位系统上工作?它是如何做算术的?因为据我所知,这个值不能放在x86-64处理器的一个寄存器中。编译器是以某种方式为一个i128值使用两个寄存器,还是使用某种大整数结构来表示它们?

回答:

所有Rust的整数类型都编译为LLVM整数。LLVM允许1到2^23 - 1之间任意位宽的整数。LLVM指令通常处理任意大小的整数。

在LLVM IR级别,答案是:两者都不是。i128适合一个寄存器,就像其他单值类型一样。另一方面,一旦翻译成机器码,两者之间就没有什么区别,因为结构可以像整数一样分解成寄存器。然而,当进行算术运算时,将整个数装入两个寄存器是一个非常安全的选择。

*虽然我知道对大于128的大小和非2的幂的支持是不稳定的,并且实现可能有错误,这可能部分解释了为什么Rust只公开1、8、16、32、64和128位整数。

Read More

indextree 4.0发布

#indextree

pulldown_cmark库为了增加解析速度,快速构建和遍历AST,就使用了indextree。

Read More

Battleship: 控制台游戏

#cli

新手可参考它来学习Rust

Battleship

SPOJ将Rust升级到1.33版本

#spoj

SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台。现在已经支持了Rust 1.33版本。

Read More

Rust vs GUI:Rust所有权对于GUI开发的影响

#GUI #GTK

本文通过一个简单的示例探讨了Rust所有权对GUI开发的影响。

结论:在构建GTK应用程序时,Rust带来了一些合理的权衡。但这并不意味着它没有代价。如果你决定使用Rust进行GTK应用程序开发,那么在开始设计自己的框架之前,你可能需要检查relm(Rust实现的,基于GTK+的仿elm框架)是否有更高级别的应用程序接口。

  • Read More

  • relm

isahc: 之前的cHTTP已经改为此名

#http

一个实用的HTTP客户端。

Isahc vs Reqwest:

  • Isahc使用http crate作为其公共API的一部分,而reqwest将其隐藏在实现中

  • Isahc具有更小的依赖树和更小的二进制内存占用

改名的原因:

  • cHTTP太难念

  • cHTTP不容易被记住

(所以,isahc难道是 is a http client 缩写吗?这新名字起的也不咋地。。。233)

isahc

「系列文章」用Rust重写物联网网关 Part 2: 饮鸩止渴:为什么我们不用C++重写IoT应用

#IoT

标题为:「Abusing Fire for Light - Why we didn’t rewrite our IoT app in C++」,翻译过来就是:「饮鸩止渴:为什么我们不用C++重写IoT应用」

文章里这个类比比较经典(普罗米修斯盗了天火,为世界带来了光明,但与此同时也带来了灾难):

我们本可以用C++重写我们的物联网平台应用。使用C就像用蜡烛照明一样。它的基本属性是众所周知的,它从文明之初就存在了,如果你滥用它,它会让你周围的房子着火。(在这个比喻中,C++将是“所有可以被点燃产生光的东西的集合”。)

该文的作者是智能家居系统公司Dwelo的IoT工程师,该文主要罗列了一些Cpp编写嵌入式应用可能拥有的问题。

  • Read More

  • Part I

用epochs修复c++

#cpp

有人写了篇文章,呼吁Cpp也学Rust那样引入Epochs。

想象一下,你已经设计了一种编程语言超过30年,并且它逐渐在全球广泛使用。你在开始时所做的一些决定非常出色,并为你的项目的成功做出了贡献。然而,还有一些不是最好的:多年来,你和你的用户意识到,如果你多年前所做的选择略有不同的话,这个世界会变得更好。你不断发展你的语言,增加有用的功能,并使它跟上竞争的步伐。然而,糟糕的选择和旧的(现在已经过时的)结构仍然挥之不去。你试着删除语言中最危险和最少使用的部分,虽然他们的删除非常成功,但是一些用户无疑会受到它的阻碍。对于更受欢迎的构造,您尝试不赞成:社区的大部分人欢迎它并迁移它们的代码库,而另一个人发现实现一致性所需的工作要么大得不合理,要么由于遗留依赖关系或许可问题而不可能。除非你偶然发现这篇文章,否则似乎没有出路。它的作者提出了一个不可思议的主张:如果我告诉你,我可以解决你所有的问题呢?更好的是,如果我告诉你向后兼容性永远不会被打破,并且可以自动迁移到你的语言的更新版本呢?此时,你立即认为这家伙一定是疯了。然后他说... 而且,已经有人做了。而且奏效了。现在你感兴趣了。

这篇文章的Rddit讨论贴里有人说:这就是我为什么学习Rust的原因,Cpp那帮人是不会同意的。

  • Reddit 讨论

  • Read More

proc_macro_roids 0.3 发布

#proc_macro

proc_macro_roids是一个辅助你写过程宏的小工具。

proc_macro_roids

staticvec: 基于const generics实现的栈分配固定容量的Vec替代方案

#Vector

发布了0.2版本

staticvec


From 日报小组 Chaos

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel

  • 阿里云语雀订阅

  • Steemit

  • GitHub

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • Rust Force: 支持 rss

  • 微信公众号:Rust 语言学习交流

【Rust日报】 2019-08-05:用Rust重写物联网网关 Part 2: 饮鸩止渴:为什么我们不用C++重写IoT应用...相关推荐

  1. 【Rust日报】2020-01-27 QIP:Rust中的量子计算模拟

    QIP:Rust中的量子计算模拟 量子计算库利用图形构建来构建有效的量子电路仿真.对于借口模型的量子计算,Rust是一种很棒的语言,因为借位检查器与无克隆定理非常相似. 请参阅Github仓库的exa ...

  2. 【Rust日报】 2019-06-16:用 Rust, Haskell, C++, Python, Scala 和 OCaml 实现同一个工程的比较...

    tx-rs - 一个提供 wrtie ahead 的原子交易库 刚出来,仅供了解,这里的"交易"是指业务的原子性,常见于数据库中.与区块链或密码学中的交易,是不同的概念.类似于 S ...

  3. 【Rust 日报】2022-01-09 又一个Rust中文教程《Rust语言圣经》

    12个Rust的Tips 使用 Cow<str> 作为返回类型 使用 Crossbeam channels 取代标准库 使用 Scopeguard 实现类似 Golang 的延迟运算 使用 ...

  4. 【Rust日报】2021-12-14 Lapce: 用Rust编写的闪电般快速且功能强大的代码编辑器

    Lapce: 用Rust编写的闪电般快速且功能强大的代码编辑器 Lightning-fast and Powerful Code Editor written in Rust Lapce完全是用Rus ...

  5. 【每日早报】2019/08/05

    今日看点 ✦ 国内首款5G手机正式开售,苏宁售出第一台中兴天机Axon 10 Pro 5G版手机 ✦ 国资委:"央企+互联网"是国企混改模式之一,不是所谓的"公私合营&q ...

  6. 周刊 | 回顾一周云行业热点快讯 (2019/08/05)

    行 业 要 闻 Industry   News ▲▲▲ 0 1 7月操作系统市场份额数据:Windows 10持续增长 最新的市场份额数据显示,Windows 10 在2019 年7 月的用户数大幅增 ...

  7. 【2019/08/05测试 T3】凫趋雀跃

    传送门 problem 有一个网格,每一步可以走 ( 0 - M x , 0 - M y ) (0-Mx,0-My) (0-Mx,0-My) 中任意非零向量. 有 K K K 种向量不能走,分别是 ( ...

  8. 【2019/08/05测试 T2】尺树寸泓

    传送门 problem 数据范围:点数 n n n 和操作数 Q Q Q 满足 1 ≤ n , Q ≤ 2 × 1 0 5 1≤n,Q≤2×10^5 1≤n,Q≤2×105. solution 旋转操 ...

  9. 学习日志——2019/08/05

    事务& 数据连接池& DBUtils 事务 什么是事务? Transaction 其实指的一组操作,里面包含许多个单一的逻辑.只要有一个逻辑没有执行成功,那么都算失败. 所有的数据都回 ...

  10. 【Rust日报】 2019-08-12:Tokio alpha 版发布,新版本支持async/await

    Tokio alpha 版发布 #tokio 新版本支持async/await tokio = "=0.2.0-alpha.1" #![feature(async_await)]u ...

最新文章

  1. HTML5中本地数据库(SQLLite)的基础
  2. sas一元回归分析_商业分析的应用
  3. Category:UITextField添加点击事件
  4. 无烟会议室:CMMI vs. Scrum vs. XP(QCon 2010 感受)
  5. Python——数组(列表)的基本操作
  6. Spark修炼之道(基础篇)——Linux大数据开发基础:第二节:Linux文件系统、文件夹(一)...
  7. 使用bs4+re正则来爬取网页上需要的数据
  8. BZOJ5232[Lydsy2017省队十连测] 好题
  9. 项目管理 之四 常用的项目管理工具(Github、Gitlab、Gitea、Gitee、Worktile、Teambition)
  10. 悲剧四个月python培训班,需要踩完坑犯过错,这些免费的编程资源,值得一生推
  11. python函数长度单位换算,(最新整理)长度单位换算
  12. c语言编译器tc2.0,Wintc软件下载
  13. PowerVR开发工具和SDK 2020 Release 1发布啦!
  14. 神威太湖之光计算机的知识点,神威太湖之光计算机系统.PDF
  15. 迅雷php源码,PHP生成迅雷、快车、旋风等软件的下载链接代码实例
  16. fgets 函数详解
  17. 逻辑运算符符号化命题——数理逻辑
  18. 白盒测试方法之逻辑覆盖
  19. eclipse 插件更新站点
  20. IDEA 不识别application.properties或application.yml或pom.xml文件

热门文章

  1. mysql explain 类似_Oracle有没有类似MySQL中的explain功能
  2. 然而大部分工程师的期权并没有什么用
  3. 计算机安全群,大开眼界||斯坦福大学信息安全课程群
  4. NLS_LANG详解
  5. CODE【VS】2809 盗窃-月之眼
  6. 屏蔽百度搜索右边的热点和广告推广
  7. Blender - Shrinkwrap - 更方便的制作贴合模型的表面来建模
  8. 【补丁】YYC松鼠短视频系统补丁,增加视频点赞数据管理功能,可修改点赞数量,V2.8的功能
  9. python 查看所有变量_CentOS6.查看 Python中变量的信息(名称类型内容等)
  10. ps cs6安装问题汇总