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

Golang 构建学习

Golang 构建学习

如何搭建Golang开发环境

1. 下载GOlang包

  1. https://golang.google.cn/dl/ 在地址上下载Golang

2. 配置包环境

  1. 修改全局环境变量,GOPROXY,GOPATH,GOROOT
GOPROXY=https://goproxy.cn,direct
GOROOT="" // go二进制文件的路径
  1. mkdir project 创建项目文件
  2. go mod init project 创建包模块
  3. go get xxxxx 获取第三方包

如何让程序运行起来

// main.go
package mainimport "fmt"func main(){fmt.Println("hello world")
}
  • go run main.go 执行程序运行
  • 程序的入口,要使用package main表示为主要入口,入口函数为func main
  • import "fmt"在使用包需要引入,如果是自定义的包,则从自己初始化的模块project开始,例如:go mod init project
  • fmt.Println 打印日志,包中对外提供的接口,是要求首字母大写来表示的

如何编写函数

func (file *File) Write(b []byte) (n int, err error){}  // 1 example
func Write(b []byte) (int, error) {return 0, nil} // 2 example
func nextInt(b []byte, pos int) (value, nextPos int) { return 0, 0} // 3 example
// ---------多值输入-----------------
func MyPrint(words ...string){for _, w := range words{fmt.Println(w)}
}
MyPrint("ab", "cd", "ef")
// ---------End----------------------
// ----------值传递和指针传递---------------
var a = 5
func changeWithValue(b int){b = 4
}
func changeWithPoint(b *int){*b = 4
}changeWithValue(a)  // a is 5
changeWithPoint(&a) // a is 4

第一个例子:
第一个括号是类的实例句柄file,调用这个函数的只能是File类,首字母大写表示对外的接口。
第二个括号表示的输入参数,表示字节数组类型
第三个括号表示的输出参数,第一个输出参数为int类型,第二个输出参数为error类型

第二个例子:
没有第一个括号的类声明,函数首字母大写说明是模块对外的接口调用
第二个括号是输入参数的声明
第三个括号是输出参数的声明,注意这个没有向上面例子中提前声明返回值变量,需要在函数体中{},声明返回值变量

第三个例子:
与以上雷同,区别在于返回值,如果两个相同类型的返回值,则可以采用省略的写法v1, v2 int

多值输入例子:
注意Myprint函数的定义与调用处。
函数定义: 2个以上的相同参数,可以使用...string声明类型,承载的是[]string数组
函数调用: (str1, str2, str3)

值传递和引用传递
值传递:函数中使用的是被复制的值,不影响外部数据
引用传递: 函数中使用的是指向值的指针地址,通过函数修改传递的数据

注意上面的用法: 指针声明*int和 地址传递&a

如何导入函数

如果是创建的项目,执行go mod init project,项目内的模块引入,则通过project.module引入
函数如果是在模块内部,也就是同一个package目录下,则不同导入,直接调用就行
函数如果是要被外部模块调用,一律首字母要大写,并且模块先要被引入

import _ "net/http/pprof"不以模块的方式调用,模块下的对外函数全引入

如何构建多平台的二进制文件

BINARY_NAME=myproject
VERSION=v2.1.0
BUILD_TIME=$(shell date +'%Y.%m.%d %H:%M:%S')
LDFLAGS="-s -w -X main.version=$(VERSION) -X 'main.buildTime=$(BUILD_TIME)'"swag:swag init cmd/server.go -o docs# sed -i '/LeftDelim/d' ./docs/docs.go# sed -i '/RightDelim/d' ./docs/docs.gobuild:        env GO111MODULE=on GOPROXY=https://proxy.golang.com.cn,direct go mod tidyenv GO111MODULE=on GOPROXY=https://proxy.golang.com.cn,direct go mod vendorenv GO111MODULE=on GOPROXY=https://goproxy.io,direct CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags $(LDFLAGS) -o bin/$(BINARY_NAME) cmd/server.goenv GO111MODULE=on GOPROXY=https://goproxy.io,direct CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags $(LDFLAGS) -o bin/$(BINARY_NAME).mac cmd/server.goenv GO111MODULE=on GOPROXY=https://goproxy.io,direct CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags $(LDFLAGS) -o bin/$(BINARY_NAME).exe cmd/server.goupx -9 bin/yxapi
clean:rm bin/$(BINARY_NAME)rm bin/$(BINARY_NAME).macrm bin/$(BINARY_NAME).exe

