【Golang星辰图】Go语言云计算SDK全攻略:深入Go云存储SDK实践
Go语言云计算和存储SDK全面指南
前言
在当今数字化时代,云计算和存储服务扮演着至关重要的角色,为应用程序提供高效、可靠的基础设施支持。本文将介绍几种流行的Go语言SDK,帮助开发者与AWS、Google Cloud、Azure、MinIO、 阿里云和腾讯云等各大云服务提供商的平台进行交互。
欢迎订阅专栏:Golang星辰图
文章目录
- Go语言云计算和存储SDK全面指南
- **前言**
- 1. aws-sdk-go
- 1.1 提供与AWS云服务交互的功能
- 1.2 支持管理和操作AWS的各种服务
- 1.3 数据传输服务
- 1.4 虚拟私有云(VPC)管理
- 1.5 身份和访问管理(IAM)
- 2. google-cloud-go
- 2.1 提供与Google Cloud服务交互的功能
- 2.2 支持管理和操作Google Cloud的各种服务
- 2.3 云函数部署
- 2.4 数据库访问
- 2.5 云监控和日志管理
- 2.6 人工智能和机器学习
- 3. azure-sdk-for-go
- 3.1 提供与Azure云服务交互的功能
- 3.2 支持管理和操作Azure的各种服务
- 3.3 虚拟机管理
- 3.4 容器服务管理
- 3.5 凭据和安全管理
- 4. minio-go
- 4.1 提供与MinIO对象存储交互的功能
- 4.2 支持上传、下载和管理存储在MinIO中的对象数据
- 4.3 使用Presigned URL进行文件上传
- 5. aliyun-sdk-go
- 5.1 提供与阿里云服务交互的功能
- 5.2 支持管理和操作阿里云的各种服务
- 5.3 弹性计算(ECS)实例管理
- 6. tencentcloud-sdk-go
- 6.1 提供与腾讯云服务交互的功能
- 6.2 支持管理和操作腾讯云的各种服务
- 6.3 云服务器(CVM)实例管理
- 总结
1. aws-sdk-go
1.1 提供与AWS云服务交互的功能
AWS SDK for Go是一个用于构建应用程序,可以无缝访问Amazon Web Services (AWS) 的工具包。它提供了访问 AWS 服务所需的 API 操作、数据结构和错误处理。
package mainimport ("github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/s3""fmt"
)func main() {// 创建 AWS sessionsess := session.Must(session.NewSession(&aws.Config{Region: aws.String("us-west-2"),}))// 创建 S3 服务 clientsvc := s3.New(sess)// 示例:列出 S3 存储桶result, err := svc.ListBuckets(nil)if err != nil {fmt.Println("Error listing buckets", err)return}fmt.Println("Buckets:")for _, bucket := range result.Buckets {fmt.Printf("* %s created on %s\n",aws.StringValue(bucket.Name), aws.TimeValue(bucket.CreationDate))}
}
1.2 支持管理和操作AWS的各种服务
AWS SDK for Go 提供了大量服务的 API 操作,例如 EC2、S3、DynamoDB、Lambda 等。开发者可以使用这些操作来管理和操作不同的 AWS 服务。
1.3 数据传输服务
除了基本存储服务外,AWS SDK for Go还支持数据传输服务,如AWS Transfer Family,可以轻松实现文件传输。
package mainimport ("github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/transfer""fmt"
)func main() {// 创建 AWS sessionsess := session.Must(session.NewSession(&aws.Config{Region: aws.String("us-east-1"),}))// 创建 Transfer 服务 clientsvc := transfer.New(sess)// 示例:创建SFTP服务器input := &transfer.CreateServerInput{IdentityProviderType: aws.String("SERVICE_MANAGED"),EndpointDetails: &transfer.EndpointDetails{VpcEndpointId: aws.String("vpc-123456"),},EndpointType: aws.String("PUBLIC"),}result, err := svc.CreateServer(input)if err != nil {fmt.Println("Error creating server", err)return}fmt.Println("Created server ID:", *result.ServerId)
}
1.4 虚拟私有云(VPC)管理
AWS SDK for Go也支持虚拟私有云(VPC)的管理,包括子网、路由表和安全组等资源的操作。
package mainimport ("github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/ec2""fmt"
)func main() {// 创建 AWS sessionsess := session.Must(session.NewSession(&aws.Config{Region: aws.String("us-west-2"),}))// 创建 EC2 服务 clientsvc := ec2.New(sess)// 示例:列出所有 VPCinput := &ec2.DescribeVpcsInput{}result, err := svc.DescribeVpcs(input)if err != nil {fmt.Println("Error describing VPCs", err)return}fmt.Println("VPCs:")for _, vpc := range result.Vpcs {fmt.Printf("* VPC ID: %s\n", aws.StringValue(vpc.VpcId))}
}
1.5 身份和访问管理(IAM)
AWS SDK for Go也可用于管理身份和访问控制策略,如创建新用户、分配权限等操作。
package mainimport ("github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/iam""fmt"
)func main() {// 创建 AWS sessionsess := session.Must(session.NewSession(&aws.Config{Region: aws.String("us-east-1"),}))// 创建 IAM 服务 clientsvc := iam.New(sess)// 示例:列出 IAM 用户input := &iam.ListUsersInput{}result, err := svc.ListUsers(input)if err != nil {fmt.Println("Error listing IAM users", err)return}fmt.Println("IAM Users:")for _, user := range result.Users {fmt.Printf("* Username: %s\n", aws.StringValue(user.UserName))}
}
2. google-cloud-go
2.1 提供与Google Cloud服务交互的功能
Google Cloud SDK for Go 是 Google Cloud 官方提供的 Go 语言开发库,可用于与 Google Cloud 平台上的各种服务进行交互。
package mainimport ("context""fmt""cloud.google.com/go/storage"
)func main() {ctx := context.Background()// 创建 Storage 客户端client, err := storage.NewClient(ctx)if err != nil {fmt.Println("Failed to create client:", err)return}defer client.Close()// 列出存储桶buckets, err := client.Buckets(ctx, "your-project-id")if err != nil {fmt.Println("Failed to list buckets:", err)return}fmt.Println("Buckets:")for _, bucket := range buckets {fmt.Println(bucket.Name)}
}
2.2 支持管理和操作Google Cloud的各种服务
Google Cloud SDK for Go 支持管理和操作 Google Cloud 平台上的各种服务,如云存储、云函数、云数据库等。
2.3 云函数部署
除了存储服务外,Google Cloud SDK for Go 还支持云函数的部署和管理,使开发者能够轻松构建和运行无服务器函数。
package mainimport ("context""fmt""cloud.google.com/go/functions/metadata"
)// ExamplePubSub function processes Pub/Sub messages.
func ExamplePubSub(ctx context.Context, m metadata.Message) error {fmt.Printf("Processing message: %s\n", string(m.Data))return nil
}
2.4 数据库访问
Google Cloud SDK for Go还支持访问和操作Google Cloud平台上的数据库服务,如Cloud SQL、Firestore等。通过SDK,开发者可以执行数据库查询、写入操作等。
2.5 云监控和日志管理
Google Cloud SDK for Go提供了用于监控和日志管理的功能,可以帮助开发者实时监控应用程序、收集和分析日志数据。
package mainimport ("context""fmt""cloud.google.com/go/logging"
)func main() {ctx := context.Background()// 创建 Logging 客户端client, err := logging.NewClient(ctx, "your-project-id")if err != nil {fmt.Println("Failed to create client:", err)return}defer client.Close()logger := client.Logger("my-log")// 写入日志消息logger.Log(logging.Entry{Payload: "Log message"})
}
2.6 人工智能和机器学习
Google Cloud SDK for Go还支持与Google Cloud平台上的人工智能和机器学习服务集成,包括Vision API、Translate API等,可以轻松处理图像识别、自然语言处理等任务。
package mainimport ("context""fmt""cloud.google.com/go/translate"
)func main() {ctx := context.Background()// 创建 Translate 客户端client, err := translate.NewClient(ctx)if err != nil {fmt.Println("Failed to create client:", err)return}defer client.Close()// 翻译文本translation, err := client.Translate(ctx, []string{"Hello, World!"}, "fr", nil)if err != nil {fmt.Println("Translation error:", err)return}fmt.Println("Translated text:", translation[0].Text)
}
通过以上示例代码,您可以更全面地了解Google Cloud SDK for Go在不同领域的应用。在下一节中,我们将继续探讨更多有关Google Cloud SDK for Go的内容。
3. azure-sdk-for-go
3.1 提供与Azure云服务交互的功能
Azure SDK for Go 是 Microsoft Azure 官方提供的 Go 语言开发库,用于与 Azure 云服务进行交互。
package mainimport ("context""fmt""github.com/Azure/azure-sdk-for-go/storage"
)func main() {accountName := "your-account-name"accountKey := "your-account-key"client, err := storage.NewBasicClient(accountName, accountKey)if err != nil {fmt.Println("Failed to create client:", err)return}service := client.GetBlobService()// 列出容器containers, err := service.ListContainers(context.Background(), nil)if err != nil {fmt.Println("Failed to list containers:", err)return}fmt.Println("Containers:")for _, container := range containers {fmt.Println(*container.Name)}
}
3.2 支持管理和操作Azure的各种服务
Azure SDK for Go 允许您管理和操作 Azure 平台上的各种服务,如 Blob 存储、表存储、虚拟机等。
3.3 虚拟机管理
Azure SDK for Go 还支持对 Azure 平台上的虚拟机进行创建、启动、停止等操作,以满足不同场景下的需求。
package mainimport ("context""fmt""github.com/Azure/azure-sdk-for-go/profiles/latest/compute/mgmt/compute""github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute"
)func main() {vmClient := compute.NewVirtualMachinesClient(subscriptionID)authorizer, err := auth.NewAuthorizerFromCLI()if err != nil {fmt.Println("Failed to get authorization:", err)return}vmClient.Authorizer = authorizer// 示例:列出虚拟机vms, err := vmClient.List(context.Background())if err != nil {fmt.Println("Failed to list virtual machines:", err)return}fmt.Println("Virtual Machines:")for _, vm := range vms.Values() {fmt.Printf("* Name: %s\n", *vm.Name)}
}
3.4 容器服务管理
Azure SDK for Go 提供了对 Azure 容器服务的管理功能,包括容器实例、容器注册表等资源的操作。
package mainimport ("context""fmt""github.com/Azure/azure-sdk-for-go/profiles/latest/containerinstance/mgmt/containerinstance"
)func main() {containerClient := containerinstance.NewContainerGroupsClient(subscriptionID)authorizer, err := auth.NewAuthorizerFromCLI()if err != nil {fmt.Println("Failed to get authorization:", err)return}containerClient.Authorizer = authorizer// 示例:列出容器实例containers, err := containerClient.List(context.Background())if err != nil {fmt.Println("Failed to list container instances:", err)return}fmt.Println("Container Instances:")for _, container := range containers.Values() {fmt.Printf("* Name: %s\n", *container.Name)}
}
3.5 凭据和安全管理
Azure SDK for Go 还支持管理凭据、密钥和安全相关的操作,以确保在 Azure 平台上的服务和资源中的安全性。
package mainimport ("context""fmt""github.com/Azure/azure-sdk-for-go/services/keyvault/v7.0/keyvault"
)func main() {keyVaultClient := keyvault.New()// 设置凭据_, err := keyVaultClient.SetSecret(context.Background(), vaultBaseURL, secretName, secretValue, nil)if err != nil {fmt.Println("Failed to set secret:", err)return}// 获取凭据secretBundle, err := keyVaultClient.GetSecret(context.Background(), vaultBaseURL, secretName, "")if err != nil {fmt.Println("Failed to get secret:", err)return}fmt.Println("Secret Value:", *secretBundle.Value)
}
4. minio-go
4.1 提供与MinIO对象存储交互的功能
MinIO Go SDK 是 MinIO 对象存储服务的 Go 语言开发库,用于在 Go 应用程序中与 MinIO 服务器进行交互。
package mainimport ("fmt""github.com/minio/minio-go/v7""context"
)func main() {endpoint := "play.min.io"accessKeyID := "YOUR-ACCESSKEYID"secretAccessKey := "YOUR-SECRETACCESSKEY"// 初始化MinIO客户端对象minioClient, err := minio.New(endpoint, &minio.Options{Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),})if err != nil {fmt.Println(err)return}// 列出存储桶buckets, err := minioClient.ListBuckets(context.Background())if err != nil {fmt.Println("Failed to list buckets:", err)return}fmt.Println("Buckets:")for _, bucket := range buckets {fmt.Println(bucket.Name)}
}
4.2 支持上传、下载和管理存储在MinIO中的对象数据
MinIO Go SDK 提供了丰富的函数来支持上传、下载和管理存储在 MinIO 对象存储中的对象数据。您可以使用这些函数来处理对象存储的各种操作。
4.3 使用Presigned URL进行文件上传
MinIO Go SDK 还支持生成预签名URL,用于安全地上传和下载对象,无需暴露访问凭据,增加了数据传输的安全性。
package mainimport ("fmt""github.com/minio/minio-go/v7""context"
)func main() {// 创建MinIO客户端对象(假设已初始化)presignedURL, err := minioClient.PresignedPutObject(context.Background(), "mybucket", "object.jpg", expiresIn, nil)if err != nil {fmt.Println("Failed to generate presigned URL:", err)return}fmt.Println("Presigned URL for upload:", presignedURL)
}
5. aliyun-sdk-go
5.1 提供与阿里云服务交互的功能
Aliyun SDK for Go 是阿里云官方提供的 Go 语言开发库,用于与阿里云平台上的各种服务进行交互。
package mainimport ("fmt""github.com/aliyun/alibaba-cloud-sdk-go/services/ecs""github.com/aliyun/alibaba-cloud-sdk-go/sdk""github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
)func main() {client, err := ecs.NewClientWithAccessKey("your-region-id", "your-access-key-id", "your-access-key-secret")if err != nil {fmt.Println("Failed to create client:", err)return}request := ecs.CreateDescribeInstancesRequest()response, err := client.DescribeInstances(request)if err != nil {fmt.Println("Failed to describe instances:", err)return}fmt.Println(response)
}
5.2 支持管理和操作阿里云的各种服务
Aliyun SDK for Go 支持管理和操作阿里云平台上的各种服务,如 ECS、RDS、OSS 等。
5.3 弹性计算(ECS)实例管理
除了上述示例代码中展示的描述实例的操作外,Aliyun SDK for Go 还支持创建、启动、停止、重启 ECS 实例等一系列操作。
package mainimport ("fmt""github.com/aliyun/alibaba-cloud-sdk-go/services/ecs""github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
)func main() {client, err := ecs.NewClientWithAccessKey("your-region-id", "your-access-key-id", "your-access-key-secret")if err != nil {fmt.Println("Failed to create client:", err)return}// 创建ECS实例createRequest := ecs.CreateCreateInstanceRequest()createRequest.InstanceType = "ecs.t5-lc2m1.nano" // 示例值createRequest.ImageId = "ubuntu_18_04_64_20G_alibase_20190624.vhd" // 示例值createResponse, err := client.CreateInstance(createRequest)if err != nil {fmt.Println("Failed to create instance:", err)return}fmt.Println(createResponse)
}
6. tencentcloud-sdk-go
6.1 提供与腾讯云服务交互的功能
Tencent Cloud SDK for Go 是腾讯云官方提供的 Go 语言开发库,用于与腾讯云平台上的各种服务进行交互。
package mainimport ("context""fmt""github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/common""github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/common/profile"cvm "github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
)func main() {credential := common.NewCredential("your-secret-id", "your-secret-key")cpf := profile.NewClientProfile()client, _ := cvm.NewClient(credential, "ap-guangzhou", cpf)request := cvm.NewDescribeInstancesRequest()response, err := client.DescribeInstances(request)if _, ok := err.(*common.APIError); ok {fmt.Printf("An API error has returned: %s", err)return}if err != nil {fmt.Println(err)return}fmt.Println(response.ToJsonString())
}
6.2 支持管理和操作腾讯云的各种服务
Tencent Cloud SDK for Go 允许您管理和操作腾讯云平台上的诸多服务,如云服务器、COS、CDN 等。
6.3 云服务器(CVM)实例管理
除了上述示例代码中展示的描述实例的操作外,Tencent Cloud SDK for Go 还支持创建、启动、停止、查询 CVM 实例等一系列操作。
package mainimport ("context""fmt""github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/common""github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/common/profile"cvm "github.com/TencentCloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
)func main() {credential := common.NewCredential("your-secret-id", "your-secret-key")cpf := profile.NewClientProfile()client, _ := cvm.NewClient(credential, "ap-guangzhou", cpf)createRequest := cvm.NewRunInstancesRequest()createRequest.InstanceChargeType = common.StringPtr("POSTPAID_BY_HOUR")createRequest.Placement = &cvm.Placement{Zone: common.StringPtr("ap-guangzhou-2"),}createRequest.InstanceType = common.StringPtr("S5.LARGE8")response, err := client.RunInstances(createRequest)if err != nil {fmt.Println("Failed to create instance:", err)return}fmt.Println(response.ToJsonString())
}
总结
借助这些强大的Go语言SDK,开发者能够轻松构建应用程序,与各大云服务提供商的平台进行无缝交互,实现任务调度、数据存储、计算处理等功能。这些SDK不仅简化了开发流程,还提供了丰富的API操作,使得开发者能够更便捷地利用云计算和存储服务。
相关文章:
【Golang星辰图】Go语言云计算SDK全攻略:深入Go云存储SDK实践
Go语言云计算和存储SDK全面指南 前言 在当今数字化时代,云计算和存储服务扮演着至关重要的角色,为应用程序提供高效、可靠的基础设施支持。本文将介绍几种流行的Go语言SDK,帮助开发者与AWS、Google Cloud、Azure、MinIO、 阿里云和腾讯云等…...
深入理解TCP:序列号、确认号和自动ACK的艺术
深入理解TCP:序列号、确认号和自动ACK的艺术 在计算机网络的世界里,TCP(传输控制协议)扮演着至关重要的角色。它确保了数据在不可靠的网络环境中可靠地、按顺序地传输。TCP的设计充满智慧,其中序列号(Seq&a…...
家电工厂5G智能制造数字孪生可视化平台,推进家电工业数字化转型
家电5G智能制造工厂数字孪生可视化平台,推进家电工业数字化转型。随着科技的飞速发展,家电行业正迎来一场前所未有的数字化转型。在这场制造业数字化转型中,家电5G智能制造工厂数字孪生可视化平台扮演着至关重要的角色。本文将从数字孪生技术…...
ctf_show笔记篇(web入门---代码审计)
301:多种方式进入 从index.php页面来看 只需要访问index.php时session[login]不为空就能访问 那么就在访问index.php的时候上传login 随机一个东西就能进去从checklogin页面来看sql注入没有任何过滤 直接联合绕过 密码随意 还有多种方式可以自己去看代码分析 30…...
c语言的字符串函数详解
文章目录 前言一、strlen求字符串长度的函数二、字符串拷贝函数strcpy三、链接或追加字符串函数strcat四、字符串比较函数strcmp五、长度受限制字符函数六、找字符串2在字符串1中第一次出现的位置函数strstr七、字符串切割函数strtok(可以切割分隔符)八、…...
HarmonyOS NEXT应用开发—折叠屏音乐播放器方案
介绍 本示例介绍使用ArkUI中的容器组件FolderStack在折叠屏设备中实现音乐播放器场景。 效果图预览 使用说明 播放器预加载了歌曲,支持播放、暂停、重新播放,在折叠屏上,支持横屏悬停态下的组件自适应动态变更。 实现思路 采用MVVM模式进…...
Java项目:55 springboot基于SpringBoot的在线视频教育平台的设计与实现015
作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 在线视频教育平台分为管理员和用户、教师三个角色的权限模块。 管理员所能使用的功能主要有:首页、个人中心、用户管理、教师管理、课程信…...
说下你对TCP以及TCP三次握手四次挥手的理解?
参考自简单理解TCP三次握手四次挥手 什么是TCP协议? TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接&a…...
wsl-oracle 安装 omlutils
wsl-oracle 安装 omlutils 1. 安装 cmake 和 gcc-c2. 安装 omlutils3. 使用 omlutils 创建 onnx 模型 1. 安装 cmake 和 gcc-c sudo dnf install -y cmake gcc-c2. 安装 omlutils pip install omlutils-0.10.0-cp312-cp312-linux_x86_64.whl不需要安装 requirements.txt&…...
Python类属性和对象属性大揭秘!
在Python中,对象和类紧密相连,它们各自拥有一些属性,这些属性在我们的编程中起着至关重要的作用。那么,什么是类属性和对象属性呢?别急,让我慢慢给你解释。 类属性 首先,类属性是定义在类本…...
北斗卫星在桥隧坡安全监测领域的应用及前景展望
北斗卫星在桥隧坡安全监测领域的应用及前景展望 北斗卫星系统是中国独立研发的卫星导航定位系统,具有全球覆盖、高精度定位和海量数据传输等优势。随着卫星导航技术的快速发展,北斗卫星在桥隧坡安全监测领域正发挥着重要的作用,并为相关领域…...
如何通过堡垒机JumpServer使用VisualCode 连接服务器进行开发
前言:应用场景 我们经常会碰到需要远程登录到内网服务器进行开发的场景,一般的做法都是通过VPN登录回局域网,然后配置ftp或者ssh使用开发工具链接到服务器上进行开发。如果没有出现问题,那么一切都正常,但到了出现问题…...
【Linux】进程优先级
🌎进程的优先级 文章目录: 进程状态 优先级相关 什么是优先级 为什么要有优先级 进程的优先级 调整进程优先级 调整优先级 优先级极限测试 Linux的调度与切换 总结 前言: 进程…...
Fair Data Exchange:区块链实现的原子式公平数据交换
1. 引言 2024年斯坦福大学和a16z crypto research团队 论文 Atomic and Fair Data Exchange via Blockchain 中,概述了一种构建(包含过期EIP-4844 blobs的)fair data-markets的协议。该论文源自a16z crypto的暑期实习计划,与四名…...
详解优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器
代码示例在最后。 认识一下ThreadPoolTaskExecutor org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor这是由Sping封装的加强版线程池,其实是Spring使用装饰者模式对ThreadPoolExecutor进一步优化。 它不仅拥有ThreadPoolExecutor所有的核心参数…...
Vue3+TS+Vite 找不到模块“@/components/xxx/xxx”或其相应的类型声明
引入vue文件时文件是存在的,引入路径也是对的,报找不到模块,有一些解决方案是在tsconfig.json里面做一些配置,大家可以自行百度(不知道是不是我百度的不对,我的没有解决)还有一种是在项目根目录…...
Vue3-响应式基础:单文件和组合式文件
单文件:html <!DOCTYPE html> <html> <head><title>响应式基础</title> </head> <body><div id"app" ><!-- dynamic parameter:同样在指令参数上也可以使用一个 JavaScript 表达式,需要包…...
DVWA-File Upload文件上传
什么是文件上传漏洞? 黑客利用文件上传后服务器解析处理文件的漏洞上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。 造成文件上传漏洞的原因: 1.服务器配置不当 2.开源编辑器上传漏洞 3.本地文件上传限制被绕过 4.过滤不严格被…...
python之word操作
#pip install python-docx import docx import os pathos.path.abspath(__file__) file_pathos.path.join(path,"大题.docx") print(path) print(file_path) objdocx.Document("大题.docx") #第一个段落 p1obj.paragraphs[2] # print(p1.text) #所有段落 #…...
Linux下新增有root权限的用户
步骤: 1.以 root 用户身份登录到 CentOS 服务器。 2.使用以下命令创建新用户(将 newuser 替换为您想要创建的用户名): sudo adduser username 3.为新用户设置密码: sudo passwd username 按照提示输入新增用户密码 …...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
