Xwjrs0ypq0vfwakabkfu

李珮綺 (K-Peggy)

網站全端工程師  •  台中,TW  •  [email protected]

熱愛Coding,擅長Debug,曾經在家遠端工作達一年,可以獨自解決遇到的90%的程式問題。

熟悉Angular、Node.js、PHP(可修改Wordpress Plugin)

自傳

主顧榮譽書院-全程 · 準時 ‧ 參與、建立軟實力

主顧榮譽書院,是一個以學生為主體,專注於培養軟實力的學生學習組織。

「全程,準時,參與」是我們的Slogan。每週一次,不遲到,不早退,持續四年。

透過這個團體與自發性的學習環境,促使我達成了以下的里程碑:

-Tic100創新創業競賽:正義魔人-交通檢舉APP撰寫

-龍騰微笑創業競賽

-2016 勞動署「社會企業創新創意競賽」:Pusher教育團隊,培養孩童「主動學習、獨立思考、付諸實踐」

-大陸企業一週參訪,從企業文化中審視自己,塑造自己:2016中國行見聞集


行雲者研發基地-伺服器小組、成發活動負責人

大二時,加入學校的行雲者研發基地的自發性學習組織,並用2週的時間進入工作小組,成為初期團隊核心成員,隸屬於伺服器小組。 主要工作是負責架設與維運Git Server,也參與過形象網站的開發。


並且於學期末時,擔任團隊成果發表活動的專案負責人:統整各個小組的成發簡報、場地租借與勘查狀況掌握、各個小組發表流程的規畫等,累積了些許專案管理的經驗。


Pusher教育團隊-主動學習、獨立思考、付諸實踐

在大學期間,我參與了Pusher團隊,主要在寒暑假期間,協同校內師培生一起策畫為期2天的活動課程。

我們思考著哪些活動可以引發學生想主動學習的的興趣,在過程中引導他們思考,使其在最後的成果中可以看到實踐的成果,並在這個過程中,讓自己對團隊的宗旨以身作則。


這些經驗啟發我在設計因材網的獎勵機制的想法,並進一步成為老師與學生愛用的功能。


初入職場,台中教育大學,因材網研發工程師,2017/08~2020/12

任職Full Stack 全端工程師,滿3年,主要Skill:PHP、Javascript、Git 

開發與維護學習網站網站核心功能,包含系統規劃與開發

  1. 影片串流播放:架設wowza影音串流Server、Video.js
  2. 設計與開發代幣獎勵機制
  3. 回家作業狀態的紀錄系統
  4. XSS Payload 過濾程式

Avalon E-com,Angular開發、Wordpress外掛客製化,2020/12~現在

協助Angular網站開發,使用Node.js串接後端,客製化Wordpress Plugin等。

主要Skill:AngularJS、Node.js、PHP、Git 

  1. WooCommerce外掛修改:單一特定商品免運、多重運費設定、判斷是否為訂閱者給予回饋金等
  2. Angular:用PrimeNG、NG-Bootstrap、Angular Material 做排版,Web Service 連接 Node.js,串接後端API做RESTful應用



技能


NoSQL

  • 使用PHP操作MongoDB基本讀寫
  • 架設MongoDB Server
  • Robot 3T


Javascript

  • sweetalert
  • Video.js
  • ckeditor
  • Typescript



PHP

  • 用Session阻擋重複登入
  • 透過$_FILE上傳檔案
  • PHP-ExcelReader讀取Excel檔,並將資料寫進資料庫
  • PDO進行SQL讀寫
  • MongoDB Drive
  • 修改/撰寫Wordpress Plugin




Git

  • 用rebase解決衝突、合併commit
  • checkout
  • cherry-pick
  • Gitlab
  • Github
  • Bitbucket



MySQL

  • 資料表規劃
  • 熟悉常用的基本SQL語法
  • 預存程式(Stored Procedure)撰寫


Angular

  • PrimeNG
  • Ng-Bootstrap
  • RESTful
  • 登入介面串接 AWS Cognito
  • Cognito 結合 Google Authenticator 設定MFA TOTP驗證機制



Android APP

  • 透過 SQLite 儲存資料在手機Local端
  • 透過HTTP物件與後端API做溝通,將資料上傳到Server
  • 透過Sharesheet 功能抓取網頁連結,並可增加註解
  • ⽤ListView列出資料庫的資料,並針對單筆資料進⾏編輯、刪除等動作



