作者damody (天亮damody)
看板Soft_Job
标题[心得] 2020-1-31 每日新闻
时间Fri Jan 31 10:41:31 2020
# 2020-1-31 每日新闻
# rust 1.41了!
除了一些功能更新
重要的是不再支援32-bit Apple产品了
http://bit.ly/2S1iam9
# open-source security key
google 使用rust实作了 OpenSK
支援 FIDO U2F, FIDO2 两种标准
http://bit.ly/2vBMiwS
# Rust编译模型灾难
文章作者Brian Anderson是Rust编程语言
及其姊妹项目Servo Web浏览器的共同创始人之一。
他现在在PingCAP担任高级数据库工程师。
他希望解决TiKV编译缓慢的问题
在开发模式下进行完全重建可能需要15分钟,在发布模式下可能需要30分钟。
对於大型系统项目的开发人员来说,这听起来可能并不那麽糟糕,
但是它比许多开发人员对现代编程环境所期望的要慢得多。
TiKV是一个相对较大的Rust代码库,
有200万行程式码。相比之下,Rust本身包含300万行,而Servo则包含270万行。
编程语言设计充满了权衡利弊。这些基本选择之一是runtime性能与编译性能,
Rust团队几乎总是选择runtime性能而不是编译更快速。
如果快速编译时间不是Rust设计的核心原则,那麽Rust的核心设计原则是什麽?这里有一
些:
实用性-它应该是一种可以在现实世界中使用的语言。
实用主义-它应该要让人觉得可用,并且将其整合到之前的系统中。
内存安全性-它必须强制执行内存安全性,并且不能接受记忆体存取错误。
性能-它必须与C++在一样快。
并发-它必须提供现代的解决方案来编写并发代码。
但这并不是说Rust设计师没有在快速编译时间中考虑任何因素。
但因为利弊的权衡,编译器的性能还是愈来愈慢。
当作者每天使用Rust编译器工作时,
电脑上至少拥有三份程式码是很常见的,在其他所有版本都在构建和测试的同时。
我将开始在工作区1编写程式,开始编译,然後跳到工作区2,
开始在工作区2工作,编译後再切换回工作区1。不断进行在不同的工作区中切换。
虽然在2019年Rust的编译速度有了提升,但目前Rust还是编译的不够快。
下一集会是作者如何优化Rust的编译速度以达到产品经理的期待
http://bit.ly/2vD5I4v
# Bastion 0.34
什麽是Bastion?
Bastion是一个高度可用的容错runtime系统,具有面向动态调度的轻量级流程模型。
它为轻量级过程实现提供了诸如并发之类的参与者模型,
并有效地利用了所有系统资源,并保证了每次传送最多的消息。
基於消息的通信与actor model的Mesh网路。
runtime容错能力使其成为分布式系统的理想选择。
具有NUMA感知和仿射缓存SMP执行程序的完全异步runtime。
监督系统使管理生命周期变得容易。
目前哪边有用到Bastion?
SkyNet (Discord 机器人,用来重新发送已删除的讯息)
在AWS Lambda中,我们使用Bastion启用重试机制,并尝试不同的解析策略来处理数据。
http://bit.ly/2Ua9mgr
# Tide 0.6 了
Tide是一个还不成熟的 web framework
这一版增加了对CORS的支持与新的cookies API
也增加了一些新语法让人用起来更简单
http://bit.ly/3aTpglc
# oreboot
oreboot是coreboot的分支
https://zh.wikipedia.org/wiki/Coreboot
来自维基百科的说明
coreboot,原名LinuxBIOS,是一个旨在取代大多数电脑中专有韧体(BIOS或UEFI)的软
体专案,它采用轻量级韧体设计,只执行载入和执行现代32位元或64位元作业系统所需的
最少量任务。
Oreboot当前仅支援LinuxBoot。
Oreboot想利用Rust的安全性制作一个安全稳定快速的BIOS程式。
http://bit.ly/2S4RuAP
# 改善MSBuild中的并行编译性能
从Visual Studio 2019 16.3开始,有了Multi-ToolTask(MTT)
通过将MSBuild属性或环境变量UseMultiToolTask设置为true,使用 MTT。
可以使用平行编译。
http://bit.ly/2tiAU8o
# Bitsery C++序列化库 5.03版了
速度很快
序列化的数据很小
可以向前向後相容
http://bit.ly/36HHinl
# 什麽是Spring Framework? 从依赖注入到Web MVC
花费约15分钟阅读本指南,该指南涵盖了Spring框架中最重要的80%,
如果您的工作有用到Spring 您将在未来获得超过一百万次回报。
http://bit.ly/2GA42uO
# Project Loom 的出现会让 Future 消失吗?
Project Loom 的出现会让 Future 跟 CompletableFuture 过气吗?
Project Loom具有三个主要目标:
introducing continuations, fibers, and tail-call elimination.
Loom能让你更简单的写出非同步程式码并使用 fibers。
Kotlin已经有fibers,编译器支持。 Scala库具有coroutines。它们与即将推出的JVM
fibers相同吗?
并没有因为JVM fibers是底层实现的,并且具有运行时支持。
另一方面,Kotlin中的fibers是一种编译时机制。在Scala中,coroutines是一种程式库
实作机制。
http://bit.ly/38U3ITC
--
标题 [闲聊] 写程式的时候要吃甜食
推
del680202:我写程式的时候 都想脱光衣服
推
lgzenith:双脚放到桌上反而容易进入状况
→
loveme00835:看吉泽明步...
#1Hc6x55S (Soft_Job)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.141.13.177 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1580438497.A.27E.html
1F:推 eve1012: 推签名档 01/31 12:18
2F:嘘 pig2014: 欸干喜欢看venu是不是有病 01/31 15:03
3F:嘘 iceman5566: 楼上你一定要嘘文吗? 不懂欸 你嘘了让我高潮怎办????? 01/31 17:08
4F:推 lustitia: 推 01/31 20:28
5F:推 Frostx: 推 02/01 11:53
6F:推 Csongs: 推推 支持分享的心得文 02/01 12:47
7F:推 Data000: 推 02/02 18:04
8F:→ domototice: 当我研究所刚毕业时JAVA证照很夯JAVA职缺很多...! 02/07 09:41