潘拓宇

畢業於國立海洋大學電機所 電波組

目前在 GliaCloud 擔任後端工程師

細心與溝通力,持續精進作為後端工程師的專業技能,吸收科技趨勢新聞

[email protected]

Skill


Back-end

  • Django ( main )
  • PyTest
  • mypy
  • pydantic


Front-end

  • HTML5 / CSS
  • jQuery
  • JavaScript


Language

  • English - (TOEIC 665)

Version Control

  • Git
  • GitHub


RDBM

  • MySQL
  • Django ORM


Cloud Platform

  • GCP
  • AWS

工作經驗 Experience

集雅科技股份有限公司 - 後端工程師 , 2022年 7 月 -(現職)

  • 網路爬蟲及資料整理
    用 requests 及 beautifulSoup 爬取網路資料,並以 regular expression 整理數據,每日平均處理 1000 筆資料,為公司提供即時且正確的資訊。

    #bs4 #BeautifulSoup #regex #Django

  • 程式碼重構 
    閱讀 Clean code 和參考主管及前輩的命名規則與設計模式, 讓程式碼更精簡及易讀,節省同事看程式碼的費時與心力。

    #CleanCode

  • 跨組協作
    在非工程師的同事在使用提高效率的工具碰上問題時提供協助,亦或是在資料串接上,替看不懂報錯訊息的同事解惑。

  • 自動化客戶派案紀錄流程 
    提高客服部的工作效率
    避免同事們需要花費大量時間,做高重複性質且不需人工檢查的事項,像是複製與紀錄資訊,以及寄送樣板化的通知 Email。
    實作的自動化流程為每天定時爬取派案表單 ( Google Sheet ),寄送通知 Email
    並使用 Trello 提供的 Python 套件,統一整理資訊,讓同事能夠快速找到所需的資訊。

  • 自動化結案流程 
    提高客服部的工作效率
    完成客戶指定的派案項目後,所需的結案流程中包含:數據統整報告、結果影片上傳、結案 Email 寄送,以及在 Google Sheet 上紀錄資訊
    實現的自動化方式為採用 GAM 套件以製作結案報告,再利用 Google drive 套件將報告、影片上傳至客戶指定的位置,以及寄送結案 Email 通知客戶,並且將報告、影片連結也記錄在 Trello 上方便同事查看
    既提升效率,亦可避免人為時可能出的錯。

    #Trello #GoogleSheet

  • Facebook & Instagram Reels API 串接
    閱讀 Graph API Docs 完成 API 串接, 並協助公司進行 Meta App Review, 讓公司能為客戶帶來更全方位及完善的影音服務。

    #Facebook #Instagram #Meta #GraphAPI

  • Google Drive API 串接
    讓產出的影片能以自動化的方式上傳至客戶希望的儲存位置,像是自動建立資料夾並 change directory 至指定資料夾後,再上傳檔案。

    #OAuth #GoogleDrive #ThirdPartyAPI

  • 中小型企業新聞廣編稿
    與前端共同協作,製作以智慧問卷的方式,讓傳統及中小型企業,能夠藉由我們提供的服務使用上 AI 的助力,並最終製作出新聞稿以供客戶使用。
    - 串接貿協的 api ,傳送至前端,作為智能問卷的預設值
    - 使用 DRF ( Django REST framework ) validate request data,並以 RESTful 規範設計出讓前端請求的 api
    - 以使用者填寫完成的智能問卷作為參考資料,並給予合適的 prompt,串接 OpenAI 提供的 api,以產出新聞稿件。

    #RESTfulAPI #ChatGPT #OpenAI #DRF #Django

學習歷程 Education

資展國際股份有限公司, AI人工智慧創新應用就業養成班, 2021年 10 月 - 2022 年 3 月

