Ruby
Ruby Concurrency 筆記
- Backend
- 04 Jan, 2021
Ruby 3.0.0 在去年聖誕節推出,release note 提到了一些 concurrency 相關的新功能,一邊研究一邊做個紀錄 在 Ruby 3.0.0 Released 提到了 Ruby 針對 Concurrency 加入了 [`Fiber#sch
read more
從 Arel 看 Visitor Pattern
- Backend
- 03 Dec, 2020
偶然發現,Arel 好像是用 visitor pattern,好奇心驅使之下,就來研究看看。 翻翻歷史 翻了一下 Arel 的 repo,發現它其實一開始並不是用 visitor pattern 的,是在 2.0.0 之後才重寫,如這個 [History](https://github
read more
如何在 IRB/Pry/Rails Console 使用 Up/Down 鍵搜尋以前打過的命令
- Backend
- 16 Oct, 2020
覺得 Ctrl + R 的 reverse-i-search 用的不是很習慣,google 了一下原來這樣設定就可以用 up/down 鍵搜尋了。 新增 ~/.inputrc 檔案,裡面設定: "\e[A": history-search-backward "\e[B": history-search-forward
read more
method_missing 傳遞 splat argument 會噴 SystemStackError
- Backend
- 30 Sep, 2020
最近遇到一個因為 splat argument 導致噴 SystemStackError 的案例,研究了半天發現是使用 method_missing 才會遇到 最近工作上遇到一個案例,是呼叫某個函式會噴 SystemStackError,google 發現了類似的事情 [https://github.com/redis/redis-rb/issues/264](https://github.co
read more
How to Update Your Pry Prompt Setting since v0.13.0
- Backend
- 26 Jun, 2020
The pry gem changed itsPry::Prompt API since v0.13.0, and deprecated setting prompt through Pry.config.prompt = [] . If you have customized this way, you should use t
read more
ArgumentError: invalid byte sequence in UTF-8
- Backend
- 09 Dec, 2018
有次遇到這個錯誤:ArgumentError: invalid byte sequence in UTF-8,一追之下發現是遇到類似這段程式碼, "english 中文\xED\xB6\xB0".gsub(/english/, '')會錯的原因是因為 \xED\xB6\xB0 不是合法的 UTF-8 編碼。 要檢查是不是合法的編碼可以用 `valid_encod
read more