GopherDaily

GopherDaily

2023-12-17

每日一谚:Improve your tests over time


Go技术生态

每个Go程序员必犯之错
今年5月份,Russ Cox提出了一个提案,建议在for循环中,如果变量只在循环体中使用,那么就会在每次迭代中创建一个新的变量,而不是使用同一个变量。 这个提案在Go 1.22中会默认开启,不需要设置 `GOEXPERIMENT` 了。 但是,如果用Go 1.21,它会输出 `11`,如果使用Go 2.22,它将输出 `10`,这似乎打破了向下兼容的承诺。

接口不是为此而设的
Preslav Rachev 讨论了 Go 项目中过度使用接口的问题,认为它们通常会使代码更难理解,并导致接口脆弱和不稳定的测试,并且接口并不意味着用于所有事情。

分析Go堆转义
这篇博文讨论了如何分析 Go 堆转义(性能问题的常见来源),以及如何在 VSCode 中配置 gopls 语言服务器以提供转义变量的 Codelens 视图,并讨论了某些情况导致转义的原因,例如使用反射和接口。

使用 Golang DDD(领域驱动设计)揭开传统:在复杂代码的迷宫中导航
本文讨论了领域驱动设计 (DCD) 在指导初创公司解决遗留代码的复杂性方面的重要性,并建议将其视为可以简化、组织和扩展其代码的范式转变。

Golang 将字符串解析为时间的独特方式
该文档提供了如何在 Golang 中将字符串解析为时间的详细说明和示例,重点介绍了该语言使用“2006”而不是“yy”作为年份布局的独特方式,并提供了如何使用“time”的指南。Parsing“函数。

云原生技术

10 REST API Best Practices Explained in 10 Minutes

The New Essential Guide to Electronics in Shenzhen

如何生成自动化 API 文档
API Toolkit 通过分析生产流量来了解 API 的结构和结构,为开发人员理解和使用 API 提供了生成自动化 API 文档的解决方案,这对于开发人员理解和使用 API 至关重要。

If Computer Science Is Doomed, What Comes Next?

AI

谁能从软件组织中的人工智能中受益?
Mikael Vesavuori 讨论了人工智能对软件组织的潜在影响,强调了提高生产力的潜力,但也强调了组织需要调整和改进其实践,特别是在解决问题和设计等领域。

流行工具与项目

SagerNet/sing-box
通用代理平台

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

jmorganca/ollama
在本地启动并运行 Llama 2 和其他大型语言模型

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

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

wavetermdev/waveterm
一个开源的跨平台终端,可实现无缝的工作流程

lkarlslund/ldapnomnom
通过(ab)使用LDAP Ping请求(cLDAP),以疯狂的速度从域控制器悄悄地匿名暴力破解Active Directory用户名

gophish/gophish
开源网络钓鱼工具包

EndlessCheng/codeforces-go
算法竞赛模板库 by 灵茶山艾府 💭💡🎈

PRC20/PRC20Miner
区块链PRC20挖矿工具

google/generative-ai-go
适用于 Google 生成式 AI 的 Go SDK

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

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

zyedidia/micro
现代且直观的基于终端的文本编辑器

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

jwping/wxbot
PC微信Hook模块、Hook WeChat / 微信逆向、微信机器人、WeChatRobot

meshery/meshery
Meshery,云原生管理器

syncthing/syncthing
开源连续文件同步

AdguardTeam/AdGuardHome
网络范围的广告和跟踪器阻止DNS服务器

mmcgrana/gobyexample
以身作则

SidraChain/go-ethereum
以太坊协议的分叉 Golang 执行层实现。

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

daeuniverse/dae
基于eBPF的Linux高性能透明代理解决方案。

apecloud/kubeblocks
KubeBlocks 是一个开源控制平面,用于在 K8s 上运行和管理数据库、消息队列和其他数据基础设施。

Permify/permify
Permify 是一个受 Google Zanzibar 启发的开源授权服务。


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