[Rails] belongs_to optional (關聯資料非必填)

某天新增 Category 到本來的 Book (many to many) 遇到一個問題 因本來 Book 有做 sti,新增 Book 的 Category 時,query 會用此 id 找每種繼承 Book 的 sti 資料 (但 type 只會記錄一種),因而噴錯 後來查詢才發現 rails 版本 5.1 後的版本 , belongs_to 的關聯 model 預設改為必填 須添加參數 optional: true 才可以允許非必填 e.g. class Book < ApplicationRecord »

sublime text 3 Package Control error

OS Version: 10.13.5 今天要裝 sublime plugin 的時候 噴了這個錯誤 reloading /Users/stan/Library/Application Support/Sublime Text 3/Packages/User/Package Control.sublime-settings Package Control: Error downloading package. HTTP exception InvalidCertificateException »

RubyGems 如何運作

可以用 gem unpack {gem_name} 看 gem 裡面的 code 是什麼 gem environment 查看 gem 裝在什麼位置 Ref: How Do Gems Work? »

[讀書筆記] 精準學習

Chapter1 現在是個知識深度的時代,知識深度也就是認知深度 分析問題的時候,跳出問題本身思考更普遍的情況 尋求答案的時候,根據理由可信度判斷是否接受這個結論 臨界知識: 經過深度思考後,發現的具有普遍指導意義的規律或定律 20% 的臨界知識比 80% 的知識更有用 如果學習是在不斷掌握應對具體工作場景和問題的方法,那就是在提升技術效率,這這種模式下,每遇到一個新問題都要學習新知識 如果學習是在了解問題本質,了解解決方案的底層規律,能夠讓我們認清問題表象背後的實質,就是在提升認知效 »

wget 與 curl 比較

大部分的 linux 系統都內建這兩個指令 wget wget 是專門處理檔案下載的工具,支援遞歸下載與檔案續傳 wget 有很多 options 可以使用,可以參考GNU Wget 1.18 Manual curl curl 是 server 傳輸資料的工具,除了下載資料也可以上傳資料、取得網頁內容、測試 api curl 可以在 url 內加入變數,做批量下載 使用方式見 curl.1 the man page »