隨著課程的安排,我在本次就業養成班中,學到了

  1. HTML:了解前端頁面的形成與排版,以及套用Bootstrap完成RWD的重要性
  2. JavaScript及jQuery:讓網頁開發也能使用邏輯判斷及物件選擇器,達成動態生成網頁
  3. Linux(Ubuntu):在Linux環境底下,開啟Teriminal,並下指令安裝程式、創建Docker容器
  4. MySQL : 了解如何使用DDL, DML, DQL等SQL語法, 來操作、使用資料庫
  5. NumPy, Pandas:將我們讀取到的資料作前處理 ( 只取某些column、將特定column指定為label )
  6. OpenCV:對影像資料做修改(大小、擷取、旋轉、增強)
  7. TensorFlow, Keras, PyTorch:作為深度學習的框架,其中CNN適合解決圖像問題,而我們的專題為辨識影像中的麻將牌面(筒、條、萬、字)後,確認胡牌的正確性,及計算出本次胡牌的台數(碰碰胡、清一色),使用YOLOv5的自訓練模型,並轉成TensorFlow.js模型部署在Azure上
課程筆記連結:https://github.com/Touyu-Pan/AIEN16

#HTML #Bootstrap #JavaScript #jQuery #Linux #Docker #NumPy #Pandas #OpenCV #TensorFlow #Keras #PyTorch #YOLO

專案 Project

1. 遊戲腳本
由於開始工作後可使用時間比較少,希望可以最大化的利用自己的時間
而有些重複的任務可以用腳本達成,且這個腳本任務並不會影響他人,僅僅是與人機Bot對戰
因而做出此專案來達成自動與人機對戰領取獎勵
由於遊戲只接收 DirectX input,所以選用 PyDirectInput 套件作為鍵盤指令的輸入
以及 threading 的 Timer 定時觸發 function,實現完整遊戲腳本自動化



2. 麻雀天眼通
我們觀察到,在日常的休閒與朋友打麻將時,不少人不會計算台數,亦或是不同人有不同計算台數的方式,更甚是漏算、多算台數的狀況也不在少數,因而有了這個專題的發想。 為了解決這個問題,我們利用自定義訓練出來的深度學習網路架構模型,辨識出每張麻將的牌面後,在透過邏輯演算法判定胡牌正確性及計算本次胡牌(自摸)所得台數。

在資料集蒐集的部分,最初我們是經由手機拍照取得圖片後,再利用OpenCV將照片resize成適當的大小,以降低訓練模型時的負擔,但又能保留圖片該有的特徵,再進行人工手動的label,以產生我們的資料集。而後我們寫出了一隻能自動生成資料集的程式,既可降低手動label的人為誤差,也可以節省人力,及大量生成資料集。

而在模型訓練及選擇上,我們選用YOLO v5的模型,結合更多元的訓練資料集,及調整anchor size、blur及不同的optimizer嘗試後,我們得到擁有超過9成辨識率的模型。並將其轉換為前端架構使用的Tensorflow.js模型,以增強客戶端響應運算結果的速度。 最後在視覺呈現上,我們使用flask框架架設了一個網站,在進入頁面後,我們會用相機偵測牌型,而後讓使用者設定、調整網頁上的選項,進而得到驗證結果。


3. Flask 網站架設
我在Udemy上自學了一堂課程,這是一個模仿twitter的專案實現,在經過簡易的註冊後即可登入至主頁面,主頁面會顯示用戶自己的推文,以及用戶所追蹤的用戶發送的推文,在Explore頁面可以探索所有用戶發送的推文,而在個人頁面可以編輯個人資料

  1. 前端知識:透過HTML作呈現,並加上簡易的Bootstrap做為美化
  2. 資料庫應用:使用ORM框架的Flask-SQLAlchemy,在本地開發時用SQLite,部署到雲端時使用MySQL,作為存儲用戶資料、用戶推文的資料庫
  3. 重製密碼:以email發送帶有token的認證連結,在確認是該用戶後,將用戶重新導向至密碼重製頁面
  4. 非同步請求:以AJAX實現主頁面的總推文數統計
  5. 虛擬容器與雲端平台使用:部署到GCP上並且以Docker作為容器,使網頁能順暢運作
  6. 第三方API串接:使用Oauth 2.0,實現以Google登入網站
#Flask #HTML #Bootstrap #Flask-SQLAlchemy #SQLite #MySQL #token #AJAX #GCP #Docker


GitHub:https://github.com/Touyu-Pan/twittor