因材網核心功能開發


學習影片串流

  • 避免學生開分頁同步觀看多支影片 
  • 控制影片檢核點跳出與作答 
  • 初次觀看,鎖定進度條拖拉功能 
  • 影片筆記與提問功能
  • 架設wowza影音串流Server,使用串流方式播放影片


代幣獎勵機制

  • 獨自規劃並完成代幣獎勵模組規劃、分析、開發 (PHP / JS)
  • 學生完成任務後的代幣獎勵功能 
  • 用JS動態創建獎勵代幣功能,教師可客製化代幣獎勵選項 
  • 班級代幣排行榜,激發同儕學習力


回家任務

  • 教師指派回家作業給學生 
  • 學生任務頁面SQL優化
  • 用PHP serialize凾式紀錄學生任務完成狀態
  • 規劃並撰寫任務狀態更新Modules (PHP)


XSS Payload

防禦程式

  • 用正規式過濾掉JS XSS字串
  • 寫成共用套件,只要引入即可自動套用到所有input和Textarea 檢查
  • 寫成共用Function (PHP / JS )


班級討論區

  • 編輯區使用ckeditor套件,並套用wiris方程式編輯套件
  • 每個討論可選出一個最佳回答給予代幣
  • 老師可發布問題討論
  • 管理、刪除學生回覆


班級/小組編輯功能

  • 創建班級,並可編輯班級學生清單、加入/移除學生功能
  • 負責編班操作流程的前、後端程式撰寫 (PHP / JS)


記錄使用者操作

  • 用MongoDB紀錄使用者軌跡
  • 每個網頁的網址、進入點、停留時間
  • 使用PHP MongoDB Drive進行資料讀寫操作


工作習慣

工作日誌,自律追蹤進度

每天上下班前,我都會檢視並撰寫工作日誌,徹底追蹤自己的進度與確認隔天的工作內容


技術人員很容易遇到突發狀況導致原本的進度需打掉重練,這時如果沒有做好紀錄,很容易陷入慌亂,不知道該如何從頭開始規劃或是做出改善。


透過撰寫工作日誌,每天規劃並記錄自己的專案進度,並評估是否能在時限內完成,遇到無法解決的問題需要討論或將DreadLine往後延等等的狀況統整起來,遇到問題時才能及時掌握關鍵與夥伴討論。


透過工作日誌,自律並客觀評估自己的狀況,避免延誤進度。

技術筆記,提升DeBug效率

撰寫比較複雜、或是共通性較高的程式時,也會將邏輯與可能相關聯的功能紀錄到工作日誌中。


同一隻程式被多人修改後,可能會出現Bug修不盡,春風吹又生,再加上一個系統龐大後,要找出是哪個問題點並不是件簡單的事情。


初次接手負責影片串流功能時,由於是系統主要功能,因此編修改邊紀錄主要程式邏輯與資料流,其他同事在維護影片其他前端功時,遇到影片無法自動暫停的問題,透過我的技術筆記,協助他快速找到控制播放的程式並理解程式邏輯。


撰寫技術文件,除了能快速理解系統架構,也可以協助自己與其他同事增加Debug效率


設計工具提升團隊產值

影片更新的追蹤與處理是工作量滿大的行政工作,每次處理耗時至少都一天起跳。 


各科影片更新有各科助理負責,我需要統籌他們的更新資訊和新的影片檔案,將這些資訊統整給教育部。之前都是透過人工方式手動對應統整,平均處理工時要1天左右,處理效率不佳。 


因此我設計了Excel表單格式,請各科助理填寫,並撰寫PHP程式讀取Excel檔案,自動從資料庫撈取基本資訊,並建立下載連結快速取得最新影片檔案,將處理工時從1天縮短為半天,提升了50%的工作效率。 


整理自己的工作流程,設計小工具協助自己或同事提升工作效率,間接提升團隊產值。


Projects 02 00@2x

因材網

利用適性診斷測驗協助教師快速掌握學生的學習狀況,因材施教。


透過推薦學習路徑,協助學生進行有效率的自學。

iSmart

Projects 00 00@2x

iSmart

用Wordpress + WooCommerce 架設電商平台。

修改相關Plugin,客製化網站需求:

1. 單一商品運費免運設定

2. 回饋金限定發給有效訂閱會員(預設發給全會員)

3.  購買特定商品限定線上付款

4. 客製化運費需求

了解詳情