跳到主要內容

發表文章

Angular 2

Angular 2 似乎不錯的樣子? ECMAScript 6 的 class 和 Angular 2 語法的大改版 感覺似乎直覺多了... 從 Server Side 的 PHP Framework + jQuery 換成 Angular 2 的純 Frontend 可以真正擺脫後端做一套, 前端又要做半套 然後又難以測試的問題嗎? 或許 Angular 2 是一個值得投資時間關注的新方式? Angular 2 Preparation - Part 1 - Code Structure Comparison Free New Angular 2 Preparation Course An Angular2 Todo App: First look at App Development in Angular2 https://angular.io

MySQL CONVERT_TZ return NULL

在 local dev 環境想要 reproduce 一個 bug 的時候, 卻發現在我的環境 MySQL store procedure 的行為和 production 機器上的不一樣 原本以為是 store procedure 的邏輯有問題 最後發現原來是 CONVERT_TZ() 搞的鬼... 因為我的 local dev 環境是自己從零開始 setup 的 沒想到 CONVERT_TZ 這個 MySQL 內建的 function 需要一些 initial data 不然只要丟給他轉換的日期時間都會回傳 NULL.... 解決方法就是 mysql_tzinfo_to_sql / usr / share / zoneinfo | mysql - u root mysql 這樣就會把 zoneinfo 轉成 CONVERT_TZ 所需要的資料 我的 local dev 環境的行為就恢復正常啦~ Reference: http://stackoverflow.com/questions/14454304/convert-tz-returns-null

Nexus 5 鏡頭蓋破裂更換

