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

go-Nunu,一個好用的腳手架推薦,助你快速構建Go應用

這篇具有很好參考價值的文章主要介紹了go-Nunu,一個好用的腳手架推薦,助你快速構建Go應用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

雖然直接使用go-gin等框架也很簡單,但是涉及數(shù)據(jù)庫、jwt認證、配置文件和日志記錄等全套的服務,一個個集成進來也挺費事。關鍵是一個個集成,很難做到結構清晰和分層合理。這里推薦一個好用的腳手架Nunu,太好用啦,可以讓你把精力直接放在業(yè)務上直接開干。

Nunu介紹

Nunu 是一個基于 Golang 的應用腳手架,它的名字來自于英雄聯(lián)盟中的游戲角色,一個騎在雪怪肩膀上的小男孩。和努努一樣,該項目也是站在巨人的肩膀上,它是由 Golang 生態(tài)中各種非常流行的庫整合而成的,它們的組合可以幫助你快速構建一個高效、可靠的應用程序。

項目主頁:https://github.com/go-nunu/nunu

功能特色
Nunu 采用了多種常用且非常流行的庫,包括 Gin、Gorm、Wire、Viper、Zap、Golang-jwt、Go-redis、Testify、Sonyflake、robfig-cron 等等。這些庫涵蓋了http服務、數(shù)據(jù)庫訪問、配置文件、日志記錄、認證鑒權等常用組件。他們的組合可以幫助你快速構建一個高效、可靠的應用程序。

分層架構

Nunu 采用了經(jīng)典的分層架構。同時,為了更好地實現(xiàn)模塊化和解耦,采用了依賴注入框架 Wire。

go-Nunu,一個好用的腳手架推薦,助你快速構建Go應用,Go語言實踐筆記,golang,開發(fā)語言,后端,go-nunu

特性
Nunu 具有以下特性:

  • 超低學習成本和定制:Nunu 封裝了 Gopher 最熟悉的一些流行庫。你可以輕松定制應用程序以滿足特定需求。
  • 高性能和可擴展性:Nunu 旨在具有高性能和可擴展性。它使用最新的技術和最佳實踐,確保你的應用程序可以處理高流量和大量數(shù)據(jù)。
  • 安全可靠:Nunu 使用了穩(wěn)定可靠的第三方庫,確保你的應用程序安全可靠。
  • 模塊化和可擴展:Nunu 旨在具有模塊化和可擴展性。你可以通過使用第三方庫或編寫自己的模塊輕松添加新功能和功能。
  • 文檔完善和測試完備:Nunu 文檔完善,測試完備。它提供了全面的文檔和示例,幫助你快速入門。它還包括一套測試套件,確保你的應用程序按預期工作。
  • 簡潔分層架構:Nunu 采用了經(jīng)典的分層架構。同時,為了更好地實現(xiàn)模塊化和解耦,采用了依賴注入框架 Wire。

文檔
Nunu 提供了全面的文檔和示例,幫助你快速入門。它還包括一套測試套件,確保你的應用程序按預期工作。

nunu/docs/zh/guide.md at main · go-nunu/nunu · GitHub

要求
要使用 Nunu,你需要在系統(tǒng)上安裝以下軟件:

  • Golang 1.16 或更高版本
  • Git
  • MySQL 5.7 或更高版本(可選)
  • Redis(可選)

安裝

你可以通過一行命令安裝 Nunu:

go install github.com/go-nunu/nunu@latest

linux下把nunu命令加入環(huán)境變量:

vi ~/.bashrc

bashrc文件末尾增加并保存

export PATH=$PATH:/root/go/bin

讓環(huán)境變量生效:

source ~/.bashrc

簡單使用?

創(chuàng)建新項目

您可以使用以下命令創(chuàng)建一個新的Golang項目:

nunu new projectName

默認拉取github源,你也可以使用國內(nèi)加速倉庫

