haocheng 積分 0

會嗎?以現在 Oracle 的計費方式,我猜很多公司會考慮 Azul 這種有上限的比較划算,或者本來有買 RedHat Linux 的公司就用 RedHat 上的 Java 了 XD

IngramChen 積分 0

這個模式再 run 個三年就知道了。

結果… 是 Oracle 賺翻了

natsu 積分 0

另外架 DB 去改 OS 參數是很常見的事,裝過 Oracle DB 就會知道。

寫程式十多年都沒有聽 DBA 提起過有這回事 ...

可能是我和 DBA 比較不熟吧 XD

P.S. 一般開發時用的 DB (測試區) 都是用預設值 ...

IngramChen 積分 1

一般而言都不用動到,postgresql 舊版的預設參數都很保守,現在好多了。

另外架 DB 去改 OS 參數是很常見的事,裝過 Oracle DB 就會知道。

natsu 積分 0

沒想到架個 DB 也需要改到 Kernel Parameters ...

不過應該是 PostgreSQL 有丟出相關錯誤訊息時才需要改吧?

haocheng 積分 1

結論:

But if you just want the "standard", currently my best advice is to use the OpenJDK builds by Oracle, AdoptOpenJDK builds or the one in your Operating System (Linux).

linus 積分 0

大部分的內部 AP 系統開發, 如果已經走 microservice 架構, 應該比較少機會用那麼多的 RAM吧.

IngramChen 積分 1

自從外包給 RDS 後現在都沒機會動到這些設定了

kaif 積分 0

之前elasticsearch有建議heap不要開太大 有這個應該就不一樣了

natsu 積分 0 編輯於

ZGC restricts itself to 4Tb heaps which require 42-bits, leaving 22-bits of possible state of which it currently uses 4-bits: finalizable, remap, mark0 and mark1.

喔喔,4TB 耶!

不過可能也沒機會用到這麼多 ram ...

haocheng 積分 0

沒錯,除非你有付錢買 support,不然還是轉 OpenJDK 吧…

IngramChen 積分 1

總之要有一個觀念,Oracle JDK LTS 有跟沒有一樣,都是只到半年。

natsu 積分 0

純 rest 要用名詞, 所以要改寫成 /user/{id}/approval。

我是有看到用動詞的例子:

要講究純 rest 到最後變得像是在考文法一樣, 咬文嚼字, 我個人是不太喜歡浪費時間在這種地方啦。

說的也是 ...

而且用 PATCH 就對了嗎?approve user 這個動作有可能改到三個 Table 以上,不一定是只改 user.approved 這個 boolean flag 而已啊。

我只是覺得 approve 這個動作應該只是在 update 資料,所以用 PATCH 比較合適 ...

不過改三個 Table 有可能代表了同時修改三個資源,這部份 REST 目前也沒有規範到 ...

就像您說的那樣,最後會是 REST 和 RPC 混用吧

IngramChen 積分 0 編輯於

純 rest 要用名詞, 所以要改寫成 /user/{id}/approval

要講究純 rest 到最後變得像是在考文法一樣, 咬文嚼字, 我個人是不太喜歡浪費時間在這種地方啦。

而且用 PATCH 就對了嗎?approve user 這個動作有可能改到三個 Table 以上,不一定是只改 user.approved 這個 boolean flag 而已啊。

IngramChen 積分 1

版號當然是要出現在 url.

出現在 header 就變成只能用 js call, 而且也不能 cache. 放 header 只是給自己製造麻煩而已

natsu 積分 0

API 版號應該出現在 URI 中還是 HTTP header 中?以 REST API Versioning 的描述兩種皆可,但看完論文後哪種較好呢?

  • 我覺得 API 版號應該出現在 URI 中,因為這樣可以保證 client 端不會 call 錯版本 ... (雖然這樣的 URI 有點不好看 ...)
  • 若是用 parameter 或 header 來指定 API 版號,就有 client 端給錯資料而 call 錯版本的風險 (當然如果 client 端是可信賴的就沒差)

參考資料:Versioning RESTful Services1

natsu 積分 0

不過 url 都會是小寫英文 和 - 就是了。然後就算是 RPC , url 也會傾向用 /approve/user/{id} 而不是 /approveUser?id={id}

我覺得如果 url 是 /user/{id}/approve + PATCH 應該就符合 REST 了吧

IngramChen 積分 2 編輯於

我最後都是混用。只有簡單的 CRUD 才會用 REST,其他很難用 resource 表達的通通用動詞 + POST (就是 RPC)

不過 url 都會是小寫英文 和 - 就是了。然後就算是 RPC , url 也會傾向用 /approve/user/{id} 而不是 /approveUser?id={id}

IngramChen 積分 1 編輯於

Java8 應該會是有史以來會被維護最久的版本吧,一堆人會卡在這。

ubuntu 18.04 本身就是裝 openjdk8 ,所以最少會被 canonical 維護五年

kaif 積分 0

軟工把軟體類比成建築,但建築不會重蓋十次。