guonaihong

Results 55 issues of guonaihong

新的功能点. 比如 ```bash # cat t.json # { # "userName" :"haha", # "password" :"haha" # } curl --verbose -X POST -H "Content-Type:application/json" -d @./t.json http://xxx/v1/login ``` 直接生成如下代码 ```go // request的结构体代码...

### 主要目的使用golang再造一个curl库,为高性能解析curl表达式提供支持(相比call bash方式) * 只专注于http相关功能点 * 使用20%的时间实现80%的功能 * 剩余20%功能慢慢实现

1. json字符串里面套json字符串 1. json文本里面包含单引号 1. 多个转义符号的情况(1, 2, 3个转义符号)

enhancement

## 目标 * 用go实现字符串相似度lib * 处理中文准确度较高(目前很多老外写的库处理中文效果不佳) * 集成多种相似度算法(编辑距离,汉明编码,骰子系数) ## 莱文斯坦-编辑距离(Levenshtein) * https://zhuanlan.zhihu.com/p/91667128 * https://www.jianshu.com/p/a617d20162cf (以上两份参考资料都是创建矩阵,看完算法之后感悟,没有必要创建矩阵,只要缓存x坐标+对角线一个值就行,实现效果一样) * http://richardminerich.com/tag/damerau-levenshtein-distance/ (补充) ## Hamming * https://baike.baidu.com/item/%E6%B1%89%E6%98%8E%E8%B7%9D%E7%A6%BB/475174?fr=aladdin ## Dice's coefficient * https://blog.csdn.net/gjk0223/article/details/2314844 n个字符算集合一个元素,这点容易忽略,n是可以配置的,很多开源项目都忽略这点。原论文公式是 2 *(a...

## 草稿 0.普通递归拷贝 ```go deepcopy.Copy(dst, src).Do() ``` 1.控制拷贝层次,下面结构体只拷贝一层 ```go deepcopy.Copy().MaxDepth(1).Do() ``` 2.只拷贝指定tag的字段 ```go deepcopy.Copy().RegisterTagName("copy").Do() ``` ~~3.只拷贝string和int类型~~ ```go deepcopy.Copy().OnlyType(reflect.String, reflect.Int).Do() ``` 4.支持字段选择 ```go deepcopy.Copy().OnlyField("id", "idx").Do() deepcopy.Copy().OnlyField(".struct2", ".struct3").Do() ``` 5.支持效验器,不符合要求的数据不copy ```go deepcopy.Copy().NeeValid(deepcopy.String()).Do()...

大名鼎鼎的cron库。https://github.com/robfig/cron 有性能问题, 感兴趣。可看下面的链接,在我的测试中,1w个任务。1s更新100个。cron有时候会把cpu占用到90%,而且是空调函数,还没有具体的业务逻辑,而且比较严重的是,一但更新就会有cpu突刺。 https://github.com/antlabs/cronex 这是对cron的改良。 https://github.com/guonaihong/crontest 这是测试代码 ![cronex.png](https://github.com/guonaihong/images/blob/master/cronex/cronex.png) 感谢作者有这么优秀的项目。为了避免引入robfig/cron 库,生产出现奇怪的cpu飙升,分享最近的压测结论。

##TODO 在使用SetHeader/SetQuery/SetJSON/SetXML/SetYaml/SetForm/SetWWWForm 等接口时。 传递struct 该使用何种tag。整理一个表格,更清晰。

有助于更快看到感兴趣的内容。

## Feature Request 主要两个小点需要优化。 1. 没有写子命令,需要打印usage() 2. 如果没有写正确usage,需要提示正确的子命令。