<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Go 開源項目推薦:一個簡單的 Go 練手項目

          共 1115字,需瀏覽 3分鐘

           ·

          2022-06-21 01:18

          閱讀本文大概需要 2 分鐘。

          大家好,我是 polarisxu。

          Go 語言中文網(wǎng)微信群時不時有人問,有沒有練手項目推薦。實話說,公眾號陸續(xù)推薦過不少,但大家更擅長及時問,而不是找找。今天看到一個開源項目,值得學(xué)習(xí)了 Go 語言,但沒有實戰(zhàn)過的人練練手。

          項目地址:https://github.com/cloudlena/s3manager,這是一個 Web 項目,通過 Web GUI 管理 S3 buckets。你可以基于這個項目開發(fā)自己的管理阿里 buckets 或七牛 buckets 等。

          主要功能

          該項目實現(xiàn)了如下功能:

          • 列出你賬號的所有 buckets
          • 創(chuàng)建一個新的 bucket
          • 列出某個 bucket 中的所有對象
          • 將新對象上傳到 bucket
          • 從 bucket 下載對象
          • 刪除 bucket 中的對象

          第三方依賴

          該項目主要使用了下面兩個第三方庫:

          • github.com/gorilla/mux:沒有使用 net/http,而是使用了這個路由庫,也沒有使用 gin、echo 之類的框架
          • github.com/spf13/viper:配置管理庫。該項目的配置是通過環(huán)境變量設(shè)置的,環(huán)境變量通過 viper 讀取

          此外,就是基于 S3 的 SDK。

          3、核心設(shè)計

          簡單介紹下該項目的核心設(shè)計。

          1)前后端分離。

          API 接口使用 RESTful 風(fēng)格,例如:

          r.Handle("/api/buckets/{bucketName}/objects", s3manager.HandleCreateObject(s3)).Methods(http.MethodPost)

          前端基于 jQuery。

          2)使用 Go1.16 的 embed

          靜態(tài)資源,包括模板和 css/js,通過 embed 嵌入最終的二進(jìn)制文件中,使得編譯后只需一個二進(jìn)制文件即可運行,部署方便。

          3編寫了 Dockerfile

          方便通過 Docker 部署。

          4、總結(jié)

          這個項目功能比較簡單,作為練手比較合適。建議新手可以參照這個項目,申請一個 S3 或國內(nèi)的對象存儲,實現(xiàn)自己的一個 bucket 管理系統(tǒng)。




          往期推薦


          我是 polarisxu,北大碩士畢業(yè),曾在 360 等知名互聯(lián)網(wǎng)公司工作,10多年技術(shù)研發(fā)與架構(gòu)經(jīng)驗!2012 年接觸 Go 語言并創(chuàng)建了 Go 語言中文網(wǎng)!著有《Go語言編程之旅》、開源圖書《Go語言標(biāo)準(zhǔn)庫》等。


          堅持輸出技術(shù)(包括 Go、Rust 等技術(shù))、職場心得和創(chuàng)業(yè)感悟!歡迎關(guān)注「polarisxu」一起成長!也歡迎加我微信好友交流:gopherstudio


          瀏覽 63
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色色情影视在线观看 | 一级片毛片| 香蕉视频国产 | 亚洲无码第一页 | 天天干夜夜艹 |