国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)

這篇具有很好參考價值的文章主要介紹了用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)

本篇將開始講講開發(fā)庫/框架的最開始階段,也就是搭建一個項目

源碼:weloe/token-go: a light login library (github.com)

項目結(jié)構(gòu)

項目結(jié)構(gòu),不是上一篇所說的代碼架構(gòu),而是分包,明確的分包更有助于我們的開發(fā)。本框架分包如下

├─.github
│  └─workflows GitHub工作流
├─auth	權(quán)限管理
├─config	配置
├─constant	常量
├─ctx	web上下文
│  └─go-http-context
├─error	
├─examples	使用示例
├─log	日志
├─model	模型
├─persist	持久層
└─util 工具包

代碼托管以及自動化測試

我們選擇使用GitHub進行代碼托管,同時也使用GitHub Actions進行代碼自動化測試。運行測試代碼以及使用lint檢查代碼規(guī)范。

token-go/go.yml at master · weloe/token-go · GitHub

name: Go-Build-Test

on: [push, pull_request]

jobs:

  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        go: [ '1.18', '1.19', '1.20' ]
    steps:
      - uses: actions/checkout@v2

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go }}

      - name: Run go test
        run: go test -v ./...

  benchmark:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        go: [ '1.18' ]
    steps:
      - uses: actions/checkout@v2

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go }}

      - name: Run go test bench
        run: go test -bench=.

  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Set up Go
        uses: actions/setup-go@v2
        with:
          go-version: '1.20'

      - name: golangci-lint
        uses: golangci/golangci-lint-action@v3
        with:
          version: v1.51

測試

在進行代碼開發(fā)的同時,我們也應(yīng)該進行代碼測試用例的編寫,提高代碼測試覆蓋率,確保我們的代碼的健壯性。

用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)

文檔

文檔可以說是一個開源庫/框架必不可少的東西,我們開始學習一個開源庫/框架也往往是從文檔開始。我們可以使用Docsify,Vuepress等來快速搭建一個文檔網(wǎng)站。關(guān)于如何搭建文檔可以看看這篇隨筆https://www.cnblogs.com/weloe/p/17374287.html文章來源地址http://www.zghlxwxcb.cn/news/detail-438736.html

