將 Rails 從 5.2 升級到 6.0

將以 API 為中心的應用程式的 rails 版本從 5.2 升級到 6.0 時要處理的主要事情包括配置調整和修復棄用警告。

升級到 Ruby 2.7.6

在撰寫本文時,Ruby v2.7.6v3.0 之前的最新版本,如果應用程式使用依賴 BigDecimal 的庫,升級到 v2.7.6 可能會遇到重大問題。

如何在 JSON stringify 中處理 BigInt

我們知道 BigInt 類型在 JavaScript 中是一種可用的資料類型,可以表示任意的大整數,當值超出 number 所能表示的範圍時,這是一個很好的補充。然而,在使用需要以 JSON 格式交換資料的應用程式時,BigInt 值會成為一個問題,因為 JSON 預設不知道如何序列化 BigInt 值,在這種情況下,一種解決方案是將 BigInt 轉換為 string,正如這篇文章所示。

將 socket.io 從 v3 升級到 v4

將 socket.io 從 v2 升級到 v3 之後,本文是關於將 socket.io 及其相關軟體包升級到撰寫本文時的最新版本,唯一的設定變更似乎是來自 redis-adapater 和使用針對我們的特定方式(導入客戶端)。

將 socket.io 從 v2 升級到 v3

socket.io 及其相關函式庫,例如 socket.io-redis-adaptersocket.io-redis-emitter v2 到 v3 的遷移期間造成問題。這篇文章列出了遇到的問題以及如何根據實際經驗針對特定用例進行解決。

JS 資源

由於我發現自己現在越來越多地用 JavaScript 編寫程式碼,無論是後端還是前端開發,所以我認為我應該至少認真考慮一下它,這是十多年來的第一次,以下是我在深入研究這種長期被忽視的程式語言時發現的有用的資源。

如何使用 gpg 保護 Linux 中的文件

在共享的 Linux 機器或環境下工作時,有時需要隱藏或保護一些包含敏感資訊的文件,幸運的是,有一個名為 GnuPG 的工具,大多數 Linux 發行版都已預裝,我們可以方便地使用這個工具,這篇文章介紹了我們如何在一個非常基本的場景中輕鬆快速地使用它。

Ruby `defined?` 在哪裡定義?

有沒有想過 Ruby 的 defined? 在哪裡定義?因為它看起來很像一種方法,所以您最終可能會嘗試檢查許多地方,例如:“Object”、“Kernel”、“BasicObject”,甚至“Class”或“Module”,但卻無法在任何這些地方找到它。好吧,直到你意識到這一點,答案才很簡單:defined? 不是一種方法,而是一個運算符或一個關鍵字。

將 Rails 伺服器從 unicorn 切換到 puma

在 rails 應用中,常用的兩種流行 Web 伺服器中,unicorn 使用工作進程來處理請求,而 puma 則同時使用進程工作器和執行緒來處理請求。因此,從 unicorn 切換到 puma 不僅可以幫助提高並發性,還可以減少記憶體使用量。另外,自 rails 5.0 以來,預設使用的 Web 伺服器是 puma。

將Rails從 5.1 升級至 5.2

將應用程式從 Rails 版本 5.1 升級到 5.2 比從 4.2 到 5.05.0 到 5.1 要容易得多。流程的變化少了很多,測試失敗的可能性也更小。