--- title: 学习周刊-总第99期-2023年第12周 date: 2023-03-24 08:44:49 permalink: /pages/e239f5/ categories: - 周刊 - 学习周刊 - 2023年 tags: - feed: enable: true description: 学习周刊-总第99期-开源的图片编辑器与多功能画板 --- ### 0 ,前言 周刊维护在:[https://github.com/eryajf/learning-weekly](https://github.com/eryajf/learning-weekly) 欢迎投稿,推荐或自荐项目 /文章 /博客,请提交 issue 。 周刊核心为运维周刊,还会侧重Go语言生态,Vue相关技术生态的项目,以及 GitHub 上优秀项目或经验。 你也可以在我的博客 [https://wiki.eryajf.net/learning-weekly/](https://wiki.eryajf.net/learning-weekly/) 查看汇总周刊。 ### 1,优秀项目 --- - 项目地址:[weworkapi_golang](https://github.com/sbzhu/weworkapi_golang) - 项目说明:企业微信回调消息加解密的 go 库。 - 相关文章:[README](https://github.com/sbzhu/weworkapi_golang#readme) --- - 项目地址:[uiGradients](https://github.com/Ghosh/uiGradients) - 项目说明:用于设计和代码的漂亮颜色渐变。 ![Miaka.jpg](https://ldbbs.ldmnq.com/bbs/topic/attachment/2023-2/c465c89f-d7c6-437b-9238-2f31aa9eca7c.jpg) - 相关文章:[README](https://github.com/Ghosh/uiGradients#readme), [在线体验](https://uigradients.com/#Miaka) --- - 项目地址:[retry-go](https://github.com/avast/retry-go#) - 项目说明:顾名思义,一个支持在go中实现重试的库。 eg: ```go 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](https://github.com/avast/retry-go#readme) --- - 项目地址:[vue-fabric-editor](https://github.com/nihaojob/vue-fabric-editor) - 项目说明:基于 fabric.js 和 Vue 的图片编辑器,可自定义字体、素材、设计模板。 ![](http://t.eryajf.net/imgs/2023/02/965abc8e7e54558a.png) - 相关文章:[README](https://github.com/nihaojob/vue-fabric-editor#readme),[在线体验](https://nihaojob.github.io/vue-fabric-editor/) --- - 项目地址:[tduck-platform](https://github.com/TDuckCloud/tduck-platform) - 项目说明:一款在线数据收集/问卷调查工具 - 相关文章:[README](https://github.com/TDuckCloud/tduck-platform#readme) --- - 项目地址:[paint-board](https://github.com/LHRUN/paint-board) - 项目说明:基于 canvas 的多功能画板。 ![](http://t.eryajf.net/imgs/2023/02/aaadd4242d6b56e1.png) - 相关文章:[README](https://github.com/LHRUN/paint-board#readme), [在线体验1](https://songlh.top/paint-board/),[在线体验2](https://eryajf.github.io/paint-board/) --- ### 2,优秀文章 --- - [TypeError: includes is not a function in JavaScript](https://linuxhint.com/type-error-includes-is-not-a-function-in-javascript/) - 如果使用 `includes()`方法,并且过滤的还是其他数据类型,则需要注意得把数据类型转换之后方可正常使用。 --- - [Jenkins的流水线详解](https://zhangzhuo.ltd/articles/2022/06/04/1654333399919.html) - 如题,很详尽的整理 --- - [Jenkins Pipeline & kuberentes 如何创建 Pod](https://mp.weixin.qq.com/s/JGGEEYr5h8jQtnRtYoZNJA) - 如题 --- - [为什么这么多CLOSE_WAIT](https://plantegg.github.io/2021/04/06/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B9%88%E5%A4%9ACLOSE_WAIT/) - [解决TIME_WAIT、CLOSE_WAIT过多问题](http://hanlinsir.com/network/2020/04/10/%E8%A7%A3%E5%86%B3TIME_WAIT-CLOSE_WAIT%E8%BF%87%E5%A4%9A%E7%9A%84%E9%97%AE%E9%A2%98.html) - 关于 close_wait 的问题 --- ### 3,优秀博客 --- - 博客地址:[偷得浮生](https://zhangzhuo.ltd/) - 简单说明:纯运维博客,每篇都是长文干货。 --- - 博客地址:[清澄秋爽](https://dashen.tech/archives/) - 简单说明:golang 技术栈博客,内容很不错 --- - 博客地址:[Azad's Space](https://blog.azad.asia/) - 简单说明:一个折腾的很不错的博客 ---