rust主播排行_「Rust日报」2019每周精选 • 第四期
前言:
从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛、tg channel、Steemit、GitHub、语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹杂了一些个人的观点。新的一年过去了,Rust每日新闻已经成为了Rust社区群大家每天必看的内容。每周也会精选几篇Rust社区中的动态,和大家分享。分享的内容就不按时间排序了。
2019-02-03
全球Rust招聘信息
「远程工作」丹麦Impero的一家正规公司招全栈Web Rust工程师
要求全栈Web工程师,懂Rust。主要工作应该是后端API设计。可远程
Discord 招聘Rust工程师
Discord游戏商店大量使用了Rust,它们现在开始招Rust工程师,来做一个顶级保密的新项目。没有看到支持远程。
「北京」移动端图形渲染开发工程师
岗位描述:开发业界顶级跨平台(macOS/iOS/Android)渲染器。
编写Shader解析器。
优化Shader执行效率。
岗位要求:熟悉Rust/C++语言,有一年以上Rust开发经验更好。
熟练掌握OpenGL ES /Metal/Vulkan其中两项或以上,最好熟悉SPIR-V规范。
拥有良好的工程意义,可编写高质量、简洁、易维护的代码。
内推邮箱,请备注简历+姓名 : zhoujianquan 「@」http://kuaishou.com。欢迎推荐,转发。
系统工程师工作GitHub仓库
有人在GitHub上专门建立了一个帐号,建立了四个仓库:C/Cpp/Rust/Swift,用于收集世界各地用这四个语言的系统工程师招聘职位信息。
是一个新库,可以关注下,没准有需要呢?
官方新闻
Rustwasm 2019 Roadmap
当前,Roadmap已经提交PR,但未合并。可以先关注。
总的来说,目标就是从「可用」到「稳定」:通过模块化的工具来继续培养rust wasm的生态系统
为Rust生成的wasm带来多线程支持
在工具链中集成最佳的调试工具
打磨工具链和发布流程,直到wasm-pack发布1.0版
Cargo的长期计划
Cargo负责人nrc发文2019年:交叉编译,包括wasm和embeddded / 改进cargo,让插件更易编写
2020:将Cargo嵌入到构建系统和IDE中。
2021:为最终用户定制工作流程。
「官方」Rust基础设施团队正在考虑停止使用Travis CI
将在下周柏林举行的Rust All Hands会议上讨论更换到哪个CI平台上面。文章里还罗列了Rust基础设施团队在Travis CI碰到的诸多问题,感兴趣可以看看。
社区新闻
RFC:为log增加dbg!风格的宏
log #dbg #debug
Crossbeam 2019: 无锁Rust
文章从介绍Crossbeam开始,先后罗列了从Crossbeam库从2015走到2018期间经历的变化,并展望了接下来重点要完成的工作:AtomicReference
ConcurrentHashMap
增加这两个并发数据结构的支持。另外还有一些优先级较低的零碎工作。
Salsa: 增量式重新编译
Niko介绍了他的新库:salsa。该库是将rustc中的增量式重新编译技术提出来变成一个通用的框架。Salsa现在已经被用在了一些项目中,比如rust-analyzer。但rustc本身并没有使用该库。Niko还录制了两个使用Salsa的视频教程。
Rust在基准测试排行榜中上升到了第一
在以下几个算法测试项目中,Rust都战胜了其他语言,排行上升到了第一
另一个性能测试
该作者制作了一个Ruby脚本,包括了多种语言的基准测试(C,C ++,Rust,Go,Java和C#,但可以添加更多),重新标准化了平均值。
得出的结论是:Rust在基准测试游戏中的表现优于C++ 3%,比C慢4%。
「嵌入式Rust」实验:STM32 MCU 性能如何?
在TiKV中使用tower-grpc
TiKV负责人siddontang写的一篇文章。TiKV团队之前自己实现了一个grpc库,但问题是该库。不是纯Rust实现,在生产环境中遇到了一些panic,所以想彻底拥抱Rust社区,使用纯Rust的库。但是又不想发明轮子。所以从grpc-rust和tower-grpc中选择了tower-grpc。
tower-grpc并不稳定,但是它的好处也是比较明显的。比如作者是非常活跃且知名的,基于tokio等。
另外:TiKV已经升级到了Rust 2018 Edition
GNome中的流媒体广播应用Gradio将用Rust重构
重构后的项目叫Shortwave
现代C++和游戏开发的一些思考
这篇文章和Rust没关系,但是可以看看CPP的现状。
长文,但是作者总结了两个观点:要么,你什么都不要做。也就是说,你可以继续使用Cpp,但不要用它的任何新功能。继续用C++98。但这不是一个长期的解决方案。
要么,参与到Cpp的变革中。来参见CppCon,来参与Cpp委员会的讨论和议程,发出你的声音。
其实还有第三个选择:看看Rust。(作者并没有说)
Apple为Swift语言申请了专利
该文作者阐述了对Apple为Swift语言申请专利的担忧。该专利覆盖了Swift语言的整体理念。比如:该语言在某些领域提供C语言兼容性的功能,以提高用该语言编写的软件的固有安全性。新语言包括默认安全注意事项,例如边界和溢出检查。
大家如何看待?不知道会对Rust带来何种影响。
「系列文章」WebAssembly算不上一个栈虚拟机 Part I
本文作者指出了当前WebAssembly设计的缺陷,表面是一个栈虚拟机,但实际上在编译层面是一个性能不算好的(liveless,对变量没有活跃期分析,而导致重复计算)寄存器式虚拟机,只是在最后才表现的像一个栈虚拟机。这个缺陷是来自于之前的设计规范是基于进一步简化asm.js而导致的历史原因。所以现在出现wasmtime这样的流式WebAssembly编译器来解决这种问题。
作者在后续还会写几篇关于WebAssembly问题的文章。
GitHub Actions: 自动format代码格式
这是一个GitHub Action,支持对多种语言的软件的代码进行自动格式化。支持Rustfmt和Clippy。
「讨论」你认为Rust代码组织有哪些最佳实践或陷阱?
我个人是一个代码组织的实践就是:组件化。这也是Rust所倡导的。在单个组件之内,进行模块化,分清层次结构。
讨论中,也有喜欢扁平化的结构,这样方便测试,直到找到足够的理由再分拆单个组件包。
大家有什么分享的?
「讨论」读Rust代码比写Rust代码更容易
我也同意,Rust的代码可读性很好,读代码比写代码更容易。并且还可以总结出一些高效阅读代码的技巧,这完全得益于Rust的高度一致性。
讨论中提到了Cpp、Python、JS等其他语言的可读性探讨。这种争论应该还算可以接受,感兴趣可以关注下。
学习资源
Rust「无悔」并发
无畏(fearless)并发难道已经过时了?现在是要流行无悔(regretless)并发了吗?
作者认为,无畏并发并不意味着「没有后悔」的时候。作者在本文中主要探讨了event-loop并发建模的诸多好处,并且如何利用Rust多线程来进行event-loop建模。
Rust web框架比拼
这个GitHub项目汇集了Rust各种web框架的相关资料,包括Rust实现的前端WASM框架、Websocket、Template等项目。
还包括了很多博客、项目demo等学习资源。相当全面了。
「系列文章」Rust如何发送邮件
作者将通过三篇文章来讲解如何用Rust编写邮件发送的代码。
Blog OS系列: 高级分页
这是继上篇内存分页介绍之后,进一步介绍操作系统内核如何访问物理页的技术,通过这种技术可以实现虚拟地址到物理地址的转化,以及如何在页表内创建映射。
如何用Rust开发iOS应用
该文章介绍了如何使用Rust开发iOS应用,里面也有一份Rust on Android的文章链接。
Rust闭包的秘密
作者总结了Rust闭包中的一些规则,可以看看。
「视频」直播合集:构建WebAssembly/WebGL渲染器
作者在油管做了一系列的直播,这个视频是这些直播的合集,所以比较长,大约3小时多。
inferno: 火焰图工具移植为Rust
上次介绍过油管开直播视频讲如何移植火焰图工具那位作者的库
「长文」Rust性能:match vs 表查找
该文作者在研究生物信息学(bioinformatics)算法的过程中,发现将Rust的match改成表查找,算法的性能得到了很大的提升。参见
将下面的match代码:
fn match4(x: u8)-> u64 {matchx{b'A'=>1,b'B'=>2,b'C'=>3,b'D'=>4,_=>0,}}
修改为:
uselazy_static::lazy_static;lazy_static!{staticrefLOOKUP4: [u64;256]={letmutl=[0;256];l[b'A'asusize]=1;l[b'B'asusize]=2;l[b'C'asusize]=3;l[b'D'asusize]=4;l};}fn lookup4(x: u8)-> u64 {LOOKUP4[xasusize]}
并且使用了lazy_static。
作者好奇,为什么编译器没有为match表达式生成最佳代码。于是他开始了一系列的测试和挖掘,从生成的汇编到LLVM都进行了一番考究。
使用systemd、配置文件和.deb二进制构建Linux Web服务器
通过cargo-deb,将你的web项目生成.deb文件,并配合systemd和配置文件,就可以把tide、actix-web或rocket等项目,变成像nginx那样的“Linux App”。就可以通过系统命令来启动你的服务。
sudo systemctl restart tide-server
FFI:在Node和Rust之间交换数据
本文探讨了如何在Node和Rust之间传递数组、结构体等数据,以及如何使用回调。对于学习FFI也是一个好的案例。
使用rust和uinput创建Android虚拟输入设备
用AWS和Rust进行Serverless App开发
项目、工具与库
tactical: wasm游戏
之前介绍过,基于Rust实现的2D回合制游戏zemeroth,现在支持wasm
whatlang-rs: Rust实现的自然语言检测库
基于Rust和Wasm实现。可以检测语言属于哪国语言。
OOProxy: OpenID代理库
该文作者介绍了OOProxy库,支持OpenID和OAuth2。
「嵌入式Rust」构建支持嵌入式系统的Future Executor
作者在实现一个模块化机械键盘的项目,在这个过程中,实现了一个可用于嵌入式的Future exector。为什么要自己实现?因为发现现在的嵌入式生态并不能满足他的需求。
Pushrod: Rust的UI库
是属于Piston项目中的跨平台UI Weight库
websocat: 命令行webscoket客户端工具
log-derive: 方便加log的宏工具
#[logfn(Err ="Error", fmt ="Failed Sending Packet: {:?}")]fn send_hi(addr: SocketAddr)-> Result{letmutstream=TcpStream::connect(addr)?;stream.write(b"Hi!")?;Ok(())}
可以自动生成log输出,跟踪函数调用,可用于调试代码。
Rust实现Redux
且支持no_std
Fluent-rs 0.5发布
ProjectFluent是一个本地化(L18N)框架,fluent-rs是Rust实现。
用Rust实现Haskell中的group_by
更短的UUID实现
rust-numext: 扩展Rust的内建数字类型
包含了大数和散列操作。
derive_more 发布0.14版
现在支持no_std环境
「嵌入式Rust」Rust实现的显示器驱动
Holtek CO₂ USB显示器的驱动程序
insta: snapshot测试库
一个Rust的快照测试库,给第一次跑测试的结果生成一个快照,后面就可以用这个快照来保证代码不会被破坏。
Rust周边
「Rust周边」订制活动预报
想要的朋友,可以联系我。感兴趣可发我邮件,地址: 247o26628 at http://qq.com。注明你想要哪种周边,目前还清楚价格,只是收集意愿,达到一定数量才会开启订制。等年后,再宣布具体的款式和价格,图案都会订制成Rust相关,但质量会和它一样的。
一: 棒球帽
二: 书签
rust主播排行_「Rust日报」2019每周精选 • 第四期相关推荐
- rust大油井频率怎么用_「Rust每日新闻」本周精选 • 第二十四期
前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust每日新闻,分享我每天的见闻,偶尔 ...
- rust sabrina 滑雪板_「Rust」夺冠 Valve Index连续十八周TOP10
日前,Valve公布了上周(2021年1月4日-1月10日)Steam平台销量排行榜,由Facepunch Studios开发的第一人称末日生存联机游戏「Rust(腐蚀)」拿下冠军,「V社VR套件(V ...
- python 抓取lol主播排行
# coding = utf-8import refrom urllib import request class Spider(): url = 'https://www.panda.tv/cate ...
- python爬斗鱼直播房间名和主播名_斗鱼爬虫,爬取颜值频道的主播图片和名字
在斗鱼的界面中,如果滚动条没有拉下去,那么下面的图片都只是一条鱼的图片,所以要使浏览器自动拉动滚动条,可以用到python的selenium库, 1.配置浏览器 要使用selenium,还需要安装 c ...
- rust关闭抗锯齿_腐蚀Rust画面设置指南 游戏设置优化心得分享
今天小编要为大家带来得是腐蚀Rust画面设置指南,腐蚀Rust是一款第一人称僵尸生存网络游戏,在游戏中玩家需要防范动物.僵尸.玩家的袭击,并依靠各类物品进行生存. 画面设置优化指南 图像质量1~3为一 ...
- rust怎么造双层_腐蚀rust双层防炸地基教学 rust伪分离图文教学
腐蚀rust双层防炸地基教学 rust伪分离图文教学 2018-02-10 11:57:14来源:游戏下载编辑:野狐禅评论(0) 腐蚀rust是近日发售的一款FPS游戏,很受玩家欢迎,一些技巧也被玩家 ...
- 多维数组的索引与切片_「GCTT 出品」Go 系列教程——11. 数组和切片
Go语言中文网,致力于每日分享编码知识,欢迎关注我,会有意想不到的收获! Go 系列教程是非常棒的一套初学者教程,入门就它了. 「GCTT 出品」Go 系列教程--1. 介绍与安装 「GCTT 出品」 ...
- 自定义变量 配置文件_「系统架构」Nginx调优之变量的使用(3)
在上一篇文章「系统架构」Nginx调优之变量的使用(2)中我们介绍了自定义变量和内置变量,下面我们继续接着介绍Nginx中变量的可见性和动态内置变量. 变量的可见性 nginx中的变量虽然不全是全局变 ...
- B站up主硬核打造「螃蟹火星车」,遥控、拍照、测距,还能做人脸检测;网友:赛博螃克...
鱼羊 白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 吃完的螃蟹壳是干垃圾还是湿垃圾? 或者,裹上一层黑科技,让它变身「火星车」,馋哭隔壁家小孩. 更硬核的是,这样一台螃蟹火星车,并非只是 ...
最新文章
- java循环使用范围_Java循环流程控制语句
- java JVM虚拟机
- linux如何根据端口看进程,linux 根据端口查看系统进程
- python3如何使用mysql_python3怎么用sqlalchemy操作mysql
- 13.multi-term-vector请求
- js(Dom+Bom)第八天
- WinForm立体饼状图实现(附源码示例) 之配餐系统的开发
- jvm(4)-虚拟机性能监控与故障处理工具
- mybatis :Criteria 查询、条件过滤用法
- 抛弃NVelocity,来玩玩Razor
- Android-创建简单登陆界面
- 绿联USB3.0扩展坞网卡:显示未连接;及Mac共享wifi
- MFC程序版本自动升级更新
- php微信支付接口的流程图,php如何设计微信支付接口
- 标准盒模型与怪异盒模型的区别
- win7计算机打开显卡设置在哪,[win7显卡设置在哪里]WIN7显卡优化设置在哪
- java实现正态分布累积分布,标准正态分布变量的累积概率分布函数
- USB3014-应用程序开发
- 【仿真设计】仿真技术在智能制造中的作用;智能制造难点在模型,焦点在仿真;汽车行业CAE研究
- element tab选项卡标签样式
热门文章
- 终年57岁!中国科学院院士因病逝世
- openfire smack消息回执设置,处理掉包问题
- pta:2019来了
- 吴式太极拳老架(原乐志先生授)(2008.04.09修改)
- scanf函数用%s参数时的注意事项
- Directsound开发指南(4)
- 同步和异步有什么区别,分别在什么场景下使用
- PAT 1072 开学寄语 C语言实现
- (网络编程)linux系统的远程操做
- 对各大预训练语言模型的简单总结和评述(BERT/RoBERTa/ALBERT/ELECTRA/ERNIE/structBERT/SpanBERT...)