有時開發用或是自己防火牆內要用 HTTPS,就會需要用到自己簽 SSL 的部分
About | Archive |
喜歡在地上滾的工程師
有時開發用或是自己防火牆內要用 HTTPS,就會需要用到自己簽 SSL 的部分
基本上軟體工程常言道:「高內聚,低耦合」的理想目標,這其中的定義拿捏沒有可以直接量化的標準,通常也依團隊開發習慣為準。
基本上在商業應用中,我們會盡可能的避免停機操作,試想光 CloudFlare 因為 bad deploy 當機幾分鐘至一個小時就會引發一連串的災難,在商場上每分每秒都是錢,為了避免不必要的損失,軟體工程常常會面臨到所謂的 zero downtime 操作。
自製歡迎訊息,有時候機器多了,為了避免分不清楚 staging / production 會操作錯誤,所以有幾種作法
基本上是對「函數」的一種快取(Cache),能夠在執行一次調用後將結果快取下來,避免在第二次調用時再次花費計算成本。
SSH agent forwarding 可以讓我們透過跳板機連上另一台伺服器時,省去把私鑰複製上 server 或是需要輸入密碼的功夫。
專案到中後期長大時通常會開始整理 fat model,但 code 到底要怎麼重構才會比較好呢?
然而這篇筆記是記錄我在 Ruby Conf TW 2019 聽的 session,內容主要會是蒐集各個講者可能在其他地方講過的相關 video、slider,以及自己的收穫和理解。
避免 Overly Defensive Programming,請用 Fail-fast 來增加找到錯誤的效率。
Time.now 抓的是機器時間,Time.zone.now 抓的是 Rails 下設定的 config.time_zone 時區,而時間的格式應該仰賴在 application layer, 這樣更容易保持一致性
i18n 這個看起來完全不難的東西,實際上碰到很多需求時會發現,啊好麻煩啊,一下要插 html 一下字太多,但是在這些場景其實可以有更優雅的解法。
只有最後一個可以靠前兩個推算,所以一開始的任務先找出最大值和任一質數就能反推。
Ruby / Rails 本身就有一些基本的慣例及約定在,只要熟悉這個規則通常都能夠寫出易懂易維護的程式碼。就像我們呼叫 `created_at` 欄位時,腦袋會默認他就是 `datetime`,而不會是 `string` 以下是一些常用的慣例,分別是 Database column name、Method name、Library name
一次要開發多個專案時,用 puma-dev 節省掉我很多時間,網路上的文章並沒有很齊全並簡單的教你如何使用這些常用的眉角,所以這篇算是 Puma-dev 全攻略,從安裝、重啟、設置自簽 https 憑證到 Log 查看。
這篇文章的面試時間 2018 年 10 月至 2018 年 12 月,在此之前還有我的成長記錄,前面兩次的面試經驗,依序排列從新鮮人到有點經驗的過程。