【Rust日报】 2020-01-10 track_caller 錯誤處理大突破
更新我們的Rust Boilerplate server 使用 GraphQL (Async and Actix-web 2)
做了以下的更新
use async/await
use actix-web version 2
use anyhow + thiserror in place of failure
structopt
Read more
sntpc Rust SNTP 客戶端可以從 NTP servers 拿 timestamp
Read more
有人成功的驗證了rust可以跟unreal遊戲引擎整合
Read more
Rust基礎建設
目標1:明確Rust作為獨立項目的地位
有些公司想要商業投資Rust但因為 Mozilla 持有這個項目而卻步。
Rust應該要有自己的獨立基金會。
目標2:減輕一些實際困難
儘管Rust項目擁有自己的治理系統,但它從未擁有自己獨特的法人實體。該角色一直由Mozilla扮演。例如,Mozilla擁有Rust商標,而Mozilla是crates.io等服務的合法運營商。
作者希望Rust獨立出來,Mozilla成為其中一個投資者而不是持有者。
但作者又不希望Rust基金會不應僱用全職開發人員
造成這種情況的原因有很多,但最大的原因就是價格太貴了。
為該工作量提供資金將需要大量預算,這將需要大量籌款。
Read more
有人使用了Rust實作了BLAKE3
BLAKE3 是一種 cryptographic hash
類似 MD5 SHA1 等 Read more
Library team 從 IRC 移動到 Zulip
https://zulipchat.com/ 是一個類似slack的軟件。
Read more
Way Cooler驗屍報告
作者做了一個開源專案但是死的很慘
他用這篇文章做一個記錄
我最初的計劃是用C語言編寫它,因為這似乎是複合語言的流行語言(當時只有Gnome,KDE,Weston,E,Orbment和Sway的早期版本)。 Snirk 說服我研究Rust。 他對它的強大可靠性保證很感興趣(他的研究領域是編譯器和語言設計)。 它獨特的內存管理方法吸引了我,在嘗試了該語言之後,我們開始研究Way Cooler。
當時他們在 libweston, swc, wlc 中做選擇
最後他們選了 wlc
更清楚的是如何包裝Rust所使用的API。它具有非常簡單的內存模型和非常小的API界面。
我們試了範圍,並開始包裝wlc庫,以便能在Rust中使用它。我們設定了一個短期目標,用約400行程式碼從C轉換為慣用的Rust。
但是,在此階段犯了兩個錯誤,乍看之下似乎是矛盾的:我們跳入包裝wlc的速度太快了,但與此同時卻花了太多時間。
封裝給Rust使用的C庫並不是一件容易的事,如果我們知道這個問題,可能就不會這樣做了。
後面想支援Lua又想支援Nodejs然後庫的API又大改在3.X=>4.X 做了不相容更新。
然後我們都是自學很少跟人合作,在閱讀他人的代碼上異常困難。
後面又因為 Rust 實作樹資料結構不好作,搞了很久。
太長了,大家有興趣可以看原文
Read more
Arc 怎麼在Rust運作的呢?
就是原子計數器加指標
Read more
Terminal 0.2.0
類似 termion, crossterm, ncurses, pancurses 的
命令列 UI library
Read more
track_caller 錯誤處理大突破
Option::{expect,unwrap}
跟 Result::{expect, expect_err, unwrap, unwrap_err}
有 #[track_caller]
了
從
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /rustc/da3629b05f8f1b425a738bfe9fe9aedd47c5417a/src/libcore/macros/mod.rs:16:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
變成
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/main.rs:3:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Read more
duckscript
用rust實作的腳本語言
Read more
為什麼要用Rust?我們有GC啊
Rust有速度上的優勢,並發上的自動檢查。
但跟Java一樣都開發的不快,Python是開發速度的首選。
不過Java有更好的IDE支援,生態系統與社群更強大,
對老闆來說更安心。
Read more
【Rust日报】 2020-01-10 track_caller 錯誤處理大突破相关推荐
- ASP.NET的錯誤類型及錯誤處理方式
一﹑常見的錯誤類型﹕ 語法錯誤﹑邏輯錯誤﹑編譯錯誤﹑運行時錯誤以及配置錯誤 二﹑錯誤的處理﹕ 1﹑使用驗証.具體操作步驟點選方案按右鍵選屬性,組態屬性﹐建置中的檢查算朮溢位/反向溢位設為True, V ...
- 由于找不到openni2_OpenNI 2 的錯誤處理
Hi, Heresy. 我在电脑上装了 Kinect for windows v1.7 和 OpenNI 2.2.为了方便,我将OpenNI2/Redist 加进了环境变量里面.但是我在运行程序的时候 ...
- Robcup2D足球学习记录【2020.01.10】
本次学习过程主要阅读了bhv_chain_action 对于代码的理解与存在的疑问(用注释标出) 学习心得与体会 对于代码的理解与存在的疑问(用注释标出) 注释格式如下: /* 问题: xxxx 理解 ...
- Windows 2000/Xp 錯誤編號詳解
2000/Xp 顯示藍色當機之STOP詳解 Windows 2000/Xp 顯示藍色當機之STOP詳解 1.停止錯誤編號:0x0000000A 說明文字:IRQL-NOT-LESS-OR-EQUA ...
- linux开机报ata错误,Linux 系統出現 ATA SError DevExch 的錯誤解法
Linux 遇到硬碟快壞掉,然後半殘的情況,有 RAID1 是不用怕資料遺漏,只是機器的 Loading 變重,速度變很慢~ (如同此篇文章:Linux Soft RAID1 硬碟半殘的偵測確認.移除 ...
- linux grub error 22,Linux系統grub常見錯誤問題解決
Linux在現在已經很強大了,導致Linux系統越來越受到電腦用戶的歡迎,於是很多人開始學習Linux時,學習時你可能會遇到Linux系統grub常見錯誤問題,這裡將介紹Linux系統grub常見錯誤 ...
- Windows 10無法正常登入系統, 提示User Profile can not be loaded的錯誤。
Windows 10裡面有兩個user accounts,但其中一個登入Windows 10系統輸入密碼后,密碼正確,但提示User Profile can not be loaded的錯誤,導致無法 ...
- 百度与吉利联合制造智能电动汽车;霍尼韦尔2020年度10大创新科技揭晓 | 美通企业日报...
今日看点:毕马威与香港特许秘书公会携手发布报告<风险管理调查:迈向成功的助力>.百度与吉利联合制造智能电动汽车.包头茂业万豪酒店开业.爱茉莉太平洋展示CES 2021创新奖获奖技术,科勒推 ...
- 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
今日看点 西安国微EDA研发中心正式启动运营.中科院院士兼国微集团首席科学家郝跃在致辞中提出,国微集团是国家重点布局的EDA企业,在2019年与西电共建EDA研究院基础上,在西安布局研发中心,对进一步 ...
- CentOS下安裝Nvidia docker 2.0:[Errno 256] No more mirrors to try錯誤及解決方式
CentOS下安裝Nvidia docker 2.0:[Errno 256] No more mirrors to try. [Errno 14] HTTPS Error 404 - Not Foun ...
最新文章
- Hadoop运行模式 之 本地运行模式
- 怎么看电脑的hdmi是输出还是输入_HDMI线连接电视电脑常见问题及解决办法
- 马斯克的90后合伙人离职Neuralink!5岁学编程,曾创立2家公司
- FPGA中LUT、 LATCH 、FF
- [Unity Editor]10行代码搞定Hierarchy排序
- 【Flutter】Flutter 布局组件 ( PhysicalModel 组件 )
- mysql日志(介绍 路径修改 备份)
- 【POJ - 1328】Radar Installation(贪心+计算几何)安装雷达辐射岛屿
- listview bcb 行的颜色_文明交通安全行手抄报简单又漂亮
- 解决:Caused by: java.lang.UnsupportedOperationException: null
- 解决Linux下vi或vim操作Found a swap file by the name
- scala的静态属性和静态方法
- rm: cannot remove ‘malloc.pro/.user.ini‘: Operation not permitted
- Qt 中文和英文分别使用不同的字体
- ★如何引导客户需求?几个经典的案例分析!
- 王垠:如何掌握程序语言
- 策略分享-基于海龟交易模型的优化 暂存
- 用python画眼睛_Python数据可视化,小心眼睛被抓!
- Qt QLineEdit 信号函数总结
- 分享UG塑胶模具设计的分模方法,一起学起来
热门文章
- 腾讯精选50题—Day6题目43,46,53
- 安徽大学计算机专业毕业论文格式,安徽大学本科毕业论文格式.doc
- goland 注释模板_论文写作标准格式模板
- 电脑如何连接无线打印服务器,电脑怎么联接无线路由器打印机
- python3d动图_如何在Python上制作3D图形的动画
- 服务器d盘位置不可用,系统之家Windows7本地磁盘位置不可用拒绝访问的解决方法...
- php更换wordpress用户头像,WordPress修改评论默认头像的方法
- 在哪些场景下要使用CDN加速服务
- 关于word中插入的mathtype公式变形问题的解决方案
- 前端处理订单支付超时