20250315
每日一谚:test coverage != bug free
typescript-go编译速度慢?Go团队连夜爆改提速5倍
Go编译器在编译TypeScript编译器的internal/checker包时,速度异常缓慢,多核利用率很低。经过分析,发现问题主要出在Go 编译器的逃逸分析阶段。这个issue迅速引起了Go团队和社区的重视。Go团队成员(包括 Jake Bailey, dr2chase, thepudds等)积极响应,展开了深入调查和优化工作。 经过Go团队成员的不懈努力,他们提交了多个代码变更(CL),成功地将TypeScript 编译器internal/checker包的编译速度提升了5倍
Go循环导入的三种应对策略
本文讨论了 Go 语言中导入循环的问题,以及三种解决方法:良好的方法(引入接口并下移)、较差的方法(重构包以消除循环)和糟糕的方法(引入函数指针并在更高级别赋值)。作者最后呼吁 Go 语言能够提供一种更便捷的解决方法,以减少开发人员的工作量。
在 Go 中解码JSON sum类型而不会出现恐慌
Go 编程语言本身并不支持求和类型,但我们将了解如何模拟它们,如何将它们解码和编码成 JSON,以及在某些情况下它们如何帮助避免运行时恐慌异常。
掌握 Go 的错误处理:构建可靠软件的模式
学习提高应用程序可靠性的高级 Go 错误处理技术。探索自定义类型、错误包装、哨兵错误和结构化日志记录模式,以编写更健壮的代码。包含实际示例。
为什么 Go 不需要像其他语言那样的类
本文探讨了 Go 语言为什么不需要像 Java、C++ 或 Python 等其他语言那样的类,以及 Go 如何通过结构体、方法和接口重新构想面向对象编程,并阐述了这种方法的优势,例如代码更简洁、更灵活的组合、更清晰的依赖关系、更好的可测试性、更少的样板代码以及更快的编译速度。
在 S3 中,简单是基础
从简单的对象存储到复杂的表管理,构建者们一直都在塑造着 S3 的发展。Andy Warfield 讨论了为什么使复杂系统变得简单仍然是 AWS 的北极星。
构建跨平台 SDK:从 FFI 到 WebAssembly
这篇文章描述了我们为 Flipt 构建可移植、跨语言 SDK 的历程,以及迫使我们多次重新思考方法的意想不到的技术挑战。最初一个相对简单的 FFI 实现,演变成对 C 标准库、静态链接的复杂探索,最终引导我们走向 WebAssembly。在此过程中,我们发现,即使在 2025 年,真正可移植库的梦想仍然出奇地难以实现——但结合 WASM 和原生代码的混合方法可能是跨平台 SDK 的关键。
今日学习:将 HTML 对话框模态样式设置为占据视口全高
今天我花了一些时间尝试弄清楚如何使模态`<dialog>`元素显示为占据全高的侧边面板,并从侧面进行动画。全高部分很难实现,直到Natalie帮我弄清楚浏览器应用了默认的`max-height: calc(100% - 6px - 2em);`规则,需要覆盖它。文章还包括:一些关于 HTML 规范的探索,以找出该`calc()`表达式首次引入的位置。答案是 2020 年 11 月。
glanceapp/glance
A self-hosted dashboard that puts all your feeds in one place
gin-gonic/gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
grafana/loki
Like Prometheus, but for logs.
nats-io/nats-server
High-Performance server for NATS.io, the cloud and edge native messaging system.
prometheus/node_exporter
Exporter for machine metrics
go-vgo/robotgo
RobotGo, Go Native cross-platform RPA and GUI automation @vcaesar
hashicorp/vault
A tool for secrets management, encryption as a service, and privileged access management
helm/helm
The Kubernetes Package Manager
GoogleCloudPlatform/terraformer
CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code
pocketbase/pocketbase
Open Source realtime backend in 1 file
stretchr/testify
A toolkit with common assertions and mocks that plays nicely with the standard library
gofr-dev/gofr
An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.
rancher/rancher
Complete container management platform
ray-project/kuberay
A toolkit to run Ray applications on Kubernetes
rs/zerolog
Zero Allocation JSON Logger
ollama/ollama
Get up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, and other large language models.
kgretzky/evilginx2
Standalone man-in-the-middle attack framework used for phishing login credentials along with session cookies, allowing for the bypass of 2-factor authentication
spf13/cobra
A Commander for modern Go CLI interactions
open-telemetry/opentelemetry-go
OpenTelemetry Go API and SDK
fyne-io/fyne
Cross platform GUI toolkit in Go inspired by Material Design
Azure/azure-sdk-for-go
This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at:
kedacore/keda
KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
anchore/grype
A vulnerability scanner for container images and filesystems
charmbracelet/bubbletea
A powerful little TUI framework 🏗
编辑:Tony Bai
编辑主页:tonybai.com
GopherDaily项目:github.com/bigwhite/gopherdaily
Copyright 2019-2024 GopherDaily