当前位置: 首页 > news >正文

GO 工程下载依赖操作流程(go mod)

1. 写一个main.go文件

package main
import ("fmt""net/http""github.com/ClickHouse/clickhouse-go"
)
func main() {fmt.Println("服务启动......")http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {fmt.Fprintln(w, "hello world")})http.ListenAndServe(":8080", nil)
}

2. 生成go.mod文件

# go mod 初始化
# go mod init 模块名
go mod init github/ztrace
2.1 下载依赖文件到go.mod文件中

有很多依赖,就下载很多依赖,例子就是下载的一个

go get -u github.com/golang/protobuf@1.5.4
//go get -u github.com/gin-gonic/gin
//go get -u github.com/lib/pq

3. 下载依赖生成vendor文件夹

# go mod 删除错误或者不使用的modules
go mod tidy# go mod 生成vendor目录
go mod vendor# go mod 验证依赖是否正确
go mod verify

4. docker 打包镜像部署

4.1 编写Dockerfile
# 基础镜像
FROM golang:alpine
# 环境变量
ENV GO111MODULE=on \CGO_ENABLED=0 \GOOS=linux \GOARCH=amd64 \GOPROXY="https://goproxy.cn,direct"# 切换到app目录
WORKDIR /app
# 将源码复制到app目录
COPY . /appWORKDIR example
# 编译源码
RUN go build -o main
# 暴露端口
EXPOSE 8080
# 运行
CMD ["./main"]
4.2 打包镜像(在Dockerfile 同级目录下)
docker build -t ztrace:1.0.0 .
4.3 docker运行
docker run  -d --name ztrace -p 8080:8080 ztrace:1.0.0 

相关文章:

GO 工程下载依赖操作流程(go mod)

