“我們的”駭(黑)客松 toolkits & skills
3 min readMay 19, 2020
介紹
如何快速參加一個駭客松 (我不喜歡用 “黑客松”, 像汽水名字), 以及順利的完成比賽. 平常就要準備好且熟悉使用某些開發工具和電腦語言.
有些工具和程式碼是可以重複使用, 不在比賽中再重新收尋或學習. 建議您熟悉以下章節的工具, 準備迎接下一次的挑戰. 基本上這些工具是足夠的 (不含實作的硬體與實作物體所需之材料), 尤其是對付網路上的虛擬黑客松或軟體導向的駭客松比賽.
電腦語言, 我建議 Javascript 為主 (因為同時可寫 backend or frontend). 其他 go, python 等為輔, 可以用來快速開發輔助 server, 或擷取資料用.
設計與共筆工具
- 平常當討論區, 分享資訊, 紀錄過程, 截圖與保存結果
- 最後可剪接做成簡報, 並輸出為 markdown 檔 (for README.md), 或做線上簡報
共筆程式 IDE, 或共筆 UI 設計工具
快速部署與雲端服務
版本控制 github.com, 單頁的可用 gist
any cloud service
- 建議 scaleway (超便宜, 適合 dev, QA 用)
- google cloud (台灣有 servers, 但貴一點)
- AWS (穩定安全, 適合 production)
now (免費快速部署, vercel 已被買走)
- docker images 部署
API server 開發工具
挑一個快速 web app/api server 線上開發平台
- codesandbox.io for web app in Javascript
且能用 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)
固定資料庫, 資料來源
機動式資料萃取 (twitter API 或其他)
Logs, 換產生 logs
- logstash (也有 twitter plugin, 或 exec, http_poller 等 plugins 可以使用)
監看與視覺化工具
簡報+視覺化工具
視覺化
商品化工具
- 最後評估是否繼續運作, 或更進一步商品化, 開(虛擬)公司