PTT推薦

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

看板Soft_Job標題[心得] 2020-3-13 每日新聞作者
damody
(天亮damody)
時間推噓 1 推:1 噓:0 →:1

#每日新聞
# 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

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.47.77 (臺灣)
PTT 網址

jinmin8803/23 03:12EFcore 2升級到EFcore 3會碰到很多災難XD

jinmin8803/23 03:13ef3的一大堆include會導致db掛點