参考以上的代码,即可创建多个平台二进制文件

构建Web开发

Web开发虽然可以用多种不同的语言实现,但是基本的理论是一致的,比如鉴权,路由,数据库抽象,参数校验,mvc分层等等。

1. 如何组织代码

目录结构如下:
Project

  • bin go build构建的输出目录
  • cmd 二进制命令程序
    • server.go 服务的启动程序
  • configs 配置目录
    • *.sql 初始化的二进制文件
    • config.yaml 配置文件
    • mongo.go mongo的配置结构
    • mysql.go mysql配置结构
    • redis.go redis配置结构
    • server.go 服务的配置结构
  • docker
    • README.md
  • docs 此目录由swag init生成
  • internal 服务的内容模块
    • controllers MVC结构的Controller
    • middlewares 服务的中间件
      • auth.go
      • cors.go
      • errorHandle.go
    • modles 数据模型 MVC结构的模型层
    • pkg 业务之外的基础库,基础库不应该包含业务逻辑
      • logger
      • mongo
      • token
    • router 项目的服务路由
      • router.go
    • services 服务模块,通常是控制层调用此服务层,服务层调用模型层
      • devices.go
  • logs 日志输出文件
  • go.mod
  • Makefile
  • README.md

以上目录结构,主要参考的此作者的Githubsanjayheaven

2. 开发过程中的关键概念有哪些

参考Gin web Framework
罗列关键概念如下:

  1. 解析请求
    1. form表单数据
    2. body数据
    3. 路由参数的设置
  2. 输入参数校验与模型化
  3. 多个路由组
  4. 使用中间件
  5. 响应处理
  6. 重定向
  7. Cookie与Token处理
  8. 上传文件

3. 如何判定是否有必要创建模块

4. 如何设计模块

5. 如何使用swager模块

  1. go install github.com/swaggo/swag/cmd/swag@latest 安装swag工具
  2. swag init -g cmd/server.go -o docs 从主文件导入并初始化目录到docs目录下

如何进行描述呢

// @Tags 设备
// @Summary 某一个设备类型下的所有设备
// @Description  某一个设备类型下的所有设备
// @Param l query int false "记录条数"
// @Param type query string false "设备类型"
// @Param online query string false "在线与否(只支持all)"
// @Param search_key query string false "搜索关键词(不支持)"
// @Success 200 {object} nil
// @Router /api/xxx/device [get]
func (dc *DeviceController) DeviceTypeList(c *gin.Context){return c.JSON(http.StatusOK, "hello world")
}

针对输入参数,由querypath,formData

Token 生成

  • Token 生成

持续更新中…

相关文章:

Golang 构建学习

Golang 构建学习 如何搭建Golang开发环境 1. 下载GOlang包 https://golang.google.cn/dl/ 在地址上下载Golang 2. 配置包环境 修改全局环境变量,GOPROXY,GOPATH,GOROOT GOPROXYhttps://goproxy.cn,direct GOROOT"" // go二进…...

OpenCV相机标定与3D重建(7)鱼眼镜头立体校正的函数stereoRectify()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::fisheye::stereoRectify 是 OpenCV 中用于鱼眼镜头立体校正的函数。该函数计算两个相机之间的校正变换,使得从两个相机拍摄的图像…...

JVM_垃圾收集器详解

1、 前言 JVM就是Java虚拟机,说白了就是为了屏蔽底层操作系统的不一致而设计出来的一个虚拟机,让用户更加专注上层,而不用在乎下层的一个产品。这就是JVM的跨平台,一次编译,到处运行。 而JVM中的核心功能其实就是自动…...

数据结构4——栈和队列

目录 1.栈 1.1.栈的概念及结构 1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 1.栈 1.1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为…...

【AIGC】大模型面试高频考点-数据清洗篇

【AIGC】大模型面试高频考点-数据清洗篇 (一)常用文本清洗方法1.去除无用的符号2.去除表情符号3.文本只保留汉字4.中文繁体、简体转换5.删除 HTML 标签和特殊字符6.标记化7.小写8.停用词删除9.词干提取和词形还原10.处理缺失数据11.删除重复文本12.处理嘈…...