N5 的相機鏡頭因為設計上是突出背殼 而我很喜歡裸機的感覺,也沒有使用保護的手機殼 所以不知不覺中,鏡頭蓋就裂掉了 剛開始裂掉也還好,感覺拍照沒有影響 但是後來又掉進馬桶以後 拍出來的照片 就臭臭的 (? 不對,是霧霧的. 可能是因為會慢慢有髒東西從裂縫跑進去... 雖然說我之前被淘寶詐騙了一次 天兵賣家寄錯地方卻不退錢 天貓店小二介入後說要退我錢卻遲遲沒有下文... 但是上網找了一下 N5 的零件, 果然強國的淘寶什麼都有,什麼都不奇怪. 於是我只好放下羞恥心 再去淘寶消費了.... 因為零件真的很便宜啊...被坑就認了.... N5 鏡頭蓋破掉的話,有在賣的零件組合有 鏡頭蓋 鏡頭蓋含鏡頭框 背板 因為我覺得要把破掉的鏡頭蓋從鏡框拿出來有點麻煩 所以就買了鏡頭蓋含鏡頭框 幸運的是,我的猜測是對的! 含鏡頭框的組合只要多幾十元 但是鏡頭片是裝好的~所以我不用再從舊的拆下來, 要更換背板上的鏡頭片 所需要的道具只有 塑膠拆機片 + 小十字螺絲起子 N5的背殼是用幾個卡榫扣住而已而已, 背板則是有六個小螺絲起子鎖住,轉開後 背板的左右兩側有稍微扣住,選一邊壓開後,就可以把背板拆下來. 鏡頭框則是卡在背板的洞上, 所以稍微彎折一下背板,就可以把鏡頭框整個推出來. 最後的結論是,要方便的話, 只要買鏡頭框+鏡頭蓋的組合就好了~ 如果想挑戰手藝,則可以只買鏡頭片 背板應該是不需要買 (還是說有人覺得拆鏡頭框也是一種麻煩?) 我一次買兩組...因為想說可能過一陣子又會破了吧...哈哈..

AWS CloudWatch Estimated Charge Alarm

如果有在用 AWS, 建議可以在 CloudWatch 裡面依照 usage estimation 設定 Alarm. 目前可以根據 EC2 usage, s3 usage, data transfer usage 設定 Alarm 通知. 例如你平常每個月差不多只會有 1000GB 的 data transfer 費用約 USD 89, 那你可以設一個 Alarm 當 data transfer 費用超過USD 100的時候發一封 mail 通知你. 或者是你的 AWS account 每個月 budget 或者平均費用是 USD 100, 那你也可以設定一個 Alarm 在超過你預計的費用時發一封通知信. 沒有設定 Alarm 的話,你可能在收到帳單時才發現在 AWS 上花的錢超過你的預估 反之收到 Alarm 通知,可以讓你即早發現帳戶內的異常行為和非預期的費用 CloudWatch 的 Alarm 計費是 0.1 per alarm per month 我們最近上了一堂 USD 6000 元的課... 就是被 Data Transfer 的費用陰了... 當然一定還有其他的方法可以避免你在 AWS 上花冤枉錢 但是花幾分鐘設定 Alarm 我覺得 CP 值很大.... See Also: Monitor estimated charge with AWS CloudWatch

要在淘寶/天貓買東西嗎?請三思

鐵支日的時候在淘寶買了兩張台灣沒上市的網卡 選了超商取貨,沒多久包裹就到了 但是只來了一張, 接著在淘寶網站上開始跟對方店家溝通後 腦血管差點爆裂 一開始是對方窗口的客服一直換 後面的搞不清楚前面做的事 然後答應你會再主動聯絡你的 也沒做到 最後搞清楚狀況後 竟然開始跳針 我的貨物是超商取貨 所以正常流程是對方店家送到轉運站再轉送台灣 但是補寄的貨物,店家竟然只送到轉運站, 有人簽收後就不管了. 店家竟然說他從系統查到 我預設的地址是上海轉運站所以就補寄到那邊, 也不管台灣這邊會不會收到 我在系統上點退款 店家也拒絕,只一直跳針, 說他們補寄了上海也有人簽收了. 跟淘寶的客服反應 客服說這是天貓的訂單 天貓的客服只能用電話聯繫 總之就是一連串的跳針/碰壁和等待.... 已經過了快一個月了, 信用卡款已經被扣了, 系統上的退款申請也只是一直卡在客服介入中 幸好我這次買的東西只是幾百塊台幣的小東西 但是我以後再也不會相信淘寶和天貓了... 雖然網站有很多連結和文字似乎很保障消費者的權益 可是一旦發生問題, 卻很難找到能真正解決問題的管道... 不經一事,不長一智... 那種邏輯無法溝通和求助無門的心情 真的是很糟糕.... 我以後還是多用 Amazon 或者是台灣自己的線上購物平台好了 淘寶便宜有什麼用 完全不能掌控會不會被坑.... 雙 12 快到了,請三思...

vim bracketed paste mode

每次要在 vim 上 copy / paste code 時, 都要先 :set paste 切換成 paste mode 後來就把 toggle paste mode 設定成某個快捷鍵 最近在設定環境的時候又想到這個問題, 原本想去找怎麼把 toggle 設定在 insert 鍵上 結果看到了這個 vim-bracketed-paste-mode 基本上就是讓 terminal 能夠判斷這是 input 還是 paste, 如果是 paste 那麼就會把某些字元替換掉 如果 vim 再打開相對應的設定 一旦偵測到替換掉的特殊字元就自動開啟 paste mode. 這樣就手動去按熱鍵的動作都可以省下來了 目前 OSX 的 terminal / iterm2 還有最新的 putty 都有支援 bracketed paste mode 所以我們只要在 .vimrc 加入以下的設定就好了 if &term =~ "xterm.*" let &t_ti = &t_ti . "\e[?2004h" let &t_te = "\e[?2004l" . &t_te function XTermPasteBegin(ret) set pastetoggle=<Esc>[201~ set paste return a:ret endfunction map <expr> <Esc>[200~ XTermPasteBegin("i") imap <expr> <Esc>[200~ XTermPasteBegin("") cmap <Esc>[200~ <nop> cmap <Esc>[201~ <nop> endif

AWS PHP SDK for New Region eu-central-1

其實在 AWS 對外正式 announce 這個 region 之前, 我們已經有先接到了通知,並且要事先準備好 patch 來支援這個新的 region. 因為覺得很有趣,所以在看到 AWS 正式對外的 announce 後 發現裡面提到新的 region 只支援 "v4" 的 signature, 而我們用的 AWS PHP SDK 版本似乎過舊,所以認證都會失敗... 當晚馬上在測試環境更換2.7.1後,認證過了 可是卻出現 invalid endpoint 之類的錯誤訊息. 原來在 2.7.2 之前, 所有的 endpoint 都是內建在 SDK 的 resource file 裡面 所以即使 AWS 對外 announce 了新的 endpoint , 還是需要上 patch 幫 SDK 加新的 endpoint 隔天睡醒後,同事看到有更新的 2.7.2  而且發現 不需要手動 patch 加 endpoint 就可以 access 新的 eu-central-1 region 看了一下發現原來 2.7.2  以後 SDK 會自動去抓 AWS 最新的 Region & Edpoint List 所以以後有新的 region announce 的話, 就不用再去 patch AWS PHP SDK 啦~