- 博客(418)
- 收藏
- 关注

原创 golang实现支持100万个并发连接(例如,HTTP长连接或WebSocket连接)系统架构设计详解
golang实现支持100万个并发连接(例如,HTTP长连接或WebSocket连接)系统架构设计详解
2025-08-05 22:57:52
565

原创 结合Golang语言说明对多线程编程以及 select/epoll等网络模型的使用
首先介绍select和epoll这两个I/O多路复用的网络模型,然后介绍多线程编程,最后结合Go语言项目举例说明如何应用
2025-07-27 19:54:23
751

原创 mysql 以及clickhouse 的sql语句where条件中 SpinType IN (‘Normal‘) 与SpinType = ‘Normal‘ 哪个查询效率高些讲解
mysql 以及clickhouse 的sql语句where条件中 SpinType IN ('Normal') 与SpinType = 'Normal' 哪个查询效率高些讲解
2025-07-27 19:15:42
483

原创 golang怎么实现每秒100万个请求(QPS),相关系统架构设计详解
golang怎么实现每秒100万个请求(QPS),相关系统架构设计详解使用Golang,以Gin框架为基础,设计一个能够处理每秒100万请求(QPS 1M)的系统架构注意:100万QPS是一个很高的数字,单机通常难以处理,所以必须采用分布式架构,并且需要多层次的架构设计和优化
2025-07-25 22:50:07
745
1

原创 Mysql大数据架构设计:当表中数据超过800万时,对数据表进行分表操作,以及分页查询优化详解
Mysql大数据架构设计:当表中数据超过800万时,对数据表进行分表操作,以及分页查询优化详解
2025-07-24 22:56:09
1165

原创 关于SaaS业务模式及其系统架构构建的详细解析
关于SaaS业务模式及其系统架构构建的详细解析:通过互联网(通常是云平台)以订阅方式向客户提供软件应用服务
2025-07-16 21:58:18
749

原创 ClickHouse进行LEFT JOIN 关联查询时, 关联键的数据类型不一致,导致报错 的解决方案详解
ClickHouse进行LEFT JOIN 关联查询时, 关联键的数据类型不一致,导致报错 的解决方案详解common type for joined columns: UserId: UInt64 at left, bupb.UserId: Int64 at right. There is no supertype for types UInt64, Int64
2025-04-22 09:46:35
986

原创 golang操作ClickHouse在使用Select关键字进行查询时,并使用toString, round函数计算百分比并将结果转换为字符串并附加百分号时,出现NAN%的解决方案详解
golang操作ClickHouse在使用Select关键字进行查询时,并使用toString, round函数计算百分比并将结果转换为字符串并附加百分号时,出现NAN%的解决方案详解
2025-04-15 10:20:57
1095

原创 golang通过STMP协议发送邮件功能详细操作
在 Go 语言中接入 IMAP 和 SMTP 服务来进行邮件的发送和接收操作,可以通过使用一些现有的第三方库来简化操作,常见的库有 go-imap 和 gomail,它们可以帮助我们连接和操作 IMAP 邮箱(读取邮件)以及通过 SMTP 发送邮件
2025-04-11 18:23:19
660

原创 golang中使用ClickHouse查询,报错:Column goods_name is not under aggregate function and not in GROUP BY 解决办法
golang中使用ClickHouse查询,报错:Column goods_name is not under aggregate function and not in GROUP BY 解决办法
2025-04-11 18:06:09
448

原创 golang通过飞书邮件服务API发送邮件功能详解
需要实现通过飞书邮件服务API发送邮件验证码功能:用户输入邮箱, 点击发送邮件,然后发送邮件验证码, 这里验证码有过期时间, 保存到redis缓存中
2025-04-08 17:53:34
519

原创 ClickHouse查询涉及到多个分布式表,出现错误:DB::Exception: Double-distributed IN/JOIN subqueries is denied分析以及解决办法
ClickHouse查询涉及到多个分布式表,出现错误:DB::Exception: Double-distributed IN/JOIN subqueries is denied分析以及解决办法
2025-02-28 17:56:51
529

原创 Apifox 关于自动设置授权Authorization 的操作步骤详解
在现代软件开发中,API(应用程序编程接口)已成为不同系统、服务和应用程序之间交互的基本构建块。随着互联网应用的普及,安全性逐渐成为开发者和用户关注的重点。为了确保数据的安全和用户的隐私,许多 API 采用了 Authorization 头进行身份验证。这一机制允许服务器验证客户端请求的来源,确保只有经过授权的用户才能访问敏感数据和操作
2025-02-25 15:05:06
1916

