IngramChen 積分 0

java 現在會怕就好, 之前一直裝死連這種最基本的都不加

不過加了也太晚了, 就算java現在半年發一版, 但 android 通常要一二年以上才會跟上. 等於一半的人還是沒得用

IngramChen 積分 0

所以我覺得放 cassandra 到 container 有點怪怪的,不曉得實務上有沒有人這樣做...

IngramChen 積分 1 編輯於

是蠻多的,不過大概是我要的書剛好都沒在上面所以...

希望他們別被 kobo 打敗啊!

編輯: 剛去看一下 readmoo google play 的下載量,是一萬這個量級,這還不是普通的少… 我聞到了苦撐的味道…

IngramChen 積分 0

不用道歉啦,是這邊的請求比較無恥...

可以請問你佈署的 spark cluster 有多大嗎?資料在哪個量級。

當然這是商業機密的一環,不能說的話就不用回答了

IngramChen 積分 0

那可不可以分享一下台灣有佈署 mongodb, cassandra 之類的 (> 10 nodes) 在 kubernetes 的?

是類似廣告商/電子商務之類的公司做這樣的佈署嗎?

IngramChen 積分 0 編輯於

買電子書的人開始多起來,多到夠撐起一家電書商正常營運...

IngramChen 積分 0 編輯於

今天剛好有一篇 Experiences with running PostgreSQL on Kubernetes1

作者說了一句:

Managing Postgres on Kubernetes is a full time job

說服我放棄了

IngramChen 積分 0

不過台灣電子書還沒到元年,只是一堆屁而已

IngramChen 積分 1

kubernetes 到底要用在什麼地方... ?

資料庫嘛,大多數人都不放 container,而且 db 本身也無法 auto scale…

Microservice,這的確需要個 orchestra 的工具,可是如果你不是 netflix/amazon,用 microservice 只是自找麻煩...

Web application server 呢?web server 沒有 state,隨便開隨便都能跑起來,要 orchestra 什麼...

IngramChen 積分 1 編輯於

w3c 雖然有定義它們個別的意義,但語義實在是太像了,而且 b/strong , i/em render 出來都一樣,所以我覺得混用沒什麼差。

會去區分 b/strong 兩者不同的只有爬蟲,可是爬蟲應該早就可以處理 b/strong 混用的狀況了吧。

IngramChen 積分 1

2017 好像總共出了 10 版? 大概是一個月更新一次的樣子。之前 Intellij 改成訂閱制大家鬧翻了,不過實際上更新的頻率很高 (高到我都開始嫌煩了),算一算訂閱制也沒多虧。

Kotlin 的更新就完全和 IDEA 脫勾了,因為 Android Studio 和一些舊版的 IDEA 都能用最新的 plugin。

IngramChen 積分 0

我猜最後 Java 大概會有一半 Kotlin 的功能吧。不過 extension method 沒學到終究還是差一大截

IngramChen 積分 1

發多了就變 spam 啦,也沒人想看

一兩天發一則對 DAU 比較好啦

IngramChen 積分 0

到底最後會由哪個語言統一 webassembly 呢?

IngramChen 積分 0

下面的留言馬上就開始洗訂閱數了 XD

IngramChen 積分 0 編輯於

好寫實… 喔不,這是真實

IngramChen 積分 4 編輯於

a long story...

Java 現況:

 //Java10
 var rect = new Rectangle();
 rect.setX(12);
 rect.setY(10);
 rect.setWidth(300);

如果照這個 tweet 的說法,那就可以這樣寫:

 //Java++
 var rect = new Rectangle()
               .setX(12)
               .setY(10)
               .setWidth(300);

看起來好像挺不賴的?不過這有個很大的缺點: 讀程式碼的人會誤以為 .setFoo() 有回傳自己,而不是 void。Java 就是因為沒有這種潛規則所以才好讀好維護的,我個人是不願意見到這種魔改。

取而代之,應該可以借用 Dartcascade operator1

 //Dart code
 var rect = new Rectangle()
               ..setX(12)
               ..setY(10)
               ..setWidth(300);

變成 .. 就代表該 statement 會回傳自己。這在 Dart 上已經用了超過五年了,沒看到什麼負評。然後也因為有這個 operator,在 Dart 裡沒有人寫 builder pattern。大家在設計 API 時,都會認為開發者會應用 cascade operator。

如果未來 Java 不是靠新的 operator,而是靠加了 compiler 潛規則回傳 this,那還真是慘,到時就只能靠 IDE 上色幫忙了 (void 當 this 回傳時,前面那個 . 變成又紅又大 這樣)

那 Kotlin 呢?Kotlin 裡是這樣玩的:

 //Kotlin
 val rect = Rectangle().apply {
   x = 12
   y = 10
   width = 300
 }

hmm... Kotlin 裡好像多了幾個字,和一個大括號,感覺起來很囉嗦?

非也,我個人最愛 Kotlin 的設計,那個 .apply() 可不是語言的語法,那只是個 library,它靠著 Kotlin 語言內建的 extension method 和 inline lambda 兩個功能就兜出來了,不用玩花樣魔改。如果 receiver 是 null,整個 block 還可以跳過:

 //Kotlin
 fun updateDimension(rect:Rectangle?) {
   rect?.apply {
     x = 12
     y = 10
     width = 300
   }
 }

加個 ?. 就可以安全避開 null pointer exception。

Kotlin 最棒的就是語言提供很簡單,但是又強大的功能,讓更進階的 語法 都可以靠 library 實現,so powerful, so elagant!

IngramChen 積分 1

很基礎,不過他講的很有趣,哈哈

IngramChen 積分 0 編輯於

bitcoin 泡沫結束後,留給世人的就是各種向地球要能源的奇巧淫技

IngramChen 積分 2 編輯於

好可憐,Apple 在中國跟狗一樣…

Google 早早 被迫 看破先閃了

台灣人用的 iPhone/Mac 如果歸中國就好笑了,此 bug feature 無法修復

IngramChen 積分 0

做完了... 有夠長

不知道裡面說的驚喜新產品是什麼

IngramChen 積分 0

那就是 T480 了啦,重量沒什麼差