- 博客(56)
- 收藏
- 关注
原创 中英文翻翻乐
中英文翻翻乐:一个专注于学习中英文的开源项目,旨在游戏中学习英文。自己输入中英文,中间使用空格隔开,最少不能少于四对gitee链接。
2025-05-06 15:32:27
271
原创 设计模式之工厂方法模式
具体来说,定义一个创建对象的接口(抽象工厂),但由子类决定实例化哪个具体类。需要动态扩展产品类型:例如新增一种动物(如Bird),只需添加Bird类和BirdFactory类,无需修改现有代码。简单工厂:一个工厂类集中创建所有产品(如AnimalFactory.create(“Dog”)),违反开闭原则。系统需要解耦:客户端只需依赖抽象接口(Animal和AnimalFactory),不关心具体实现。工厂方法:每个产品对应一个工厂类,扩展时只需新增类,无需修改原有代码。
2025-04-18 15:14:36
523
原创 ThinkPHP8可能遇到问题一:save保存时出现验证器的信息
近期在写ThinkPHP8时遇到了一个问题,就是我在新增时没有限制id,但是他却响应我id不能为空,后面发现是ThinkPHP8加了校验器。
2025-04-16 16:06:26
388
原创 git提交规范
Header(必填):包含提交类型(type)、作用域(scope,可选)、简短描述(subject)。Body(可选):详细说明改动动机、对比旧逻辑,或标记破坏性变更(如BREAKING CHANGE)。临时分支:feature/xxx(新功能)、fix/xxx(Bug修复)。主分支:master/main(生产环境)、develop(开发环境)。命名原则:清晰描述功能或问题(如feat/user-login)。时态与语态:使用祈使语气(如"Fix"而非"Fixed")。、回溯问题,并提升代码审查效率。
2025-04-16 11:42:08
855
原创 IP防护等级标准的详细分类及规范说明
生活中会在手机宣传或者各种电子产品宣传上标注IP68什么什么的但是大多数人不知道IP68代表什么其实IP68 是分两部分的。
2025-04-16 11:33:54
504
原创 Apifox Helper 与 Swagger3 区别
定位:基于 IDEA 的代码注释解析工具,与 Apifox 平台深度集成,实现文档自动生成+接口管理+测试协作的一体化流程。通过 Swagger UI 访问 http://localhost:8080/swagger-ui.html 查看文档。定位:标准化 API 描述工具,通过代码注解定义接口规范,生成符合 OpenAPI 标准的文档。通过 IDEA 插件一键生成 API 文档并同步到 Apifox。
2025-04-02 11:42:59
368
原创 在Thinkphp中使用JWT 包括JWT是什么,JWT的优势
JWT 是一种开放标准(RFC 7519),用于在各方之间以 JSON 对象形式安全传输信息4。结构:由三部分组成(Header、Payload、Signature),通过点号分隔,例如 xxxxx.yyyyy.zzzzz2。Header:声明加密算法和 Token 类型(如 HS256)。Payload:包含用户信息、注册声明(如 iss、exp)和自定义数据。Signature:通过密钥对前两部分签名,确保数据完整性。
2025-04-01 13:55:06
741
原创 ThinkPHP的“get\post\put\delete“请求
注意这段代码是在controller层的,isPut会判断请求类型是不是Put,其实在定制路由时就限制了请求类型,这里不判断也是可以的。注意这段代码是在controller层的,同时不能直接return 字符串以外别的类型,所以进行了json转换。注意这段代码是在controller层的,是使用halt直接中断输出,他会里面的内容进行dump。注意这段代码是在controller层的,可以在param里写你要接受的指定参数。
2025-03-31 15:15:36
703
原创 phpstudy_pro 切换php版本 包含解决可能出现的问题
如果不知道文件路径可以去phpstudy中查看。把值改为Off,如果没有请新增。如果在cmd中使用不了php。在path中加入php的路径。在配置文件中加入这一行,值为你的路径加\ext。就需要去配置文件修改。
2025-03-29 11:13:49
447
原创 原型模式为什么可以解决构建复杂对象的资源消耗问题
原型模式通过复制现有对象(原型)生成新对象,而非通过new关键字重新实例化,从而绕过复杂的初始化流程。原型模式:10MB(原型) + 1000×元数据 ≈ 10MB + α,显著降低内存压力。状态一致性:复制原型时需确保其处于稳定状态,避免拷贝中间过程产生的半成品对象。深拷贝成本:若子对象层级过深,深拷贝可能抵消性能优势,需权衡。游戏开发:复制预设的敌人/道具模板,避免重复加载模型和纹理。配置对象:复用已解析的配置文件对象,减少IO和解析时间。事务性操作:快速生成事务副本,保证操作隔离性。
2025-03-28 10:09:31
623
原创 PHP之数组
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于数组的信息。PHP中的数组不用指定数据类型,同时索引不一定是数字。与其说是数组,其实更像map。
2025-03-05 16:42:12
243
原创 PHP之常量
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于常量的的信息。PHP中的常量不用指定数据类型,可以使用两次方法定义。
2025-03-05 16:37:49
392
原创 Redis分布式锁
在分布式系统中,当多个服务实例需要协调访问共享资源时,分布式锁可以确保同一时间只有一个实例能够访问该资源。比如,在电商系统中防止超卖,或者在定时任务中避免重复执行。返回值:成功返回OK,失败返回nil。3.锁续期(Watchdog机制)业务完成或客户端关闭时终止续期。
2025-02-28 09:36:51
306
原创 Redis数据淘汰策略
当Redis中的内存不够时,此时在向Redis中添加新的Key,Redis会安卓某种规则将内存中的数据删掉。或volatile-
2025-02-27 15:30:07
228
原创 Redis雪崩
缓存雪崩指大量缓存数据在同一时间集中过期,或Redis服务宕机,导致所有请求直接穿透到数据库,引发数据库瞬时高负载甚至崩溃的现象。
2025-02-25 16:52:56
374
原创 Redis缓存穿透
缓存穿透是指恶意或异常请求查询大量不存在的数据(如非法ID、随机字符串),导致请求绕过缓存直接访问数据库,造成数据库压力过大甚至崩溃。
2025-02-25 16:24:11
292
原创 鸿蒙5.0(API12)通用数据库封装类实现
因为在使用鸿蒙实现多个表和实体类进行操作时,发现如果用官方的教程要多谢好多一样的代码,所以出于"偷懒"就有了开发封装类的想法。
2025-01-19 18:03:17
324
windows一键测速DNS并切换
2025-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人