關於我的專業
前端
前端的部份我使用JavaScript(ES6、ES7)
以及近年來算是熱門的Webpack、Vue.js、Vuex來做開發
在SEO方面也是我的專長
從基本的HTML Friendly架構、Facebook Open Graph到Google Structured Data
甚至至是近年來因為SPA產生的熱門技術Server Side Render
都是我能夠掌握、處理的技術
另外Google Analytics、Google Tag Manager我也在許多專案中參與埋設的工作
我曾在一個公司的電子商務的專案中
導入Google Analytics的增強型電子商務分析(Enhanced Ecommerce)使用
幫助客戶取得更多寶貴的購物相關數據
後端
後端的部份我主要使用Laravel建立純後端的架構
認證的部份我使用JWT來達到前後端分離的認證機制
因為工作上接觸的專案範圍都滿廣的
因此我除了基本的Laravel功能使用之外
比較進階的功能像是File Storage、Mail、Queue、Task Scheduling我都常使用
由於是前後端分離的架構
後端在開發階段是完全無畫面的
因此後端測試格外重要
所以我使用PHPUnit做單元測試、api整合測試確保程式碼的品質
佈署
在工作主要都是我來處理佈署環境的任務
大部分是建立Vue.js、Laravel的環境
在AWS EC2的instance上建立ubuntu系統
並且使用Apache或Nginx配合php-fpm來做Web Server或Reserve Proxy
有時候也需要依照Laravel專案建立Cron Job或是建立Queue Worker
為了快速且自動化的解決上述問題
因此我使用我的佈署工具(ciao-deploy)來做上述的環境建立
甚至是Laravel專案的Cron Job及Queue Worker也行
DevOps
在工作上
我主要使用Jenkins配合我的佈署工具(ciao-deploy)
在特定的Git分支上做自動化測試、自動化佈署
在我自己的專案開發上
我則是使用Gitlab CI
透過我自己建立的CI環境(Docker)做自動化測試、自動化佈署
雲端
我最常接觸的雲端平台為AWS
主要使用以下服務
- EC2
- S3
- RDS
- SES
這些都是大部分專案常用的服務
連我自己個人也有在使用
因此這幾個服務我算是很熟悉(包含付錢的部份)
第三方平台、服務串接經驗
- Goolge/Facebook Oauth Login
- Google Analytics Report API
- Brightcove(Video/Live)
- Google/Apple in-app purchase串接
- Wowza Media System
其他
Node.js算是我在Web開發之外
滿喜歡也滿常用的語言
主要原因如下
- 撰寫容易
- 檔案系統操作很方便
- 可以寫成指令
- 發佈/分享/散佈方便(透過NPM或Git Server)
- 相關套件及支援非常多
因此我常常使用Node.js來做一些Side Project或是小工具
像是Server Side Render服務(ciao-ssr)
或是給家人Line群組使用的氣象/空氣品質通知服務