Kros 積分 3
如果 App 有 Offline 功能時,如何讓 Local ID 跟 Server ID 互相溝通,Trello 一開始想到兩個不好的解法:
  1. 先產生 Local ID,等連線成功時,再轉換成 Server ID。

複雜且效能不好

  1. 產生一個 ID Object "Identifier" 同時包含 Local ID, Server ID。

架構大改 Refactoring 風險大

目前的解法是: 在 network 層實作一個 local-server id converter。缺點就是 data model 必須是 mutable 的。

大家有什麼好的解法嘛?

koji 積分 0

java-library plugin IDE 已經看得懂嗎

haocheng 積分 1

Jigsaw 可以讓你建立一個很小的 JDK/JRE,不過還是需要 JDK/JRE 才能執行

kaif 積分 0

我以為java 9的Jigsaw可以像golang那樣直接打包成win/linux執行檔?

haocheng 積分 0 編輯於

等 JDK 移植到 Alpine Linux 之後,用 docker 跑 Java 程式會更簡單

kaif 積分 0

There are plenty of options for robust JDBC wrappers, such as JdbcTemplate or Fluent JDBC Wrapper. Alternatively, there are other powerful solutions, such as jOOQ.

j0n 積分 0

透過Hibernate去操作DB的確是有快感而且可以擺脫寫SQL的痛苦,但是真的資料量一大就無可避免回到自己刻SQL的老路,ORM畢竟是提供framework,實在很難保證他可以對使用者的資料作最佳化的存取啊...

IngramChen 積分 2 編輯於

我以前也是 Hibernate expert 咧 (自稱)

不過用了幾年後就丟棄了… 現在變 JdbcTemplate expert 惹

唉,如果有仔細研究 Hibernate 的 source 就知道他們設計的真是精良,是非常懂物件導向和關聯式資料庫的人設計的,使用 Hibernate 也會讓你感覺到你是在處理物件的生命週期,而不是關聯式資料。

問題大概就是資料本身本來就不適合用物件導向解決吧,尤其是資料可能很巨量。物件導向它是強在 UI 元件…

koji 積分 2

讓我想到 cockroachdb 就看到 hackernews 上的 comment1

One of the big differences is that Spanner only uses SQL for read-only operations, with a custom API for writes. We use standard SQL for both reads and writes, which means we also work with major ORMs like GORM, SQLAlchemy, and Hibernate (docs should be live today or tomorrow). Spanner's custom write API will make it difficult to work with existing frameworks, or to convert an existing application to Spanner. Cloud Spanner only works on Google Cloud and is a black-box managed service. CockroachDB is open source and can be run on-prem or in any cloud on commodity hardware. (We don't offer CockroachDB as a service yet, but may in the future)

IngramChen 積分 1 編輯於

很扯...

  • 支援 SQL select/join/subquery/index ...etc
  • 不支援 DML (要用它的 client),猜測是目前只限於做 primary key 相關的 update
  • 開一台 0.9 usd/hour,儲存和傳輸另外算錢

每一 instance 的能力 :

each Cloud Spanner node can provide up to 10,000 queries per second (QPS) of reads or 2000 QPS of writes (writing single rows at 1 KB data per row), and 2 TiB storage.

0.9 usd/hour 相當於 aws m4.4xlarge (16 core/64GB ram)

Kros 積分 0

現在越來越多 app 是用 web 呈現的,真的要來學一下了

IngramChen 積分 0

共用的 code 比想像的多。不過他們會轉 react native 也是情有可原,因為那些轉的很多原本都是 webview

IngramChen 積分 2

"Why we abandon React Native at Instagram - 2018"

IngramChen 積分 1

Sublime... 要錢,然後在 Linux 上怪怪的,最近更新停滯… 等等缺點

不會有人再用 Sublime 了吧

IngramChen 積分 0

其實就是 null 可以隨便 cast 成任何 type

whitglint 積分 0

有 ownership 的觀念寫 c++11 記憶體管理問題會少很多

haocheng 積分 0

Feature Complete 了!看來不會再延期了 XD

IngramChen 積分 1

其實是別人變肥太快,JVM 現在看起來顯瘦...