原创 golang时间相关函数总结
golang时间相关函数总结: 获取近x日的开始结束时间戳, 获取起止日期时间戳,计算当前时间到24点的秒数,获取当前时间戳,日期转换成时间戳,时间戳转换成日期函数
2025-02-20 14:44:27
382

原创 当使用go mod tidy更新pkg包时,某个包却不是最新的 解决办法
当使用go mod tidy更新pkg包时,某个包却不是最新的 解决办法
2025-02-06 14:14:56
517

原创 linux环境自动化golang项目启动脚本解析
当在本地创建了golang项目,修改了代码功能,怎么在远程测试服务器上更新该功能呢,可以使用下面的步骤来解决该问题(这只是其中一种方法):(1).推送最新代码到远程仓库(2).在测试服务器上创建该项目并拉取最新代码(3).创建deploy.sh脚本(4).运行deploy.sh脚本
2025-02-05 13:55:08
1085

原创 golang通过AutoMigrate方法自动创建table详解
在 Go 语言中,GORM支持Migration特性,支持根据Go Struct结构自动生成对应的表结构,使用 GORM ORM 库的 AutoMigrate 方法可以自动创建数据库表,确保数据库结构与定义的模型结构一致。AutoMigrate 方法非常方便,特别适合在开发阶段进行快速迭代注意: AutoMigrate 会创建表、缺失的外键、约束、列和索引出于保护数据的目的,它 不会 删除未使用的列AutoMigrate 会自动创建数据库外键约束,可以在初始化时禁用此功能
2025-01-27 16:46:47
1864
1

原创 通过protoc工具生成proto的pb.go文件以及使用protoc-go-inject-tag工具注入自定义标签
通过protoc工具生成proto的pb.go文件以及使用protoc-go-inject-tag工具注入自定义标签
2025-01-27 14:46:56
1383

原创 golang请求云数据库ClickHouse数据库报错:err code: 202, message: Too many simultaneous queries. Maximum: 100
开发环境:语言: golang1.22数据库引擎: GORM数据库: ClickHouse场景:当使用sync.WaitGroup并发执行多个gorm相关的goroutine时,报错:err code: 202, message: Too many simultaneous queries. Maximum: 100
2025-01-17 16:14:02
373

原创 DBeaver Ultimate24.0数据库图形化管理工具工具连接各类数据库
DBeaver Ultimate 是一款强大的数据库管理工具,支持多种数据库的连接与管理,包括但不限于 MySQL、PostgreSQL、Oracle、SQL Server、SQLite 、Redis、ClickHouse、MongoDB、ODBC、CouchBase、Kafka、ElasticSearch、Neo4j等。以下是 DBeaver Ultimate 24.0 的一些主要特点和功能
2025-01-13 09:58:36
706
1

原创 github.com/samber/lo 库使用案例讲解
samber/lo是一个 Go 语言的库,提供了一组函数式编程风格的工具函数,旨在简化集合(如切片、映射等)的操作。这个库的灵感来自于 JavaScript 的 Lodash 库,因此它的 API 和使用方式与 Lodash 类似。以下是对samber/lo包的一些详细介绍,包括其功能、常用函数和示例。
2025-01-08 16:05:40
601

原创 数据结构-树
树是计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构等。树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 树,二叉树,堆概念以及理解
2024-08-30 15:12:11
1362

原创 数据结构-线性表
好了,线性表相关数据结构就基本上差不多了, 从上面可知,线性表分为顺序表,链表(单向,双向),栈,队列,优先队列等,他们存储的是单值情况,那么如果要存储多值情况,如:key-value情况,怎么办呢,这里就需要使用符号表了
2024-08-29 10:09:01
1506

原创 算法复杂度讲解
为了评判程序算法在计算机上运行的优劣,从而引入了算法复杂度这个概念.算法复杂度分为时间复杂度和空间复杂度,大O渐进法,常见时间复杂度排序
2024-08-22 17:11:51
1227

原创 银行家算法理解
银行家算法(Banker Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法,它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行.在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。在这样的描述中,银行家就好比操作系统,资金就是资源,客户就相当于
2024-08-20 10:15:17
1096

原创 Gin中的gin.Context与Golang原生的context.Context区别与联系
Gin中的gin.Context与Golang原生的context.Context区别与联系
2024-03-26 10:24:51
4149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人