Git Flow 與團隊合作
Posted on April 28, 2016
| 1 minutes
| 32 words
| appleboy

本月最後一篇投影片來介紹 Git Flow 流程該如何導入團隊,之前寫過一篇 Git branch model 文章,裡面提到該如何正確使用 branch,但是現在回想起來要導入團隊內真的是有點麻煩,也遇到蠻多問題的,後來最後只採用 Github Flow,簡單又容易理解,如果開發者很常在 Github 活動,相信對於此方法並不會很陌生。
[Read More]來聊聊 PHP & JavaScript & CSS 的 Coding Style
Posted on April 26, 2016
| 1 minutes
| 40 words
| appleboy

專案開始前,要決定好前端或後端各用什麼語言及制定符合團隊的 Coding Style,統一團隊 Style 是非常重要的,尤其是專案需要經過 Code Review 步驟,不要造成 Reviewer 困擾。底下寫了一份投影片介紹 PHP & JavaScript 及 CSS 的基本 Coding Style 及該如何透過工具來改善 Coding Style。
[Read More]在 linkit smart 7688 寫 golang
Posted on April 24, 2016
| 2 minutes
| 343 words
| appleboy

很高興 Mediatek 在去年推出 linkit smart 7688 開發版,你可以把 7688 想成是一台迷你型 Router,如果不來拿開發,也可以當家用 Router 也是不錯的。7688 讓開發者可以在上面寫 Node.js, Python 及 Native C,光是聽到 Node.js 就很興奮,用 JavaScript 控制硬體。但是本篇要介紹如何在 7688 執行 Golang 程式,其實不難,只要把 OpenWrt 支援 gccgo 及 libgo 即可。底下步驟同步於我的 Github Repo
[Read More]Docker 基礎介紹與實戰
Posted on April 22, 2016
| 1 minutes
| 21 words
| appleboy

在個人開發環境或者是部署上,Docker 已經是不可或缺的工具,尤其是團隊開發上,如何用 Docker 統一團隊開發環境,減少團隊成員浪費在環境建置及開發上互不影響,底下來看看投影片大綱:
[Read More]在 WordPress 內寫 Markdown 語法
Posted on April 9, 2016
| 1 minutes
| 63 words
| appleboy
在 Markdown 還沒出來之前,要寫一篇部落格教學真的非常麻煩,尤其是要學習 html 語法及如何引用程式碼在文章內,Markdwon 的出現,改變了整個工程師寫 Blog 的習慣,現在不管使用任何網站,沒有支援 Markdwon 語法,真的就不太想留言或發文了。最早以前自己的部落格是用 WP-Markdwon 這套 Plugin,但是這套 Plugin 在整合 SyntaxHighlighter Evolved 的時候根本無法使用,需要特定的語法才可以使用。WP-Markdwon 有個好用的工具那就是 editor tool bar,幫你省下製作 hyperlink 的時間,會自動幫忙編號,如果沒有 SyntaxHighlighter 需求,我個人是推薦用 WP-Markdwon。
[Read More]用 gofight 來測試 golang web API handler
Posted on April 6, 2016
| 3 minutes
| 431 words
| appleboy

身為一位後端工程師,如果專案初期階段不導入測試,等到專案越來越大時,您就會發現,解了一個 bug,又產生好多個額外 bug,讓產品一直處於不穩定狀態。後端最主要提供前端或手機端 RESTFul API,所以今天來介紹一套 gofight 工具,用來測試 Golang 的 http handler,讓開發者可以送 Form, JSON, Raw 資料,後端處理後,可以拿到 response 資料,透過 Testify 來測試資料是否符合需求。
目前大部份的 Golang Web Framework 都可以透過 gofight 來測試,除非作者有把 ServeHTTP
改成自己定義 Response,不然基本上都是可以支援的,我自己測試了 Gin, Mux, HttpRouter 都是可以使用的,底下來看看 gofight 該如何使用。
[Read More]Docker 實用指令及 Best Practices Cheat Sheet 圖表
Posted on March 20, 2016
| 2 minutes
| 219 words
| appleboy
在網路上看到有人提供 Docker 的 Cheat Sheet,裡面整理了很多常用的指令,建議剛入門 Docker 的初學者務必把底下指令學完,底下就是 Cheat Sheet
點我大圖
container 放大架構圖
基本指令 下載映像檔
1 $ docker pull image_name 啟動或關閉 container
1 $ docker [start|stop] container_name 建立 -> 啟動 -> 執行指令 (-ti 參數)
1 $ docker run -ti --name container_name image_name command 建立 -> 啟動 -> 執行指令 -> 刪除 container (-rm 參數)
1 $ docker run --rm -ti image_name command file system 及 port 對應 (-v 及 -p 參數)
[Read More]用 Docker 取代 Laravel Homestead 開發環境
Posted on March 10, 2016
| 2 minutes
| 294 words
| appleboy

新手第一次接觸 Laravel,我都會推薦使用 Homestead 來解決開發環境的困擾,但是我發現 Homestead 對於第一次接觸 Virtualbox 及指令的初學者,設定還是比較複雜,造成很多新手光是在這邊就卡關了,有沒有什麼辦法可以解決這煩人又複雜的 Homestead 設定,剛好今天在 Github 上看到 laraedit-docker 專案,此專案是把 Homestead 轉換成用 Docker 來跑,這樣只要您的環境有支援 Docker,就可以快速設定好環境含 MySQL, Redis …等
[Read More]為什麼我選擇使用 Laravel Framework?
Posted on March 9, 2016
| 1 minutes
| 12 words
| appleboy

根據上次寫了一篇如何選擇 Web Framework,本篇寫了為什麼我選擇 Laravel 這套 PHP Framework。底下是對於 Laravel 我選擇的一些看法,大家可以參考看看。要選一套好的 frmaework 真不容易,要考慮團隊成員技能,及後續的教育訓練等 …
[Read More]Golang 發佈 1.6 正式 Release
Posted on February 18, 2016
| 1 minutes
| 91 words
| appleboy
今天 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.
[Read More]