最近意外發現我 blog 的文章中,程式碼的 highlight 在 macbook chrome 上顯示異常,除了沒有標色以外,多行的 code block 也變成很長的單行。如下圖: 追查問題一開始我沒有任何頭緒,問了 ChatGPT 只亂給了一些建議,說 “prettyprint” ...
最近意外發現我 blog 的文章中,程式碼的 highlight 在 macbook chrome 上顯示異常,除了沒有標色以外,多行的 code block 也變成很長的單行。如下圖: 追查問題一開始我沒有任何頭緒,問了 ChatGPT 只亂給了一些建議,說 “prettyprint” ...
最近專案升上 Rails 7.2 後,發現不但測試速度變慢、local 開發時,改 code 之後新的 request 進來,rails server 都要等近一分鐘才有反應。中間想要關閉 server 還會完全沒有反應,要直接關閉 terminal 或下 kill -9 指令強制關閉。 ...
最近專案升上 Rails 7.2 後,發現測試很容易失敗,但奇怪的是並不是每次都會重現,而且錯誤訊息也非常詭異。例如: 錯誤訊息ActiveRecord::SubclassNotFound: Invalid single-table inheritance type: User is n ...
在大部分資料庫查詢中,MySQL 能夠正確分析並選擇適合的索引(index)。但因為 MySQL 依賴統計資訊與抽樣(sampling)來判斷資料分佈,因此在某些特殊情況下,可能無法選擇最佳索引。如果我們對資料的結構與查詢需求有更深入的了解,能夠判斷應該使用哪個索引,這時候我們可以手動指定 ...
三角套匯三角套匯(Triangular Arbitrage)是一種在外匯市場中,利用不同市場的交叉匯率報價,找到價格差異,來獲取低風險利潤的策略。因為通常會牽扯到三個貨幣,因而稱為三角套匯。 主要原理是利用市場的不效率性,而產生的價格落差,從中找到獲利空間。舉例來說,假如美元匯率原本為 3 ...
在 Rails 5.1.4 之後,我們已經可以在啟動 rails console 時,傳我們需要的 IRB configuration 參數進去 (rails#29010)。而 IRB 也有支援關閉 pager 的參數 --no-pager (irb#783)。 若我們要關閉 Ruby 3 ...
介紹一般我們使用 kaminari 時,是為了想要替 ActiveRecord 做分頁,以避免一次性讀取所有資料。但有時候資料來源並非來自資料庫,例如當我們想顯示一個大型的 CSV 檔案時,行數過多需要分頁來優化顯示。此時我們會需要對一個陣列進行分頁。 其實,Kaminari 已經提供了一 ...
前言網站開發時,我們常常需要設定 rate limit 的限制,以防止機器人大量嘗試登入,暴力破解使用者的密碼, 或是發送大量請求,造成 Server 負擔過重。在某些情況下,我們可能會想要使用用戶的 email 或帳號當作 key 來限制 rate limit。例如登入 API 或忘記密 ...
需求在朋友的公司中,有一天來了這樣的一個需求: 他們想要可以做類似 google 那種單次登入,多平台使用的功能。 然而,公司的資訊系統是使用 PHP 做的,而工作管理系統則是使用 Ruby on Rails 寫的。 解密 token 的方式他們在 PHP 上已經有一份實作了,現在需要在 ...
這次我們請來了 ChatGPT 來為大家深入探討手機行銷中的心理戰術,尤其是蘋果和三星兩大巨頭的不同策略,以及它們對消費者的心理影響。你是否曾經在網路上看到關於 iPhone 保值的言論,然而實際計算後卻發現拿 iPhone 每天的損失跟 Galaxy S 或 Note 系列手機差不多,甚 ...
