淺談個人保險(一),風險四象限,為何需要保險?

最近恰好在整理一些保險產品的內容,藉此來進一步思考保險的本質,以及釐清一些我自己沒有很深入了解的保險相關內容。

我想,對於「保險」這項產品,一般人會想了解的不外乎就是:自己為何、是否需要保險,需要的話保哪些、花多少錢?

我們就從為何和是否需要保險來探討起吧!

繼續閱讀

Merge Sort

題目

合併排序 Merge Sort,經典排序之一。將給定一串數字排序,時間複雜度的要求為 O(nlogn)

繼續閱讀

簡介 React-Three-Fiber,淺談 WebGL 及 Three.js

WebGL (Web Graphics Library) 是一個基於 OpenGL ES 2.0 的 JavaScript API,允許瀏覽器在無需任何插件的情況下,透過 <canvas> 元素進行 2D 或 3D 的繪圖。

其中,OpenGL ES (OpenGL for Embedded System) 是 OpenGL 的精簡版本,專門為了嵌入式系統、行動裝置和瀏覽器設計。其渲染(Rendering)的基礎原理是將給定的數據計算後,產生出最終畫面。

繼續閱讀

Python Pydantic 簡介:和 Dataclass 的區別,Alias 的簡易用法

當寫慣了 C++、Java、TypeScript 這類 Strong Typing 的語言時,想要在 Python 處理型別總會在剛開始不太習慣,因為 Python 雖然提供了 Typing,但是僅能「提示」,而不會真的拋出錯誤。

此時可以嘗試看看 Pydantic 這樣的 Library,在定義資料的時候能較為強制限制資料的格式。此篇簡單記錄 Pydantic 的基本用法,為何要用,又和原生的 Dataclass 有什麼區別。

繼續閱讀

訊息代理(二),Message Queue vs Pub-Sub Pattern

上一篇提到訊息代理 Message Broker 的基本用途,而這篇我們進一步來看看 Message Broker 兩種不同的 Pattern。

在討論系統設計時,我們時常會聊到 Message Queue,我最初分不太清楚 Message Queue 和 Message Broker 有什麼差別,也不太懂一種叫做 Pub-Sub 的行爲和 Queue 是否有關聯。

更甚者,我還聽過類似 Pub-Sub 的名詞:Producer-Consumer,當時這又讓我更困惑了,究竟他們有什麼不同?因此,今天就來釐清這些不同的概念和名詞吧!

繼續閱讀

訊息代理(一),何謂 Message Broker,如何挑選?

過去人們的溝通方式主要是透過口語及書信交流,遠距離的溝通效率低下,而且很容易受到環境的影響。但現代社會中,只要有網路覆蓋的地區,我們的資訊都能透過 TCP/IP 的架構所傳遞,效率相對於過去提高了非常多。

但是在此架構下,我們需要考慮的事情也多了許多。例如要思考傳送訊息時對方是否在線上?不在時該怎麼處理;如果傳送的訊息一下太多,系統負荷不了該怎麼辦?

由於訊息傳遞的速度太快,我們不能依靠人工來決策並處理,而是需要一套完整的邏輯來處理這些瑣事,以下便來整理我學習 System Design 時,關於傳遞訊息時需要考量的重要設計:訊息代理。

繼續閱讀

常見 CS 繁中、簡中及英文詞彙對照表

由於學習計算機科學的線上資源非常廣泛,除了英文之外,繁體及簡體中文的資訊也相當繁雜,時常會有點分不清哪些是合適中文翻譯。

因此,本篇記錄常見的計算機科學(CS, Computer Science)領域中,繁中、簡中及英文詞彙對照表。

繼續閱讀

閱讀心得:怎樣制訂更有價值的學習目標

每到新年之初,往往會覺得熱血沸騰,想著一定要把過去一年想學但是卻還沒付諸實現的技能或興趣加入到計劃清單內,但我通常在安排的 10 件事裡面有 1 件能夠真的去做,並且維持一段時間就已經可以偷笑了。

為什麼會這麼困難?又要怎麼制定一個能夠「執行」的學習目標,以下便整理我閱讀「脫不花」的「怎樣制訂更有價值的學習目標」文章心得。

繼續閱讀

Docker CMD 及 ENTRYPOINT,以及如何在 Docker 同時執行多個程序

在撰寫 Dockerfile 時,經常需要設定容器執行後的指令,例如,一個 Node.js 的 App 可能透過 npm run start 來啟動,又或是執行某個 shell script。

這些指令都是需要在環境準備好之後,在容器「運行」時執行,而非在 Docker build 的建置階段時執行。此時,我們便能在 Dockerfile 中使用 CMDENTRYPOINT 來指定容器運行時要執行的指令或程序。

繼續閱讀