[[ Golang ]]

35 篇文章提到了此关键词

…ersion -m xxx 就可以从二进制文件里直接获取构建信息了 runtime/debug 的 ReadBuildInfo 函数携带的,想到之前用过的一个项目,可以找到系统中所有用 Golang 编写的进程信息,并且可以显示编译版本,有用到: [gops/goprocess/goprocess\1.18.go at master · google/gops · GitHub](https:…

文章 技术 Go 1.26 interactive tour Golang 1.26 是一个很大的版本迭代,性能、开发体验都有改进,感觉值得升级。 --- [Why I don’t like “Correction of Error” – Surfing Complexi…

…adog](https://www.datadoghq.com/blog/engineering/go-swiss-tables/) DataDog 在将 Golang 升级到 1.24 之后的经历。 - RSS 显著增加,但是 Go Runtime 的内存统计数据没有变化 - 通过检查 /proc/$pid/smaps 对比,发现 Go Heap 增加了,最…

…efficient than Golang > Myth 3: The learning curve of Rust is too high Grab 将自己的 Golang Counter Service 用 Rust 重写了,最终得到的性能差不多,计算资源消耗是之前的 20%。这篇文章的叙事风格很舒服。 --- [How to…

…Roman Sheremeta | Medium](https://rsheremeta.medium.com/benchmarking-gob-vs-protobuf-9dc36ea56ba4) Golang 中常见的序列化方式性能比较。如果需要在 Gob 和 protobuf 中选择,直接选择 protobuf 就好。 --- 生活 [I do NOT like message re…

…look up IP addresses in Mess With DNS](https://jvns.ca/blog/2024/10/27/asn-ip-address-memory/) 一个 Golang 程序的内存使用优化过程记录,先是尝试了一些其他的方案,比如 SQLite,trie,都放弃了。最后一点点通过 runtime 来分析内存使用,通过修改部分数据结构来优化内存,在优化的过程中,搜索到了…

…- x.com 为什么 docker 使用 Golang 编写? - 编译后的 binary 不需要安装运行时 - 创始人是 Python/C 背景,Golang 均衡了两者 - 主流语法,没有小众或激进的概念,有助于建立大型的贡献者社区 - 直觉,觉得…

…icles/enums-take-two) Enums in Go | Dizzy zone 关于如何在 Golang 中实现 Enum 的几篇文章,可以使用 [GitHub - zarldev/goenums: Type Safe Enum generator for Go](https://github.com/…

…rgery in Golang](https://www.agwa.name/blog/post/preventingserversiderequestforgeryingolang) Golang 中防止 SSRF 攻击的方式,在 net.Dialer 的 Control 中进行一些基本的防御检查操作: Go func safeSocketC…

…rr := decoder.Decode(&req); err != nil { log.Fatal(err) // json: unknown field "unknown" } Golang 通过 DisallowUnknownFields 方法来显式的禁止 API client 传递无效参数。 - 如果是已有的服务,那么在打开这个选项之前,需要先通过日志记录 API 是否存在传递…

…缀 - 更高效的编码(base 58) --- pprof - 在现网场景怎么用 - 轩脉刃 - 博客园 Golang pprof 生产环境调试速查。 - goroutine 泄漏 - curl -o goroutine.log localhost:6060/debug/pprof/goroutine?debug…

…/redmonk.com/sogrady/2024/03/08/language-rankings-1-24/) RedMonk 2024/01 语言排名,Golang 从 16 位上升到了 12 位,TypeScript 从 7 位上升到 6 位,随着对类型安全的看重,后续可能继续上升。 --- [Autonomous hardware diagnostics…

…k.io/post/feeding-a-hungry-mouse-using-chromedp-and-golang/) 通过 Chromedp 来使用 Golang 操作 Chrome 示例,其中一些关键的地方需要使用 JavaScript 配合 chromedp.Eval…

…o binaries | Redowan's Reflections](https://rednafi.com/go/omitdevdependenciesinbinaries/) 通过在 Golang 代码仓库中增加 tools.go 文件,在文件中声明依赖的工具,执行 go mod tidy 自动拉取相关依赖。kubernetes 示例:[ku…

…!rsc: Semantic Import Versioning (Go & Versioning, Part 3)](https://research.swtch.com/vgo-import) Golang 语义化版本管理背景,当需要发布不兼容的版本时,需要显式的切换 go mod 声明。 --- [家庭 Homelab 升级计划: v2 | Manjusaka](https://www.manju…

…ub in Go - Eli Bendersky's website](https://eli.thegreenplace.net/2023/sign-in-with-github-in-go/) Golang 实现OAuth 示例,分别使用标准库,x/oauth2 和 gologin 来实现。 另外发现 github…

…Go's 1.22+ ServeMux vs Chi Router - Calhoun.io 作者比较了Golang 1.22 引入的 ServeMux 和 chi 的对比,从使用方便的角度来说 chi 更方便些。 --- [git rebase: what can go wrong?](https://jvn…

…Eli Bendersky's website](https://eli.thegreenplace.net/2023/better-http-server-routing-in-go-122/) Golang 1.22 中会引入一个增强了模式匹配能力的默认HTTP服务器多路复用器(http.ServeMux)。新的multiplexer 支持指定HTTP方法的匹配、路径通配符匹配、路径结束符匹配等,避免了…

…Type Parameters - The Go Programming Language](https://go.dev/blog/deconstructing-type-parameters) Golang 使用泛型实现 Slice 的 Clone 方法的介绍。(但是现在还没有真正使用过泛型。 Go func Clone[S ~[]E, E any](s S) S { retur…

…ing For Loops in Go 1.22 - The Go Programming Language](https://go.dev/blog/loopvar-preview) 终于不用再 Golang for loop 中重新声明变量了。 [μMon: Stupid simple monitoring](https://tomscii.sig7.se/2022/07/uMon-stupid-si…

…field Consulting](https://bitfieldconsulting.com/golang/scripting) 用 Unix 命令风格来写 Golang,比如 script.Args().Concat().Match("Error").First(10).Stdout() 甚至内置了 jq : data, err := script.Do…

…s/reddit) 事件的影响,互联网越来越封闭,如何有效的获取信息已经是一个有门槛的事情了。 --- https://blog.webp.se/golang-libvips-cgo-zh/ Golang 跨平台编译的问题以及解决方式。如果一定要用 CGO,还是提供 container 方式吧。 --- https://xeiaso.net/blog/nosleep 避免在[单元测试](/pos…

…ects – Alex Edwards](https://www.alexedwards.net/blog/a-time-saving-makefile-for-your-go-projects) Golang 项目的Makefile 模板,包含常用的 tidy、lint、test、build。 可以用 Just 和[Task]…

…--- 绕过 Cloudflare 指纹护盾 | Sxyazi’s blog 貌似很多站点都会检测 Golang 的 Cipher Suites,之前应该是v2ray 提到过类似问题。通过使用 [GitHub - refraction-networking/utls: Fo…

…CodePilot | Synchronization Patterns in Go Golang 中实现同步机制的一些方式,Mutex,Semaphore, Channel. --- [David Klee - vNUMA and You - YouTube](https://www.you…

…maticengineer.com/p/real-world-eng-8) Khan 将内部服务从 Python 迁移至 Golang的过程和思考,根本需求是Python2 的问题,100 人规模的开发团队,共花费 3.5 年时间完成重写。 > Moving to Go will unde…

…anlv.fun/2022/06/02/golang-pprof-mem/) 从TCMalloc 到 mmap ,到 Golang 中的内存分配都有说明,最后判定问题是内存已经 GC,但是没有归还给操作系统(scavenging)。 --- [GraphQL 客户端缓存的正确打开方式 | Riptide](http://ww…

…in Go | jordan orelli](https://jordanorelli.com/post/32665860244/how-to-use-interfaces-in-go) 关于 Golang interface 使用上的总结。 --- [How to improve Python packaging, or why fourteen to…

…graph/conc: Better structured concurrency for go](https://github.com/sourcegraph/conc) 列举了一些常见的 Golang并发场景。 --- Why not DNS? 为什么 k8s不直…

…pace) 的方式来实现端口转发。 --- 一些关于时间和定时任务的库 Golang 第三方库,时间、cronjob 相关。 生活 [https://xiaowenz.com/read/read-detective/](…

…faster with a one character change • Harry Marr](https://hmarr.com/blog/go-allocation-hunting/) Golang 逃逸分析。 --- [Vulnerability Management at Lyft: Enforcing the Cascade - Part 1 | by Alex Chantavy |…

…, 2022 | Medium](https://medium.com/@snassr/processing-large-files-in-go-golang-6ea87effbfe2) 使用 Golang 通过 goroutine 和 channel 并行处理大文件。 --- [HTTP Resource Le…

…私有云的比例越大。 --- 多年老司机,面对这些Go并发问题,也迟疑了 Golang 并发问题。 生活 《水浒传》中林冲真的窝囊吗? 讲解林冲人物性格的成因。 --- 书影…

…](/mentions/envoy) 配置方式进行的改进,原有存在的问题: 原有路由配置使用Jinja 模版进行维护,无法进行很好的语法检查和验证,现已替换为 Golang 原有 envoy API 在配置平面和控制平面都被引用,当 envoy 升级时,都需要考虑兼容性问题,现在只在控制平面引…