【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 按照提示输入新增用户密码 …...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
