“我們的”駭(黑)客松 toolkits & skills

mingderwang
3 min readMay 19, 2020

介紹

如何快速參加一個駭客松 (我不喜歡用 “黑客松”, 像汽水名字), 以及順利的完成比賽. 平常就要準備好且熟悉使用某些開發工具和電腦語言.

有些工具和程式碼是可以重複使用, 不在比賽中再重新收尋或學習. 建議您熟悉以下章節的工具, 準備迎接下一次的挑戰. 基本上這些工具是足夠的 (不含實作的硬體與實作物體所需之材料), 尤其是對付網路上的虛擬黑客松或軟體導向的駭客松比賽.

電腦語言, 我建議 Javascript 為主 (因為同時可寫 backend or frontend). 其他 go, python 等為輔, 可以用來快速開發輔助 server, 或擷取資料用.

設計與共筆工具

dropbox paper

  • 平常當討論區, 分享資訊, 紀錄過程, 截圖與保存結果
  • 最後可剪接做成簡報, 並輸出為 markdown 檔 (for README.md), 或做線上簡報

共筆程式 IDE, 或共筆 UI 設計工具

快速部署與雲端服務

版本控制 github.com, 單頁的可用 gist

any cloud service

  • 建議 scaleway (超便宜, 適合 dev, QA 用)
  • google cloud (台灣有 servers, 但貴一點)
  • AWS (穩定安全, 適合 production)

now (免費快速部署, vercel 已被買走)

docker hub

  • docker images 部署

API server 開發工具

挑一個快速 web app/api server 線上開發平台

且能用 now 快速部署, 讓開發 frontend 的人, 或成果發表, 馬上能用, 例如

  • index.html 網頁
  • docker-base web app

I think we also need a server (RESTful server or cli app) framework, but there are many alternative.

  • how about a GraphQL server? use gqlgen in Go
  • how about Hapi in Javascript
  • you name it.

mobile apps 開發工具

snack (Expo), react native 線上開發平台

  • 可直接分享 iOS, Android, Web app 模擬器, 裁判能快速測試你的成果
  • 模擬器結果也可截圖做簡報或 README.md 用
  • 更可把 app 即時分享, 並可即時改 code, 無須上架 (Apple App Store 或 Google Play)

可用資料集 (datasets)

固定資料庫, 資料來源

  • 其實很多線上資料源, 只要統一用 JSON 格式, 或 csv 就方便轉換來使用
  • ObservableHQ (here, here, or here) (例如地震 data in JSON)

機動式資料萃取 (twitter API 或其他)

Logs, 換產生 logs

監看與視覺化工具

簡報+視覺化工具

視覺化

  • 如果有資料收集到 ELK, 可以用 Kibana dashboard 監看或簡報用

商品化工具

  • 最後評估是否繼續運作, 或更進一步商品化, 開(虛擬)公司

Get Started!

--

--