[心得] 2020-3-1 每日新聞

作者: damody (天亮damody)   2020-03-01 13:40:31
#每日新聞
# 2020-3-1 每日新聞
# FB: http://bit.ly/2UizW6X
# Klein: SIMD加速的 C++17 幾何庫
看起來想要做跟openmesh一樣的事
http://bit.ly/39cGatJ
# C++: is_printable
一個判斷是否可以輸出字串的 trait
http://bit.ly/2TrllEh
# boolean 在Java佔用幾bytes?
在Java虛擬機規範中,沒有用於boolean專用字節碼指令,
而是在編譯後使用int替換它。
這表示當將布爾值編譯為布爾變量時,其大小將為4個字節,
如果它是boolean array,
則數組中每個boolean的大小將僅為一個字節。
但這又取決於每個Java虛擬機的實現,某些JVM可能根本不遵守該準則。
每一個boolean大約是1~4btyes,
代表在java使用boolean你會浪費8~32倍的空間。
http://bit.ly/32I8CBw
# Let's Encrypt 已經發行了十億個Certificates
Let's Encrypt是一個免費發送的SSL/TLS 憑證的組織
他們為網路安全做了極大的貢獻
http://bit.ly/2wZFWbk
# Rust程式員對Go的感覺
我將盡力避免與Rust進行過多的比較。
- 總體印象
使用Go進行編程非常不錯。我在程式庫中想要的內容它都有。
學習它是一種流暢的體驗,它是一種精心設計且實用的語言。
與使用C/C++,Java,Python等相比,
它減少了很多挫敗感,並且提高了生產力。
- 易學性
Go非常容易學習。
我實際上在兩天之後就編寫了“有趣的”,可提交的代碼。
Go很小,標準庫也是又好又小
- 樣板
Go代碼很快變得非常重複。
它缺少用於減少重複的任何機制,例如巨集或泛型。
錯誤處理也會導致重複。
函數裡面常常塞滿err!= nil {return err},
這些錯誤處理的程式碼比有趣有用的要更多。
閱讀Go程式心很累,因為您必須忽略太多程式或尋找細微的差異。
- 我喜歡的點
編譯時間。絕對的快;絕對比Rust快很多。
Go routines跟channels
它確實顯示出語法的強大功能,使並發編程比其他語言感覺更好。
Interfaces
易於理解和使用,並且在很多地方都有用。
if ...; ... { } 語法
能夠將變量範圍限制在if內是不錯的選擇。
有垃圾收集器(GC)!不考慮記憶體確實會使程式變得更容易。
- 我不喜歡的點
nil, a nil slice, empty slice 都不同
但我敢肯定你只需要其中兩種。
沒有好用的enum
for ... range返回一對索引/值。
使用多值返回類型時,類型上必須帶括號,但return語句中不需要。
聲明一個結構需要兩個關鍵字(type + struct)。
使用大寫字母將變量標記為公共或私有。
這就像匈牙利命名法,但感覺更糟糕。
無法為其他程序庫中的receiver 編寫函數,
也無法為上游類型實現interface,從而使它們的實用性大大降低。
泛型和巨集的缺乏。
# 半小時學會Rust
在本文中,我將不著重於一個或兩個概念,
而是嘗試盡可能多地讓你看目Rust程式碼,
並解釋它們所包含的關鍵字和符號的含義。
http://bit.ly/3akz1Ie
# Rust: xtra 一個小型,快速且安全的actor框架
有以下特點:
有安全、輕巧的特性
並能異步加同步的處理程式消息
可以跟Tokio或async-std協作
非常的快
http://bit.ly/2TsGZrJ
# 探索在Rust中實作中斷處理程式和共享數據的方法
教你在嵌入式Cortex-m上面寫中斷處理程式
http://bit.ly/3cq65Ar
# Rust: stegano 把文字加密進圖片
http://bit.ly/3andgYh
作者: SIMD (丹丹指令流)   2020-03-02 08:10:00
加速
作者: oopFoo (3d)   2020-03-02 14:51:00
Klein是Geometric Algebra, 是要代替傳統3D的matrix。跟openmesh要做的東西完全不同。
作者: Bencrie   2020-03-02 21:08:00
可是他是 CPU SIMD 實作耶

Links booklink

Contact Us: admin [ a t ] ucptt.com