不想變得普通,卻又害怕不同

幣圈的三角套匯 - USDT 搬磚套利

三角套匯三角套匯(Triangular Arbitrage)是一種在外匯市場中,利用不同市場的交叉匯率報價,找到價格差異,來獲取低風險利潤的策略。因為通常會牽扯到三個貨幣,因而稱為三角套匯。 主要原理是利用市場的不效率性,而產生的價格落差,從中找到獲利空間。舉例來說,假如美元匯率原本為 3 ...


為你的 rails console 預設參數

Disable pager in your rails project

在 Rails 5.1.4 之後,我們已經可以在啟動 rails console 時,傳我們需要的 IRB configuration 參數進去 (rails#29010)。而 IRB 也有支援關閉 pager 的參數 --no-pager (irb#783)。 若我們要關閉 Ruby 3 ...


kaminari gem 分析,如何支援替陣列做分頁機制

介紹一般我們使用 kaminari 時,是為了想要替 ActiveRecord 做分頁,以避免一次性讀取所有資料。但有時候資料來源並非來自資料庫,例如當我們想顯示一個大型的 CSV 檔案時,行數過多需要分頁來優化顯示。此時我們會需要對一個陣列進行分頁。 其實,Kaminari 已經提供了一 ...


當開發者遇上 MySQL 編碼:你知道你的 Rate Limit 被巧妙繞過了嗎?

前言網站開發時,我們常常需要設定 rate limit 的限制,以防止機器人大量嘗試登入,暴力破解使用者的密碼, 或是發送大量請求,造成 Server 負擔過重。在某些情況下,我們可能會想要使用用戶的 email 或帳號當作 key 來限制 rate limit。例如登入 API 或忘記密 ...


Ruby 快速實作客戶 PHP 加解密函式

需求在朋友的公司中,有一天來了這樣的一個需求: 他們想要可以做類似 google 那種單次登入,多平台使用的功能。 然而,公司的資訊系統是使用 PHP 做的,而工作管理系統則是使用 Ruby on Rails 寫的。 解密 token 的方式他們在 PHP 上已經有一份實作了,現在需要在 ...


手機購買心理大揭密:為何蘋果永不貶值?三星CP值魅力炸裂!

這次我們請來了 ChatGPT 來為大家深入探討手機行銷中的心理戰術,尤其是蘋果和三星兩大巨頭的不同策略,以及它們對消費者的心理影響。你是否曾經在網路上看到關於 iPhone 保值的言論,然而實際計算後卻發現拿 iPhone 每天的損失跟 Galaxy S 或 Note 系列手機差不多,甚 ...


ChatGPT 初體驗:優雅處理數字格式化

構建自己的 JavaScript 版 Rails number_with_precision 函式

在網頁開發中,我們經常需要處理數字的格式化,例如將小數四捨五入到指定精準度、添加千位分隔符…等等。對於使用 Ruby on Rails 框架的開發者來說,number_with_precision 函式是個方便實用的工具。但是,如果我們在 JavaScript 環境中工作,我們需要自己實現 ...


天天當文書處理員?讓 API 文件自動生成吧!

利用 RSpec 測試自動生成 API 文件

在我們日常開發的過程中,難免有時候會需要去調整 API。在多次調整之後,往往當初寫的文件已經跟不上變化,而漸漸失去了參考價值。甚至有可能因此誤導前端串接人員,導致 Bug 的產生。 或是當程式邏輯很複雜的時候,一個不小心改動到了 API 回傳值而沒有注意到。剛好這個功能當下並沒有人有用到的 ...


三行 css 簡單地讓單行置中,多行置左

有一天 PM 突然表示,我們遊戲介面中平常文字都是置中的,畫面看起來很協調。但是如果文字太長換行了,這時候多行都一起置中,有些行長,有些行短,看起來就會參差不齊。因此想要做一個效果是:「超過一行的話,文字就要改成置左」。效果大概如下圖: 那時候心裡一驚,不太妙,感覺會很複雜,可能得要用 ...


MySQL 編碼挑選與差異比較

utf8_bin vs. utf8_unicode_ci vs. utf8_general_ci

先說結論 若只存英文、數字…等鍵盤上會出現的字的話,可以用 utf8_general_ci(但不推廌) 若會存中文、德文…等非英文的字、或存 Emoji 的話,建議用 utf8mb4_unicode_ci utf8mb4 vs. utf8在 MySQL 5.5.3 以後,一般來說會建 ...