// 使用基礎模板
nunu new projectName -r https://gitee.com/go-nunu/nunu-layout-basic.git
// 使用高級模板
nunu new projectName -r https://gitee.com/go-nunu/nunu-layout-advanced.git

?go-Nunu,一個好用的腳手架推薦,助你快速構建Go應用,Go語言實踐筆記,golang,開發(fā)語言,后端,go-nunu

?目錄介紹

.
├── cmd
│?? ├── job
│?? ├── migration
│?? └── server
│??     ├── wire
│??     │?? ├── wire.go
│??     │?? └── wire_gen.go
│??     └── main.go
├── config
│?? ├── local.yml
│?? └── prod.yml
├── deploy
├── internal
│?? ├── dao
│?? │?? ├── dao.go
│?? │?? └── user.go
│?? ├── handler
│?? │?? ├── handler.go
│?? │?? └── user.go
│?? ├── job
│?? │?? └── job.go
│?? ├── middleware
│?? │?? ├── cors.go
│?? │?? ├── jwt.go
│?? │?? ├── log.go
│?? │?? └── sign.go
│?? ├── migration
│?? │?? └── migration.go
│?? ├── model
│?? │?? └── user.go
│?? ├── provider
│?? │?? └── provider.go
│?? ├── server
│?? │?? └── http.go
│?? └── service
│??     ├── service.go
│??     └── user.go
├── pkg
│?? ├── config
│?? ├── helper
│?? ├── http
│?? └── log
├── script
├── storage
├── test
├── web
├── LICENSE
├── README.md
├── README_zh.md
├── go.mod
└── go.sum

?這是一個經(jīng)典的Golang 項目的目錄結構,包含以下目錄:

  • cmd:存放命令行應用的代碼,例如?main.go。
  • config:存放配置文件,例如?config.yaml。
  • internal:存放項目內(nèi)部的代碼,不對外暴露。

    • dao:存放數(shù)據(jù)訪問對象(Data Access Object)的代碼。
    • handler:存放 HTTP 請求處理器的代碼。
    • middleware:存放 HTTP 中間件的代碼。
    • model:存放數(shù)據(jù)模型的代碼。
    • provider:存放依賴注入的代碼。
    • server:存放 HTTP 服務器以及路由注冊的代碼。
    • service:存放業(yè)務邏輯的代碼。
  • pkg:存放可重用的代碼,對外暴露。

    • config:存放讀取配置文件的代碼。
    • helper:存放輔助函數(shù)的代碼。
    • http:存放 HTTP 相關的代碼。
    • log:存放日志相關的代碼。

創(chuàng)建組件

你可以使用以下命令為項目創(chuàng)建 handler、service 和 dao 等組件:

nunu create handler user
nunu create service user
nunu create dao user
nunu create model user

這些命令將分別創(chuàng)建一個名為?UserHandler、UserServiceUserDao?和?UserModel?的組件,并將它們放置在正確的目錄中。

啟動項目

你可以使用以下命令快速啟動項目:

nunu run

此命令將啟動你的 Golang 項目,并支持文件更新熱重啟。

編譯 wire.go

wire是Go官方推出的一款類似于Spring依賴注入工具。有別于以往的依賴注入工具facebookgo/inject、uber-go/dig等,采用反射實現(xiàn)。wire采用通過代碼描述對象之間的依賴關系,然后自動生成代碼在編譯期實現(xiàn)依賴注入的工具 源碼:https://github.com/google/wire

什么是依賴注入

說到依賴注入(Dependency Injection,縮寫DI),不得不提控制反轉(Inversion of Control,縮寫為IoC)。IoC是一種設計思想,核心作用是降低代碼耦合度。 傳統(tǒng)系統(tǒng)應用是在類內(nèi)部主動引用對象,從而導致類與類之間高度耦合,不利于維護,而有了IoC容器后,把創(chuàng)建和查找對象工作交給容器,由容器動態(tài)的將某個依賴關系注入對象中,控制權由調用者應用代碼轉移到IoC容器,控制權發(fā)生了反轉,從而實現(xiàn)對象間解耦。依賴注入是實現(xiàn)IoC解決依賴問題的設計模式。

