Nic Lin's Blog

喜歡在地上打滾的 Rails Developer

為機器加上登入訊息,在 ubuntu 設置登入歡迎詞

自製歡迎訊息,有時候機器多了,為了避免分不清楚 staging / production 會操作錯誤,所以有幾種作法

Read more

Ruby Memoization 性能優化之記憶化

基本上是對「函數」的一種快取(Cache),能夠在執行一次調用後將結果快取下來,避免在第二次調用時再次花費計算成本。

Read more

淺談 SSH agent forwarding 和 proxy command 的安全風險與應用

SSH agent forwarding 可以讓我們透過跳板機連上另一台伺服器時,省去把私鑰複製上 server 或是需要輸入密碼的功夫。

Read more

[Rails] Service / Library / Concern 的差異

專案到中後期長大時通常會開始整理 fat model,但 code 到底要怎麼重構才會比較好呢?

Read more

Ruby conf Taiwan 2019 參與筆記

然而這篇筆記是記錄我在 Ruby Conf TW 2019 聽的 session,內容主要會是蒐集各個講者可能在其他地方講過的相關 video、slider,以及自己的收穫和理解。

Read more

避免過度的 Defensive Programming 防禦性程式設計

避免 Overly Defensive Programming,請用 Fail-fast 來增加找到錯誤的效率。

Read more

Rails 要用 Time.zone.now 還是 Time.now

Time.now 抓的是機器時間,Time.zone.now 抓的是 Rails 下設定的 config.time_zone 時區,而時間的格式應該仰賴在 application layer, 這樣更容易保持一致性

Read more

Rails i18n 小技巧總匯

i18n 這個看起來完全不難的東西,實際上碰到很多需求時會發現,啊好麻煩啊,一下要插 html 一下字太多,但是在這些場景其實可以有更優雅的解法。

Read more

1:1 攪亂器,如何用 Ruby 做可逆推序號

只有最後一個可以靠前兩個推算,所以一開始的任務先找出最大值和任一質數就能反推。

Read more

Rails 中的欄位及方法命名原則

Ruby / Rails 本身就有一些基本的慣例及約定在,只要熟悉這個規則通常都能夠寫出易懂易維護的程式碼。就像我們呼叫 `created_at` 欄位時,腦袋會默認他就是 `datetime`,而不會是 `string` 以下是一些常用的慣例,分別是 Database column name、Method name、Library name

Read more

[Rails] 用 puma-dev 作為本地開發伺服器 (支援 https 自簽憑證)

一次要開發多個專案時,用 puma-dev 節省掉我很多時間,網路上的文章並沒有很齊全並簡單的教你如何使用這些常用的眉角,所以這篇算是 Puma-dev 全攻略,從安裝、重啟、設置自簽 https 憑證到 Log 查看。

Read more

我的中高階 Rails 工作面試心得分享

這篇文章的面試時間 2018 年 10 月至 2018 年 12 月,在此之前還有我的成長記錄,前面兩次的面試經驗,依序排列從新鮮人到有點經驗的過程。

Read more

讀書心得 - 「一流的人如何保持顛峰」

大腦其實很懶也很容易放棄 心理學家指出,人類思維分為兩種 系統一:迅速的自動思考,由本能和直覺驅動 系統二:深思熟慮的分析,處理費神的思考活動 系統

Read more

讀書心得 - 「窮查理的普通常識」

鐵鎚人效應,當一個人手裡拿著鐵鎚,會認為全世界像是一根釘子,我們可能擁有一個專業就像是手裡拿著一項工具,可以用這個工具解決問題,但單一個工具並不能解決所有問題。

Read more

將 Rails 專案從手動部屬遷移使用 Capistrano 自動化部屬

一個 Rails 專案,有三台機器,每次部屬分別要手動部屬,但其實這個可以做自動化

Read more