到了這里,關(guān)于用go設(shè)計開發(fā)一個自己的輕量級登錄庫/框架吧(項目維護篇)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • go-carbon v2.3.5 發(fā)布,輕量級、語義化、對開發(fā)者友好的 golang 時間處理庫

    carbon 是一個輕量級、語義化、對開發(fā)者友好的 golang 時間處理庫,支持鏈式調(diào)用。 目前已被 awesome-go 收錄,如果您覺得不錯,請給個 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安裝使用 Golang 版本大于等于 1.16 Golang 版本小于 1.16 更新日志 Default 結(jié)構(gòu)體新增 Locale

    2024年02月01日
    瀏覽(63)
  • go-carbon 2.2.12 版本發(fā)布, 輕量級、語義化、對開發(fā)者友好的 Golang 時間處理庫

    carbon 是一個輕量級、語義化、對開發(fā)者友好的 golang 時間處理庫,支持鏈式調(diào)用。 目前已被 awesome-go 收錄,如果您覺得不錯,請給個 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安裝使用 Golang 版本大于等于1.16 Golang 版本小于1.16 更新日志 增加對荷蘭語的支持 測試

    2024年02月06日
    瀏覽(19)
  • go-carbon v2.3.6 發(fā)布,輕量級、語義化、對開發(fā)者友好的 golang 時間處理庫

    carbon 是一個輕量級、語義化、對開發(fā)者友好的 golang 時間處理庫,支持鏈式調(diào)用。 目前已被 awesome-go 收錄,如果您覺得不錯,請給個 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安裝使用 Golang 版本大于等于 1.16 Golang 版本小于 1.16 更新日志 將日歷提取出來作為獨立

    2024年01月24日
    瀏覽(17)
  • 使用Go語言打造輕量級Web框架

    前言 Web框架是Web開發(fā)中不可或缺的組件。它們的主要目標是抽象出HTTP請求和響應(yīng)的細節(jié),使開發(fā)人員可以更專注于業(yè)務(wù)邏輯的實現(xiàn)。在本篇文章中,我們將使用Go語言實現(xiàn)一個簡單的Web框架,類似于Gin框架。 功能 我們的Web框架需要實現(xiàn)以下功能: 路由:處理HTTP請求的路由

    2023年04月08日
    瀏覽(92)
  • 特制自己的ChatGPT:多接口統(tǒng)一的輕量級LLM-IFT平臺

    特制自己的ChatGPT:多接口統(tǒng)一的輕量級LLM-IFT平臺

    ?PaperWeekly 原創(chuàng) ·?作者 |? 佀慶一 單位 |? 中科院信息工程研究所 研究方向 |? 視覺問答 項目簡稱: Alpaca-CoT(當羊駝遇上思維鏈) 項目標題: Alpaca-CoT: An Instruction Fine-Tuning Platform with Instruction Data Collection and Unified Large Language Models Interface 項目鏈接: https://github.com/PhoebusSi

    2024年02月04日
    瀏覽(18)
  • C#輕量級日志功能(只有一個類)

    最近在開發(fā)基于.net6的一個數(shù)據(jù)監(jiān)控軟件,使用其它開源log庫都有點麻煩,就想著對Console.WriteLine()方法重定向到文件,非常方便的實現(xiàn)日志記錄功能,同時也不影響之前的代碼結(jié)構(gòu)。 軟件開始的地方要設(shè)置該重定向:

    2024年01月21日
    瀏覽(97)
  • CasaOS一個輕量級的家庭云系統(tǒng)

    CasaOS一個輕量級的家庭云系統(tǒng)

    簡介 CasaOS是一款輕量級的家庭云系統(tǒng),基于Docker安裝部署,支持pc和手機,可玩性非常高,萬物皆可以打成docker鏡像后都可以安裝。 你要你擁有一臺電腦裝上ubuntu你就能做all in one ,nas全家桶。安裝簡單,但是受網(wǎng)速影響至少要一個小時。 準備工作 一臺裝有docker的ubantu系統(tǒng)

    2024年02月05日
    瀏覽(95)
  • 輕量靈動: 革新輕量級服務(wù)開發(fā)

    輕量靈動: 革新輕量級服務(wù)開發(fā)

    從 JDK 8 升級到 JDK 17 可以讓你的應(yīng)用程序受益于新的功能、性能改進和安全增強。下面是一些 JDK 8 升級到 JDK 17 的最佳實戰(zhàn): 1.1、確定升級的必要性:首先,你需要評估你的應(yīng)用程序是否需要升級到 JDK 17。查看 JDK 17 的新特性、改進和修復的 bug,以確定它們對你的應(yīng)用程序

    2024年02月07日
    瀏覽(99)
  • Mainflux IoT:Go語言輕量級開源物聯(lián)網(wǎng)平臺,支持HTTP、MQTT、WebSocket、CoAP協(xié)議

    Mainflux IoT:Go語言輕量級開源物聯(lián)網(wǎng)平臺,支持HTTP、MQTT、WebSocket、CoAP協(xié)議

    Mainflux是一個由法國的創(chuàng)業(yè)公司開發(fā)并維護的 安全、可擴展 的開源物聯(lián)網(wǎng)平臺,使用 Go語言開發(fā)、采用微服務(wù)的框架。Mainflux支持多種接入設(shè)備,包括設(shè)備、用戶、APP;支持多種協(xié)議,包括HTTP、MQTT、WebSocket、CoAP,并支持他們之間的協(xié)議互轉(zhuǎn)。 Mainflux的南向接口連接設(shè)備,北

    2024年02月01日
    瀏覽(60)
  • 教你使用PHP實現(xiàn)一個輕量級HTML模板引擎

    教你使用PHP實現(xiàn)一個輕量級HTML模板引擎

    ??作者簡介,黑夜開發(fā)者,全棧領(lǐng)域新星創(chuàng)作者?,2023年6月csdn上海賽道top4。多年電商行業(yè)從業(yè)經(jīng)驗,對系統(tǒng)架構(gòu),數(shù)據(jù)分析處理等大規(guī)模應(yīng)用場景有豐富經(jīng)驗。 ??本文已收錄于PHP專欄:PHP進階實戰(zhàn)教程。 ??另有專欄PHP入門基礎(chǔ)教程,希望各位大佬多多支持??。 在 W

    2024年02月15日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包