GopherDaily

GopherDaily

2024-04-02

每日一谚:Make main() clean and testable


Go技术生态

Russ Cox长文分析xz攻击shell脚本
Andres Freund 发布了有关 xz 攻击的信息,这是一种涉及 shell 脚本和目标文件的两部分攻击,它是在观察到 Debian sid 安装的 xz 软件包中的异常行为后发现的,包括 CPU 使用率和 Valgrind 错误。

从大型研发项目中吸取的经验教训
Reshef Sharvit 分享了他在网络安全初创公司领导大规模研发项目的经验,重点介绍了他用来改进应用程序的挑战和策略,包括 Go 的使用、领域驱动设计、干净的架构、强制模式、无运营成本、代码生成和自助服务基础设施。

Go实现的电梯调度系统
本文讨论了 Golang Advanced 中电梯调度系统的设计和实施,该系统旨在有效地管理和调度具有多层和多部电梯的建筑物中的电梯,处理内部和外部请求。

Zen Mind,Google 实习生的心灵:关于Go的笔记
作者分享了他对 Go 编程语言的第一印象,强调了它的模块管理、错误处理和对自定义单元测试帮助程序的需求,同时也指出了它的简单性、易学性和高质量的并发功能。

使用Go构建Discord复制品
作者计划通过这个项目开发一个简化版的 Discord,学习 Go Lang、Docker、分布式系统和 DevOps 以及 AWS 等技术,这些技术将通过博客文章进行记录。

了解Go:第 8 部分 – map
这篇博文是关于通过视觉手段理解 Go(一种编程语言)的系列文章的一部分,使用地图的概念,并包括图像来说明这些概念。

顶层internal目录是不必要的
Morten Vistsen 认为,在 Go 编程语言中使用“顶级内部”目录是不必要的,特别是对于不是库的应用程序,因为它们不能提供与库相同级别的保护。

暴力文本搜索优化
Ben E. C. Boyter 讨论了 Go 中暴力文本搜索的实现,它可以针对 CPU 和内存使用情况进行优化,并成功地表明它不仅节省了内存,而且搜索速度更快。

在 Go 中构建博客:将 Markdown 渲染为 HTML
Web 开发人员 Jon Calhoun 分享了他在 Go 中构建博客的经验,重点是使用 Goldmark 库将 Markdown 内容渲染为 HTML,并讨论了如何为应用程序添加语法高亮和布局。

通过 Linux 源代码探索 eBPF 实现
Addo Zhang 的文章探讨了 eBPF 通过 Linux 源代码实现,重点介绍了它在网络加速中的应用,并详细介绍了如何使用命令 'bpftool cgroup attach' 加载和附加 BPF 程序。

云原生技术

我们能否使用 Wasm 实现安全且可衡量的软件?
Fermyon 团队讨论了使用 WebAssembly (Wasm) 和 Rust 来创建安全且可衡量的软件,并引用了白宫的一份报告,该报告强调了内存安全编程语言的重要性以及 WebAssembly 在减少软件漏洞方面的潜力。

使用 Prometheus 或 Grafana 监控 DSPy-Qdrant 驱动的 RAG 的步骤
该文档提供了有关如何使用 Prometheus 和 Grafana 监控使用 Qdrant 和 Mistral-7B 制作的检索增强生成 (RAG) 管道的分步指南,以确保 ML 模型的实时性能。

提升系统弹性:利用 LitmusChaos 和 Backstage 集成
LitmusChaos 的维护者 Namkyu Park 的博客文章提供了使用 LitmusChaos 注入混沌并使用 Backstage(一个用于构建开发人员门户的平台)进行管理的分步说明。

Kubecost 2.2 涵盖碳成本监控(以及更多内容)
在 KubeCon+CloudNativeCon EU 2024 上推出的新版本 Kubecost 2.2 包含一项新功能,使 IT 团队能够减少碳足迹并实现可持续发展目标,使他们能够进行能源审计并比较不同业务成本中心的财务和环境成本。

