学习周刊-总第99期-2023年第12周
文章发布较早,内容可能过时,阅读注意甄别。
# 0 ,前言
周刊维护在:https://github.com/eryajf/learning-weekly (opens new window) 欢迎投稿,推荐或自荐项目 /文章 /博客,请提交 issue 。
周刊核心为运维周刊,还会侧重 Go 语言生态,Vue 相关技术生态的项目,以及 GitHub 上优秀项目或经验。
你也可以在我的博客 (opens new window) 查看汇总周刊。
🔥 有不少人想单独从博客通过 RSS 订阅周刊的更新,现在它来了,你可以使用这个🔗 链接 (opens new window)进行订阅。
# 1,优秀项目
- 项目地址:weworkapi_golang (opens new window)
- 项目说明:企业微信回调消息加解密的 go 库。
- 相关文章:README (opens new window)
- 项目地址:uiGradients (opens new window)
- 项目说明:用于设计和代码的漂亮颜色渐变。
- 相关文章:README (opens new window), 在线体验 (opens new window)
项目说明:顾名思义,一个支持在 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 }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
- 项目地址:vue-fabric-editor (opens new window)
- 项目说明:基于 fabric.js 和 Vue 的图片编辑器,可自定义字体、素材、设计模板。
- 相关文章:README (opens new window),在线体验 (opens new window)
- 项目地址:tduck-platform (opens new window)
- 项目说明:一款在线数据收集/问卷调查工具
- 相关文章:README (opens new window)
- 项目地址:paint-board (opens new window)
- 项目说明:基于 canvas 的多功能画板。
- 相关文章:README (opens new window), 在线体验 1 (opens new window),在线体验 2 (opens new window)
# 2,优秀文章
- TypeError: includes is not a function in JavaScript (opens new window)
- 如果使用
includes()
方法,并且过滤的还是其他数据类型,则需要注意得把数据类型转换之后方可正常使用。
- Jenkins 的流水线详解 (opens new window)
- 如题,很详尽的整理
- 为什么这么多 CLOSE_WAIT (opens new window)
- 解决 TIME_WAIT、CLOSE_WAIT 过多问题 (opens new window)
- 关于 close_wait 的问题
# 3,优秀博客
- 博客地址:偷得浮生 (opens new window)
- 简单说明:纯运维博客,每篇都是长文干货。
- 博客地址:清澄秋爽 (opens new window)
- 简单说明:golang 技术栈博客,内容很不错
- 博客地址:Azad's Space (opens new window)
- 简单说明:一个折腾的很不错的博客
上次更新: 2024/09/26, 21:41:44