- Dotnet 的 DateTime.ToString 在 Alpine 3.19 時區炸裂

我們的妙妙 DateTime.ToString()

Alpine 3.18 的時候是 2024-02-29 12:47:57

升到 Alpine 3.19 變成 2024-02-29 12 Minute Minute: 50

謝謝 aspnet:6.0-alpine,搭配微軟把拔好棒的 CultureInfo,禮拜一都不無聊了呢


需要更多資訊的朋友,可以參考 TimeSeparator 以及 Custom format 的頁面說明:

以及這則相關 issue:

DateTime format issue with Alpine 3.19 #5234

按照 issue 內的操作,就可以重現 Alpine 3.18 和 3.19 的行為差異,並且可以印出 CurrentCulture 並看見 TimeSeparator 變成空值(而非文檔中的 “:")

如果有朋友遇到同樣問題並來到這裡,上面 issue 的一段話節錄給你參考:

I noticed that you are missing the package icu-data-full in your repro Dockerfile. We have this package documented in our Alpine ICU sample Dockerfile. I’m not sure why the behavior changed between alpine versions. If you add icu-data-full to your final image layer you should get the correct behavior.

我注意到你在重現用的 Dockerfile 裡少了 icu-data-full 套件。我們在 Alpine ICU 的範例 Dockerfile 中有記錄這個套件。我不確定為什麼在不同的 alpine 版本之間行為會改變。若你把 icu-data-full 加到 final image layer,應該就會得到正確的行為。

尤其這句 I'm not sure why the behavior changed between alpine versions.
……真是道盡了我抓蟲的心情。

- 當設計陷入困境時,要不就是缺乏資訊,要不就是前提有誤

「當設計陷入困境時,要不就是缺乏資訊,要不就是前提有誤」

感覺軟體設計也適用。

- 團隊交流公式

人月神話:

團隊交流公式:n(n−1)/2

範例:50個開發人員,就要 50(50−1)/2 = 1225 個溝通管道

這解釋了很多事情🫠

- 技術部落格大集合

我:天哪真不知道這些前輩去哪找這麼多優質技術文章

同樣也是我:這怎麼讀得完= =


checkcheckzz / system-design-interview - Github

上面就是我看到這 Repo 的感想。現在我們有更多讀不完的技術部落格了

- Windows 解析度與字型鋸齒

以前總覺得 Windows 到底怎麼搞的,字體邊邊都有鋸齒,真傷眼。

現在換新電腦之後才發現,好像只是我之前螢幕解析度太低而已……

但我還是安裝了 MacType,讚

- 小紅點

趁著黑五特價組了台小紅點,當作給自己的生日禮物。接下來的日子還要請新夥伴多多指教了