Posts tagged with programming


sign code commit with gpg 需要以下步驟。 安裝 GPG command line 產生 GPG key export GPG public key 在github上設定public key commit and sign 安裝 GPG 可以在 GnuPG 下載安裝,或是用homebrew 執行 brew install gpg 近來也有一個服務,keybase.io…

Env variable 如果是變數,且是敏感資料,不能 commit 進 git (version control),那請用 envronment variable,最好舉的例子就是 DB password。 在 shell 裡 export BD_PASSWD="Passw0rd!,設定好環境變數, php 裡可以用 $_ENV 讀取。 getenv function取的。 define 如果是固定的字串,例如 PATH、SRCPATH、…

bash_profile 和 bashrc 的差別 對很多程式人員來說,剛接觸到 Linux (or Mac),打開 commandline,第一個學的就是 bash(shell),也往往會 copy 別人的 bashrc來使用。 但不多人知道 bashrc and bash_profile 的差別。 GNU 上的 Bash manual 倒是說得很清楚,差別就在於 interactive shells。 interactive shells…

same origin 限制 Same-origin policy^同源政策是在瀏覽器上用 javascript 發動 request的時候,要求所在頁面與 requested resource需要是同個 domain,因為安全性的因素,做 ajax call 或是拉 webfont 的時候,只能向自家伺服器請求,也加深了對於應用程式開發的限制。 CORS^Cross-Origin Resource Sharing 則是解決 cross domain 的方法之一,需要將 server/client 都設定好才會成功。 CORS…

用 Mockito 寫 unit test 的時候,一開始分不清楚 doReturn 和 thenReturn 的差別,基本上是一樣的,都是在做 stub。 但有一些例外。 thenReturn 不能用來 stub void method spy 不能搭配 thenReturn stub same method 多次不能用 thenReturn doReturn 在編譯期間不做 return value 的型別檢查,thenReturn 會做…

先看良葛格的洗撲克牌(亂數排列)。 以1~52的亂數排列為例好了,可以將陣列先依序由1到52填入,然後使用一個迴圈走訪陣列,並隨機產生1~52的亂數,將產生的亂數當作索引取出陣列值,並與目前陣列走訪到的值相交換,如此就不用擔心亂數重複的問題了,陣列走訪完畢後,所有的數字也就重新排列了。 簡言之 foreach $i (array){ $j = rand() swap($i,$j) } 但是這樣並不是正確的亂數排列方式,以大小為三的陣列為例,3! = 6,有六種排列變化方式,但是用這個方法得出的排列數卻是 3x3x3 = 27,而 27/6 無法整除,很明顯的不會平均分布,…

台灣雅虎奇摩聚辦 Open Hack Day,就在九月20的周末,方式很硬,四十個隊伍在一天內要構築出成品競賽,完全不是講座纇的輕鬆型式,想參加,還得要找隊友才行。 我對廣告詞「讓 Hack girl與無名美少女xxxxxx」有點感冒。…