GopherDaily

GopherDaily

2024-02-05

每日一谚:Write Go code as Gophers write code


Go技术生态

Go 中的上下文控制:处理上下文管道的最佳实践
这篇博文讨论了在 Go 中处理上下文管道的三个主要规则,包括只有入口点函数才能创建新的上下文,上下文只在调用链中传递,并且在函数返回后不存储或使用它们。

Go 与 Python 解析 HTML:比较分析
这篇博文比较了使用 Go 和 Python 进行 HTML 解析的优缺点,重点关注易用性、性能和灵活性,其中 Python 的 BeautifulSoup 库更加用户友好,而 Python 的标准库提供了更健壮的类型化方法。

改进 Cosmos 模糊测试的状态
这篇博文讨论了 Cosmos 代码模糊测试的改进,解释了智能模糊测试方法和哑模糊测试方法之间的区别,以及如何将智能模糊测试添加到高级模拟框架中,从而识别和修复了 Cosmos SDK 中的三个小问题。

UUID 基准测试大战
来自 Ardent Performance Computing 的 Jeremy Schneider 使用文本字段、PostgreSQL 的原生“uuid”数据类型、新的 uuidv7 代码和传统的“bigint 生成为身份”数据类型,对在 PostgreSQL 中存储主键的四种不同方法进行了基准测试。

为 log 实现的无锁 Ringbuffer
The source document is a blog post from Adam Zhang on the blog.codingnow.com/, which provides a list of various functions and steps to perform a log in a ringbuffer. The post also includes a discussion about the functions of index, offset, and ring buffer. The blog post also mentions another post by Adam Zhang, who shares a link to a GitHub file.

LeetCode 763(Golang): Partition Labels: Greedy and Analysis
Wesley Wei's article "LeetCode 763(Golang): Partition Labels: Greedy and Analysis" by programmer's career, published on Medium, delves into a problem related to string manipulation and greedy approach, specifically the LeetCode problem, " Partition Labels". The problem involves partitioning a string into as many parts as possible, with each character appearing in at most one part, and the output is a list of integers representing the size of these parts.

Discussing Forth, C, CGI, Python, Go, and AWK on Stray Pointers
In a conversation with Jim Lawless on the "Scattered Pointers" podcast, engineering manager and software engineer Ben Hoyt discusses his extensive experience with programming languages, starting from his early childhood with his father's interest in programming.

Golang 联合创始人 Rob Pike:“Go 的对错之处”
Golang 的联合设计师 Rob Pike 在 GopherCon AU 上发表了演讲,纪念 Go 编程语言发布 14 周年,讨论了 Go 做对了什么,做错了什么。

云原生技术

Data Lake 101: Architecture
The article "Data Lake 101: Architecture" by Shanoj explains the architecture of a Data Lake, a centralized location designed to store, process, and protect large amounts of data from various sources in its original format.

无日志动态重构协议的设计与分析
本文讨论了无日志动态重配置协议MongoDBRaftReconfig的设计和分析,该协议旨在提高MongoDB状态机复制(SMR)系统的安全性和可扩展性。

针对读取密集型操作优化 SQL 数据库
本文使用 PostgreSQL 和真实数据中的示例,讨论了针对读取密集型操作优化 SQL 数据库的策略,包括资源利用率、成本降低、可伸缩性、停机时间最小化和可持续性。

为什么开发人员应该把数据库放在第一位
建议开发人员在应用程序开发过程中优先考虑数据,重点关注数据库而不是操作系统,因为数据是用户体验的核心,并推动了云的采用。

Docker 调试测试版
本文讨论了 Docker 调试测试版功能,该功能允许用户将 shell 附加到 Docker 容器或映像,即使他们没有可用的 shell,也无需安装其他工具即可进行调试。

eBPF 跟踪点:获取对 TCP 状态机的访问权
UTS 的研究员 Leigh Finch 讨论了如何使用 eBPF 跟踪点来访问 TCP 状态机,这是了解特定 TCP 流状态的中心点,尽管 Linux 使用的 TCP 拥塞控制模块有了重大改进。

AI

AI 如何实现更有效的静态应用安全测试
本文讨论了人工智能 (AI) 在静态应用安全测试 (SAST) 中的应用,强调了其提高 SAST 效率和有效性的潜力,同时也解决了与其使用相关的挑战和风险。

流行工具与项目

usememos/memos
一个开源的、轻量级的笔记服务。轻松捕捉和分享您的精彩想法。

zaigie/palworld-server-tool
基于Level.sav存档解析和RCON优雅地用可视化界面管理幻兽帕鲁专用服务器。/ Through parse Level.sav and RCON, visual interface management PalWorld dedicated server.

alist-org/alist
🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。

seaweedfs/seaweedfs
SeaweedFS 是一个快速分布式存储系统,用于 blob、对象、文件和数据湖,可存储数十亿个文件!Blob 存储具有 O(1) 个磁盘寻道、云分层。Filer 支持 Cloud Drive、跨 DC 双活复制、Kubernetes、POSIX FUSE 挂载、S3 API、S3 网关、Hadoop、WebDAV、加密、纠删码。

SagerNet/sing-box
通用代理平台

GhostTroops/scan4all
官方仓库漏洞扫描:15000+PoCs;23种应用密码破解;7000+Web指纹;146种协议,90000+规则端口扫描;Fuzz、HW、令人敬畏的 BugBounty( ͡° ͜ʖ ͡°)......

1Panel-dev/1Panel
🔥 🔥 🔥 现代化、开源的 Linux 服务器运维管理面板。

qdm12/gluetun
VPN 客户端位于用于多个 VPN 提供商的瘦 Docker 容器中,用 Go 编写,并使用 OpenVPN 或 Wireguard、基于 TLS 的 DNS,并内置一些代理服务器。

hajimehoshi/ebiten
Ebitengine - 一个非常简单的 Go 2D 游戏引擎

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

go-kratos/kratos
面向云原生时代的终极 Go 微服务框架。

juicedata/juicefs
JuiceFS 是一个构建在 Redis 和 S3 之上的分布式 POSIX 文件系统。

wal-g/wal-g
云中数据库的存档和恢复

photoprism/photoprism
用于去中心化网络🌈💎✨的 AI 驱动的照片应用程序

fyne-io/fyne
受 Material Design 启发的 Go 跨平台 GUI 工具包

go-admin-team/go-admin
基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;项目文档》:https://www.go-admin.pro V2 Demo: https://vue2.go-admin.dev V3 Demo: https://vue3.go-admin.dev Antd 订阅版:https://antd.go-admin.pro

syncthing/syncthing
开源连续文件同步

XTLS/Xray-core
X射线,穿透一切。也是最好的 v2ray-core,支持 XTLS。完全兼容的配置。

cri-o/cri-o
基于 Open Container Initiative 的 Kubernetes 容器运行时接口实现

charmbracelet/bubbletea
一个强大的小TUI框架 🏗

ardanlabs/service
用于使用 Kubernetes 在 Go 中编写服务的入门工具包。

smartcontractkit/chainlink
去中心化预言机网络的节点,桥接链上和链下计算

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

hay-kot/homebox
Homebox 是为家庭用户构建的库存和组织系统

fluxcd/flagger
渐进式交付 Kubernetes Operator(Canary、A/B 测试和蓝/绿部署)


编辑: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 2023 GopherDaily