太阳上的雨天
执着于理想,纯粹于当下
太阳上的雨天
C/C++、Go、JAVA、PHP、VUE
展开
-
波场(Tron)开发demo - go 语言 GRPC版
【代码】波场(Tron)开发demo - go 语言 GRPC版。原创 2023-04-08 17:35:30 · 996 阅读 · 0 评论 -
GO 操作 MongoDB
GO 操作 MongoDB原创 2022-12-23 17:11:26 · 393 阅读 · 0 评论 -
基于go-zero、xorm实现的云盘文件存储系统
基于go-zero、xorm实现的云盘文件存储系统本文代码地址:https://github.com/jeffcail/go-cloud-storage。原创 2022-12-21 20:08:24 · 839 阅读 · 0 评论 -
基于echo框架,搭建一个最好用的脚手架echo-scaffolding
基于echo框架,搭建一个最好用的脚手架。原创 2022-11-20 14:18:18 · 113 阅读 · 0 评论 -
Go实现随机、轮训、权重、哈希负载均衡
负载均衡(Load Balance,简称 LB)是高并发、高可用系统必不可少的关键组件,目标是 尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性高并发:负载均衡通过算法调整负载,尽力均匀的分配应用集群中各节点的工作量,以此提高应用集群的并发处理能力(吞吐量)。伸缩性:添加或减少服务器数量,然后由负载均衡进行分发控制。这使得应用集群具备伸缩性。高可用:负载均衡器可以监控候选服务器,当服务器不可用时,自动跳过,将请求分发给可用的服务器。这使得应用集群具备高可用的特性。原创 2022-11-16 16:23:40 · 977 阅读 · 0 评论 -
Go 封装Api 统一数据返回格式
在项目开发中统一封装Api数据格式返回给前端这是最基本和常见的。这里以Echo框架为例。原创 2022-11-16 14:55:47 · 706 阅读 · 0 评论 -
Go 实现对返回的map进行分页
根据业务场景需要,API接口可能需要对一个map类型的数据进行json序列化返回给前端,当map中的key过多时,也是需要分页的。原创 2022-11-16 14:19:22 · 318 阅读 · 0 评论 -
Go 封装http请求包Get、Post
之前已经封装过包.今天再把项目中经常会用到的一个技术封装成包,记录下来,仅供需要的小伙伴学习参考go如何封装包给别人和自己使用。有需要的小伙伴也可以在自己的项目中直接使用此包。这里小编以github为例 (go的很多第三方包都在github上),其他平台大同小异。原创 2022-11-12 03:01:11 · 1360 阅读 · 0 评论 -
Go 控制Goroutine的数量
Goroutine虽然体量很小(2kb),理论可以开启上百万个Goroutine。一旦Goroutine过多,会占用大量的cpu 内存,可能导致服务器速度变慢甚至服务挂掉。先看一下不控制Goroutine数量,看能跑多少。如何控制Goroutine。原创 2022-11-11 10:04:47 · 517 阅读 · 0 评论 -
Go实现udp服务
画dp 被称为用户数据报协议(UDP,User Datagram Protocol。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。音视频通话、游戏、工业物联网传感器等。原创 2022-11-05 13:04:24 · 1365 阅读 · 0 评论 -
Go 处理粘包拆包
首先会写入一个自定义的消息头写入消息内容的长度写入消息拆包 先读自定义的消息头,在读指定长度的消息完整代码地址: https://github.com/jeffcail/tcp-unpack。原创 2022-11-05 11:10:04 · 702 阅读 · 0 评论 -
Go 区块链 Input Data 解析
0000000000000000000000000000000000000000000054b7d8ed70650b290000: 第二个参数为 value 即你要转账的数量,并补位到 32 字节即 64 个 16 进制字符。正常情况下简单的消息调用如调用转账函数时需要填写你要转账的地址 _to 和你要转账的数量 _amount,这些基本信息都包含在 input data 里面。在以太坊协议中,当交易(transaction)为合约创建时,input data 是账户初始化程序的 EVM 代码;原创 2022-10-31 10:10:29 · 1585 阅读 · 0 评论 -
Go *big.Int类型比大小
在进行TRX转账之前,需要比余额和转账金额的大小. aBalance 余额 tBlance转账金额 同为big.Int类型。aBalance < tBlance 返回 -1。aBalance > tBlance 返回 1。aBalance = tBlance 返回 0。使用big.Int.Cmp函数。原创 2022-10-13 11:16:40 · 613 阅读 · 0 评论 -
go 实现波场(Tron) 离线生成地址和私钥
【代码】go 实现波场(Tron) 离线生成地址和私钥。原创 2022-10-13 11:15:57 · 3303 阅读 · 7 评论 -
go 实现波场(Tron)(TRX)地址转换
go 实现波场(Tron)(TRX)地址转换原创 2022-10-13 11:14:52 · 2276 阅读 · 0 评论 -
Go网络编程 ssh模拟交互终端
通过go实现网页版链接ssh实现与服务器的交互。原创 2022-10-12 19:48:58 · 448 阅读 · 0 评论 -
Go SSH连接
SSH支持多种加密算法,双方根据各自支持的算法,协商出最终用于产生会话密钥的密钥交换算法、用于数据信息加密的加密算法、用于进行数字签名和认证的公钥算法以及用于数据完整性保护的HMAC算法。服务器和客户端通过密钥交换算法,动态生成共享的会话密钥和会话ID,建立加密通道。认证通过后,SSH客户端向服务器端发送会话请求,请求服务器提供某种类型的服务,即请求与服务器建立相应的会话。SSH服务器在指定的端口侦听客户端的连接请求,在客户端向服务器发起连接请求后,双方建立一个TCP连接。原创 2022-10-12 19:38:23 · 607 阅读 · 0 评论 -
Go实现的TCP端口扫面器
源码地址: https://github.com/jeffcail/tcp-scanner。使用Go实现的TCP端口扫描器。原创 2022-09-17 11:48:41 · 571 阅读 · 0 评论 -
Go使用qrcode包解析微信和支付宝二维码,生成一个链接(前端拿到链接即可解析成对应的支付二维码)
【代码】Go使用qrcode包解析微信和支付宝二维码,生成一个链接(前端拿到链接即可解析成对应的支付二维码)原创 2022-09-15 11:53:03 · 989 阅读 · 0 评论 -
Go 编写开机自启动服务
【代码】Go 编写开机自启动服务。原创 2022-09-15 11:42:16 · 699 阅读 · 0 评论 -
Go操作nutsdb
Go操作nutsdb原创 2022-08-11 09:50:33 · 303 阅读 · 0 评论 -
体验golang1.18泛型
体验golang1.18泛型原创 2022-08-03 14:48:02 · 167 阅读 · 0 评论 -
Go语言之CGO
Go语言之CGO原创 2022-08-02 10:57:29 · 505 阅读 · 0 评论 -
Go 实现分布式锁
Go 实现分布式锁原创 2022-08-01 14:34:59 · 343 阅读 · 0 评论 -
Go面向并发的内存模型
Go面向并发的内存模型原创 2022-07-28 20:25:45 · 171 阅读 · 0 评论 -
Golang操作RabbitMQ详细教程
Golang操作RabbitMQ详细教程原创 2022-07-26 16:35:08 · 687 阅读 · 0 评论 -
基于 echo+websocket+html+js 实现的聊天demo
基于 echo+websocket+html+js 实现的聊天demo原创 2022-07-12 12:37:28 · 503 阅读 · 0 评论 -
golang+vue3+websocket 实时推送首页数据或者站内信
golang+vue3+websocket 实时推送首页数据或者站内信原创 2022-07-10 22:45:45 · 1500 阅读 · 0 评论 -
Go + echo + xorm + casbin 实现权限管理
Go + echo + xorm + casbin 实现权限管理原创 2022-07-10 22:40:01 · 416 阅读 · 0 评论 -
Echo - 定制Vlidate 参数校验
Echo - 定制Vlidate 参数校验原创 2022-07-10 22:35:32 · 348 阅读 · 0 评论 -
Go操作Kafka
Go操作Kafka原创 2022-07-10 22:32:17 · 1601 阅读 · 0 评论 -
Go 手机号解析归属地和运营商
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持业务场景中可能需要根据手机号解析归属地和运营商推荐使用一个大佬写的包 phonedata使用go get github.com/xluohome/phonedatapackage mainimport ( "fmt" "github.com/x原创 2022-04-01 10:22:43 · 517 阅读 · 0 评论 -
Go 编写定时器和定时任务
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持本文推荐使用一个第三方模块 gocron包, 基于gocron包实现定时任务的编写当然也可以使用linux自带的crontab, 默认只能精确到分钟,如果想要精确到秒可以使用for循环处理秒级任务* * * * * for i in $(seq 1 11);原创 2022-03-26 09:41:02 · 6454 阅读 · 0 评论 -
Go 使用IP纯真库获取IP对应的国家、省、市
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持使用纯真IP库 qqwry.dat,高性能,线程安全,并对国内数据格式化到省、市、县使用大佬写的一个包iploc包安装go get -u github.com/kayon/iploc/…获取query.dat命令会下载qqwry.gbk.dat 文件到当前目录ipl原创 2022-03-22 15:17:20 · 7036 阅读 · 2 评论 -
Go操作nsq
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持Go操作nsq一. 基于docker-compose 搭建nsq集群二. nsq 简单了解nsqd:一个负责接收、排队、转发消息到客户端的守护进程nsqlookupd:管理拓扑信息并提供最终一致性的发现服务的守护进程nsqadmin:一套Web用户界原创 2022-03-20 13:43:42 · 1429 阅读 · 0 评论 -
golang项目编译生成docker镜像发布部署
golang项目编译生成docker镜像发布部署Mac 下编译成可执行的二进制文件mainCGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.goDockerfile文件参考FROM golang:1.17.2-alpine# 设置固定的项目路径ENV WORKDIR /root/项目名(文件夹名字)# 添加应用可执行文件,并这是权限ADD ./main $WORKDIR/mainRUN chmod +x $WORK原创 2022-03-20 13:42:36 · 1317 阅读 · 0 评论 -
Go加载配置文件
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持.ini 方式conf/conf.inidriver=mysqlhost=127.0.0.1username=rootpassword=rootdatabase=testport=3306conf/conf.gopackage confim原创 2022-03-20 13:39:16 · 1395 阅读 · 0 评论 -
Go启动多个端口服务
创作不易感谢支持。一条主写Go和PHP的小菜鸟。平常有时间喜欢自己写点东西,如有不对的地方,欢迎大佬指点。 个人博客:太阳上的雨天 地址:http://blog.caixiaoxin.cn 善于分享,希望有助他人. 非常感谢各位大佬的关注和支持go的net/http包可以通过ListenAndServe创建http服务。如果需要启动多个端口服务可以使用http.NewServeMux监听多个端口. NewServeMux返回的是ServeMux指针(ServeMux路由管理器)。通过创建goroutin原创 2022-03-20 13:37:20 · 1525 阅读 · 0 评论 -
Go 协程权限调度包runtime
Go 协程权限调度包runtimeruntime里的三个函数Gosched、Goexit、GOMAXPROCSGosched:让出cpu时间切片。用于让出当前grouting的执行权限,调度器安排其他等待的goroutine执行任务,并在某个位置恢复执行Goexit:终止当前的goroutine执行,并不会影响其他的goroutine执行。并在终止当前的goroutine之前,执行还未执行的defery语句. 如果Goexit在main函数中执行会报panicGOMAXPROCS: 用来设置可以并行原创 2022-03-20 13:32:25 · 192 阅读 · 0 评论 -
Go启动多个端口服务
go的net/http包可以通过ListenAndServe创建http服务。如果需要启动多个端口服务可以使用http.NewServeMux监听多个端口. NewServeMux返回的是ServeMux指针(ServeMux路由管理器)。通过创建goroutine启动多端口服务func main() { aMux := http.NewServeMux() aMux.HandleFunc("/a/", AHandler) server := &http.Server{ Addr:原创 2022-03-21 09:24:10 · 984 阅读 · 0 评论