新手第一次接觸 Laravel,我都會推薦使用 Homestead 來解決開發環境的困擾,但是我發現 Homestead 對於第一次接觸 Virtualbox 及指令的初學者,設定還是比較複雜,造成很多新手光是在這邊就卡關了,有沒有什麼辦法可以解決這煩人又複雜的 Homestead 設定,剛好今天在 Github 上看到 laraedit-docker 專案,此專案是把 Homestead 轉換成用 Docker 來跑,這樣只要您的環境有支援 Docker,就可以快速設定好環境含 MySQL, Redis …等
[Read More]為什麼我選擇使用 Laravel Framework?
根據上次寫了一篇如何選擇 Web Framework,本篇寫了為什麼我選擇 Laravel 這套 PHP Framework。底下是對於 Laravel 我選擇的一些看法,大家可以參考看看。要選一套好的 frmaework 真不容易,要考慮團隊成員技能,及後續的教育訓練等 …
Golang 發佈 1.6 正式 Release
今天 golang 正式發佈 1.6 版本,趕快到官方網站下載使用,如果你是用 gvm,直接下 gvm install go1.6 即可。golang wiki 提供了很多 Package Management Tools,可以隨意選一套來使用。底下整理幾點 1.6 的改變:
重大改變
- 正式支援 HTTP/2 協定,跑 https 會預設啟動 HTTP/2
- Go 1.5 介紹了實驗性質的 vendor,在 1.6 還是會支援
GO15VENDOREXPERIMENT變數,但是預設值為 1,在 1.7 會正式將此變數拿掉 - 預設用 cgo 來編譯分享 golang 指標與 C 之間溝通
- 支援 Linux on 64-bit MIPS 和 Android on 32-bit x86 架構
- 在 FreeBSD 上面預設使用 clang 而不是 gcc
效能議題
官方說無從比較,有些程式碼可能在 1.6 比較快,也有可能在 1.5 會比較快,但是在 garbage collector 上面 1.6 會比 1.5 好,前提是程式使用了大量的記憶體,1.6 版本也針對蠻多 package 做了 Performance 改善,提升了至少 10 % 喔 compress/bzip2, compress/gzip, crypto/aes, crypto/elliptic, crypto/ecdsa, 和 sort 套件。
[Read More]在 MAC OS 快速又簡單安裝 Docker 環境 – dlite
在 Mac OS X 底下安裝 Docker 服務不難,只需要到 Docker Mac 教學網站下載 Docker Toolbox,就可以使用 docker-machine, docker, docker-compose 等指令操作 Docker 服務。本篇提供另外一種工具,讓 Mac 開發者可以快速使用 Docker 服務,就是這套用 Go 語言寫的 dlite 工具。
安裝方式
dlite 提供三種方式安裝
- 直接下載執行檔案 (推薦) (下載連結)
- 直接透過 brew 指令安裝:
brew install dlite - 開發者模式:
git clone專案,然後下make dlite產生執行檔案
請大家直接使用第一種方式安裝即可。
使用方式
安裝 dlite 需要使用到磁碟空間及記憶體,你可以動態指定 memory 使用量,或者是磁碟空間,詳細指令可以透過 dlite install -h 觀看
| |
可以看到指令預設會佔用 20GB 的磁碟使用量及 2GB 的記憶體,所以安裝時可以調整成個人需求大小,安裝請用 root 使用者
Git tips: 更改 commit log 作者
在 Github 上面看到這 git-blame-someone-else 專案,用來隨時修改 commit log 作者,也就是可以任意改 commit id 內的 `Author` 欄位資訊,作者也相當幽默,直接拿此 commit id 改成 Linux 作者 Linus Torvalds。
使用時機
大家會問到什麼時候才會用到需要修改 commit 作者,以我自己的狀況為例,在團隊內開發新功能會直接開新的 Branch 來開發,完成後會進行 code review,此時原開發者目前正在忙其他專案,其他團隊成員就必須幫忙修改原先 commit 內容,通常我是直接建議透過 `git reset –soft HEAD^` 來更動原本 commit,而不是產生新的 commit,修改後作者就會變成自己,此時後這功能就派上用場了。
安裝方式
根據源專案是透過 root 權限,將執行檔丟到 `/usr/loca/bin` 目錄底下,但是我個人不建議用這方式,因為還需要 root 權限,要打密碼有點麻煩,我建議透過在家目錄建立 `bin` 目錄,並將此目錄加到 `$PATH` 變數內即可。
修改 .bashrc,加入底下程式碼
提升 npm install 安裝速度
npm 是 Node.js 套件管理模組,相信大家對 npm 不會很陌生,如果對於 npm 不了解的,可以參考阮一峰寫的這篇文章,今天要來探討的是如何提升 npm install 的安裝速度,如果你正在嘗試 npm@3 版本,我建議可以先換到 npm@2 的版本會比較快(為什麼呢?底下有數據會說話)。Github issue 上也蠻多速度上的討論,然而前幾天有網友發表一篇關掉 progress 提升不少速度,實際上我們可以拿專案來測試 npm@2 及 npm@3 的速度看看。
如何選擇 Web Framework
現在各大語言都有很多 web framework 可以選擇,上週整理自己對於 Web Framework 的一些原因及考量,總共整理 12 點,給大家參考看看
- 使用情境
- 軟體架構
- 主機部署
- 安裝及開發
- 學習曲線
- 核心功能
- 資料庫 ORM
- 前端開發
- 測試
- 文件
- 社群活動
- 團隊合作
OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778
OpenSSH 今日公佈 Client Bug 漏洞 CVE-2016-0777 and CVE-2016-0778,發生原因是 SSH Clinet 跟 Server 溝通時,新功能 roaming 造成傳輸過程被惡意程式破解,影響的 OpenSSH 版本為 5.4 - 7.1. 大家快看看自己是否為這版本區間。此問題會發生在 SSH Client 而不是 Server 端,所以 Linux FreeBSD 和 MacOS 都需要升級 OpenSSH,如果你是在 Windows 用 Putty 則不受影響。
Laravel 搭配 Google, Facebook, Twitter 第三方 OAuth 認證
Laravel 提供了 Socialite 套件讓開發者可以快速整合 Facebook, Twitter, Google, LinkedIn, GitHub and Bitbucket 等第三方服務的登入認證,我挑了大家最常使用的 Facebook, Twitter, Google 來整合,用 Google 跟 Twitter 需要注意一些小細節,首先是 Google 部分,如果大家去 Developer console 把 Oauth Callback 寫完,注意的是,這樣是不夠的,要去把 Contacts API 及 Google+ API 啟用,才可以真正使用 Google OAuth 認證服務。
Laravel Homestead 搭配 phpMyAdmin Docker
相信大家對於 Laravel 推出的 Homestead 開發環境不陌生,本篇不會教學使用 Homestead,直接看繁中官網的教學就可以完成了,Homestead 可以幫助開發者快速架設好 Laravel 環境,當然 Homestead 也適用於 CodeIgniter 的開發,因為兩套 Framework 的環境是一樣的,Homestead 開啟 VM 後,會自動將 Local port 對應到 VM port 如下
- SSH: 2222 → Forwards To 22
- HTTP: 8000 → Forwards To 80
- HTTPS: 44300 → Forwards To 443
- MySQL: 33060 → Forwards To 3306
- Postgres: 54320 → Forwards To 5432






