自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1120)
  • 资源 (6)
  • 收藏
  • 关注

原创 go转换结构体goframe解决一个历史大坑--血的教训,困惑我很久了(linux呈现)

Decode2StruList报错。}定义了 ,string。

2025-06-12 12:51:51 630

原创 一个go实现的es存贮的锁,前端配合、无关性能

Author 作者: raymond@163.com 时间(2025-06-07 12:16:27)@Update 作者: raymond@163.com 时间(2025-06-07 12:16:27)@Title 文件名称: general_locks_es.go。@Description 描述: 统一返回结构。

2025-06-07 12:37:04 1360

原创 Go实战全家桶之87:GO ES通用查询WebuiRequest,支持text、bool类型优化

"account_name": "华南采购佣金","account_name": "华南采购佣金","shop_name": "华南采购部""shop_name": "华南采购部"req.AccountName = "华南采购佣金""msg": "成功",

2025-06-02 15:07:51 953

原创 Go实战全家桶之76:通用PageResult设计--源于实践项目,接口设计也是生产力!https://gitee.com/leijmdas/goweb.git

/返回日期转为int64。//比较值:一个或多个值。//最后一个查询字段。// 通用表查询请求数据。

2025-05-17 18:23:14 485

原创 Go实战全家桶之71:goDb通用查询结果比对--源于实战项目

