~尋找生活新鮮事~

  • 關於購買音樂這檔事

    關於購買音樂這檔事

    幾年前遭遇過一次硬碟死翹翹的慘事,損失很多網路上下載的數位音樂檔案。 基本上大都是沒有合法版權的。 這個事件之後,多少影響了我聽音樂的習慣,在 YouTube 上聽音樂的時間增加了。2013 年,Spotify 進入台灣市場,從此又多了一個更方便的選擇。 Btw, WordPress 3.6 之後可以直接嵌 Spotify 連結,真方便。 最近又興起了買 CD 的念頭,尤其是之前損失的好音樂,想想不如買張 CD 保存起來吧! 不過幾次經過唱片行 (也沒剩幾間了),在習慣了網路服務普遍皆有的搜尋功能後,在實體店翻商品有點麻煩…. 網路購物太方便了,搜尋 → 加入購物車 → 信用卡結帳 → 領包裏 的消費模式已經深入 DNA。Apple iTunes 服務也把買音樂這件事做得非常便利,搜尋 → 試聽 → 購買,連拿出信用卡這個步驟都省了,電腦用 Macbook,手機用 iPhone,平板用 iPad,買完音樂,三個平台都自動同步好了…. 這種便利性完全消滅以前逛唱片行的樂趣。 實體 CD 只剩下拿來轉無損格式和收藏的用途了。 但我還沒死心,想買最近出的幾張 CD,打開了 Firefox,想找個線上銷售的網站。登愣! 腦袋熊熊也擠不出半個選項,有哪個網站是專門販售實體 CD 的? 最後還是打開了 iTunes 刷卡… 我暈。

    繼續閱讀全文…

  • Convert Sublime Text 2 to Licensed Version

    Convert Sublime Text 2 to Licensed Version

    Sublime Text 2 是我目前主要的開發工具,因為套件的關係,一直沒有升到新的 version 3。Sublime Text 雖然是免費的工具,但三不五時會跳個視窗,請您支持個 70 鎂的費用。就開發工具來說,這 70 鎂其實是不貴,但是… 就是一直沒有付錢的動力…. (當年 Coda 買得多阿殺力啊)。 等 version 3 變正式版再付錢好了 (喂 總之,先修改一下,讓工作不會一直被付費提示打斷。這邊只列了 MacOS 版的修改方式,因為我只試了這個,可以用。 先關閉 Sublime Text 2 $ cd /Applications/Sublime\ Text\ 2.app/Contents/MacOS/ # 切換目錄 $ vim Sublime\ Text\ 2 # 編輯檔案 :$!xxd # 切換成 hex 模式 :%s/5BE509C33B020111/5BE509C32B020111/g # 搜尋,然後替代文字 重新打開 Sublime Text 2,點選 Help…

    繼續閱讀全文…

  • Python Cords 電源保護套

    Python Cords 電源保護套

    今年四月底,第一次贊助了 Kickstarter 上的專案,就是標題的 Python Cords。

    繼續閱讀全文…

  • Gerber DIME Black Keychain Multi-tool 隨身工具刀

    Gerber DIME Black Keychain Multi-tool 隨身工具刀

    想更新平常繫在鑰匙圈上的小刀這想法已經一陣子了,不過直到看到這把 Gerber DIME 才敗下去。

    繼續閱讀全文…

  • LEGO Star Wars Microfighters 2014

    前些時候看了《樂高電影》後,內心沉睡已久的樂高魂被喚醒了,又開始買起了樂高積木,光是搭配《樂高電影》推出的組合就收了好幾組。

    繼續閱讀全文…

  • Laravel 4 all Bar-code generator

    Github 絕對對碼農們的好朋友。 Bar-code generator,這也是一個在 Github 上翻到的實用 Laravel 套件,用來產生 barcode 和 qrcode。 本套件支援的編碼格式相當多元,輸出格式也頗為豐富。  

    繼續閱讀全文…

  • Laravel 4 Async Queue Driver

    Laravel 4 Async Queue Driver

    在 Github 上找到一個有趣又實用的 Laravel 4 套件:Laravel 4 Async Queue Driver。 Laravel 4 有支援 Queue,但是對小型或是開發中的專案來說,特地去弄一套 Queue Worker 並不是很便利,但是用 Sync Mode 又很浪費時間,因為 Sync Mode 真的要等系統把排程跑完才會繼續執行之後的程式碼…. 這時候 Async Driver 就派上用場了。這組 driver 會用子執行緒的方式在背景跑 Queue,雖然是立即執行式 (fire instantly),跟 “Queue” 的理念不太一樣,但已足以應付許多需求。 ps. 圖片與本文無關

    繼續閱讀全文…

  • Pointer Pointer by @StudioMoniker

    Pointer Pointer by @StudioMoniker

    Pointer Pointer 這個網站還蠻有意思的,把滑鼠游標停在畫面的黑框中,系統就會找出一張有人指著游標的照片。 看了一堆圖,應該是有把照片縮放和位移來配合滑鼠游標的位置。效果相當有趣。

    繼續閱讀全文…

  • LICEcap: Record screen as an animated GIF

    LICEcap: Record screen as an animated GIF

    也許有人注意到在上一篇文章裡,我第一次放了 GIF 動畫作示意圖。 這個作法最近很流行,在許多網站的教程都可以看見這樣的 GIF 動畫圖示,所以我也想來試試看。但這需要一款夠簡單的軟體,我可不想大費周張地錄成影片,再用 Photoshop 轉成 GIF 之類的麻煩事。 很快地 Google 到 LICEcap 這款簡單實用,效果好的免費小軟體,而且同時支援 Windows 與 Mac 平台,真是佛心來著。 安裝完畢後,啟動會看到 LICEcap 的小視窗,可以移動與縮放,它的範圍就是錄影的範圍了,為了方便將動畫插在網頁上,建議不要錄太大太長的畫面。 按下 Record… 會出現設定畫面,按照需求調整即可。倒是那個 Ctrl + Alt + P 的熱鍵我在 Mac 上按不出來…. 錄影完成後會自動轉成 .gif 動畫檔,省下了手動轉檔的麻煩事,讚啦。  

    繼續閱讀全文…

  • Sublime Text: Slugify Plugin

    Sublime Text: Slugify Plugin

    之前曾經寫過將文字轉換成 slug 形式的方法和用途。最近在要將一些程式碼中的文字改成 slug,但是要一段一段 copy 出來改也太麻煩了,身為一個懶墮的工程師,想當然會找一下有沒有 Sublime Text 用的轉換工具。 果不其然,已經有人寫出來了,這個名為 Slugify 的套件。 這個名字有點可愛的套件,用法也很簡單,用 Sublime Text 的 Package Control 安裝即可。 使用方式是將要轉換成 slug 的文字選取起來,按下 shift + command + p,輸入 slugify,Enter。接下方會出現輸入框,詢問要使用的連字符號,預設是橫線 (-),有需要也可以換成底線 (_)。 很方便哦。要注意的是如果轉換的文字中包含中文與符號,轉換後可能會出現符號沒有刪除乾淨的小 bug。

    繼續閱讀全文…

  • Bookmark:  PNotify,  JavaScript notifications

    Bookmark: PNotify, JavaScript notifications

    對 programmer 來說,Bootstrap 真的是一套非常便利前端框架,使用簡便、功能完整。但是一直覺得 Bootstrap 缺少了關於 notification 的解決方案。雖然有內建 alert 的效果,但這個 alert 是會佔據畫面空間的,我之前是透過擴充 CSS 的方式來實現 alert 浮空的效果。 最近用 Laravel + Bootstrap 的組合來修改個人網站,就順便找找有沒有現成的 notification 套件,結果不費吹灰之力就找到這個看起來功能超完整的 solution…. PNotify。 語法與設定都相當簡單,支援的效果和情境也夠豐富,就決定用它了。

    繼續閱讀全文…

  • Laravel Eloquent – Encrypt/Decrypt Data on call

    在開發商業網站的時候,對資料加密是必要的手段,尤其是資料庫中關於會員隱私,或是商業機密的部份都要特別處理。 在實務上通常不會用資料庫內建的加密功能,而是用後端語言來實現 encrypt 與 decrypt,資料庫只儲存加密後的訊息。 在 Laravel 裡加解密可以透過繼承 Eloquent,用 magic function 來達成自動化。 class BaseModel extends Eloquent { protected $encrypt = []; public function setAttribute($key, $value) { if (in_array($key, $this->encrypt)) { $value = Crypt::encrypt($value); } return parent::setAttribute($key, $value); } public function getAttribute($key) { if (in_array($key, $this->encrypt)) { return Crypt::decrypt($this->attributes[$key]); } return parent::getAttribute($key); } public function attributesToArray()…

    繼續閱讀全文…

  • Logitech K480 藍牙鍵盤心得

    Logitech K480 藍牙鍵盤心得

    九月看到 K480 的消息就開始期待這支鍵盤了,台灣也在十月下旬引進了一支鍵盤。10/ 24 發售,隔天就入手了。

    繼續閱讀全文…

  • Output Laravel 4 View as String

    覺得 Laravel 這套框架真的有很多眉眉角角的。 這回遇到的是要將 View::make() 的結果當成文字回傳,但 View::make() 回傳的內容似乎是包含 http header 的,無法直接存成純文字。 網路上找到兩種解法,都是官方文件裡沒提到的用法….. #$%^&* $html = (string) View::make(‘foo’, [‘bar’ => ‘baz’]); $html = View::make(‘foo’, [‘bar’ => ‘baz’])->render(); 兩者的差異是前者會遮蔽 Exception,而後者不會。

    繼續閱讀全文…

  • STM Velo 2 側背包

    STM Velo 2 側背包

    八月的時候發現裝筆電的後背包背帶裂開了,因為是拿來裝筆電的,不想等到背帶真的斷了才換,便開始物色新的電腦包。 到處找資料的過程中發現還不少人拍包包的評論影片,整個很有說服力,比起靜態的照片更能了解包包的設計與空間規劃。最後選定了 STM 這個品牌的 Velo 2 側背包款式,雖然朋友說這完全就是宅包,不過看完官方影片覺得實用性高得讓人期待。

    繼續閱讀全文…

  • Change the hostname in Mac OS X

    近期的開發工作是在 Laravel Framework 下進行的,這個 framework 會依系統的 Hostname 來切換環境,在 local 與 production 之間切換,就可以連到不同資料庫之類的設計,這個設計好不好沒什麼感覺,畢竟主要是在 local 下開發。 這個 Hostname 神秘的地方是會因為網路而有差異,這兩天部門的網路有所更動,Hostname 就不一樣,Laravel 碰到不認得的 Hostname 會自動切換回 production,然後就一堆設定掛在那邊 XD Laravel 的 Hostname 識別可以在 /%laravel_root%/bootstrap/start.php 下設定,但改來改去也挺麻煩的。   Mac OS X 修改 Hostname 並不是難事,雖然我並不確定改下去會不會有什麼後遺症… 在 Terminal 下輸入 sudo scutil –set HostName john-macbook-air.local 然後輸入密碼就改完了,不必重開機。

    繼續閱讀全文…

  • WordPress 4.0 "Benny" Arrives!

    WordPress 4.0 "Benny" Arrives!

    Wow ! 今天登入 WordPress,就看到 4.0 可以更新的消息了。身為 Coder,看到 Update Available 之類的訊息就會感到莫名的興奮,這大概是某種職業病。 這次的更新還沒玩過,這篇文章是更新後的第一篇… 直接看官方的介紹影片吧! https://www.youtube.com/watch?v=UmW2wTSJggc 光是可以直接貼影片連結就覺得這次更新好棒啊!!!

    繼續閱讀全文…

  • PA-DSS 3.0 對密碼儲存方式的說明

    PA-DSS 3.0 對密碼儲存方式的說明 | Gea-Suan Lin’s BLOG

    繼續閱讀全文…

  • Trait for validating Eloquent models on save in Laravel 4.2+

    https://github.com/dwightwatson/validating 這個 Laravel 外掛是在同事的程式碼中看到的,花了一點點時間了解,原來是個把 validation 綁定在 model 上的外掛,如此一來就可以在資料寫入資料庫之前自動進行一次 validation,不需要自己手動呼叫驗證程序,只要記得接 Exception 就可以。 安裝方式很簡單,現在 PHP 有 composer 這項神器加持。 開啟 Laravel 專案下的 composer.json,在 require 區段中加入宣告 “watson/validating”: “0.10.* 接著執行 composer update 更新套件。 使用方式參考官網的範例。 https://github.com/dwightwatson/validating/blob/0.10/README.md

    繼續閱讀全文…

  • 客戶編號與訂單編號的設計邏輯

    客戶編號與訂單編號的設計邏輯

    開發系統很常碰到需要自行設計編號的需求,整理網上看到的經驗談

    繼續閱讀全文…