owned this note changed 7 years ago
Linked with GitHub

JS、RFID與行動設備,實戰自行車繞圈賽即時成績系統

tags: 2018, R1
位置: R1
講者:詹凱盛



個人經歷

  • 社會系畢業的前端軟體工程師 目前在Yahoo任職

文組也可以寫程式的 阿財

台灣城市單車聯盟

  • 成立兩年來做過許多計畫
  • 台北高雄都有舉辦相關活動

為何還需要舉辦單車競賽活動

馬斯洛需求最高層級 自我實現

RFID 自行車賽必備技術

  • 排除門禁卡(自行車速度、距離考量)
  • 微波成本太高,因此選用超高頻RFID

1.0版本


  • RFID 讀寫器:Java SDK

  • 讀寫器接收指令

  • 讀寫器回傳資料 Socket.io

  • 後台網站:MongoDB + React

  • 前台網站:PReact

  • 系統架構

    • RFID系統
    • 家用主機(NAS)
  • 架構不夠穩定,陷入隕石開發法

  1. RFID讀取效果不佳
    • 更換RFID讀取模式,將充電時間長的模式換成充電短但回傳頻率高的模式
  2. 網站response不穩
    • 女兒的灰姑娘影片解碼影響家裡網路速度
  3. Bug 太多

2.0版本

  • 調校java SDK
  • server :租借google k8s

發現問題

  1. 網路斷線時,比賽會中斷
    • 比賽現場需要有本地主機
    • 本地端與遠端主機在進行資料同步
  2. API 漏接讀取資料

    又被隕石炸了一次

    • 是不是 Sails.js 太肥了,要不要用 Golang 改寫 API erver
    • DualTarget讀取模式時,每張標籤通過天線感應15~20次,20名選手,相當於600QPS
    • 解法 :

3.0版本

  1. 網站太醜
  2. 網站的選手名單加大頭照

4.0版本

  1. iOS APP選手拍照功能
  2. 找到贊助商,真的把比賽辦起來了
    • 比賽一個月前宣傳,媒體觸及率超過百萬
  3. 後台管理系統
    • 裁判
    • 選手

心路歷程

  1. 去年五月到今年三月,開發時間共八個月
  2. 前端長得漂亮很重要,後端如何亂搞別給人
    家看到就好 XD
  3. 想當Full Stack ? 開個Side project練練功
  4. 即將發生隕石開發時,務必先檢討程式設計
  5. 技術不熟的情況下,推薦使用framework降低踩雷風險
  6. Unit Test 不可少
Select a repo