Skip to main content

炸蝦碎碎念

我是在東京工作的Web後端軟體工程師,主要是用Java或Kotlin在Spring Boot上做內部的Microservice API。

私底下我喜歡健身、沖咖啡、和狗玩、還有玩一些電子DIY。

為什麼用這個平台: 想找個地方整理技術筆記心得,這裡可以用Markdown,我不太想用static generated的

7 posts

Latest articles

探討系統時間與應用程式的影響:網路協定、誤差、以及正確使用方法

上一集我們討論了MySQL Timestamp 的精準度,提到了不同主機之間很有可能有時間差異,那這個時間差會有多大? 在電腦和許多微控器裡面都有一個 RTC 晶片,利用石英振盪器提供系統時間。這個RTC在一班桌上型電腦上就是裝在主機板上,和BIOS一起用水銀電池供電。所以如果那個電池如果沒電了,BIOS設定都會跑掉,時間也會被重設。 關於石英振盪器,這裡有一篇Analog Devices的文章解釋石英振盪器的原理以及誤差。 在 Linux 上,我們可以利用 hwclock獲取時間。但是這件事...

Mar 2, 20231 min read

  1. Feb 25, 20232 min read

    MySQL的Timestamp準確度、快取應用的雷點

    MySQL是常用的關聯式資料庫管理系統,其中Timestamp類型是一種用來儲存日期和時間的資料類型。在定義Timestamp欄位時,如果不定義準確小數點 的話,預設只到秒,且會四捨五入。 比如以下的資料表定義,就明確定義了到小數點下6位也就是微秒精度。 CREATE TABLE `services` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `start_time` timestamp(6) NOT NULL DEFAULT CURR...

  2. Sep 5, 20223 min read

    Spring Boot 的 Redis 設定與更改 JedisCluster 建構方式

    前陣子工作上需要調 Jedis 的 maxTotalRetiresDuration ,但這是 Jedis 新加的選項,還沒被整合到 Spring Data Redis。所以需要手動去做一些設定。對 Redis 在 Spring Boot 上的設定做了一些調查,這邊筆記一下。 Change the Constructor Call of JedisCluster 我需要 call 在這個PR被加上的建構子。 public JedisCluster(Set<HostAndPort> jedisClu...

  3. Sep 2, 20221 min read

    不要在 Production MySQL Server 上刪除資料表(< 8.0.23)

    背景 前陣子團隊裡在討論,有用不到的 Table 要刪掉,是否要用一個月一次深夜停機的時段。我們團隊裡資深的同事表示他記得會有整個 DB 的 Lock 。我就想,照官方文件,Online DDL 應該不影響其他操作啊,而且也是針對該資料表。那平常的時間就可以刪啦? 不過又多做了一些搜尋,發現果然薑還是老的辣。。。 看到了這篇文章: Why you simply don't drop a huge InnoDB table in production... DROP table 會怎樣? 那篇文...

炸蝦碎碎念