1. 写一个main.go文件 package main import ("fmt""net/http""github.com/ClickHouse/clickhouse-go" ) func main() {fmt.Println("服务启动......")http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Requ…...

[Linux打怪升级之路]-system V共享内存

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…...

STM32不使用 cubeMX实现外部中断

这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意:总结 前言 实验开发板:STM32F103C8T6。所需软件:keil5 , cubeMX 。实验目的:如何不…...

Nautilus Chain 与 Coin98 生态达成合作,加速 Zebec 生态亚洲战略进

目前,行业内首个模块化 Layer3 架构公链 Nautilus Chain 已经上线主网,揭示了模块化区块链领域迎来了全新的进程。在主网上线后,Nautilus Chain 将扮演 Zebec 生态中最重要的底层设施角色,并将为 Zebec APP 以及 Zebec Payroll 规…...

method.isAnnotationPresent(Xxx.class)一直为null

​​​​package com.dj.springtest.aspect;import com.dj.springtest.annotation.RequireRoles; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.s…...

基于CNN实现谣言检测 - python 深度学习 机器学习 计算机竞赛

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 基于CNN实现谣言检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&am…...

MySQL——七、MySQL备份恢复

MySQL 一、MySQL日志管理1、MySQL日志类型2、错误日志3、通用查询日志4、慢查询日志5、二进制日志5.1 开启日志5.2 二进制日志的管理5.3 日志查看5.4 二进制日志还原数据 二、MySQL备份1、备份类型逻辑备份优缺点 2、备份内容3、备份工具3.1 MySQL自带的备份工具3.2 文件系统备…...

iOS如何实现语音转文字功能?

1.项目中添加权限 Privacy - Speech Recognition Usage Description : 需要语音识别权限才能实现语音转文字功能 2.添加头文件 #import <AVFoundation/AVFoundation.h> #import<Speech/Speech.h> 3.实现语音转文字逻辑: 3.1 根据wav语音文件创建请求 SFSpeechU…...

【下载器篇】获取微软应用商店应用安装包的方法

【下载器篇】获取微软应用商店应用安装包的方法 微软应用商店历史版本应用下载方法&#xff0c;部分历史版本无法搜索到—【蘇小沐】 文章目录 【下载器篇】获取微软应用商店应用安装包的方法1.实验环境 &#xff08;一&#xff09;微软商店的在线链接生成器1、复制该应用的在…...

云安全—集群攻击入口攻与防

0x00 前言 说到云安全肯定不能避免的是集群相关的内容&#xff0c;最出色的就是Kubernetes&#xff0c;也就是k8s。当然docker相关的内容也算是集群的一部分。但是docker容器本身的问题还是归属于容器本身。 0x01 概述 在集群攻击入口处的内容主要为&#xff1a; 应用安全恶…...

“传统”开发与AI开发的区别与联系(更新了GPT3.5的反馈)

1、传统开发的算法和软件整体&#xff0c;也可以看成是一个“大模型”&#xff0c;其中有不同层次的处理&#xff0c;最终能够完成从输入到输出的计算&#xff0c;不过&#xff0c;其中的计算都是人工定义的&#xff0c;一般依赖于研究成果的应用。研究成果在实际中的应用处理。…...

Unity 文字显示动画(2)

针对第一版的优化&#xff0c;自动适配文字大小&#xff0c;TextMeshPro可以拓展各种语言。第一版字母类语言效果更好。 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI;public partial class TextBeat…...

力扣每日一题53:最大子数组和

题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,…...

图论04-【无权无向】-图的广度优先遍历

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时&#xff0c;将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时&#xff0c;将…...

layui的一些问题

为什么table.render, ins1.config有时候获取的值是上一次的?例如ins1.conf.page.curr? 这是一段table.render代码 let ins1 table.render({...})一般情况下ins1.conf可以获得表格的当前页,页数等;但是有时候获得的页数是上一次的;主要是因为在table.reload后没有继续赋值的…...

设计模式_中介者模式

中介者模式 介绍 设计模式定义案例问题堆积在哪里解决办法中介者代替了多个对象之间的互动 使对象1 2 3 之间的互动 变为&#xff1a; 对象1->中介 对象2->中介 对象3->中介好友之间 约饭好友1 通知 好友2 -3 -4 等等加一个群 谁想吃饭就 通知一下 类图 代码 角色 …...

062:mapboxGL通过jumpTo方式跳转到某位置

第062个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中通过jumpTo方式跳转到某位置。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共122行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置…...

学成在线第一天-课程内容管理服务搭建以及查询课程接口设计

目录 一、搭建课程内容管理服务 二、设计接口 三、面试题 四、总结 一、搭建课程内容管理服务 没什么好说的&#xff0c;直接就是创建内容模块 然后这个继承父模块&#xff0c;然后再课程内容模块下面创建三个子模块&#xff0c;model、sevice、controller model依赖base…...

4.7 IP多播

思维导图&#xff1a; **4.7.1 IP多播的基本概念** --- **1. 定义和背景** - IP多播&#xff1a;从一个源点发送信息至多个终点的技术。 - 1988年&#xff1a;Steve Deering首次提及IP多播。 - 1992年&#xff1a;IETF进行了首次IP多播试验&#xff0c;当时有20个网点参与。 …...

XML与html解析,区别,如何使用

目录 简介: HTML&#xff08;超文本标记语言&#xff09;&#xff1a; 如何使用HTML&#xff1a; XML&#xff08;可扩展标记语言&#xff09;&#xff1a; 如何使用XML&#xff1a; 区别&#xff1a; 简介: XML&#xff08;可扩展标记语言&#xff09;和 HTML&#xff…...

2026年AI圈薪资大揭秘:手握大模型技能,年薪百万只是起点!

文章揭示了2025年AI领域的高薪现状&#xff0c;指出“大模型算法”等核心技能可使月薪达到7万&#xff0c;年薪百万成为常态。文章分析了高薪原因&#xff0c;包括人才供需失衡、政策与热钱的推动以及技术红利窗口期。此外&#xff0c;文章还详细介绍了五大高薪AI岗位及其必备技…...

从阶乘逆元到组合数计算:一个公式打通LeetCode刷题效率瓶颈

从阶乘逆元到组合数计算&#xff1a;一个公式打通LeetCode刷题效率瓶颈 在算法竞赛和LeetCode刷题中&#xff0c;组合数计算是许多动态规划和数论问题的核心操作。想象一下这样的场景&#xff1a;你正在解决一个需要频繁计算C(n, m) mod p的问题&#xff0c;每次调用都要重新计…...

别再只盯着参数了!手把手教你为项目选对Intel RealSense D400系列相机(D415/D435/D455对比)

别再只盯着参数了&#xff01;手把手教你为项目选对Intel RealSense D400系列相机 在机器人导航、工业检测或三维重建项目中&#xff0c;选择一款合适的深度相机往往让人头疼。Intel RealSense D400系列凭借成熟的立体视觉技术和丰富的型号选择&#xff0c;成为许多开发者的首选…...

保姆级教程:用MQTTX和Node-RED搭建你的第一个物联网中控台(ESP32 + Blinker实战)

从零构建物联网中控台&#xff1a;MQTTXNode-REDESP32全链路实战 当你的智能家居设备超过5个时&#xff0c;是否经常遇到这些困扰&#xff1f;手机里装着七八个控制APP&#xff0c;温湿度传感器数据散落在不同平台&#xff0c;设备联动需要反复切换应用… 这正是我们需要构建本…...

Harepacker-resurrected终极指南:深度解析MapleStory游戏资源编辑全流程

Harepacker-resurrected终极指南&#xff1a;深度解析MapleStory游戏资源编辑全流程 【免费下载链接】Harepacker-resurrected All in one .wz file/map editor for MapleStory game files 项目地址: https://gitcode.com/gh_mirrors/ha/Harepacker-resurrected Harepac…...

NVIDIA Container Toolkit失效、nvidia-smi不可见、AI模型加载卡死——Docker AI调试三重门全拆解

第一章&#xff1a;NVIDIA Container Toolkit失效、nvidia-smi不可见、AI模型加载卡死——Docker AI调试三重门全拆解当容器内执行 nvidia-smi 返回 command not found 或空白输出&#xff0c;PyTorch/TensorFlow 加载模型时卡在 torch.cuda.is_available() 或显存分配阶段&…...

STM32开发者必看:OpenBLT Bootloader移植避坑指南(Keil环境实战)

STM32开发者必看&#xff1a;OpenBLT Bootloader移植避坑指南&#xff08;Keil环境实战&#xff09; 在嵌入式系统开发中&#xff0c;Bootloader的重要性不言而喻。它不仅是系统启动的第一道关卡&#xff0c;更是实现远程固件升级的关键组件。对于STM32开发者而言&#xff0c;O…...

3分钟掌握Xbox控制器性能测试:XInputTest终极指南

3分钟掌握Xbox控制器性能测试&#xff1a;XInputTest终极指南 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 想要知道你的游戏手柄是否真的"零延迟"吗&#xff1…...

别再从头训练了!DeepFaceLab模型复用实战:用旧项目快速打造新视频

DeepFaceLab模型复用实战&#xff1a;用旧项目加速新视频创作 看着屏幕上那个已经训练了整整两周的模型&#xff0c;我突然意识到一个严重问题——如果每次换新人物都要从头开始&#xff0c;这样的效率根本无法满足客户需求。去年接手商业项目时&#xff0c;我曾固执地认为每个…...

Hive数据导入的5种正确姿势:从本地文件到HDFS,手把手教你高效加载TB级数据

Hive数据导入的5种核心方法&#xff1a;从基础操作到TB级优化实战 当你面对一个装满数据的仓库&#xff0c;第一件事是什么&#xff1f;没错&#xff0c;就是把货物搬进去。在数据仓库的世界里&#xff0c;Hive就是这个仓库&#xff0c;而数据导入就是最关键的"搬货"…...