- 博客(1100)
- 资源 (6)
- 收藏
- 关注

原创 Go实战全家桶之82:gorm sql写入文件已交付
/ 自定义 Logger 结构体,实现 gorm.io/gorm/logger.Interface。
2025-06-01 08:30:31
439

原创 Go实战全家桶之80:go老系统增加功能且需要重构有什么好的建议
在设计 Go REST API 的返回码时,是否需要规划子错误码取决于具体的业务复杂度和客户端需求。:需客户端根据不同错误类型采取不同逻辑(如 Token 过期需跳转登录页)。:仅区分“参数缺失”和“参数格式错误”,主错误码已足够。(如支付、风控):推荐子错误码,提升可维护性。:通过子错误码体系,未来新增错误类型更灵活。:内部工具类 API,客户端处理逻辑简单。:错误原因单一,且无需客户端做差异化处理。:前端代码固化,无法适配动态子错误码。:遗留系统改造,需避免错误码结构变动。
2025-05-31 14:26:04
1081

原创 Go实战全家桶之79:跨领域数据服务已成,Db/ES/API分层--源于实战项目, 部署微服务。
"shop_full_name": "华南电子科技有限公司","account_name": "华南(佣金)","shop_name": "华南电子科技",复杂的由简单组成,原子组成分子,分子组成物体。世界上没有复杂的问题,只有复杂的思考。"msg": "成功",一键生成esentity。apidaoes公共封装。
2025-05-28 12:04:55
816

原创 Go实战全家桶之77:github.com/stretchr/testify/suite使用简介--源于实践项目 ,面向对象
是 Go 语言中一个流行的测试工具包,它提供了测试套件(Test Suite)的功能,允许你组织相关的测试用例并在它们之间共享设置和拆卸代码。
2025-05-25 11:32:38
787

原创 Go实战全家桶之76:通用PageResult设计--源于实践项目,接口设计也是生产力!https://gitee.com/leijmdas/goweb.git
/返回日期转为int64。//比较值:一个或多个值。//最后一个查询字段。// 通用表查询请求数据。
2025-05-17 18:23:14
478

