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

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

IngramChen 積分 0

Dart 現在最缺 union type (null check),其他都還好。

Future 和 Stream API 都剛好夠用,不像 Rx 那樣肥大

natsu 積分 0

不要為了 GC 而在最後一行加上 foo = null 這種東西,現在 JVM 不需要這種寫法

應該說是為了避免 OutOfMemoryError 而在最後一行加上 foo = null 這種東西 ......

不過是特殊情形下才需要這樣做,或者你不想加大 -Xmx 的值 ......

IngramChen 積分 1

不要為了 GC 而在最後一行加上 foo = null 這種東西,現在 JVM 不需要這種寫法

natsu 積分 0 編輯於

NULL參照法---Nulling a Reference: 將null指派給物件變數,使目前的物件變數沒有參照對象。

雖說「Null sucks.1」,但 null 還是有用處的。

有時會發生 OutOfMemoryError 就是因為程式在同一時間建立了太多物件,所以要把變數設成 null (若是在 collection 中則是用 remove 的方式) 讓它可以儘早被 GC 回收。

當然如果沒有 memory 方面的問題的話,一般是不用把變數設成 null 的。

haocheng 積分 0

這倒是,應該要改成這幾年流行的扁平化設計 XD

IngramChen 積分 0

其實我覺得 icon 重做就 80 分啦,現在沒人再用那種彩色 icon 了

haocheng 積分 0

很多時候是 SWT 元件的限制啦,不過新版 Dark theme 還蠻完整的,比剛出來的時候好看多了

haocheng 積分 0

我猜大多數人也不想每半年升級一次 Java 吧 XD