我的網站開發流程【17/366】

自己當了工程師這些年
總是覺得自己的工作流程進步得很慢

雖然知道很多東西
似乎實踐的速度太慢了

所以寫篇文章來督促自己成長

網站前端是高中寫HTML開始學起
簡單的javascript也是那時候學的
所以我的前端底其實很早就打底了

後端則是後來上了大學,念了資工系
才真正了解程式語言的撰寫
資料庫也是那時候開始瞭解的

我覺得是因為沒有待過大公司的關係
所以並沒有跟很多人合作開發的經驗

PHP的framework也是第一份工作開始學習的
雖然之前一直都有看過網路上的資訊
真正的實作也是工作以後

PHP的學習經驗
則是大學有自己用phpbb
或是其他套件自己架在本機上面玩過而已
唯一的實作開發就是學校課程的期末作業
用pure PHP+mysql寫過一個類似通訊錄的東西
第一份工作接觸codeigniter
之前也稍微摸過XOOPS
然後就使用codeigniter到現在
最近則是有點想要轉移到Laravel

中途也有想要學習nodejs、Go、Python等等的語言
但是也都沒有行動

因為自己在本機架過不少opensource專案
所以其實也滿瞭解架站流程的
現在的工作因為有好幾個網站要管理
所以也越來越熟悉ubuntu

回到主題
現在我的網站開發流程
就是用新版的codeigniter來進行開發
沒有使用composer(希望能加入)
搭配bootstrap來設計前端的版型
jQuery使用很多,也常用很多相關的前端套件(有機會再介紹)
有使用git,但是自己開發沒有特別訂流程
先決定功能跟畫面以後
開始寫code,有初版就會先給同事看
然後再調整跟修改
直到最後完成

之後的預想開發流程
使用docker來建置專案環境
composer也要加入使用
當然是想要使用Laravel開發
(還是會根據專案需求決定framework)
使用TDD(測試驅動開發)
git整合jenkins
(commit的時候會做靜態分析以及程式碼guideline檢查)
當然測試也是每天有commit新的code就會自動跑
merge進product之後,會自動deploy到主機上
前端開發當然也要跟上後端的方式
也要學習一下其他的framework
使用Angular或是React。
搭配gulpjs、gruntjs跟phantomjs進行自動化測試
PS:歡迎大家指教,這流程還有很多可以調整的部分

當然,這整塊需要學習的東西應該超多
今年,要好好鍛鍊一下自己的功力,
全端工程師的路真的才開始而已