[AWS] CodeDeploy

昨天去 aws 台北小小聚聽 dk 大大講 AWS CodeDeploy 記錄一些筆記 優點: 支援 EC2/On-Premises 與 AWS Lambda 有 rollback 機制 提供 In-place deployment 與 Blue/green deployment 可選擇 in-place 換現有程式 (code deploy) bulue-green 開一批新機器去替換 缺點: 速度有時候很慢 沒有 queue 機制,無法連續部署 (可以透過 AWS codePipeline »

XY Problem

part 1 有一個人想解決問題x 他覺得 y 可能可以解決問題x 但是他也不知道 y 要如何實作 他跑去問別人問題 y part 2 大家幫忙想問題 y 該如何解決 問題 y 解決了,但沒辦法用來解決問題x 於是這個人就浪費了自己與大家的精神與時間 xy 問題,簡單來說就是 ‘過早下定論’ 在還不確定 y 可以解決問題x前,就只問 y 而忽略了真正想解決的 x Ref: Wiki - XY problem »

localhost 和 127.0.0.1 差別

localhost 是域名,可以配製任意 ip address 預設指向 127.0.0.1 (ipv4) 和 ::1 (ipv6) 127.0.0.1 是綁定在 LoopBack 的 ip address 127.0.0.1/8 是預留給系統測試用的 LoopBack 網段 /etc/hosts 裡的預設設定 localhost 可以解析成 ipv6,127.0.0.1 不行 (因為是 ipv4) localhost 會比 127.0.0.1 更快, 不經過 TCP / IP »

[DB] 正規化 (normalization)

正規化的目的在於減少資料重複、增加資料一致性 正規化又分為 第一階正規化  (First Normal Form, 1NF) 第二階正規化  (Second Normal Form, 2NF) 第三階正規化  (Third Normal Form, 3NF) BC正規化    (Boyce–Codd Normal Form, BCNF) 第四階正規化  (Fourth Normal Form, 4NF) 第五階正規化  (Fifth Normal Form, 5NF) 第六階正規化  (Sixth »

[Ruby] to_sentence

常常看到收集 error 的 code 會這樣寫 errors.full_messages.to_sentence to_sentence 是用來做什麼的呢? 來看一下官方飯粒 [].to_sentence # => "" ['one'].to_sentence # => "one" ['one', 'two'].to_sentence # => "one and two" ['one', 'two »

[Rails] with_indifferent_access

with_indifferent_access 這個方法可以讓我們同時使用 string、symbol 操作 hash key with indifferent access 方法在 ActiveSupport::HashWithIndifferentAccess 類別裡 example: 另外,hash 也有全部轉 symbol 的方法 symbolize_keys 與全部轉 string 的方法 stringify_keys »