Lawrence Cheung
Freelancer
Male - 2 year(s) experience
Description
三個月內將 HKSlash 的業務相關關鍵字推上 Google 第一頁,包括「搵工」、「兼職網」、「招聘廣告」、「現金出糧」、「求職信」、「 履歷表 」、「 辭職信」 等等熱門關鍵字,當初由未能出現在 Google 搜尋結果上,3 個月後,這些熱門關鍵字都能夠出現在 Google 搜尋結果第一頁上,成績是有目共睹的。
如有興趣開發 Web Based 系統相關或與 SEO 相關的都可聯絡我 Email: lawrence@ctlok.com
專長
- SEO
- 網站系統開發 —— Front-End + Back-End
- 自動化流程 CI / CD
- RESTful API 設計
- RDBMS 資料庫設計
- 高性能、高可用性、高可擴展性系統架構設計
- 高安全性靜態內容網站 —— JAMStack
- WordPress 架站
- CloudFlare CDN 整合和優化
- 聊天機器人
- 程式培訓課程
開發穩定高流量的系統經驗
使用過 AWS + CloudFlare 去解決了高流量和安全性的問題。當中在 AWS 使用了這些服務︰ ECS、ECR、ALB、RDS、CloudFront、ElastiCache、Spot Fleet、 ACM 和 IAM。
所有程式都會在部署前轉成 Docker 容器,方便去部署到 ECS 中,當需要部署時,會傳送到 ECR 上,再經由 ECS Task 去部署新版本,另外 ALB 會自動進行 Health Check,當新版本有問題時不會將流量指向新版本,減少有問題的時間。
而 ECS 的底層服務器是使用 Spot Fleet 去建立的,這個可以為我節省一大筆服務器費用,因為 Spot Fleet 的價錢大約是平時服務器的 10% - 20% 左右,另外 Spot Fleet 也支援彈性增減服務器 ,在流量曝增時可以自動建立更多服務器來應付需求,當流量減少會自動還原原先狀態。
另外最重要的是使用 ElastiCache 和 CloudFront 去減少 RDS 的負擔,CloudFront 可以選擇性地將頁面暫存在 CloudFront 服務器上,當有暫存昤可以不用服務器去處理,也可以加快反應時間,而 ElastiCache 是處理一些 CloudFront 不能暫存的頁面,這些大多是即時性較高的頁面,如果有暫存在 ElastiCache 上,就可以不用 RDS 去處理了。
另外 CloudFlare 的作用是提供 DDoS 保護性外,亦可以提供一個暫存的地方,將所有永久性暫存都放在 CloudFlare 上,CloudFlare 和 CloudFront 最大分別是,CloudFlare 不能使用 Cookie 或 HTTP Header 去區分不同的暫存(Enterprise Plan 可以、每月 2000 美元以上),CloudFront 支持更多的暫存條件,就算是為每個人儲存獨立的暫存也可以,彈性較高,當然價錢也比較高,所以再使用 CloudFlare 去減低 CloudFront 的使用量,這樣可以平衡價錢和性能。
ACM 則是用來生成 TLS Cert 以提供一個全程使用 HTTPS 加密的環境,而且 ACM 是免費的,又可以提高安全性,當然會使用。
大型系統遷移經驗
由傳統安裝式的電腦系統重寫一套全新基於網絡和瀏覽器的系統, 我主要負責設計該系統的底層框架、資料遷移、全新的資料審查流程和資料控制權限等等核心程序,令開發人員減少出錯機會並提高開發效率。
這個任務最困難的地方是要同時使用舊系統,亦要使用部份新系統。要確保兩邊的系統資料同步不出錯,最終都非常順利地由舊系統遷移到新系統。
離線式的瀏覽器系統
由零開始設計一個招生系統,該系統主要是解決太多人排隊提交實體申請表格的問題,另一方面如果不使用離線式的瀏覽器系統,服務器會抵受不住太多同時在線人數而影響到其他運行中的收生程序,所以我提出了離線式的瀏覽器系統這個方案。
系統的頁面全部都是靜態的 HTML 頁面,以減低服務器的負擔,另外開發一個程式從資料庫取出資料放到 JavaScript 裡,再生成靜態的 HTML 頁面,當資料有更新時只需將頁面重新放上服務器就可以了。
系統主要兩部份分別是 React 和 QR Code,React 負責動態生成報名表格表格並使用 JavaScript 處理一些資料驗證,提交表格時不是直接傳送到服務器,因為職員要先審核所有資料,才可以將該筆資料儲存到資料庫中,所以系統會生成一個 QR Code ,經過 QR Code 掃描器傳送資料到職員的電腦,當所有資料正確無誤後再將資料經由職員的電腦儲存到資料庫中。
這樣的好處是沒有任何公開 API 給申請者直接使用,減低被攻擊的風險,所有資料必定經過職員驗證才會儲存到資料庫中,防止機器人胡亂生成數據。
這個系統幫助客戶減低手寫表格的出錯率,也不用人手將實體申請表格的資料一個一個輸入到系統中,加快整個收生程序,減少出錯機會,也滿足他們要審核所有資料的程序,服務器也幾乎沒有增加到任何負擔,所以這個方案是解決了他們很多問題。