iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 1
1
Modern Web

Golang - 從打造一個 API 開始學起系列 第 1

[Day01] 實作目標與環境介紹

本文同步發表於: Sponge Records

這系列的文章為學習 Golang 創建 API 的紀錄,並且會與另外兩位團隊成員的作品合為一個簡單的專案。
這三十天的紀錄將會分為以下部分:

  • 環境建置:
    往往打消熱情的都是建置開發環境時所產生的問題
    ,將會詳細截圖並且標明環境版本且會透過 heroku 的雲端服務降低產生衝突的可能。

  • API 實作:
    在實作一支 API 的同時介紹構築思路與有使用到的 Golang 特性,方便理解原理並能實際應用。

  • 雲端部屬:
    將會介紹如何從創立帳號到上傳成品於 Heroku ,並且開放使用。

專案目的

製做一個 api 提供給網站使用
該網站具備會員系統的網站,並呈現 AI 分析後的圖表資料

在業務環境上,很有可能會需要一個網站呈現分析報表,而這些資料需要特定身分才能瀏覽
因此加入會員機制,並且將分析資料提升為預測資料,更能增加價值協助決策判斷。

專案架構

SoftStructure

開發環境列表

技術選擇的理由

選擇任何一個技術開發都應該分析其是否能幫助解決目前所面對的挑戰

windows

  • 普遍
    根據 StatCounter 的統計,2018年 windows 市占率為 78.32%,這代表你遇到的問題,很可能有另一個人也遇到了,這通常代表更好被解決

vs code

  • 輕巧
    對比其他編輯器又或者是專業的 ide (Visual Studio),他的容量與占用的系統少很多

  • 擴充性
    雖然輕巧,但提供豐富的功能括充性,可以透過安裝套件的方式擴展支援的語言與開發工具

postman

  • 方便
    postman 可以簡單的達到 post、get...等請求,方便對撰寫的 api 作測試

Golang

  • 效能
    Golang 效能堪比 c++ 並且具備優秀的併發特性(goroutines),可以在業務環境下充分利用特性提高使用體驗

  • 跨平台
    Golang 具備優秀的跨平台特性,在需要更換 os 的特殊需求下可以用最小成本達到需求

postgresql

  • 商業應用導向
    具有完善的交易機制,且擁有嚴格的測試驗證和設計機制

  • 開源免費
    可以免費用於商業專案中

Heroku

  • 免費使用
    在一定的硬體與使用限制上可以免費使用,很適合用來測試網站

  • 支持多種語言
    支援 golang、python、Java、Node.js、Scala、Clojure...等語言

  • 提供 postgresql 供使用
    免費版本可以獲得最多儲存 10,000 筆資料的 postgresql 供使用


下一篇
[Day02] vs code 程式編輯器安裝
系列文
Golang - 從打造一個 API 開始學起30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言