GopherDaily

GopherDaily

2024-07-26

每日一谚:test coverage != bug free


Go技术生态

Go Defer:详细指南
该文档提供了有关 Golang 'defer' 语句的详细指南,该语句会延迟函数执行直到周围的函数完成,有三种类型:开编码、堆分配和堆栈分配,并解释了其用法、性能和潜在陷阱。

Go的主要卖点不是简单性,而是整体的平衡性和灵活性
根据笔者的说法,Go 的主要卖点是它在简单性和灵活性之间的平衡,提供小内存消耗、快速代码执行、高代码可读性和低学习曲线,其灵活性体现在类型推导支持、内置并发编程模型和函数值等方面。

使用Go进行网页抓取
该文档提供了使用 Go 编程语言进行 Web 抓取的指南,解释了发送 HTTP 请求、解析、抓取和数据操作的核心概念,以及如何使用流行的框架 Go Colly,同时还提到了其他有用的 Go 包用于 Web 抓取。

简单的事件代理尝试 Tiger Style
作者讨论了他们对 TigerBeetle 的编码风格 Tiger Style 的经验,以及他们如何使用它来改进他们的事件代理 Seb 的写入路径,旨在在保持正确性的同时每秒写入更多记录,并发现新方法减少了生成的垃圾量并提高了事件代理的性能。

Building Secure Go Systems: Key Management, Middleware, and Error Handling
The 10th episode of the Ultimate Software Design series, "Building Secure Go Systems: Key Management, middleware, and error handling", provides insights on how to configure and manage cryptographic keys, create middleware functions for token parsing, user ID extraction, and role-based access control, and how to centralize error handling and use context to pass authentication information efficiently.

自我修复代码,减少工作量
这篇博文讨论了作者如何制作 Inkmi,一个面向 CTO 的网站,使用 Go 和 Systemd 进行自我修复,确保稳定性并减少运营工作量。

开发者想要更多、更多、更多:Stack Overflow 年度开发者调查的 2024 年结果
2024 年 Stack Overflow 开发者调查显示,JavaScript、PostgreSQL、Rust、Markdown 和 Python 是最受欢迎的技术,开发人员对技术债务感到沮丧,并且不认为 AI 对他们的工作构成威胁,82% 的开发人员使用在线资源学习编码,83% 的开发人员接受过一定程度的高等教育。

哲学家之王、半神和程序员
该文件讨论了程序员与其程序之间的关系,引用了柏拉图的形而上学和伦理学,并探讨了作为工匠的神的概念,重点关注程序员在工作中接受和服从更大真理的责任。

云原生技术

werf 2.0 如何解决 Helm 3 挑战
本文讨论了 Helm 3 用户由于使用 3 向合并 (3WM) 而面临的挑战,以及 werf 2.0 和 Nelm 如何用服务器端应用 (SSA) 替换 3WM,这是一种更健壮的更新 Kubernetes 资源的机制,它消除了以前与 3WM 相关的所有问题。

LinkedIn 如何将其 Kubernetes API 迁移到不同的 API 组
LinkedIn 使用镜像新旧 API 版本的定制解决方案,将其主要的内部自定义 Kubernetes API 迁移到新的 API 组,并对 LiDeployment API 进行了重大更改,而无需停机。

如何使用 Git Worktrees
作者解释了他们如何使用 Git Worktrees 不是作为分支的替代品,而是作为在编码过程中管理并发活动的一种手段,使用五个工作树来执行不同的任务,并使用一个“临时”树来执行随机任务。

TiDB Serverless 与 Amazon RDS 对比
本文对比了 Amazon 兼容 MySQL 的托管数据库服务(RDS for MySQL)和 TiDB Serverless,重点介绍了它们的关键特性、性能、可扩展性、开发者体验和成本效益,并认为 TiDB Serverless 提供了卓越的可扩展性和可靠性。

GreenOps 和 FinOps:实现商业和环境目标的完美推介
本文讨论了 GreenOps 和 FinOps 的集成,这些方法将业务实践和技术创新相结合,以提高云效率并减少对环境的影响,重点介绍了它们在优化成本和环境影响以及将业务利益与环境优势保持一致方面的潜力。

Kubernetes 历史:它如何征服云原生编排
本文讨论了 Kubernetes 的历史、它起源于 Google Borg 和 Docker、它的早期发展、它的增长和主导地位,以及它未来的增长和安全性增强。

使用 Calico 的原生 Kubernetes 集群网格
源文档是一条消息,指示来自系统的“403 Forbidden”错误消息,特别是来自服务器端,特别是来自“ns”(Nix)模块。

Building a zero CVE strategy
The blog post discusses the rise in Common Vulnerabilities and Exposures (CVEs), the causes of "CVE fatigue", and strategies to mitigate it, including using minimal dependencies, having a dependency update mechanism, using a single package manager, and prioritizing vulnerability management.

