主页 | Web版 | 订阅 | 归档 | Feed

GopherDaily

2024-08-26

每日一谚:Avoid tight coupling between modules


Go技术生态

IEEE Spectrum 2024排行榜:Rust和TypeScript崛起,Go语言表现如何?
编程语言排行榜分析

Go 1.18之后的语法新特性Quiz,你能作对几个?
Go 1.18之后的新语法知多少

使用 failsafe-go lib 在微服务之间进行通信的弹性
源文档深入探讨了如何使用 failsafe-go 库增强微服务之间通信的弹性。它首先定义弹性及其在预期和意外条件下维护系统运行的重要性。本文档进一步深入探讨了 failsafe-go 在提高通信弹性方面的应用,从两个 Go 服务(“serviceA”和“serviceB”)的基本设置开始。然后,它介绍并解释了各种弹性策略的实施,例如超时、熔断、重试和回退。本文档最后讨论了策略组合,演示了如何组合这些策略以创建更具弹性的应用程序。

JSON marshal/unmarshal和编码/解码指南
该博客文章提供了在 Go 中理解和使用 JSON 编组/解编组和编码/解码函数的深入指南。它解释了如何将 Go 数据结构转换为 JSON,反之亦然,以及如何有效地写入和读取 JSON 数据。作者将最适合中小型数据集和完整数据操作的编组/解组函数与更适合实时处理大型数据集或流数据的编组/解码函数的使用进行了对比。此外,该博文还包括一些实际示例,例如对 API 的响应进行编码和解码 API 响应,以说明这些概念。该指南旨在通过掌握这些 JSON 处理技术来帮助开发人员编写更高效且可扩展的 Go 应用程序。

How to Create Your First Mac App Using Go
This comprehensive guide provides an in-depth look at creating a Mac app using the Go programming language, highlighting its simplicity, performance, and cross-platform capabilities. It begins by detailing the necessary setup, including installing Go, Xcode Command Line Tools, and the Gio library for GUI development. The tutorial then guides users through building a basic "Hello World" app and subsequently enhances it by adding interactive elements like buttons and text input fields. Further, it introduces advanced features such as a dropdown menu and discusses the process of packaging the app as a standalone Mac application, including code signing and notarization. The guide concludes with resources for further learning and exploration of Go and Gio for Mac app development.

如何优化您的软件开发工作流程
TheInsaneApp 的文章提供了有关如何优化软件开发工作流程的全面指南。它强调了采用敏捷方法(如 Scrum 或 Kanban)来增强迭代开发和对变化的响应能力的重要性。实施持续集成和持续部署 (CI/CD) 管道对于自动化集成和部署流程也至关重要,从而减少手动错误并加快发布周期。讨论了自动化工具在简化重复性任务和促进协作方面的作用,以及有效使用版本控制系统来跟踪更改和促进团队协作的重要性。最后,本文强调了优先考虑代码审查对于提高代码质量、知识共享和团队内部指导的价值。

关于 monorepos 的 5 个误解
Ashan Fernando 的文章解决并揭穿了关于 monorepo 的五个常见误解,强调它们并非天生难以扩展、大公司独有或容易构建时间长。Fernando 澄清说,monorepos 对各种规模的公司都有好处,可以增强协作并简化依赖管理。他解释说,虽然 monorepo 会使依赖项管理复杂化是一个神话,但使用像 Bit 这样的正确工具,它们实际上可以简化流程。此外,Fernando 认为,合并冲突并非 monorepo 所独有,而是可能发生在任何开发结构中,适当的治理可以缓解它们。本文可作为了解使用 monorepo 的实际优势和挑战的指南,倡导使用适当的策略和工具。

程序员阅读清单:我喜欢的 100 篇技术文章(1-20)
《程序员阅读清单:我喜欢的100篇技术文章》是一篇由作者撰写的系列文章,主要关注程序员通识、软件工程、后端开发、技术写作、Python语言、Go语言等领域。

云原生技术

如何使用 AI 协助修复 ESLint 冲突
源文档似乎是来自 Web 服务器(特别是 nginx)的错误消息,指示 403 Forbidden 状态。此 HTTP 状态代码表示服务器理解请求但拒绝授权,这通常是由于发出请求的客户端缺乏权限。该消息以简单的格式显示,状态代码和简要说明周围带有星号。此消息的存在表明,尝试访问服务器上的特定资源的用户未被授予执行此操作所需的权限。

AI

SQL 有问题。我们可以修复它们:SQL 中的 Pipe 语法
本文讨论了 Google 关于使用管道表示法的新 SQL 查询语法的研究论文,旨在解决 SQL 查询中子句顺序的混淆。Google 自 2 月以来一直在实施这种替代语法,在 Google Research 的一篇博文中强调了这一观点,并已在 Google 内部拥有大量用户。源文档的作者 Claude 分享了他使用 Google 的 AI Studio 将研究论文的 PDF 转换为 HTML 的经验,尽管遇到了一些限制和问题。他还批评了在研究论文中使用 PDF 并倡导更好的 Web 实践,例如将研究发布为网页或将其转换为 HTML。

Gemini 边界框可视化
Simon Willison 的博客文章介绍了使用 Claude 3.5 Sonnet 开发的 Gemini 边界框可视化工具。该工具将图像中对象周围的边界框可视化,这是最初在研究 Gemini 的视觉 API 时发现的功能。该博文详细介绍了如何使用该工具,包括选择图像、输入提示以及可视化原始图像上的边界框。Willison 还讨论了 Gemini 的 API 与 Claude 的工具的集成,从而能够创建一个浏览器应用程序,该应用程序可以提示 Gemini 并直接在网页上显示结果。

流行工具与项目

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

Permify/permify
一种开源授权即服务,其灵感来自 Google Zanzibar,旨在为任何应用程序构建和管理精细且可扩展的授权系统。

xvzc/SpoofDPI
用 Go 编写的简单快速的反审查工具

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

kopia/kopia
适用于Windows、macOS和Linux的跨平台备份工具,具有快速、增量备份、客户端端到端加密、压缩和重复数据删除功能。包括 CLI 和 GUI。

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

jeessy2/ddns-go
简单易用的 DDNS。支持阿里云、腾讯云、dnspod、Cloudflare、回调、华为云、百度云、Porkbun、GoDaddy、Namecheap、NameSilo...

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

matrix-org/dendrite
Dendrite 是用 Go!

v2fly/v2ray-core
用于构建代理以绕过网络限制的平台。

evcc-io/evcc
Sonne tanken ☀️🚘

techschool/simplebank
后端大师课:用 Go 构建一个简单的银行服务

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

siderolabs/talos
Talos Linux 是为 Kubernetes 构建的现代 Linux 发行版。

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

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

restic/restic
快速、安全、高效的备份程序

gohugoio/hugo
世界上最快的网站构建框架。

a-h/templ
一种用于在 Go 中编写 HTML 用户界面的语言。

rabilrbl/jiotv_go
在您的所有设备上解锁 JioTV 的魔力,无需 JioTV 应用程序。在 Golang 中用爱精心打造,将速度和效率完美融合!🌟✨

reviewdog/reviewdog
🐶 与任何代码分析工具集成的自动化代码审查工具,无论编程语言如何

gitleaks/gitleaks
使用 Gitleaks 🔑 保护和发现机密


编辑:Tony Bai

编辑主页:tonybai.com

GopherDaily项目:github.com/bigwhite/gopherdaily

Copyright 2019-2024 GopherDaily