修复重复的 API 请求
本文讨论了分布式系统的挑战,特别是幂等的概念,它允许在不改变结果的情况下多次应用操作,并通过使用“Idempotency-Key”HTTP Header Field提出了一种解决方案。

在 xz 中发现的后门:迄今为止已知的最先进的供应链攻击
xz 项目是一种广泛使用的用于压缩 Linux 发行版中文件的工具,被一个名叫 Jia Tan 的恶意行为者入侵,他逐渐获得了控制权并插入了一个后门,该后门允许未经授权访问安装了受感染版本的系统。

“解码科技巨头如何处理海量数据:谷歌、Facebook 和 Instagram 数据一瞥......
本文讨论了 Google、Facebook 和 Instagram 等科技巨头如何使用分布式系统架构、数据复制和分片、缓存和内容分发网络、数据处理管道和机器学习等技术有效地管理大量数据。

AI

避免 AI 生成代码的危险
本文讨论了 AI 生成代码的潜在风险和局限性,强调虽然 GitHub Copilot 和 ChatGPT 等工具帮助开发人员更快地编写更多代码,但它们在理解复杂的代码库和检测漏洞方面存在不足。

美国众议院禁止Microsoft的人工智能助理副驾驶
美国众议院已禁止其员工使用 Microsoft 的 Copilot AI 聊天机器人,理由是它未经众议院使用,并且存在数据泄露到未经批准的云服务的风险。

流行工具与项目

go-nunu/nunu
用于构建 Go 应用程序的 CLI 工具。

halfrost/LeetCode-Go
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解

qax-os/excelize
用于读取和写入 Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) 电子表格的 Go 语言库

determined-ai/determined
Determined 是一个开源机器学习平台,可简化分布式训练、超参数调整、实验跟踪和资源管理。适用于 PyTorch 和 TensorFlow。

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

fatedier/frp
一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器公开给 Internet。

marcel-dempers/docker-development-youtube-series

IceWhaleTech/CasaOS
CasaOS - 一个简单、易于使用、优雅的开源个人云系统。

tinode/chat
即时通讯平台。Go 中的后端。客户端:Swift iOS、Java Android、JS webapp、可脚本命令行;聊天机器人

IBM/sarama
Sarama 是 Apache Kafka 的 Go 库。

go-playground/validator
💯Go Struct 和字段验证,包括 Cross Field、Cross Struct、Map、Slice 和 Array 潜水

usememos/memos
一个开源的、轻量级的笔记服务。轻松捕捉和分享您的好主意。

go-resty/resty
适用于 Go 的简单 HTTP 和 REST 客户端库

plandex-ai/plandex
用于复杂任务的 AI 编码引擎

gorilla/mux
软件包 gorilla/mux 是一个功能强大的 HTTP 路由器和 URL 匹配器,用于构建 🦍 Go Web 服务器

coreybutler/nvm-windows
适用于 Windows 的node.js版本管理实用程序。具有讽刺意味的是,这是用围棋写的。

projectdiscovery/httpx
httpx 是一个快速且多用途的 HTTP 工具包,允许使用 retryablehttp 库运行多个探测器。

bytebase/bytebase
用于数据库 DevOps 的 GitLab/GitHub。面向开发人员、DBA 和平台工程团队的世界上最先进的数据库 DevOps 和 CI/CD。

prometheus-community/postgres_exporter
Prometheus 的 PostgreSQL 指标导出器

gorilla/websocket
Package gorilla/websocket 是一个快速、经过充分测试且广泛使用的 Go WebSocket 实现。

swaggo/swag
使用 Swagger 2.0 for Go 自动生成 RESTful API 文档。

ossf/scorecard
OpenSSF记分卡 - 开源的安全健康指标

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

fullstorydev/grpcui
gRPC 的交互式 Web UI,类似于 postman

kubevela/kubevela
现代应用平台。


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily主页:gopherdaily.tonybai.com

GopherDaily归档:gopherdaily.tonybai.com/more

GopherDaily项目:github.com/bigwhite/gopherdaily

订阅GopherDaily

取消订阅GopherDaily

另一个邮件列表:https://gopher-daily.com

Copyright 2019-2024 GopherDaily