if err!= nil {if!if err!= nil {return errcontinue} else {return errreturn nil。

2025-04-29 10:13:38 930

原创 Go实战全家桶之69:go极简代码工具--源于实战项目,开发者神器工业级巨匠

"dept_name": "深圳总公司","dept_name": "若依科技","leader": "若依","leader": "若依","msg": "成功",

2025-04-28 22:55:48 486

原创 Go实战全家桶之65:goweb通用db查询cache--源于实践项目

/ 使用反射获取字段值。

2025-04-26 11:28:49 584

原创 Go实战全家桶之53: go-family系大全--源于实战项目, 工业级巨匠开发者神器

web框架: webclient/ webserver。gowater: 基础功能三剑客。gomini: mini代码库。goconfig:公用配置系。goplatform:平台。godi :依赖注入。

2025-04-04 09:49:24 547

原创 Go实战全家桶之45: GOWATER三合一工程:通用数据库/规则引擎/es微服务,开发者神器工业级巨匠

"ReturnMsg": "计算成功!

2025-01-25 14:34:37 439

原创 Go实战全家桶之15: GO依赖注入框架godi泛型接口-源于实战项目,开发者神器工业级巨匠

/ 使用reflect.TypeOf获取接口的动态类型。// 使用reflect.TypeOf获取接口的动态类型。// 取指针指向的类型。// 取指针指向的类型。// 检查是否是指针类型。// 检查是否是指针类型。原来需要生成注入代码。

2024-10-07 07:16:13 1637

原创 介绍一个开源框架:netty

Channel代表一个网络连接(如 Socket),所有 I/O 操作都通过它进行。EventLoopEventLoop是 Netty 的核心执行引擎,负责处理一个或多个Channel上发生的所有 I/O 事件。包含多个EventLoop,通常分为bossGroup(负责接受连接)和(负责处理已接受连接的 I/O)。代表一个异步 I/O 操作的结果。可以通过它添加监听器,在操作完成时得到通知(回调)。核心处理逻辑所在。处理入站(如接收数据)或出站(如发送数据)事件。多个Handler按顺序组织在。

2025-06-13 10:16:09 473

原创 java面试技巧

可补充面试中未充分说明的技术点(例:附Github调优demo链接)。:synchronized锁升级过程、AQS实现原理、ThreadLocal内存泄漏防范、线程池参数调优。:IoC容器启动流程(Bean生命周期)、动态代理实现(JDK/CGLIB)、事务传播机制。:垃圾回收算法(标记清除/复制/分代收集)、OOM场景诊断、类加载机制。:重点准备二叉树遍历(非递归)、链表反转、Top K问题(堆排序应用):结合项目说明单例模式(DCL实现)、工厂模式在框架中的应用。(停顿5秒),后来还优化了。

2025-06-13 07:56:27 368

原创 goframe goconvey structs可以转换[]map到结构体吗

方法适用场景优势注意事项明确转换[]map→[]struct支持标签映射和字段匹配需显式调用gconv.Scan自动识别目标类型([]struct[]map简化代码,支持多种类型自动转换依赖目标变量的指针类型推断。

2025-06-12 12:22:11 244

原创 国家把支付账期定在60天内有何意义

保障中小企业款项支付条例》强制规定政府部门和国有企业的付款时限(货物30天、工程60天、有合同约定的按约定但最长不超过60天,特殊行业可延长但须公示理由),是治理这一顽疾的有力法律武器。明确账期上限,可以有效遏制强势企业(如大型企业、平台、垄断企业、特别是政府部门和国有企业)利用自身优势地位,无限制地拖欠中小企业款项的行为,建立更公平的交易环境。当中小企业能够及时回收款项、保持健康的现金流时,它们更有能力投入研发、扩大生产、开拓市场、吸纳就业,从而成为驱动创新和经济发展的活跃细胞。

2025-06-11 08:19:54 298

原创 宁波it薪资如何

举例:宁波高级Java工程师平均¥18k,杭州同岗约¥22k-28k,上海可达¥25k-35k。人工智能/机器学习:¥15,000 - ¥25,000/月(稀缺岗位薪资上浮)移动端(Android/iOS):¥10,000 - ¥16,000/月。:市区单间¥1,500-2,500/月,郊区¥1,000-1,800/月。可上浮¥1,000 - ¥2,000/月(尤其是AI、算法岗)。前端/后端/Java开发:¥8,000 - ¥12,000/月。数据库/DBA:¥12,000 - ¥20,000/月。

2025-06-09 20:12:13 406

原创 TortoiseGit为什么能指定文件revert

TortoiseGit 能够实现指定文件的revert操作,主要是因为它提供了一个图形化界面,允许用户更灵活地选择要撤销更改的文件,而不是像命令行工具那样直接针对整个提交操作。

2025-06-09 16:30:56 299

原创 git revert能否只指定一个文件

git revert能否只指定一个文件git revert本身是用于撤销一个或多个提交的命令,它会生成一个新的提交来反转指定提交的更改。git revert并不能直接指定只对某个文件进行操作,而是针对整个提交记录来操作的。

2025-06-09 16:30:21 280

原创 git revert为什么不如git checkout 某一个文件安全

这是一个非常好的洞察!你抓住了两种操作在安全边界上的核心区别。说 (针对整个提交)不如 (针对单个文件)安全,主要体现在以下几个关键方面:: 它的操作对象极其明确——一个特定的文件。它直接从历史仓库中取出该文件在指定提交时的完整内容,覆盖你工作目录和暂存区中的当前版本。它只影响这一个文件。: 它的操作对象是整个提交。它会创建一个新的提交,这个新提交的内容是精确地反转(撤销)目标提交 引入的所有更改。如果目标提交修改了 5 个文件, 会反转这 5 个文件的更改。 这就是它“不安全”的核心——它影响的文件范围

2025-06-09 16:20:50 783

原创 go elasticsearch earchService = searchService.Size(0) 0代表什么

在 Elasticsearch 的 Go 客户端中,中的 0hits。

2025-06-07 21:22:58 425

原创 npm本地加速

要实现,核心思路是减少网络延迟、利用本地缓存或搭建本地镜像。

2025-06-06 14:27:12 528

原创 vue模板取class如何用变量

对象语法的键是类名,值是布尔值(或可转换为布尔的表达式)。:如果变量可能为空,需用条件过滤(如三元运算符或计算属性),避免渲染无效类(如。如果类名完全由变量动态决定(如根据状态生成特定类名),可以用模板字符串拼接。通过数组语法,可以将变量直接放入数组中,数组元素可以是。属性,无需重复声明静态类(除非需要覆盖)。如果类名逻辑复杂(如多个条件组合),推荐用。时添加(类名含连字符时需用引号)。返回最终的类绑定值,使模板更清晰。:另一个静态或动态变量(如。类(避免空字符串)。),需用引号包裹(如。

2025-06-05 19:05:27 312

原创 go defer在什么时候释放

不会在if内释放在if块结束时不会触发,而是在外层函数返回时执行。潜在风险:若加锁后还有耗时逻辑,会导致锁占用时间过长。改进:在锁不再需要时手动调用Unlock()提前释放,并用defer作为兜底(确保函数退出时释放)。

2025-06-03 14:31:58 968

原创 go实用加密解密代码:aes/rsa

/ logger.Errorf("[AesDecrypt]解密失败,cryted:%s,key:%s,err:%s", cryted, key, err)// logger.Errorf("[AesEncrypt]加密失败,orig:%s,key:%s,err:%s", orig, key, err)// 获取秘钥块的长度。// 获取秘钥块的长度。// GenKey 生成密钥对。// 3.使用公钥加密。// Encrypt 加密。// Decrypt 解密。

2025-06-03 11:27:53 487

原创 java语言简历怎么写

"负责电商订单系统重构,基于 Spring Cloud 实现微服务化,采用 Redis + Redisson 解决分布式锁问题,优化 MySQL 分库分表策略,系统吞吐量从 1K QPS 提升至 5K QPS,订单处理延迟降低 70%。"全栈 Java 工程师,5 年 Spring 生态开发经验,主导过多个百万级用户的高并发系统设计,精通 JVM 调优与分布式事务解决方案,熟悉微服务架构与云原生技术栈。数据库:MySQL(索引优化、分库分表)、Redis(缓存穿透解决方案)、Elasticsearch。

2025-06-02 20:16:47 717

原创 Go实战全家桶之88:GO语言简历要怎么写

"负责电商秒杀系统重构,采用 Go 语言替代 Python 实现核心逻辑,利用 Goroutine 处理 10W+ QPS 请求,结合 Redis 分布式锁避免超卖,系统吞吐量提升 3 倍,CPU 利用率下降 60%。"全栈开发者,3 年 Go 语言实战经验,擅长高并发服务设计与微服务架构,主导过日均千万级流量的 Go 微服务开发,熟悉云原生与分布式系统优化。云原生(AWS/GCP/Azure)、Service Mesh(Istio)、分布式中间件(etcd/NATS)

2025-06-02 20:13:44 1064

原创 Go实战全家桶之85:go-micro如何将日志写入文件

在Go-Micro框架中,可以通过几种方式将日志写入文件。

2025-06-02 12:34:26 614

原创 gorm升级到v2有哪些改动

GORM v2 相较于 v1 有许多改进和新特性,同时也存在一些破坏性变更。GORM v2 正式支持 Go Modules,需使用 Go 1.11+ 并在项目中启用模块化(通过以上调整,可以顺利将代码从 GORM v1 迁移到 v2,并利用其性能改进和新特性。自动创建索引和约束时更严格,重复迁移不会报错(去重处理)。方法不再隐式关联表名,需显式指定或通过结构体标签定义。的参数需为字段名字符串(v1 允许结构体字段)。的默认行为(无条件取第一条,不报错)。方法更灵活,支持动态操作关联数据。

2025-06-02 12:00:13 856

原创 Go实战全家桶之84:gin如何将日志写入文件

go复制下载import ("log""os"if err!

2025-06-01 10:55:34 448

原创 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 176

原创 Go实战全家桶之83:如何将es语句写入文件

goif err!

2025-06-01 08:44:07 778

原创 Go实战全家桶之82:gorm sql写入文件已交付

/ 自定义 Logger 结构体,实现 gorm.io/gorm/logger.Interface。

2025-06-01 08:30:31 973

原创 orm.io/gorm/logger和github.com/jinzhu/gorm版本有什么区别

和。

2025-06-01 07:34:48 916

原创 奇瑞 赛力斯 比亚迪哪个品牌电动车好

覆盖10万-100万价位,如海豚(入门代步)、汉EV(中高端轿车)、仰望U8(百万级越野)。:中大型豪华轿车,续航715km,刀片电池+DiPilot智驾,适合商务/家庭用户。:增程式SUV,综合续航1300km,鸿蒙座舱+华为ADS 2.0,适合科技爱好者。:旗舰SUV,空气悬架+激光雷达,对标理想L9,高端市场新选择。:微型电动车,续航305km,价格7.38万起,城市代步神器。:全球化车型,续航401km,设计年轻化,主打海外市场。:微型电动车,续航321km,支持换电,适合短途代步。

2025-05-31 18:48:29 971

原创 Go实战全家桶之81:gorm sql如何写入文件

实现 GORM 的。

2025-05-31 14:40:39 158

原创 Go实战全家桶之80:go老系统增加功能且需要重构有什么好的建议

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

2025-05-31 14:26:04 1271

原创 go rest返回码有必要规划子错误码吗

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

2025-05-31 14:18:10 1039

原创 go rest接口如何规划返回码

在设计 REST 接口的返回码时,需要遵循清晰、一致、可扩展的原则,确保客户端能快速理解接口状态并处理业务逻辑。优先使用标准的 HTTP 状态码,明确表达请求的通用结果(如成功、客户端错误、服务端错误)。:服务端记录错误详情(如堆栈跟踪),但响应中避免暴露敏感信息。:提供完整的错误码列表和说明(如 Swagger 文档)。:请求成功,但无返回内容(如 DELETE 请求)。:请求参数错误(如格式错误、必填字段缺失)。:资源创建成功(如 POST 请求)。:请求冲突(如重复创建唯一资源)。

2025-05-31 14:17:20 648

原创 比亚迪车为什么降价

比亚迪近年销量高速增长(2023年销量超300万辆),规模化生产显著降低了单车成本(如电池、零部件采购成本下降),为降价提供空间。:新能源汽车市场竞争激烈,特斯拉、蔚来、小鹏等品牌频繁降价或推出优惠,比亚迪作为头部企业需要通过价格调整保持市场份额。:随着新一代电池技术(如刀片电池、DM-i混动系统)普及,旧款车型技术竞争力下降,通过降价清理库存。:部分降价车型可能是库存车或旧款,建议关注配置、质保政策等细节,避免因低价牺牲核心权益。:比亚迪自研电池、电机、电控等核心部件,供应链自主可控,能有效控制成本。

2025-05-31 14:11:09 244

原创 用户签约的4个类型测试场景

req.ShopShortName = "TZM001之家"req.ShopShortName = "TZM002之家"req.ShopShortName = "TZM001之家"req.ShopShortName = "TZM001之家"声明:本网站部分内容来源于网络。3 非用户签约(老功能)1平台/非独立域名签约。

2025-05-31 13:48:49 466

原创 go elasticsearch保存时是如何获取或生成_id的

方式适用场景优点缺点手动指定_id需要业务关联 ID(如用户ID)可控性高,便于后续查询需自行保证唯一性自动生成_id无业务关联的临时数据无需额外逻辑,保证唯一性无业务语义,可能冗余通过合理选择_id的生成策略,可以更好地平衡业务需求与系统性能。

2025-05-30 08:34:20 320

Go实战全家桶之三十三: go pprof定位问题,自己埋的坑

perfstat

2025-01-08

Go实战全家桶之三十三: go pprof定位问题,自己埋的坑

perfstat

2025-01-08

个性化推荐与活动配置方案

个性化推荐与活动配置方案

2024-04-04

gofactroy代码工厂生成python,go

go代码工厂

2024-04-04

JAVA工具factroy.rar

springcloud dubbo

2021-10-28

rbtest my unit simp-le

ruby good test ,you can study!

2014-08-23

my cpytest --python test frame

python test ''' Created on 2011-11-2 @author: ACER ''' import glob, os from testframe.TestSuite import * class PyTestRunner: @staticmethod def run(suite): TestSuite.run(suite) @staticmethod def autoloadModule( ): TestSuite.autoloadModule() @staticmethod def runAll( ): PyTestRunner.run( TestSuite.allsuites ) def main(): PyTestRunner.autoloadModule() PyTestRunner.runAll() if __name__ == '__main__': main() ''' '''

2011-11-06

mycppunit test frame

c++pragma once #include "itestfixture.h" #include "TestSuite.h" class CTestCase : public ITestFixture { //Register CPPUNIT_TEST_SUITE(CTestCase) CPPUNIT_TEST(test_demo_1) CPPUNIT_TEST(test_demo_2) CPPUNIT_TEST_SUITE_END() public: CTestCase(void); ~CTestCase(void); virtual void setUp(); virtual void tearDown(); void test_demo_1(); void test_demo_2(); // REG_TESTCASE(CTestCase::test_demo_1) // static CTestCase itestcase1("TestCase::test_demo_1", &CTestCase::test_demo_1 ); //static CTestCase itestcase1(std::string("TestCase::test_demo_1"), NULL); };

2011-11-06

my java unit

java package com.myunit; import testapi.ITestAgent.TestLog; @TestClass public abstract class ITestFixture extends MyAssert implements ISubject { IObserver iobs = null; public ITestFixture() { } public ITestFixture(Class testClass) { MyTestSuite.RegTestSuite(testClass); } public void TestLog(String line) { TestLog.TestLog(line); } // public static RegTestcase regtc=new RegTestcase(new ITestFixture()); public abstract void setUp(); public abstract void tearDown(); public void run(MyTestResult result) { } public int countTestcase() { return 0; } public void log(String inf) { sendMessage(new StringBuffer(inf)); MyLog.log(inf); } @Override public void register(IObserver o) { iobs = o; } @Override public void sendMessage(StringBuffer inf) { if (iobs != null) { iobs.action(inf); } } @Override public void unRegister(IObserver o) { iobs = o; } }

2011-11-06

anfang.zip

安防系统安防系统

2019-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除