[料理佳餚] Xamarin.Forms(iOS)接收來自 Firebase Cloud Messaging 的推播通知

上一篇 Xamarin.Forms(Android)接收來自 Firebase Cloud Messaging 的推播通知,當然也要來個 iOS 版本,但是在這個過程當中走了相當多的坎坷路,才知道原來 iOS 模擬器不能模擬東西還不少,為了開發 iOS App 除了買 Mac 用來建置之外,還得買 iPhone 來測試模擬器不能測試的東西,還要為我們的開發者帳號繳至少一年 $99 鎂的費用,著實花了不少錢,說這些都是淚水啊。

...繼續閱讀 »

[小菜一碟] Android SDK Manager 裡面選項好多、有的長得好像,差在哪?該不該勾?

剛開始嘗試要用 Xamarin 開發 Android App 的時候,當我打開 Android SDK Manager 要去安裝所需要的相關 Android SDK 套件時...

第一次看到它是在約莫兩年前,觸發了我的選擇恐懼症,於是開始搜尋 Xamarin 的相關教學文章,大都說哪些要勾,沒怎麼對裡面的每個選項多做說明,兩年後想說這樣不求甚解不太行,花了點時間把 Android SDK Manager 裡面的選項查清楚,給有跟我一樣問題的朋友做個參考。

...繼續閱讀 »

[廚餘回收] Redis 裝在 GCE Windows Server 上須注意一下虛擬記憶體的設定

某個週末公司某個裝在 Windows Server 上的 Redis 服務掛點,從 Server Log 看到下面這段錯誤:

# Write error saving DB on disk: Invalid argument
# rdbSave failed in qfork: Invalid argument
# fork operation complete
# Background saving error

是在 Redis 做 Snapshot 的時候沒有成功,進而影響到服務的運作,Snapshot 會失敗大概會有幾個原因:

  1. 記憶體不足
  2. 磁碟空間不足
  3. 權限不足

現在我們就來看看是哪一個原因?

...繼續閱讀 »

[料理佳餚] ASP.NET 在不修改既有程式及後端資料的情況下統一置換某個特定字串

程式的生命週期往往比我們想像中的長,通常年紀愈大的程式包袱愈重,後面接手的人肩負的壓力也愈重,如果我們知道有一個字串叫 http://www.xxx.com ,現在因為政策的關係必須改成 https://www.xxx.com ,偏偏 http://www.xxx.com 被到處寫死在資料庫及程式原始碼裡面,除了把寫死的那些找出來改之外,我們還可以怎麼做?

...繼續閱讀 »

[小菜一碟] 躲在 Load Balancing 後面的 IIS 站台如何將 HTTP 的要求強制重新導向到 HTTPS?

  • 143
  • 0
  • IIS
  • 2018-01-06

之前有介紹過 SSL 憑證只要放在 Load Balancing 就可以了,不必在每台 Load Balancing 後面的機器都去放置 SSL 憑證,假設我們原有 http://xxx.yyy.com 的網址,在我們打通了 https 之後想要將 http 都強制重新導向到 https,很直覺地我們想到的解決方案就是檢查打進來的 Request URL 如果是 http:// 開頭的就回應重新導向到 https:// 開頭的就行了,但死亡導向之門也就此被打開了。

...繼續閱讀 »

[料理佳餚] 將 Function 序列化為二進位資料之後傳遞給另一個應用程式執行

  • 370
  • 0
  • C#
  • 2017-12-01

有這個議題是既有系統的 Cache 邏輯在 Cache 沒有命中的時候,會啟動 lock 機制,然後去執行一個由呼叫端傳進來的 delegate function 去後端資料庫重新取得資料,可是我們都知道每家公司多多少少都有遺留一些「初學者程式碼」,這些初學者程式碼不一定是初學者寫的,但它有時候執行的效能並不是很好,在這種情況再搭配 lock 機制之下,後面進來的 Request 就塞住了,進而影響客戶端的響應速度。

...繼續閱讀 »