Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

准备 0.0.8 #219

Merged
merged 36 commits into from
Sep 25, 2023
Merged

准备 0.0.8 #219

merged 36 commits into from
Sep 25, 2023

Conversation

flycash
Copy link
Contributor

@flycash flycash commented Sep 25, 2023

No description provided.

longyue0521 and others added 30 commits April 17, 2023 12:35
* 修复红黑树删除节点问题
* refacor: 统一内外中断信号

* 修改.CHANGELOG.md

* 1. 重构allowToCreateGoroutine方法,使用直接的bool表达式表明意图
2. 抽取numOfGoThatCanBeCreate方法,增强可读性
3. 对goroutine方法中注释进行整理,并抽取noTasksToExecute变量——增强可读性表明意图

* 1. 将interruptCancel重命名为interruptCtxCancel
2. 将gorutine方法中的time.NewTimer(1)改回为time.NewTimer(0)——延长时间不起作用
3. 修复隐秘bug
* reflectx: IsNil 方法
- 实现了 IsNilValue 方法,执行 IsNil 方法之前,先对类型进行判断,避免 panic。
- 编写 IsNilValue 方法的测试用例

* reflectx: IsNil 方法
- 修复 nil func 测试用例

* 执行 make check 和 make lint 命令,完成代码格式化和 golintci 的静态代码检

* 添加 CHANGELOG

* reflectx: IsNil 方法
- switch 语句里新增 case → reflect.UnsafePointer
- 新增 nil UnsafePointer 和 非 nil UnsafePointer 测试用例

* retry: Strategy 接口设计与等间隔重试实现
- 创建 Strategy 重试策略接口
- 实现 EqualRetryStrategy 等时间间隔重试策略
- 编写 func (s *EqualRetryStrategy) Next()

* retry: Strategy 接口设计与等间隔重试实现
- EqualRetryStrategy 变更为 FixedIntervalRetryStrategy
- 新增 NewErrInvalidIntervalValue 内部方法,返回无效的间隔时间的 error
- NewFixedIntervalRetryStrategy 新增对 interval 校验的逻辑
- 原子操作替代锁

* retry: Strategy 接口设计与等间隔重试实现
- TestEqualRetryStrategy_Next 变更为 TestFixedIntervalRetryStrategy_Next

* retry: Strategy 接口设计与等间隔重试实现
- TestNewFixedIntervalRetryStrategy 变更为 TestFixedIntervalRetryStrategy_New

* retry: 指数退避重试策略实现
- 新增指数退避重试策略(ExponentialBackoffRetryStrategy)
- 编写指数退避策略相关函数和方法的测试用例

* retry: 指数退避重试策略实现
- ExponentialBackoffRetryStrategy 结构体新增原子类型字段 maxIntervalReached,用于标记是否已经达到最大重试间隔,后续通过此字段判断如果达到最大重试间隔,则不需要再计算 interval
- 测试用例优化

* retry: 指数退避重试策略实现
- 测试用例优化

* retry: 指数退避重试策略实现
- 测试用例函数优化

* mapx: MutipleTreeMap
- 实现 MultiMap,一个多映射的 Map
- 提供 NewMultiTreeMap 和 NewMultiHashMap 方法
- 为新增函数和方法编写测试用例

* mapx: MutipleTreeMap
- 实现 MultiMap,一个多映射的 Map
- 提供 NewMultiTreeMap 和 NewMultiHashMap 方法
- 为新增函数和方法编写测试用例

* mapx: MutipleTreeMap
- 实现 MultiMap,一个多映射的 Map
- 提供 NewMultiTreeMap 和 NewMultiHashMap 方法
- 为新增函数和方法编写测试用例

---------

Co-authored-by: 陈明勇 <[email protected]>
Co-authored-by: root <[email protected]>
---------

Co-authored-by: 陈明勇 <[email protected]>
Co-authored-by: root <[email protected]>
mapx: LinkedMap 特性
- 新增 LinkedMap 结构体
- 为 LinkedMap 实现 mapi 接口的方法
- 为新增方法添加测试方法

closes #190

---------

Co-authored-by: root <[email protected]>
* bean/cpoier add ignore option

* bean/copier,1、使用 bean/option 和 set 改造一下忽略字段的需求;2、重新给测试用例命名;

* bean/copier,将 options 改成 option 模式的,方便后续别的附加功能可以自定义初始化过程。

* bean/copier,将 options 改成延迟初始化。

* bean/copier,执行 make check;修改 mapset 初始化时的容量;补全测试用例;
* refactor: LoadOrStoreFunc直接调用m.LoadOrStore

Signed-off-by: longyue0521 <[email protected]>

* refactor: 重构测试代码——使用子测试增强可理解性,用same方法代替equal方法明确意图“

Signed-off-by: longyue0521 <[email protected]>

* 添加.CHANGELOG.md

Signed-off-by: longyue0521 <[email protected]>

---------

Signed-off-by: longyue0521 <[email protected]>
* 添加泛型Add函数,在指定位置插入元素

* 修改CHANGELOG文件
* 优化slice的delete方法的性能
* copier支持类型转换

* 根据review的一些修改

* 修改atomicTypes的获取方式

* 解决并发copy的问题 & 调整文件位置

* 格式化代码 & 整合defaultOptions复制
1. 引入 matchFunc
2. 简化 slice 中查找类型的 API
3. 引入 Find 和 FindAll 方法
* 优化对称差集,交集实现

* 修改changelog
* 优化slice的delete方法的性能

* 添加到ChangeLog中

* 新增生成随机code方法

* 修改changelog

* randx:修改代码提升可读性提升

* randx:增加测试覆盖

* randx:测试修改为table driven方式

* randx:测试修改

---------

Signed-off-by: Zhang Cancan <[email protected]>
* 修复EncryptColumn.Scan string分支错误

* 修改changelog

* 修改changelog信息错误
Depravity-pig and others added 6 commits September 14, 2023 21:53
* [feat]: (新增string特性) AnyValue 支持类型转换 - String 转类型 #210

实现 string 类型转换 As[Type]

* int 家族:int, int8, int16. int32, int64
* uint 家族: uint, uint8, uint16, uint64
* float 家族: float32, float64
* []byte

* [test] 新增As方法测试用例

* 新增changelog记录
* [feat](stringx) 新增unsafe 转换 string 和 []byte

注意使用非安全的方式转换时时一定要注意以下三点
- 确保传入的字符串和字节切片的生命周期足够长,不会在转换后被释放或修改。
- 确保传入的字符串和字节切片的长度和容量是一致的,否则可能导致访问越界。
- 不要对转换后的字节切片或字符串进行修改,因为它们可能与原始的字符串或字节切片共享底层的内存。

* 添加 changelog 记录

* 完善测试用例及注释
* 新增stringx Benchmark

* 添加changelog
解决冲突,准备合并代码
@flycash flycash merged commit bcc3dea into main Sep 25, 2023
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants