[料理佳餚] 藉由 Akka.NET 來認識一個打動圖靈獎得主的程式設計模型 - Actor Model

經典之所以是經典,是因為歷久不衰!Actor Model - 一個將近 50 年前的理論,不僅圖靈獎得主為它背書,Twitter、Microsoft 以它為理論基礎實踐自己的應用,DDD 大神 Vaughn Vernon 還為了它寫一本書。

感謝 Will 保哥的技術交流中心 的邀請,讓我有機會在這次的直播當中,對 Akka.NET 這個框架能有更多的著墨,沒想到講了快 2 個小時,底下是這次直播的內容,如果大家對 Akka.NET 有興趣,或者是有應用上的問題,都可以透過粉絲專頁的訊息,或是部落格的留言跟我聯絡。

...繼續閱讀 »

[小菜一碟] 在 JavaScript 依照 Resolve 的順序處理 Promise

在 JavaScript 的 Promise API 中,要處理一個 Promise 的集合,有 Promise.all()、Promise.any()、…等等,可是這些 API 要嘛要等全部的 Promise 都完成了,要嘛是任一個,而且只有一個 Promise 完成了,才能串接後續的處理,沒有那種依照完成的先後順序一個接一個串接後續處理的 API,不過沒關係,利用 Promise 的特性,我們也是能做到類似的效果。

...繼續閱讀 »

[廚餘回收] Cloudflare 不時吐 502(Bad Gateway),追查發現是 Nginx 發生了「99: Cannot assign requested address」的錯誤。

前幾天,公司的網站在尖鋒時刻,不時會從 Cloudflare 吐出 502(Bad Gateway),查看 Web 伺服器、DB 伺服器的 CPU、記憶體全都沒有過載的情況,把調查對象轉往 Nginx,從錯誤日誌當中看到了下面這個錯誤訊息:

99: Cannot assign requested address

...繼續閱讀 »

[料理佳餚] 在 ASP.NET Core MVC 自訂 HTTP 狀態碼頁面

商業網站通常都會自訂自己的 HTTP 狀態碼頁面,先前有寫兩篇文章介紹在 ASP.NET MVC 如何來做這件事?

現在環境換到了 ASP.NET Core,我們來看一下怎麼處理自訂 HTTP 狀態碼頁面?

...繼續閱讀 »

[廚餘回收] 只是要裝個 Cloud Monitoring agent 到 CentOS 7 上也會踩到雷

GCP(Google Cloud Platform)預設是不會幫我們監控 VM 的記憶體使用率磁碟空間使用率,需要在 VM 裡面多安裝 Cloud Monitoring agent 才看得到,我的 VM 作業系統是 CentOS 7.9,照著官方文件一步一步弄,最終我得到了一個錯誤訊息:

https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-el7-x86_64/repodata/repomd.xml: [Errno -1] repomd.xml signature could not be verified for google-cloud-monitoring'.

...繼續閱讀 »

[廚餘回收] iOS 與 Android 對於已快取的 Request 處理方式不一樣

以前聽過有個笑話是這樣說的:

某A:聽說 iOS 在瀏覽網頁的時候很省電
某B:對,因為它什麼事都沒做。

原來這件事是真的,根據 RFC 7234 5.2.1.4 的定義,如果我們在發送 Request 的時候,加上 cache-control: no-cache,在沒有從伺服器成功取得內容之前,不得使用已儲存的快取來滿足目前的 Request,但是 iOS 它連 Request 都沒送,自然就不需要理會這個定義。

...繼續閱讀 »