title | date | permalink | categories | tags | feed | description | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
学习周刊-总第99期-2023年第12周 |
2023-03-24 01:44:49 -0700 |
/pages/e239f5/ |
|
|
学习周刊-总第99期-开源的图片编辑器与多功能画板 |
周刊维护在:https://github.com/eryajf/learning-weekly 欢迎投稿,推荐或自荐项目 /文章 /博客,请提交 issue 。
周刊核心为运维周刊,还会侧重Go语言生态,Vue相关技术生态的项目,以及 GitHub 上优秀项目或经验。
你也可以在我的博客 https://wiki.eryajf.net/learning-weekly/ 查看汇总周刊。
- 项目地址:weworkapi_golang
- 项目说明:企业微信回调消息加解密的 go 库。
- 相关文章:README
- 项目地址:uiGradients
- 项目说明:用于设计和代码的漂亮颜色渐变。
- 相关文章:README, 在线体验
-
项目地址:retry-go
-
项目说明:顾名思义,一个支持在go中实现重试的库。
eg:
package main import ( "io/ioutil" "log" "net/http" "time" "github.com/rafaeljesus/retry-go" ) var ( attempts = 3 //最大重试次数 sleepTime = time.Second * 2 //重试延迟时间 ) func main() { _, err := retry.DoHTTP(func() (*http.Response, error) { return makeRequest() }, attempts, sleepTime) if err != nil { log.Print("retry.DoHTTP Failed") return } log.Print("retry.DoHTTP OK") } // 发送http请求 func makeRequest() (*http.Response, error) { client := http.Client{ Timeout: 2 * time.Second, // 设置请求超时时间 } req, err := client.Get("https://www.baidu2.com") // 模拟不存在的url请求 if err != nil { log.Printf(err.Error()) return nil, err } body, err := ioutil.ReadAll(req.Body) if err != nil { log.Printf(err.Error()) return nil, err } log.Printf("响应数据 %v\n", string(body)) defer req.Body.Close() res := &http.Response{} return res, nil }
-
相关文章:README
- 项目地址:vue-fabric-editor
- 项目说明:基于 fabric.js 和 Vue 的图片编辑器,可自定义字体、素材、设计模板。
- 相关文章:README,在线体验
- 项目地址:tduck-platform
- 项目说明:一款在线数据收集/问卷调查工具
- 相关文章:README
- 项目地址:paint-board
- 项目说明:基于 canvas 的多功能画板。
- 相关文章:README, 在线体验1,在线体验2
- TypeError: includes is not a function in JavaScript
- 如果使用
includes()
方法,并且过滤的还是其他数据类型,则需要注意得把数据类型转换之后方可正常使用。
- Jenkins的流水线详解
- 如题,很详尽的整理
- 为什么这么多CLOSE_WAIT
- 解决TIME_WAIT、CLOSE_WAIT过多问题
- 关于 close_wait 的问题
- 博客地址:偷得浮生
- 简单说明:纯运维博客,每篇都是长文干货。
- 博客地址:清澄秋爽
- 简单说明:golang 技术栈博客,内容很不错
- 博客地址:Azad's Space
- 简单说明:一个折腾的很不错的博客