[Server] 正向代理器、反向代理器

何謂代理伺服器 代理伺服器 (Proxy Server) 位於 Client 端與 Server 端之間 負責替 Client、Server 收發 Request 與 Respond 資料 當外部網路的使用者送出一個 request 時,Proxy server 會 將這個 request 轉送到內部網路的 server 上處理,處理完後,再透過 Proxy server 將 resopnse 回傳給外部網路的使用者 好處是可以保護內部 server 安全、可以將資料打 Cache 正向 »

[Devops] CI/CD 簡介

CI (Continuous Delivery) 持續交付 為了能讓新版本能快速安全的迭代到 Production 環境中 , 需要將新版本先交付到 Production-like 環境中 (UAT、Staging) , 進行必要的邏輯驗證、安全驗證、性能驗證等過程 CD (Continuous Deployment) 持續部署 新版本通過 Production-like 環境的驗證後 , 自動部署到 Production 環境中 CD 可以看成 CI 的進一步。 前提是自動化完成測試、 »

[Rails] config.x 自定義 configuration

Rails 4.2 後 , 可以使用 config.x 自定義一些配置 官方範例 搭配 config_for 範例 application.yml 設定如下 # config/application.yml default: &DEFAULT first: "hello" second: "world" development: <<: *DEFAULT production: <<: *DEFAULT »

[Ruby] URI.join 的雷

先說結論 多個參數時 , 參數後若沒有加斜線 “/” (slash) , 將不會被視為 folder , 會被略過 , 只吃最後一個參數 我們來測試一下 // host 後面加 3 個參數 URI.join("https://test.com", 'a', 'b', 'c').to_s a, b 被吃掉了 接著在 a 後面加上 slash a 出現了 ! a , b 都加 slash 的話 結果如下: 下面這篇文章去挖 source code 探討了沒加 slash »

[Rails] 使用 config_for 更簡單的加載 yaml 檔資料

以往加載 yaml 檔都得這樣寫 # config/application.rb $settings = YAML.load_file("#{Rails.root}/config/settings.yml")[Rails.env].symbolize_keys 在 Rails 4.2 以後 , 提供了簡單的方法來加載 yaml 檔配置 , 可以自行對應當前 Rails ENV (config_for 官方文檔) # config/application.rb $settings = config_for »

[Ruby] 使用 rjust 補齊不足文字

如果我想做一個會員編號 (共 8 碼) , 使用 User Table 的 id (auto increment) 前面加上 St , 不足的地方補 0 可以使用 Ruby 的 rjust rjust(arg1, arg2) 第一個參數是長度 第二個參數是要補的字串 »