Forwarded from Rust 视界
零成本抽象
官方核心团队无船同志的新博文,探讨了「零成本抽象」。
零成本抽象在C++跟Rust是一個很重要的概念
簡單來說就是:不希望有很大很重的runtime,並且可以在編譯時被優化。
作者覺得 rust 有幾個很棒的 零成本抽象
1. 所有權、借用
保證内存的正確使用
2. 迭代器、閉包函數
可以輕鬆的串接 map, filter 等函數做處理
3. await 异步函數
當前的await語法雖然還沒有確定,但使用pinning 做到零成本抽象是確定的
4. Unsafe 函數、模块邊界
由於rust的語法複雜性,有很多實作會需要Unsafe的底層實作
這些Unsafe函數實作了零成本抽象的底層
讓我們在上層能安全的使用這些模块
另外无船同志还表示:trait对象目前不是零成本抽象,他想花点时间(至少需要18个月)去研究这个问题,然而总是有更优先的事情。
- [Reddit 讨论](https://www.reddit.com/r/rust/comments/bpep6h/zero_cost_abstractions/)
- [Read More](https://boats.gitlab.io/blog/post/zero-cost-abstractions/)
官方核心团队无船同志的新博文,探讨了「零成本抽象」。
零成本抽象在C++跟Rust是一個很重要的概念
簡單來說就是:不希望有很大很重的runtime,並且可以在編譯時被優化。
作者覺得 rust 有幾個很棒的 零成本抽象
1. 所有權、借用
保證内存的正確使用
2. 迭代器、閉包函數
可以輕鬆的串接 map, filter 等函數做處理
3. await 异步函數
當前的await語法雖然還沒有確定,但使用pinning 做到零成本抽象是確定的
4. Unsafe 函數、模块邊界
由於rust的語法複雜性,有很多實作會需要Unsafe的底層實作
這些Unsafe函數實作了零成本抽象的底層
讓我們在上層能安全的使用這些模块
另外无船同志还表示:trait对象目前不是零成本抽象,他想花点时间(至少需要18个月)去研究这个问题,然而总是有更优先的事情。
- [Reddit 讨论](https://www.reddit.com/r/rust/comments/bpep6h/zero_cost_abstractions/)
- [Read More](https://boats.gitlab.io/blog/post/zero-cost-abstractions/)
reddit
r/rust - Zero Cost Abstractions
227 votes and 128 comments so far on Reddit
Forwarded from Rust 视界
case-studies: Rust实例探究
#learning #study
该库展示了一些棘手的Rust代码示例,这些代码是dtolnay(syn作者,Rust宏的高手)在使用Rust(他自己和其他人)中的各种高级宏库时遇到的问题集合。该项目致力于对Rust宏开发的一个深刻洞察:擅长使用宏的人和宏专家之间的区别主要与他们擅长“宏”的程度是无关的。
这也许是学习Rust宏的一个非常好的案例。
[case-studies](https://github.com/dtolnay/case-studies)
#learning #study
该库展示了一些棘手的Rust代码示例,这些代码是dtolnay(syn作者,Rust宏的高手)在使用Rust(他自己和其他人)中的各种高级宏库时遇到的问题集合。该项目致力于对Rust宏开发的一个深刻洞察:擅长使用宏的人和宏专家之间的区别主要与他们擅长“宏”的程度是无关的。
这也许是学习Rust宏的一个非常好的案例。
[case-studies](https://github.com/dtolnay/case-studies)
GitHub
GitHub - dtolnay/case-studies: Analysis of various tricky Rust code
Analysis of various tricky Rust code. Contribute to dtolnay/case-studies development by creating an account on GitHub.
Forwarded from Rust 视界
hors 0.3.0
一個類似 google search 找解答的工具
howdoi 的 rust 實作版本
比如你有個問題叫 "how to parse json in rust"
使用下列指令
得到解答
-
一個類似 google search 找解答的工具
howdoi 的 rust 實作版本
比如你有個問題叫 "how to parse json in rust"
使用下列指令
hors "how to parse json in rust" -a
得到解答
-
Answer from https://stackoverflow.com/questions/30292752/how-do-i-parse-a-json-file[Read more](https://www.reddit.com/r/rust/comments/bsg9w4/hors_030_is_released_it_supports_google_search/)
Solved by the many helpful members of the Rust community:
extern crate rustc_serialize;
use rustc_serialize::json::Json;
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("text.json").unwrap();
let mut data = String::new();
file.read_to_string(&mut data).unwrap();
let json = Json::from_str(&data).unwrap();
println!("{}", json.find_path(&["Address", "Street"]).unwrap());
}
reddit
hors 0.3.0 is released. It supports google search engine and using...
Posted in r/rust by u/ace_cipher • 15 points and 6 comments
Forwarded from Rust 视界
遊戲排隊系統尋找外包
「台湾」找外包 預算6萬人民幣 有興趣的人請寄 t1238142000@gmail.com ,要求Rust实现。
[Read more](https://hackmd.io/k0-2wJ4fToC2LQ9hHqDLbg?view)
「台湾」找外包 預算6萬人民幣 有興趣的人請寄 t1238142000@gmail.com ,要求Rust实现。
[Read more](https://hackmd.io/k0-2wJ4fToC2LQ9hHqDLbg?view)
hackmd.io
elo rank 配對需求 - HackMD
Forwarded from Rust 视界
「官方」Rust治理工作组即将公开
#official
Rust的治理工作组(The Governance WG)即将公开,可以在其工作仓库中看到详细的工作章程。
简单来说,治理工作组是「其他团队」,「Rust项目」和「整个社区」的推动者。它旨在改善社区中,团队和参与者之间,以及团队和参与者之间的流程和交互,以减少工作量和不必要的摩擦。在这样做的同时,它也试图取得平衡,以尽可能简化流程,尽可能透明。同时请记住,绝大多数人都是自愿参与项目的,因此解决方案必须切合实际,尽可能减轻负担。
(个人看法: Rust项目本身一直算是开源界的一个典范,治理工作组的诞生,及其流程规范,必将引领开源社区,对开源感兴趣的朋友可以关注)
- [Read More](https://blog.rust-lang.org/2019/06/03/governance-wg-announcement.html)
- [工作仓库](https://github.com/rust-lang/wg-governance/)
- [工作组具体章程](https://github.com/rust-lang/wg-governance/blob/master/CHARTER.md)
#official
Rust的治理工作组(The Governance WG)即将公开,可以在其工作仓库中看到详细的工作章程。
简单来说,治理工作组是「其他团队」,「Rust项目」和「整个社区」的推动者。它旨在改善社区中,团队和参与者之间,以及团队和参与者之间的流程和交互,以减少工作量和不必要的摩擦。在这样做的同时,它也试图取得平衡,以尽可能简化流程,尽可能透明。同时请记住,绝大多数人都是自愿参与项目的,因此解决方案必须切合实际,尽可能减轻负担。
(个人看法: Rust项目本身一直算是开源界的一个典范,治理工作组的诞生,及其流程规范,必将引领开源社区,对开源感兴趣的朋友可以关注)
- [Read More](https://blog.rust-lang.org/2019/06/03/governance-wg-announcement.html)
- [工作仓库](https://github.com/rust-lang/wg-governance/)
- [工作组具体章程](https://github.com/rust-lang/wg-governance/blob/master/CHARTER.md)
blog.rust-lang.org
The Governance WG is going public | Rust Blog
Empowering everyone to build reliable and efficient software.
Forwarded from Rust 视界
用Rust写操作系统系列文章五月份的状态
#blogos
BlogOS系列课程在五月份的一些更新汇总
[Read More](https://os.phil-opp.com/status-update/2019-06-03/)
#blogos
BlogOS系列课程在五月份的一些更新汇总
[Read More](https://os.phil-opp.com/status-update/2019-06-03/)
Phil-Opp
Updates in May 2019 | Writing an OS in Rust
This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code.
Forwarded from Rust 视界
Rust学习中的痛点
#learning
有人记录了他在Rust学习过程中遇到的痛点,以及一些解释,需要的人可以参考
[Read More](https://github.com/zkat/rust-notes)
#learning
有人记录了他在Rust学习过程中遇到的痛点,以及一些解释,需要的人可以参考
[Read More](https://github.com/zkat/rust-notes)
GitHub
GitHub - zkat/rust-notes: Personal notes while learning Rust. Mainly documenting pain points along the way.
Personal notes while learning Rust. Mainly documenting pain points along the way. - GitHub - zkat/rust-notes: Personal notes while learning Rust. Mainly documenting pain points along the way.
Forwarded from Rust 视界
【系列】Rust 的 OOP 编程研究
这是一个系列文章,目的是对于有以往OOP编程经验的程序员,看一下在Rust中如何实现/做到OOP编程的思维和模式。写得非常细致。推荐。
[Read More](https://oribenshir.github.io/afternoon_rusting/blog/rust-for-oop)
[Read More 2](http://oribenshir.github.io/afternoon_rusting//blog/project-management)
[Read More 3](https://oribenshir.github.io/afternoon_rusting/blog/enum-and-pattern-matching-part-1)
[Read More 4](https://oribenshir.github.io/afternoon_rusting/blog/enum-and-pattern-matching-part-2)
这是一个系列文章,目的是对于有以往OOP编程经验的程序员,看一下在Rust中如何实现/做到OOP编程的思维和模式。写得非常细致。推荐。
[Read More](https://oribenshir.github.io/afternoon_rusting/blog/rust-for-oop)
[Read More 2](http://oribenshir.github.io/afternoon_rusting//blog/project-management)
[Read More 3](https://oribenshir.github.io/afternoon_rusting/blog/enum-and-pattern-matching-part-1)
[Read More 4](https://oribenshir.github.io/afternoon_rusting/blog/enum-and-pattern-matching-part-2)
oribenshir.github.io
Rust for OOP - Series Introduction
This blog is designed to cover topics related to both Rust & C++ languages. This blog has emphasis on strong typing and design choices.
Forwarded from Rust 视界
用 Rust 实现 HTSP 协议
作者其实在2017年就用Rust实现了一版,现在新写了一篇文章,讲他如何用最新的异步语法来升级了之前的程序,记录下这个过程中的心得体会。HTSP 协议是 [TVHeadend](https://tvheadend.org/) 支持的一种流媒体协议。
[Read More](https://www.rubdos.be/rust/async/programming/2019/06/22/implementing-htsp-in-rust.html)
[Read More 2](https://www.rubdos.be/rust/2017/02/01/implementing-htsp-in-rust.html)
作者其实在2017年就用Rust实现了一版,现在新写了一篇文章,讲他如何用最新的异步语法来升级了之前的程序,记录下这个过程中的心得体会。HTSP 协议是 [TVHeadend](https://tvheadend.org/) 支持的一种流媒体协议。
[Read More](https://www.rubdos.be/rust/async/programming/2019/06/22/implementing-htsp-in-rust.html)
[Read More 2](https://www.rubdos.be/rust/2017/02/01/implementing-htsp-in-rust.html)
Tvheadend.org
Tvheadend is the leading TV streaming server for Linux
Forwarded from Rust 视界
使用 Rust 写一个 Proxy,作者感言 Rust 是编程界的未来
作者写 proxy 的目的是为了代理 API 请求和一系列的中间件服务。在写作过程中,感觉 Rust 很好,很好,很好~~~~
甚至自己做了一个EVA的图?虽然有点丑。

[Read More](https://medium.com/@terry.raimondo/writing-a-proxy-in-rust-and-why-it-is-the-language-of-the-future-265d8bf7c6d2)
作者写 proxy 的目的是为了代理 API 请求和一系列的中间件服务。在写作过程中,感觉 Rust 很好,很好,很好~~~~
甚至自己做了一个EVA的图?虽然有点丑。

[Read More](https://medium.com/@terry.raimondo/writing-a-proxy-in-rust-and-why-it-is-the-language-of-the-future-265d8bf7c6d2)
Forwarded from .
@reverseSearchBot
刚发现的一个 GIF 反向搜索引擎,支持图片表情多种格式反向搜索,输入该里番 GIF 立马返回了节目信息以及时间戳
刚发现的一个 GIF 反向搜索引擎,支持图片表情多种格式反向搜索,输入该里番 GIF 立马返回了节目信息以及时间戳
Forwarded from Rss™
VIP视频在线解析破解去广告(全网)+ 全网电影搜索 2019.7.29更新可用 无任何垃圾广告
https://ift.tt/2ymLeuU
https://ift.tt/2ymLeuU
greasyfork.org
VIP视频在线解析破解去广告(全网)+ 全网电影搜索 2019.7.29更新可用 无任何垃圾广告
全网电影搜索+在视频标题旁上显示“vip解析(去广告)”按钮和“搜索电影”按钮,在线播放vip视频;支持优酷vip,腾讯vip,爱奇艺vip,芒果vip,乐视vip等常用视频...
Forwarded from .
写下我的读后笔记
简历和作品集哪个重要?
如今的计算机专业以及数学专业依然使用简历招刚毕业的大学生,但是简历往往不代表一个学生的真实实力;每个计算机科学专业学生都应该做一个作品集:可以是一个博客,可以是一个 Github 开源项目,项目连接项目让更多人知道。对开源社区做出贡献,这样可以告诉公司你的能力,而往往计算机专业学生的 GPA 和简历并不能证明学生的实力如何。
技术性交流
公司里程序员们相互需要交流代码的 Bug 和性能问题等等,然后提交给上层,所以往往沟通能力和交流技巧很重要;在一些小公司里工程师和上层一旦传达的信息出现了偏差,后果很危险。
个人建议
建议个人熟练掌握一种演示工具,PPT 什么的都行,Markdown,LaTex 语言这样的,然后课堂作业,以后提交文档的时候可以写出清晰美观的文档。
一些建议阅读的书籍
Writing for Computer Science by Zobel
Even a Geek Can Speak by Asher
The LaTeX Companion
The TeXbook by Knuth // LaTeX 重度使用者读物
Mathematical Writing
How to Give a Good Research Talk
My advice on how to send and reply to email
———
工程
计算机科学和工程学不是一回事,但是很接近,工程师会和计算机科学家合作,所以需要一种植根于实际分析,线性代数,和概率,物理学的语言;计算机科学家应该通过使用学习电磁学来学物理学,但是如果要做到这一点需要学习多元微积分,微分方程。在构建声音模拟时,掌握概率和(通常是)线性代数是非常宝贵的。在解释结果时,没有什么能替代对统计数据的深刻理解。
推荐阅读书籍
Calculus by Spivak
All of Statistics: A Concise Course in Statistical Inference
———
Unix 哲学
计算机科学家应该熟悉并实践Unix的计算哲学。
Unix哲学(与Unix本身相反)强调通过语言抽象和组合来实现计算。
实际上,这意味着熟悉命令行计算、文本文件配置和无理想软件开发的概念。
- 导航和操作文件系统
- Shell 的原始创作
- 熟练使用emacs 和 vim
- 为软件项目创建、修改和执行 Makefile
- 学会简单的 Shell 脚本
推荐阅读书籍
The Unix Programming Environment by Kernighan and Pike
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Unix Power Tools by Powers, Peek, O'Reilly and Loukides
commandlinefu
Linux Server Hacks
The single Unix specification
———
系统管理
系统的安全问题我们也可以自学,不需要专门找寻系统管理员
每一位现代计算机科学家都应该能够:
安装并管理Linux发行版。
配置和编译Linux内核。
排除与dig、ping和traceroute的连接故障。
编译和配置像apache这样的web服务器。
编译和配置类似bind的DNS守护进程。
使用文本编辑器维护web站点。
剪断并卷曲网络电缆。
推荐阅读
UNIX and Linux System Administration Handbook
简历和作品集哪个重要?
如今的计算机专业以及数学专业依然使用简历招刚毕业的大学生,但是简历往往不代表一个学生的真实实力;每个计算机科学专业学生都应该做一个作品集:可以是一个博客,可以是一个 Github 开源项目,项目连接项目让更多人知道。对开源社区做出贡献,这样可以告诉公司你的能力,而往往计算机专业学生的 GPA 和简历并不能证明学生的实力如何。
技术性交流
公司里程序员们相互需要交流代码的 Bug 和性能问题等等,然后提交给上层,所以往往沟通能力和交流技巧很重要;在一些小公司里工程师和上层一旦传达的信息出现了偏差,后果很危险。
个人建议
建议个人熟练掌握一种演示工具,PPT 什么的都行,Markdown,LaTex 语言这样的,然后课堂作业,以后提交文档的时候可以写出清晰美观的文档。
一些建议阅读的书籍
Writing for Computer Science by Zobel
Even a Geek Can Speak by Asher
The LaTeX Companion
The TeXbook by Knuth // LaTeX 重度使用者读物
Mathematical Writing
How to Give a Good Research Talk
My advice on how to send and reply to email
———
工程
计算机科学和工程学不是一回事,但是很接近,工程师会和计算机科学家合作,所以需要一种植根于实际分析,线性代数,和概率,物理学的语言;计算机科学家应该通过使用学习电磁学来学物理学,但是如果要做到这一点需要学习多元微积分,微分方程。在构建声音模拟时,掌握概率和(通常是)线性代数是非常宝贵的。在解释结果时,没有什么能替代对统计数据的深刻理解。
推荐阅读书籍
Calculus by Spivak
All of Statistics: A Concise Course in Statistical Inference
———
Unix 哲学
计算机科学家应该熟悉并实践Unix的计算哲学。
Unix哲学(与Unix本身相反)强调通过语言抽象和组合来实现计算。
实际上,这意味着熟悉命令行计算、文本文件配置和无理想软件开发的概念。
- 导航和操作文件系统
- Shell 的原始创作
- 熟练使用emacs 和 vim
- 为软件项目创建、修改和执行 Makefile
- 学会简单的 Shell 脚本
推荐阅读书籍
The Unix Programming Environment by Kernighan and Pike
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Unix Power Tools by Powers, Peek, O'Reilly and Loukides
commandlinefu
Linux Server Hacks
The single Unix specification
———
系统管理
系统的安全问题我们也可以自学,不需要专门找寻系统管理员
每一位现代计算机科学家都应该能够:
安装并管理Linux发行版。
配置和编译Linux内核。
排除与dig、ping和traceroute的连接故障。
编译和配置像apache这样的web服务器。
编译和配置类似bind的DNS守护进程。
使用文本编辑器维护web站点。
剪断并卷曲网络电缆。
推荐阅读
UNIX and Linux System Administration Handbook
Amazon
Amazon.com: Writing for Computer Science eBook: Zobel, Justin: Kindle Store
Buy Writing for Computer Science: Read Kindle Store Reviews - Amazon.com
Forwarded from Rust 视界
「Rust异步之书」中文翻译
#async #book
感谢 @huangjj的分享
[Read More](https://huangjj27.github.io/async-book/index.html)
#async #book
感谢 @huangjj的分享
[Read More](https://huangjj27.github.io/async-book/index.html)