你可以使用以下命令快速編譯?wire.go

nunu wire

此命令將編譯你的?wire.go?文件,并生成所需的依賴項。

書籍推薦

首頁關注博主公眾號《貓青年》,回復“書籍”,獲取更多高清電子書資源!完全免費!

GitHub - imarvinle/awesome-cs-books: ?? 經(jīng)典編程書籍大全,涵蓋:計算機系統(tǒng)與網(wǎng)絡、系統(tǒng)架構、算法與數(shù)據(jù)結構、前端開發(fā)、后端開發(fā)、移動開發(fā)、數(shù)據(jù)庫、測試、項目與團隊、程序員職業(yè)修煉、求職面試等

其他資源

?nunu/docs/zh/guide.md at main · go-nunu/nunu · GitHub

?Nunu: 助你快速構建高效可靠的Go應用_出于隨性的博客-CSDN博客

框架 - Nunu: 助你快速構建高效可靠的Go應用 - 個人文章 - SegmentFault 思否

go-nunu: Nunu是一個基于Golang的應用腳手架

搭建go腳手架_go 腳手架_風落不歸處的博客-CSDN博客

Wire:Go最優(yōu)雅的依賴注入工具 - 碼農(nóng)教程文章來源地址http://www.zghlxwxcb.cn/news/detail-580208.html

Go 官方依賴注入工具wire-騰訊云開發(fā)者社區(qū)-騰訊云

Wire:Go最優(yōu)雅的依賴注入工具 - 碼農(nóng)教程

