#每日新聞
# 2020-3-13 每日新聞
# FB: http://bit.ly/2UizW6X
# C#: 對於使用Entity Framework和micro-ORM的反對論點
這邊針對兩個ORM做討論
Full ORM - Entity Framework Core
在大多數“入門”文件中,
這個是居於首位的,並且是大多數初級開發人員在開始使用.NET時會選擇的內容。
Micro ORM - ServiceStack.OrmLite
不選Dapper或PetaPoco是因為作者比較喜歡 ServiceStack.OrmLite
ORM應該只提供一種類型安全的SQL編寫方法
大型框架會需要更多時間來了解與使用,
當這個框架適合你的專案時會節省大量時間,
反之帶來大量災難。
而小型框架在大多數情況都不會有太多好處或壞處。
http://bit.ly/39Lh45G
# C++ Now 2020會議的組織者宣布今年的會議已取消
我要感謝所有為使會議成為可能而付出了巨大努力的人,
包括所有提出提交演講者的人,申請成為學生/志願者的人,
計劃委員會成員共同撰寫了近三百五十條評論,
以及年復一年的所有會議人員和組織者為使C++ Now做出了巨大的貢獻。
可能是因為武漢肺炎疫情的問題所以取消了
http://bit.ly/39QfZto
# 五天用Java做出基本的Minecraft
https://www.youtube.com/watch?v=hJqIRYowfrQ
# openjdk/valhalla lworld branch 轉換到git與github
新聞
http://bit.ly/2QafQZG
github
http://bit.ly/2IJzU0Z
# 除錯下載大型S3資料與大量記憶體分配與GC
作者發現只要他們寫的一項服務從S3下載大對象(大於30MB)
其記憶體就會增加到觸發OOM終止的內存資源限制
然後程式被砍掉
使用AWS開發工具包提供的sync.Pool可以解決此問題。
http://bit.ly/2ILEgoy
# Rust 1.42.0 發佈了!
增加了 Subslice patterns
```rust
fn foo(words: &[&str]) {
match words {
[] => println!("empty slice!"),
[one] => println!("one element: {:?}", one),
[one, two] => println!("two elements: {:?} {:?}", one, two),
_ => println!("I'm not sure how many elements!"),
}
}
```
新巨集 matches!
```rust
// Using a match expression:
match self.partial_cmp(other) {
Some(Less) => true,
_ => false,
}
// Using the `matches!` macro:
matches!(self.partial_cmp(other), Some(Less))
let foo = 'f';
assert!(matches!(foo, 'A'..='Z' | 'a'..='z'));
let bar = Some(4);
assert!(matches!(bar, Some(x) if x > 2));
```
其它功能詳見
http://bit.ly/2Wbae5w
# Async Interview: Withoutboats
Withoutboats是Rust lang小組的成員。
從2018年初開始,他們開始研究Rust的異步等待。
本文講解了異步語法應該要解決的太多問題
要保持異步和同步代碼為盡可能"類似"且好用。
http://bit.ly/2wPQWb8
# Rust:改善 spotify-tui 透過使用 async
作者通過實作 async/await 與使用 tokio
改善了UI效能
http://bit.ly/2IFqCDc
# Rust: 實際使用Wasm
文章一開始講解了wasm的優缺點
像是是32位開頭而不是64位
指標與介面類型之類的一些基本內容仍然是WIP狀態
下面介紹各種名詞
- wasm –“機器碼”。設計用於可移植,快速且易於執行的bytecode。
- wasi –“系統調用”。用於執行基本系統任務(主要是I/O)的API。
- 編譯器- rustc, clang, emscripten等
- wasmer – wasmer.io上的人製作的直譯器/JIT
- wasmtime –直譯器/JIT 不同的人做的
- wapm –與npm類似的軟件包管理器
- WASI – WebAssembly系統接口,一種POSIX-y API,
為非Web平台上的wasm程式提供系統介面。
- Cranelift –用Rust編寫的編譯器和JIT後端。在概念上類似LLVM。
詳細請看文章
http://bit.ly/38NGnme