avatar

大兜

右手寫程式,左手寫音樂

留言

你不需要 dotenv

You don't need dotenv

還記得筆者第一次看到 dotenv 的時候覺得這是哪個幽默的工程師寫的笑話用以嘲笑外行人,後來發現不對,這東西是認真的,而且有很多人在用這套工具。百思不得其解,就像幾年前看到 left-pad 一樣,明明實作不過 11 行,人們卻寧願仰賴第三方套件,也不願自己寫,好奇我們在開源軟體蓬勃發展之下,是否漸漸忘記怎麼用電腦。

繼續閱讀

留言

2020 要幹嘛?做 TJDict 2.0!

TJDict

筆者今年因為肺炎疫情緣故失業,本來想說終於有時間可以做許多想做的事:看看書、學日文、作曲玩動物森友會等等,不料突然收到一封 TJDict 使用者的來信說 Yahoo 字典壞掉了。心想 TJDict 開發至今已經 8 年,其中後 4 年完全沒有經手這個專案,藉機看一下 TJDict 在 Google Web Store 上的使用人數,發現至今仍然每週有約 20,000 人的使用者,頓時涕泗縱橫。身為一個碼農,知道自己的軟體對這個世界有所貢獻實在倍感光榮。

為了消耗因為失業產生的大量時間,TJDict 2.0 就誕生了。

繼續閱讀

留言

Rails ActiveStorage 一次下載所有檔案

自從 Rails 5.2 引進了 ActiveStorage 之後,似乎一直沒有看到什麼好方法可以一次下載所有的檔案。在 Rails 6 之後,多了 ActiveStorage::Blob#open 用以取代 ActiveStorage::Downloading,即便如此,ActiveStorage::Blob#open 仍然只能處理一個檔案。無論是 Google 還是 Stack Overflow,皆尚未能看到任何簡潔的做法。

繼續閱讀

留言

cron 如何忽略系統的環境變數

這大概是碼農們時常會遇到的問題之一了,明明設定好的環境變數在殼層操作沒有問題,但是同樣的指令在 cron 卻會出現找不到該指令或找不到環境變數的錯誤。

繼續閱讀

留言

Ruby 自動載入器

軟體在載入模組的方式,可大致分為兩種:消極載入(lazy loading) 與積極載入(eager loading)1。顧名思義,消極載入是指軟體在啟動時僅載入少數需要的模組,而在執行過程如果有需要其他模組時,再載入該需要的模組;反之積極載入則是在軟體啟動時,積極地將所有的模組載入。

繼續閱讀

留言

Ruby#open 知多少?

本文同步發表於 alphacamp

先來個快問快答吧:

如果現在要你使用 Ruby 去開檔,你會想到怎麼做?

直覺是使用 File.open,但想想 File.new 似乎也可行,然後又發現不使用 File 類別,直接用 open 也能做到一樣的事。去查了 Ruby 文件結果...

繼續閱讀