利用 Keptn 进行自动化 SLO 分析
新堆栈引入了 Keptn 生命周期工具包,该工具包可用于自动执行服务级别目标 (SLO) 分析,帮助站点可靠性工程师 (SRE) 理解 SLO 并确定其优先级。

从可观测性到架构可观测性 — 向左移动以实现弹性
John Vester 讨论了架构可观察性 (AO) 在管理架构技术债务中的重要性,认为它可以及早识别和修复核心问题,防止由架构更改引起的问题,使系统更具弹性和可扩展性,并最大限度地减少技术债务。

AI

Gemini 的重大升级:通过 1.5 闪存、扩展访问等实现更快的响应
谷歌的 Gemini AI 助手已升级到 1.5 Flash,以获得更快的响应速度,引入了新的相关内容功能来解决幻觉问题,并将其访问范围扩大到全球 40 多种语言和 230 多个国家/地区的青少年。

Salesforce 的新语音转文本服务如何使用 OpenAI Whisper 模型进行实时转录
Salesforce 的新语音转文本 (STT) 服务由 Dima Statz 领导,使用 OpenAI Whisper 模型进行实时转录,旨在改善客户互动和沟通策略,并通过持续的研究和开发将其功能扩展到包括 AI 驱动的分析。

如何在人工智能时代进行技术栈选择
本文强调了选择已建立的技术堆栈以在软件开发中集成人工智能的重要性,遵守基于约定的框架,并保持简单性以最大限度地提高效率并利用智能系统的优势。

Hope AI:可组合软件的代码助手
Hope AI 是一个代码助手,它理解 Bit 组件并使用 Bit 组件,为可组合软件生成、构建、测试和发布可重用组件,其有效性基于组件重用和完整的 Bit Platform 集成。

为基于 PDF 的问答构建个人 RAG 应用程序
Josh Software 讨论了使用大型语言模型 (LLM)、嵌入模型、向量数据库和 Python 为基于 PDF 的问答创建个人 RAG(检索增强生成)应用程序,该应用程序使用 Meta 的 Llama3 HMD 模型、Qdrant VectorDB 和 Llama Index 进行嵌入,并允许用户根据 PDF 数据提出问题。

流行工具与项目

influxdata/telegraf
用于收集、处理、聚合和写入指标、日志和其他任意数据的代理。

ollama/ollama
启动并运行 Llama 3.1、Mistral、Gemma 2 和其他大型语言模型。

fleetdm/fleet
面向 IT、安全和基础架构团队的开源平台。(Linux、macOS、Chrome、Windows、云、数据中心)

iawia002/lux
👾 用 Go 编写的快速简单的视频下载库和 CLI 工具

hashicorp/terraform
Terraform 使你能够安全且可预测地创建、更改和改进基础结构。它是一种源可用工具,可将 API 编码为声明性配置文件,这些文件可以在团队成员之间共享、视为代码、编辑、审查和版本控制。

gravitational/teleport
以最简单、最安全的方式访问和保护您的所有基础设施。

projectcalico/calico
云原生网络和网络安全

trufflesecurity/trufflehog
查找和验证机密

DiceDB/dice
使用基于 SQL 的实时响应性直接替代 Redis。

shadow1ng/fscan
一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。

grpc/grpc-go
gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC

stretchr/testify
一个包含常见断言和模拟的工具包,可以与标准库很好地配合使用

cilium/cilium
基于 eBPF 的网络、安全性和可观测性

goharbor/harbor
一个开源的可信云原生注册表项目,用于存储、签名和扫描内容。

kgretzky/evilginx2
独立的中间人攻击框架,用于网络钓鱼登录凭据和会话 cookie,允许绕过 2 因素身份验证

kedacore/keda
KEDA 是基于 Kubernetes 的事件驱动自动缩放组件。它为在 Kubernetes 中运行的任何容器提供事件驱动的缩放

kyverno/kyverno
云原生策略管理

traefik/traefik
云原生应用程序代理

grafana/alloy
具有可编程管道的 OpenTelemetry Collector 分发

grpc-ecosystem/grpc-gateway
遵循 gRPC HTTP 规范的 gRPC 到 JSON 代理生成器

minio/minio
AI 数据基础设施的对象存储

uber-go/zap
在 Go 中实现超快、结构化、分级的日志记录。

casdoor/casdoor
一个开源的 UI 优先身份和访问管理 (IAM) / 单点登录 (SSO) 平台,具有支持 OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA、Face ID、RADIUS、Google Workspace、Active Directory 和 Kerberos 的 Web UI

rancher/local-path-provisioner
使用 Kubernetes 动态配置持久性本地存储

ehang-io/nps
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

Copyright 2019-2024 GopherDaily