IngramChen 積分 0

kotlin 有的大家都想要,這點 Java 也一樣 (被逼的)

kotlin 吸收前人的經驗,只留下實用的功能,現在變成現代化語言的標竿了。Dart 也許到了 4.0 功能上也會差不多

IngramChen 積分 0 編輯於

改得超多的,之前的什麼 any T 都不見了

In Valhalla, we convert from inline to reference types via an inline widening conversion. This is similar to boxing, but it has a significant difference: the result of the conversion is not an identity object (as a box would be), but a reference to an inline object.

Boxing 的話是直接開一個肥 Object, Reference projection 的話只是一個 reference 指向 inline object,所以整個輕量化。

看到後面,最大缺點是 Optional 要寫成

Optional.inline<User> userOpt = Optional.of( findUserById(12))

這種奇怪的型式才能得到最佳化,然後像是 Map API 也變難懂:

public V.ref get(K key);

看到 return V.ref 一定很傻眼

IngramChen 積分 0

gitlab trello slack 都可以爽爽用不用付費. 直到你成長到一定規模

不曉得 space 的免費 quota 夠不夠吃就是

IngramChen 積分 1

singleton is evil !

一開始都是立意良好, 但隨著程式維護就漸漸爛了, 也不是只有 flutter 有這個問題.

不過 GUI 的程式會很想用 singleton 就是了, 因為 UI 的程式通常會很深 (react 這種 comp tree 的更嚴重), 不用 singleton 很麻煩...

這個問題要解決就是養成寫 test 的習慣, 一旦要 test 就會發現導入 singleton 很難測

當然也是會發生維護的人發現 test 過不了, 然後全砍掉, 改回用 singleton, 這就不是什麼 practice 能救的問題了

IngramChen 積分 0

好像無頭馬車亂加了一堆功能又退回去...

ruby 缺的一直都是效能, 這很明顯啊

IngramChen 積分 0 編輯於

重力子 這個名字有夠中二...

看到效能居然比 M5 還好,有點想試試 arm 的 openjdk..

IngramChen 積分 4

python 的 list comprehension 和 spread operator. 這些功能引入都是因為 flutter 的 UI 是直接用 dart 來寫

Dart 因為只有 google 在用, 而目前主力是 flutter, 所以整個語言都被魔改成 flutter 專用. 像是 swift 之於 iOS 那樣.

一個語言如果背後是給一個大公司專門開發, 通常都有這種毛病. 現在回想起來, 如果 Java 是被賣到 Google, 有可能會被魔改成 Android 專門的奇特語言. Oracle 雖然無恥但某方面 Java 還是有維持原本的風格

IngramChen 積分 0 編輯於

講個小東西,如果 html lang 設為 zh

<!doctype html>
<html lang="zh">

結果會是像簡體用的繁體字型

<!doctype html>
<html lang="zh-Hant">

改成 zh-Hant 就會用教育部的標準字體了。(注意肉字旁的寫法有變)

IngramChen 積分 1 編輯於

JDK 升到 11 大概是難得的 break change,我寫十幾年 Java 第一次遇到。

JDK 11 出來後,我大概幾個月就會嘗試升升看,然後通常是 library 沒跟上,有噴 warning/error。

現在 JDK 11 已出滿一年了,這個時間點升級就幾乎是無痛了。我想這可以做為未來 JDK 17 升級的依據。大約是 release 後等一年左右。

IngramChen 積分 0

Django 是不是比較少人用了? 我看 python 有很多新的 micro service,我最近的一個小專案也去選了 fastapi

IngramChen 積分 1

猜測踢到鐵板了, 中國太過人治, 玩不起來

IngramChen 積分 1 編輯於

昨天把公司的大小專案都升到 jdk 11 和最新的 spring boot 了

蠻爽的

時間久了發現我現在的更新週期大約是;

  • spring boot 一年
  • vuejs 半年
  • k8s 半年
  • postgresql 一年以上
  • JDK 三年以上
  • OS 三年以上

可能的話我也想一兩年升一次 k8s 就好, 但目前不太可能...

IngramChen 積分 0

與其分享架構什麼的

比較想聽聽他在中國的開發實境...

IngramChen 積分 0

蔡為什麼回台灣混飯吃了… ?

有沒有八卦

IngramChen 積分 0

proj file 真是太雷了,Apple 一點都不想改嗎?

現在還有哪個平台開發用完全看不懂的 xml 在寫的...orz

IngramChen 積分 2 編輯於

出包的是 container/cgroup ,看來 kernel 要常更新才行。

k8s 雖然是多了一層,但奇特的是你把 control plane 整個關掉, container 其實還會繼續跑,只是不能更新而已。從這角度來看 k8s 其實和真正部署的 app 隔的很開

SQL 有標準,因此 JPA 的意義少了一半。但雲端平台一直沒有標準 ,好不容易大家都服了 k8s,紛紛抬轎,長遠來看還是優點大於缺點。

IngramChen 積分 0

神乎奇技的 trace

所以通通都要升到 kernel 4.19 ?