到了這里,關于go-Nunu,一個好用的腳手架推薦,助你快速構建Go應用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 從k8s當中學習go cli腳手架開發(fā)利器-cobra

    大部分的項目都會引入cobra來作為項目的命令行解析工具,k8s當中大量使用cobra,學習借鑒一下k8s當中是如何使用cobra,在此記錄一下。 cobra是一個提供簡單接口來創(chuàng)建強大的現(xiàn)代CLI界面的庫類似git ? git tools,cobra也是一個應用程序,它會生成你的應用程序的腳手架來快速開發(fā)

    2024年02月21日
    瀏覽(24)
  • 創(chuàng)建一個vue2的腳手架項目(超詳細)

    創(chuàng)建一個vue2的腳手架項目(超詳細)

    0.前言 在用npm安裝vue腳手架之前需要安裝node,前面博客有詳細安裝過程,請讀者安裝node之后再進行腳手架的安裝 1 npm vue2的安裝腳手架 2.創(chuàng)建vue2腳手架項目 3.開啟服務器 4.在瀏覽器中輸入端口地址 5.項目目錄介紹

    2024年02月11日
    瀏覽(99)
  • mac下安裝vue cli腳手架并搭建一個簡易項目

    mac下安裝vue cli腳手架并搭建一個簡易項目

    1、確定本電腦下node和npm版本是否為項目所需版本。 2、下載vue腳手架 3、創(chuàng)建項目 如果有node,打開終端,輸入node -v和npm -v , 確保node和npm的版本,(這里可以根據(jù)自己的需求去選擇,如果對最新版本的內(nèi)容有要求,也可以選擇最新版本)如果沒有node,可以點擊nodejs官網(wǎng)去下載

    2024年02月15日
    瀏覽(100)
  • Mac OS安裝Vue CLI腳手架并創(chuàng)建一個基礎項目教程

    Mac OS安裝Vue CLI腳手架并創(chuàng)建一個基礎項目教程

    前后端分離 可以大大地提高開發(fā)效率,主流的解決方案為 Vue.js+SpringBoot ,這里主要介紹 Vue在Mac端的入門教程 。軟硬件環(huán)境為Macbook Air M2+macOS Vantura 13.4.1。 Vue (發(fā)音為 /vju?/,類似 view) 是一款用于 構建用戶界面 的 JavaScript 框架,是官方提供的 基于 Webpack 的 Vue 工具鏈 。它基

    2024年02月04日
    瀏覽(306)
  • 從0搭建Vue3組件庫(十):如何搭建一個 Cli 腳手架

    從0搭建Vue3組件庫(十):如何搭建一個 Cli 腳手架

    本篇文章將實現(xiàn)一個名為 create-easyest 腳手架的開發(fā),只需一個命令 npm init easyest 就可以將整個組件庫開發(fā)框架拉到本地。 首先,我們在 packages 目錄下新建 cli 目錄,同執(zhí)行 pnpm init 進行初始化,然后將包名改為 create-easyest 這里需要知道的是當我們執(zhí)行 npm init xxx 或者 npm create xxx 的

    2024年02月08日
    瀏覽(91)
  • [golang 微服務] 7. go-micro框架介紹,go-micro腳手架,go-micro結合consul搭建微服務案例

    [golang 微服務] 7. go-micro框架介紹,go-micro腳手架,go-micro結合consul搭建微服務案例

    上一節(jié)講解了 GRPC微服務集群 + Consul集群 + grpc-consul-resolver 相關的案例,知道了微服務之間通信采用的 通信協(xié)議 ,如何實現(xiàn) 服務的注冊和發(fā)現(xiàn) ,搭建 服務管理集群 ,以及服務與服務之間的 RPC通信方式 ,具體的內(nèi)容包括: protobuf協(xié)議 , consul 及 docker部署consul集群 , GRPC框架 的

    2024年02月09日
    瀏覽(25)
  • 三、創(chuàng)建腳手架和腳手架分析

    三、創(chuàng)建腳手架和腳手架分析

    1、安裝node.js **下載地址:**https://nodejs.org/zh-cn/ 界面展示 2、檢查node.js版本 查看版本的兩種方式 node -v node -version 出現(xiàn)版本號則說明安裝成功(最新的以官網(wǎng)為準) 3、為了提高我們的效率,可以使用淘寶的鏡像源 輸入: npm install -g cnpm --registry=https://registry.npm.taobao.org 即可安

    2024年02月22日
    瀏覽(25)
  • win系統(tǒng)將腳手架的軟鏈接指向本地腳手架

    win系統(tǒng)將腳手架的軟鏈接指向本地腳手架

    先了解一下腳手架研發(fā)、發(fā)布、安裝、調試發(fā)大致流程: 本地研發(fā),具體研發(fā)過程略 當前目錄下登錄npm npm login 發(fā)布腳手架 npm publish 安裝腳手架 npm i -g xxxx(win系統(tǒng)會在系統(tǒng)盤的nodejs文件夾下自動添加腳手架執(zhí)行命令和執(zhí)行文件) 執(zhí)行腳手架命令,沒問題的話說明整個流程

    2024年02月08日
    瀏覽(42)
  • 設計自己的腳手架

    前言 ? 在工程中,不僅是軟件工程,在建筑行業(yè),我們也經(jīng)常能看到腳手架的概念。腳手架(又稱為 CLI ,全稱 command-line interface ),我理解是一種快速構建項目的工具,它主要提供了項目的基礎結構和一些常用的配置,避免了從頭開始搭建項目的繁瑣工作。通過使用腳手架

    2024年02月16日
    瀏覽(26)
  • React 腳手架

    React 腳手架(React boilerplate)是一種預先設置好的、可以快速啟動 React 項目的工具。腳手架已經(jīng)包含了 React、Webpack、Babel、ESLint、Jest 等一些常用的工具和庫,并已經(jīng)配置好了這些工具的參數(shù),可以直接使用和自定義修改。使用 React 腳手架可以大大加快項目的啟動和開發(fā),同

    2024年02月13日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包