原创 go如何开发一个框架,象java一样通过interface作为对象的实例注入
go复制下载package diimport ("reflect""sync"components sync.Map // 存储组件实例})go复制下载// UserService 接口// UserServiceImpl 实现// OrderService 接口// OrderServiceImpl 实现UserService UserService `di:"userService"` // 依赖注入。
2025-05-14 13:48:25
1081

原创 Go实战全家桶之73:go通用Result设计优化功能--源于实践项目
"msg": "成功","msg": "成功","msg": "成功",结果转MAP, 结果过滤。结果转换map代码实现。
2025-05-11 14:22:33
554

原创 Go实战全家桶之72:goDb/ES/Service分层操作--源于实战项目
service/apidao是db,es操作的简单封装,无业务逻辑。service/apiservice是业务层db+es操作。dbentity/esentiy一键生成的代码。apiservice测试。
2025-05-09 18:57:18
1005

原创 Go实战全家桶之71:goDb通用查询结果比对--源于实战项目
if err!= nil {if!if err!= nil {return errcontinue} else {return errreturn nil。
2025-04-29 10:13:38
925

原创 Go实战全家桶之69:go极简代码工具--源于实战项目,开发者神器工业级巨匠
"dept_name": "深圳总公司","dept_name": "若依科技","leader": "若依","leader": "若依","msg": "成功",
2025-04-28 22:55:48
478

原创 Go实战全家桶之67:goweb提供http测试工具--源于实战项目 https://gitee.com/leijmdas/goweb.git
Author 作者: [email protected] 时间(2024-02-18 22:38:21)@Update 作者: [email protected] 时间(2024-02-18 22:38:21)golog.Info("Suite setup", "领域驱动设计,测试驱动开发!@Title 文件名称: asuite_test.go。// 用于 'go test' 的入口。// 依赖 suite.Suite。"msg": "成功",// 每个测试运行前,会执行。
2025-04-27 11:48:21
521

原创 Go实战全家桶之53: go-family系大全--源于实战项目, 工业级巨匠开发者神器
web框架: webclient/ webserver。gowater: 基础功能三剑客。gomini: mini代码库。goconfig:公用配置系。goplatform:平台。godi :依赖注入。
2025-04-04 09:49:24
540

原创 Go实战全家桶之15: GO依赖注入框架godi泛型接口-源于实战项目,开发者神器工业级巨匠
/ 使用reflect.TypeOf获取接口的动态类型。// 使用reflect.TypeOf获取接口的动态类型。// 取指针指向的类型。// 取指针指向的类型。// 检查是否是指针类型。// 检查是否是指针类型。原来需要生成注入代码。
2024-10-07 07:16:13
1633
原创 gorm select 如何让deleted_at生效
在 GORM 中, 是软删除功能的字段。要让软删除自动生效,你需要做以下几步:go复制下载type User struct { ID uint `gorm:"primaryKey"` Name string DeletedAt gorm.DeletedAt `gorm:"index"`}或者更简单的写法:go复制下载type User struct { gorm.Model //
2025-06-01 08:55:40
84
原创 奇瑞 赛力斯 比亚迪哪个品牌电动车好
覆盖10万-100万价位,如海豚(入门代步)、汉EV(中高端轿车)、仰望U8(百万级越野)。:中大型豪华轿车,续航715km,刀片电池+DiPilot智驾,适合商务/家庭用户。:增程式SUV,综合续航1300km,鸿蒙座舱+华为ADS 2.0,适合科技爱好者。:旗舰SUV,空气悬架+激光雷达,对标理想L9,高端市场新选择。:微型电动车,续航305km,价格7.38万起,城市代步神器。:全球化车型,续航401km,设计年轻化,主打海外市场。:微型电动车,续航321km,支持换电,适合短途代步。
2025-05-31 18:48:29
671
原创 go rest返回码有必要规划子错误码吗
在设计 Go REST API 的返回码时,是否需要规划子错误码取决于具体的业务复杂度和客户端需求。:需客户端根据不同错误类型采取不同逻辑(如 Token 过期需跳转登录页)。:仅区分“参数缺失”和“参数格式错误”,主错误码已足够。(如支付、风控):推荐子错误码,提升可维护性。:通过子错误码体系,未来新增错误类型更灵活。:内部工具类 API,客户端处理逻辑简单。:错误原因单一,且无需客户端做差异化处理。:前端代码固化,无法适配动态子错误码。:遗留系统改造,需避免错误码结构变动。
2025-05-31 14:18:10
593
原创 go rest接口如何规划返回码
在设计 REST 接口的返回码时,需要遵循清晰、一致、可扩展的原则,确保客户端能快速理解接口状态并处理业务逻辑。优先使用标准的 HTTP 状态码,明确表达请求的通用结果(如成功、客户端错误、服务端错误)。:服务端记录错误详情(如堆栈跟踪),但响应中避免暴露敏感信息。:提供完整的错误码列表和说明(如 Swagger 文档)。:请求成功,但无返回内容(如 DELETE 请求)。:请求参数错误(如格式错误、必填字段缺失)。:资源创建成功(如 POST 请求)。:请求冲突(如重复创建唯一资源)。
2025-05-31 14:17:20
506
原创 比亚迪车为什么降价
比亚迪近年销量高速增长(2023年销量超300万辆),规模化生产显著降低了单车成本(如电池、零部件采购成本下降),为降价提供空间。:新能源汽车市场竞争激烈,特斯拉、蔚来、小鹏等品牌频繁降价或推出优惠,比亚迪作为头部企业需要通过价格调整保持市场份额。:随着新一代电池技术(如刀片电池、DM-i混动系统)普及,旧款车型技术竞争力下降,通过降价清理库存。:部分降价车型可能是库存车或旧款,建议关注配置、质保政策等细节,避免因低价牺牲核心权益。:比亚迪自研电池、电机、电控等核心部件,供应链自主可控,能有效控制成本。
2025-05-31 14:11:09
136
原创 用户签约的4个类型测试场景
req.ShopShortName = "TZM001之家"req.ShopShortName = "TZM002之家"req.ShopShortName = "TZM001之家"req.ShopShortName = "TZM001之家"声明:本网站部分内容来源于网络。3 非用户签约(老功能)1平台/非独立域名签约。
2025-05-31 13:48:49
311
原创 go elasticsearch保存时是如何获取或生成_id的
方式适用场景优点缺点手动指定_id需要业务关联 ID(如用户ID)可控性高,便于后续查询需自行保证唯一性自动生成_id无业务关联的临时数据无需额外逻辑,保证唯一性无业务语义,可能冗余通过合理选择_id的生成策略,可以更好地平衡业务需求与系统性能。
2025-05-30 08:34:20
283
原创 cockroarch unique_rowid()是全局唯一的吗
是 CockroachDB 为分布式环境设计的全局唯一 ID 生成函数,适合用作隐式主键,但在业务场景中需根据需求选择更合适的方案。
2025-05-30 08:19:52
193
原创 go elasticsearch如何去重统计
在 Elasticsearch 中进行去重统计(即统计某个字段的唯一值数量),通常使用 cardinality或 terms结合size参数。
2025-05-29 08:02:26
242
原创 es 如何统计uv , group by user_id
"value": 1000 // 表示共有1000个不同的user_id。"value": 300 // 电子类目有300个独立用户。"value": 200 // 服装类目有200个独立用户。"value": 500 // 当天有500个独立用户。"value": 600 // 当天有600个独立用户。"size": 10 // 返回前10个用户。:统计每个用户的访问次数(PV),但无法直接计算 UV。:计算全量数据的 UV,但不分组。(如按天统计 UV),可以使用。:按天/小时统计 UV。
2025-05-28 14:24:21
772
原创 Go实战全家桶之78:如何开发一个goconfig既支持本地配置又支持远程读取配置
远程配置:通过可插拔的RemoteLoader接口实现,支持HTTP、Consul等多种来源。可配置轮询间隔(通过HTTPRemoteLoader.Interval)使用时可根据具体需求调整合并策略、远程加载方式和轮询间隔参数。支持多种远程数据源(实现RemoteLoader接口)支持多种配置格式(修改loadLocal方法)可扩展实现更复杂的合并逻辑(如深度合并)本地配置:优先加载,作为基础配置。远程加载失败自动回退本地配置。默认远程配置覆盖本地配置。后台协程定期轮询远程配置。添加配置差异对比功能。
2025-05-28 08:46:37
340
原创 /home/go20/pkg/mod/github.com/cyphar/[email protected]/lookup_linux.go slices下包失败
根据你的错误信息,最可能的原因是 Go 版本低于 1.18 或GOROOT配置错误。请先检查并升级 Go 版本,确保GOROOT配置正确。如果问题仍然存在,请检查代码中的导入路径和go.mod文件中的依赖声明。解决办法,升级github.com/cyphar/filepath-securejoin至。
2025-05-27 16:01:36
330
原创 如何看待数据服务驱动业务功能
数据服务驱动业务功能已成为现代企业数字化转型的核心范式,这种模式将数据从被动支持角色转变为主动驱动业务决策和创新的引擎。
2025-05-25 11:09:06
420
原创 模块划分和接口服务设计
模块内部高度相关,模块间依赖最小化:每个模块只负责一个明确的功能领域:模块设计应考虑复用场景:模块应易于扩展新功能:模块间有清晰的接口定义。
2025-05-25 11:07:42
720
原创 go elasticsearch bulkindex 和bulkcreate区别
在 Elasticsearch 的批量操作中,bulkIndex和bulkCreate。
2025-05-23 00:21:06
363
原创 hive数仓工具
是一个基于 Hadoop 的数据仓库工具,主要用于通过类 SQL 语言(HQL)处理大规模数据,底层依赖 MapReduce 或 Tez 引擎。:构建类似 Hive 的数据处理系统 → 选择 Apache Beam(Go SDK)或 VictoriaMetrics。:实时流处理 → 使用 Benthos 或 Goka(Kafka Streams 的 Go 实现)。,建议使用 Go 的流处理框架(如 Benthos、Apache Flink 的 Go API)。:替代 Hive 的部分时间序列数据分析需求。
2025-05-22 20:09:32
729
原创 go开源通讯框架
Google 开源的高性能 RPC 框架,基于 HTTP/2 和 Protocol Buffers,支持多语言,提供双向流、流控、头部压缩等特性。:微服务框架,内置 RPC 通信、服务发现、负载均衡、健康检查等功能,支持多种序列化协议(Protobuf、JSON)。:微服务间高效通信、跨语言服务调用(如 Go 与 Python/Java 交互)、需要长连接或实时流式传输的场景。:轻量级高性能消息系统,支持发布/订阅、请求/响应模式,适合 IoT 和实时通信。
2025-05-22 20:07:14
1114
原创 Java 开源通讯框架
Google 开发的高性能框架,基于 HTTP/2 和 Protocol Buffers,支持多语言,提供双向流、流控、头部压缩等特性。:阿里开源的 RPC 框架,支持多种协议(Dubbo、HTTP、gRPC),集成服务治理功能(注册中心、负载均衡)。:支持 JMS 规范,提供高可用、低延迟的消息传递,兼容多种协议(AMQP、STOMP)。:基于 AMQP 协议的消息代理,支持多种消息模式(点对点、发布订阅),插件生态丰富。:异步事件驱动的网络框架,支持 TCP/UDP/HTTP 等协议,高性能且灵活。
2025-05-22 20:04:27
916
原创 go 用new分配的指针需要垃圾回收吗
使用new分配的指针由 Go 的垃圾回收器自动管理,无需手动释放。只需确保不再需要的对象不再被引用,GC 会高效地回收内存。这是 Go 语言简化内存管理的重要特性之一。
2025-05-22 08:15:41
320
原创 go内存逃逸有害吗
内存逃逸是指编译器在编译期间发现某个变量(通常是局部变量)的生命周期超出了当前函数的作用域,因此必须将其分配到堆(Heap)上,而不是栈(Stack)上。堆上的对象由 Go 的垃圾回收器管理,频繁的堆分配会增加 GC 的扫描负担,可能导致程序延迟(Latency)上升,尤其是在高并发或高频调用的场景下。- GC 的自适应能力:Go 的垃圾回收器经过多次优化(如并发标记、写屏障等),对堆内存的管理效率较高,多数场景下影响较小。此时 `x` 会被分配到堆上,因为它的指针被返回,可能在函数外被访问。
2025-05-22 08:02:31
434
my java unit
2011-11-06
mycppunit test frame
2011-11-06
my cpytest --python test frame
2011-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人