Java基于SSM框架的跑腿平台小程序【附源码、文档】

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…...

数据库连接池

在Java的多线程中,有线程池负责线程管理,类似线程池,在数据库中也有数据库连接池,负责数据库连接的管理。数据库连接池是一个容器。负责分配、管理数据库连接(Connection)。它允许应用程序重复使用一个现有…...

本地部署 WireGuard 无需公网 IP 实现异地组网

WireGuard 是一个高性能、极简且易于配置的开源虚拟组网协议。使用路由侠内网穿透使其相互通讯。 第一步,服务端(假设为公司电脑)和客户端(假设为公司外的电脑)安装部署 WireGuard 1,点此下载(…...

Educator头歌:离散数学 - 图论

第1关&#xff1a;图的概念 任务描述 本关任务&#xff1a;学习图的基本概念&#xff0c;完成相关练习。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;图的概念。 图的概念 1.一个图G是一个有序三元组G<V,R,ϕ>&#xff0c;其中V是非空顶点集合&am…...

axios的认识与基本使用

axios简介 Axios 是一个基于 promise 网络请求库&#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 主要特点 从浏览器创建 XML…...

springboot358智慧社区居家养老健康管理系统(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 智慧社区居家养老健康管理系统设计与实现 摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&…...

java-a+b 开启java语法学习

代码 &#xff08;ab) import java.util.Scanner; //导入 java.util包中的Scanner 类&#xff0c;允许读取键盘输入数据public class Main { // 创建一个公共类 Mainpublic static void main(String[] args) {//程序入口点&#xff0c;main方法Scanner scanner new Scanner(…...

SpringAi整合免费大模型(NVIDIA)

接上回&#xff0c;发布了springAI整合本地大模型之后&#xff0c;我们来看看怎么去利用别人已经训练好的大模型。 如果对整合本地大模型感兴趣的&#xff0c;请阅读&#xff1a; SpringAI集成本地AI大模型ollama&#xff08;调用篇&#xff09;非常简单&#xff01;&#xf…...

Flutter中的Future和Stream

在 Flutter 中&#xff0c;Future 和 Stream 都是用于处理异步操作的类&#xff0c;它们都基于 Dart 的异步编程模型&#xff0c;但是它们的使用场景和工作方式有所不同。以下是它们的区别以及各自适用的场景。 目录 一、Future1、基本使用2、异常处理1. catchError2. onError…...

Python将Excel文件转换为JSON文件

工作过程中,需要从 Excel 文件中读取数据,然后交给 Python 程序处理数据,中间需要把 Excel 文件读取出来转为 json 格式,再进行下一步数据处理。 这里我们使用pandas库,这是一个强大的数据分析工具,能够方便地读取和处理各种数据格式。需要注意的是还需要引入openpyxl库,…...

MySQL中EXPLAIN的介绍、作用、字段含义

MySQL中EXPLAIN的介绍、作用、字段含义 在MySQL中&#xff0c;EXPLAIN 是一个非常有用的命令&#xff0c;它可以帮助开发者和DBA理解查询执行计划&#xff0c;从而优化查询性能。EXPLAIN 可以模拟优化器执行SQL查询语句&#xff0c;而不真正执行这条语句&#xff0c;从而帮助用…...

Socket编程:UDP网络编程项目

目录 一、回显服务器 二、翻译器 三、聊天室 一、回显服务器 项目介绍&#xff1a;使用UDPIPv4协议进行Linux网络编程&#xff0c;实现回显服务器和客户端 功能介绍&#xff1a;客户端发送数据&#xff0c;经过服务端再返回到客户端&#xff0c;输出数据 源代码&#xff1…...

uniapp echarts tooltip formation 不识别html

需求&#xff1a; echarts 的tooltip 的域名太长&#xff0c;导致超出屏幕 想要让他换行 思路一&#xff1a; 用formation自定义样式实现换行 但是&#xff1a; uniapp 生成微信小程序&#xff0c; echart种的tooltip 的formation 识别不了html &#xff0c;自定义样式没办…...

从0开始linux(39)——线程(2)线程控制

欢迎来到博主的专栏&#xff1a;从0开始linux 博主ID&#xff1a;代码小豪 文章目录 线程创建线程标识符线程参数多线程竞争资源 回收线程detach 线程退出pthread_cancel 线程创建 线程创建的函数为pthread_create。该函数是包含在posix线程库当中&#xff0c;posix线程是C语言…...

对载入的3dtiles进行旋转、平移和缩放变换。

使用 params: {tx: 129.75845, //模型中心X轴坐标&#xff08;经度&#xff0c;单位&#xff1a;十进制度&#xff09;//小左ty: 46.6839, //模型中心Y轴坐标&#xff08;纬度&#xff0c;单位&#xff1a;十进制度&#xff09;//小下tz: 28, //模型中心Z轴坐标&#xff08;高…...

YOLO模型训练后的best.pt和last.pt区别

在选择YOLO模型训练后的权重文件best.pt和last.pt时&#xff0c;主要取决于具体的应用场景‌&#xff1a;‌12 ‌best.pt‌&#xff1a;这个文件保存的是在训练过程中表现最好的模型权重。通常用于推理和部署阶段&#xff0c;因为它包含了在验证集上表现最好的模型权重&#x…...

Qt 项目中同时使用 CMAKE_AUTOUIC 和 UiTools 的注意事项

在 Qt 项目开发中&#xff0c;.ui 文件是界面设计的重要组成部分。开发者可以通过两种主要方式使用 .ui 文件&#xff1a; 编译期处理&#xff1a;通过 Qt 的 uic 工具将 .ui 文件转化为 C 代码&#xff08;ui_xxx.h&#xff09;&#xff0c;静态绑定到项目中。运行时动态加载…...

不玩PS抠图了,改玩Python抠图

网上找了两个苏轼的印章图片&#xff1a; 把这两个印章抠出来的话&#xff0c;对于不少PS高手来说是相当容易&#xff0c;但是要去掉其中的水印&#xff0c;可能要用仿制图章慢慢描绘&#xff0c;图章的边缘也要慢慢勾画或者用通道抠图之类来处理&#xff0c;而且印章的红色也不…...

ubuntu 22.04 mini 安装,在配置网络时重启后配置文件被重置原因与解决方法

在 /etc/netplan/50-cloud-init.yaml 配置文件中有一段注释中有说明 rootlocalhost:/etc/netplan# cat 50-cloud-init.yaml # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disab…...

【Go底层】time包Ticker定时器原理

目录 1、背景2、go版本3、源码解释【1】Ticker结构【2】NewTicker函数解释 4、代码示例5、总结 1、背景 说到定时器我们一般想到的库是cron&#xff0c;但是对于一些简单的定时任务场景&#xff0c;标准库time包下提供的定时器就足够我们使用&#xff0c;本篇文章我们就来研究…...

mac下Gpt Chrome升级成GptBrowser书签和保存的密码恢复

cd /Users/自己的用户名/Library/Application\ Support/ 目录下有 GPT\ Chrome/ Google/ GptBrowser/ GPT\ Chrome 为原来的chrome浏览器的文件存储目录. GptBrowser 为升级后chrome浏览器存储目录 书签所在的文件 Bookmarks 登录账号Login 相关的文件 拷贝到GptBrow…...

[Redis#6] list | 命令 | 应用 | 消息队列 | 微博 Timeline

目录 List 列表 特点 2. 命令 头插和尾插 下标 range 查询 头删和尾删 LINSERT LLEN LREM LTRIM LSET 阻塞命令 BLPOP BRPOP 操作 总结 3. 内部编码 ziplist&#xff08;压缩列表&#xff09; linkedlist&#xff08;链表&#xff09; ✔️quicklist(快速链…...

服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例

服务器存储数据恢复环境&#xff1a; 存储中有一组由12块硬盘组建的RAID6阵列&#xff0c;上层linux操作系统EXT3文件系统&#xff0c;该存储划分3个LUN。 服务器存储故障&分析&#xff1a; 存储中RAID6阵列不可用。为了抢救数据&#xff0c;运维人员使用原始RAID中的部分…...

Xcode15(iOS17.4)打包的项目在 iOS12 系统上启动崩溃

0x00 启动崩溃 崩溃日志&#xff0c;只有 2 行&#xff0c;看不出啥来。 0x01 默认配置 由于我开发时&#xff0c;使用的 Xcode 14.1&#xff0c;打包在另外一台电脑 Xcode 15.3 Xcode 14.1 Build Settings -> Asset Catalog Compliter - Options Xcode 15.3 Build S…...

Netty的心跳机制怎么实现的?

大家好&#xff0c;我是锋哥。今天分享关于【Netty的心跳机制怎么实现的&#xff1f;】面试题。希望对大家有帮助&#xff1b; Netty的心跳机制怎么实现的&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty 的心跳机制用于维持客户端和服务器之间的…...

常用函数的使用错题汇总

目录 new/delete malloc/free1. 语言和类型2. 内存分配3. 内存释放4. 安全性和类型安全5. 其他特性总结 线程停止文件流 new/delete malloc/free malloc/free 和 new/delete 是 C/C 中用于动态内存管理的两种方式&#xff0c;它们有一些重要的区别。以下是这两种方式的比较&…...

使用 `aircrack-ng`扫描、获取握手包

使用 aircrack-ng 工具集来扫描 5GHz WiFi 网络的过程与扫描 2.4GHz 网络类似&#xff0c;但需要注意一些特定的配置和命令。以下是一个详细的步骤指南&#xff0c;帮助你在 5GHz 频段上扫描 WiFi 网络并捕获握手包。 ### 前提条件 1. **操作系统**&#xff1a;通常在 Linux 系…...

css—轮播图实现

一、背景 最近和朋友在一起讨论的时候&#xff0c;我们提出了这样的一个提问&#xff0c;难道轮播图的效果只能通过js来实现吗&#xff1f;经过我们的一系列的争论&#xff0c;发现了这是可以通过纯css来实现这一效果的&#xff0c;CSS轮播图也是一种常见的网页展示方式&#x…...

Ardusub源码剖析(1)——AP_Arming_Sub

代码 AP_Arming_Sub.h #pragma once#include <AP_Arming/AP_Arming.h>class AP_Arming_Sub : public AP_Arming { public:AP_Arming_Sub() : AP_Arming() { }/* Do not allow copies */CLASS_NO_COPY(AP_Arming_Sub);bool rc_calibration_checks(bool display_failure)…...

ESP32-S3模组上跑通ES8388(10)

接前一篇文章&#xff1a;ESP32-S3模组上跑通ES8388&#xff08;9&#xff09; 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第3段代码&#xff08;也是实际与ES8388寄存器打交道的第1段代码&#xff09;&#xff0c;本回继续往下解析。为了便于理…...

AI/ML 基础知识与常用术语全解析

目录 一.引言 二.AI/ML 基础知识 1.人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09; (1).定义 (2).发展历程 (3).应用领域 2.机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09; (1).定义 (2).学习方式 ①.监督学习 ②.无监督…...

【C#设计模式(15)——命令模式(Command Pattern)】

前言 命令模式的关键通过将请求封装成一个对象&#xff0c;使命令的发送者和接收者解耦。这种方式能更方便地添加新的命令&#xff0c;如执行命令的排队、延迟、撤销和重做等操作。 代码 #region 基础的命令模式 //命令&#xff08;抽象类&#xff09; public abstract class …...

Could not resolve com.android.tools.build:gradle:7.4.2.

Android Studio编译项目报错如下&#xff0c;始终无法下载解析7.4.2的gradle classpath A problem occurred configuring root project aistudyclient_questionlib. > Could not resolve all files for configuration :classpath.> Could not resolve com.android.tools…...

uniapp在App端定义全局弹窗,当打开关闭弹窗会触发onShow、onHide生命周期怎么解决?

在uniapp(App端)中实现自定义弹框&#xff0c;可以通过创建一个透明页面来实现。点击进入当前页面时&#xff0c;页面背景会变透明&#xff0c;用户可以根据自己的需求进行自定义&#xff0c;最终效果类似于弹框。 遇到问题&#xff1a;当打开弹窗(进入弹窗页面)就会触发当前页…...

2024 ccpc 辽宁省赛 E(构造 思维?)L(二分+一点点数论知识?)

E 题意&#xff1a; 可以注意到&#xff1a; 我的两种方格都四个方格的大小。 所以 如果存在一种摆放方式 那么 4|nm。 再考虑一种特殊的情况 22 &#xff0c;此时虽然我的积是4 但是无法摆放的。 1>对于 4 | n,或者 4 | m.我直接摆放第二种方格就可以了。 如果我n 是4 的…...

IIC 随机写+多次写 可以控制写几次

verilog module icc_tx#(parameter SIZE 2 , //用来控制写多少次 比如地址是0000 一个地址只能存放8bit数据 超出指针就会到下一个地址0001parameter CLK_DIV 50_000_000 ,parameter SPEED 100_000 ,parameter LED 50 )( input wire c…...

基于SpringBoot+Vue的汽车票网上预订系统-无偿分享 (附源码+LW+调试)

目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 &#xff08;1&#xff09;公告信…...

net9 abp vnext 多语言通过数据库动态管理

通过数据库加载实现动态管理&#xff0c;用户可以自己修改界面显示的文本&#xff0c;满足国际化需求 如图所示,前端使用tdesign vnext 新建表TSYS_Localization与TSYS_LocalizationDetail 国旗图标下载网址flag-icons: Free Country Flags in SVG 在Shared下创建下图3个文件 …...

pip安装github上的开源软件包

1、若本机中安装的有git&#xff0c;可使用githttps方式安装 # 以安装pyfolio软件包为例,安装指令如下 pip install githttps://github.com/quantopian/pyfolio.git 2、若本机中没有安装git&#xff0c;可以直接使用软件包的zip地址进行安装 # 以安装pyfolio软件包为例,安装…...

【LeetCode刷题之路】120:三角形最小路径和的两种解法(动态规划优化)

LeetCode刷题记录 &#x1f310; 我的博客主页&#xff1a;iiiiiankor&#x1f3af; 如果你觉得我的内容对你有帮助&#xff0c;不妨点个赞&#x1f44d;、留个评论✍&#xff0c;或者收藏⭐&#xff0c;让我们一起进步&#xff01;&#x1f4dd; 专栏系列&#xff1a;LeetCode…...

架构04-透明多级分流系统

零、文章目录 架构04-透明多级分流系统 1、透明多级分流系统 &#xff08;1&#xff09;概述 **定义&#xff1a;**透明多级分流系统是指在用户请求从客户端发出到最终查询或修改数据库信息的过程中&#xff0c;通过多个技术部件对流量进行合理分配&#xff0c;以提高系统的…...

云原生后端开发:构建现代化可扩展的服务

随着微服务架构的普及和容器化技术的成熟&#xff0c;云原生后端开发成为了构建现代化、可扩展系统的关键。本文将从云原生理念出发&#xff0c;结合实际案例&#xff0c;探讨如何使用 Kubernetes、服务网格、微服务架构等技术构建高效的云原生后端。 一、云原生的核心理念 1.…...

在Windows和Linux系统上获取网卡MAC地址及相关信息所有常用方法整理

摘要 在网络管理和故障排除中&#xff0c;了解如何获取网卡的MAC地址、IP地址以及网卡名称是系统管理员必备的技能。本文将介绍在Windows和Linux系统上手动获取网卡MAC地址的方法&#xff0c;并提供脚本以自动化获取服务器中网卡信息的过程。这些技巧和工具将帮助新手系统管理…...

制作苹果IOS.APP所使用步骤和方法-有步骤视情况待完善

1.获取开发工具 首先&#xff0c;您需要下载并安装Xcode。Xcode是苹果开发iOS和macOS应用程序的官方集成开发环境&#xff08;IDE&#xff09;。它包含了必要的工具&#xff0c;例如代码编辑器、调试器、编译器和界面构建器。Xcode可在Mac App Store中免费下载。 2.学习Swift或…...

【conda】全面解析 Conda 配置文件:从完整示例到最佳实践

目录 引言一、Conda 配置文件示例1.1 中英文注释示例1.2 文件编码格式 二、详细解释2.1 ssl_verify: true2.2 channels2.3 envs_dirs2.4 pkgs_dirs2.5 custom_channels2.6 remote_read_timeout_secs 和 remote_connect_timeout_secs2.7 show_channel_urls2.8 default_packages2…...