將紀元毫秒時間戳記轉換為可讀日期時間

在許多情況下,例如處理 JSON 格式的 API 回應、處理網站上嵌入的 JavaScript 資源等時,我們會頻繁看到 13 位長數字,並且我們可能知道它是源自new Date().getTime()等程式碼的紀元時間戳,但是,作為人類,我們無法快速分辨出它代表的日期和時間。有一個名為 Epoch Converter 的便捷網站,可以輕鬆地將其轉換為人類可讀的格式,但對於開發人員來說,大多數時候還有比打開網站更快捷的方法,即使用許多程式語言自帶的「互動式 shell」。

升級到 Ruby 3.0.5

Ruby 3.0 帶來了一些重大變化,這會為使用大量 gem 的典型 rails 應用程式帶來很多麻煩,尤其是關鍵字參數行為的重大變化和 URI.escape 方法的刪除。

將 Rails 從 5.2 升級到 6.0

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

升級到 Ruby 2.7.6

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

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 要容易得多。流程的變化少了很多,測試失敗的可能性也更小。

如何將百萬筆記錄匯入mysql

使用名為 activerecord-import 的 gem,將大量記錄匯入 mysql 表變得更容易,這篇文章示範如何實現它。

將 Rails 從 5.0 升級到 5.1

將應用程式 rails 版本從 5.0 升級到 5.1 比從 4.2 升級到 5.0](/upgrade-rails-from-4-2-to-5.0) 更容易,因為這只是一個小版本更新。然而,可能仍有許多問題需要解決,無論是由於框架變化還是由於過時的 gems 依賴性。

Ruby rspec

RSpec 是 ruby​​ 中流行的測試框架。

Rails 自動加載線程不安全

Rails 框架會自動載入常數,以便在「開發」或「測試」等環境中,應用程式不需要在處理請求之前將所有內容載入到記憶體中。然而,眾所周知,自動載入在 rails 中是線程不安全的(至少對於低於 6 的版本而言),如果你碰巧使用了像 pumawebrick 這樣的線程伺服器,那麼很容易踩到由多線程引起的意外問題。

將 Rails 從 4.2 升級至 5.0

將 rails 升級到新的主要版本可能會比較棘手,因為框架本身可能會發生許多重大變化,或者專案中使用的許多 gem 可能會被棄用或不再受支援。然而,如果按照正確的程序進行,一切也會很順利。這篇文章根據我最近的實際經驗分享了將我們的 API 伺服器從 4.2.11 升級到 5.0.7.2 的過程。請注意,根據專案配置或依賴關係,不同專案的升級步驟可能略有不同。

帶有 cookie 的 Ruby http 請求

帶有 cookie 的 Ruby http 請求。

Ruby parallel gem 用例

Ruby parallel gem 用例。

Ruby rack

Rack 是 ruby​​ 世界中提供 web 框架 (ruby on rails, sinatra) 和 web 伺服器 (webrick, puma, unicorn) 之間介面的 gem。

Ruby rake

Rake 是 Ruby 中類似 Make的任務執行器。首先在 Rakefile 中用 ruby​​ 語法定義任務列表,然後使用 rake 指令呼叫該任務。

Ruby bundler

Bundler 用於 ruby​​ 專案中的依賴管理。

Ruby gems

Ruby gem 是一個包含可重複使用的 ruby​​ 應用程式或函式庫的軟體包。

Ruby rbenv

rbenv 用於管理多個 Ruby 版本,這裡總結了一些常用的命令,以供快速參考。

Ruby 基礎

學習 Ruby 的一些基礎知識。