Powerline-shell
banga / Powerline-shell 可以讓終端機的畫面顯示顏色,用起來比較好看。
之前曾經嘗試用 robbyrussell / oh-my-zsh ,可是它必須改用 zsh;另外一個 fishshell 也要改用 fish,實在是懶得換,就找了一下有沒有可以在 bash 下使用的配色套件,就找到現在用的這個。
PSR-4 Autoloader
寫 PHP 最麻煩的就是 require/includ 檔案了。如今只要照著 PSR-4 的規範實作,就可以使用 Composer 提供的 autoload,自動載入相對應的檔案。
Apache Server Gzip
啟用 Apache 伺服器的 Gzip 壓縮來減少傳輸流量,提升資料的傳輸速度。
Permissions demo
Android 對於權限的使用授權,在 6.0 Marshmallow (棉花糖) 之後做了一些更動,除了必須在 AndroidManifest.xml 中做設定,某些權限還必須在執行時取得使用者的授權。這篇文章以儲存圖片做為範例,說明新的授權機制如何使用。
行動裝置相容性測試
從去年就一直很想對部落格改版,主要是因為沒辦法通過 Google 提供的行動裝置相容性測試,想說 RWD(Responsive Web Design) 都流行那麼久了,也該把自己的部落格弄成 RWD。
Optional
Optional 是值的容器,只有兩種狀態,不是有值就是沒值。目的是做為 null 的替代方案。Optional 提供工廠方法,將你輸入的值產生為 Optional 物件,這時Optional 物件即為該值的容器,若要取回該值,必須使用 get() 方法。
Stream
Java 8 新增了一個新的 Stream package 專門用來處理集合(collection),搭配 lambda expression,在處理集合方面變得更加方便。
Lambda expression
Java 8 新加入的功能 Lambda 表達式,讓你可以將函式做為方法的參數,如果你寫過 JavaScript 應該會覺得有點像。Lambda 有許多的優點,可以簡化匿名內部類別、偵聽器及事件處理等的冗長程式碼,讓它們不只變短也易讀。另外還可以實體化前面介紹的函式介面、並且以更方便的方式操作集合等等。
Functional Interfaces
Java 8 的新功能最讓大家有印象的是 Lambda 表達式,但在使用 Lambda 表達式之前,要先瞭解另一個新的功能,叫做 Functional Interfaces 函式介面。其實它不是新的東西,只是被賦予特定任務,所以重新定義它的名稱及用途。
Core Data
重構,將方法移動到實體中。在 Core Data 入門(1) 的範例中,我們把對資料庫動作的所有程式都寫在 ViewController 裡面,這樣的做法不太好,既然這些動作和 Product 實體有關,那就應該放在它自己身上,任何對 Product 的動作一律由它來處理。