GopherDaily

GopherDaily

2023-12-11

每日一谚:Use test coverage to find untested code


Go技术生态

Go未来演进:基于共同目标和数据驱动的决策
今年9月份举办的GopherCon 2023上,Russ Cox代表Go团队做了名为Go Changes的主题演讲,在这个talk中,我们能找到一些关于go未来演进的答案。近期他重新录制了该演讲视频,并在其个人博客中放出。本文就是基于这个视频内容进行整理加工后的文字稿,供大家参考。

Go单线程运行也会有并发问题
一个Go大佬群中讨论了一个问题:Go程序单线程多goroutine访问一个map会遇到并发读写panic么? 举一个例子,测试代码是启动10个go程序对计数器加一,每个go程序负责加10万次。 因为双线程运行多个go程序会有数据竞争问题,所以访问同一个map对象也有可能出现并发bug。

使用 Gin、Gorm 和 PostgreSQL 在 Golang 项目中进行有效的单元测试
本文讨论了使用 Gin、Gorm 和 PostgreSQL 的 Golang 项目中的有效单元测试,重点介绍了如何使用 TestMain 和 Test 套件进行全局设置/拆卸和组织相关测试,以及构建项目的可读性、可维护性和可测试性的重要性。

在 GO 中提升您的 RDBMS 生产力
本文讨论了在 Go 中处理 SQL 数据库的挑战,包括处理数据库代码、查找隐藏错误、SQL 注入和数据库自动测试,并提出了一些解决方案,例如使用 SQL 优先方法、迁移、演化数据库设计和测试容器。

面向开发人员和架构师的云构建模式
云采用模式是一组专为考虑云原生体系结构的开发人员和架构师设计的模式,提供有关如何设计这些应用程序、将其集成到更大的体系结构计划中以及为提高效率和安全性而构建的指导。

Golang:使用并发轻松获取数百万数据
本文讨论了如何在 Golang 中使用并发编程来高效获取大量数据,从而解决性能、资源利用率、网络带宽、数据过滤和批处理等问题。

云原生技术

使用 AWS API Gateway 对现有 Web 应用程序进行外部访问
本文讨论了如何使用 AWS API Gateway 对现有 Web 应用程序进行外部访问,特别是用于生成有关用户活动的只读报告数据,以及团队如何设置必要的资源和配置以允许编程访问。

使用 CQRS(命令查询责任隔离)实现微服务应用程序
本文档讨论了微服务应用程序中命令查询责任分离 (CQRS) 模式的实现,该模式将读取和写入数据的责任分离到不同的组件中,从而提高了性能和可伸缩性。

在多容器 Kubernetes Pod 中重启单个容器
本文讨论了在多容器 Kubernetes Pod 中重启单个容器的挑战,强调 Kubernetes 没有为这种精细控制提供内置方法,但建议使用命令行工具 Kubectl 和 shell 脚本来实现这一点。

GitHub 开发人员每天处理 300 亿条消息的工作效率
GitHub 是全球最大的存储库,在影响全球开发人员体验方面具有独特的优势,其服务级别协议的停机时间达到 99.9%,服务级别合同包含近 4 亿个存储库,支持每天 400 亿条消息。

AI

GPT 实施综合指南
该文件为 OpenAI 的 GPT(生成式预训练转换器)模型的实施提供了全面的指南,这是自然语言处理的重大进步,重点介绍了其在自然语言理解、内容生成、对话式 AI、编码辅助以及医学和科学研究中的应用。

深度学习 – 了解 Transformer 模型
本文是深度学习系列文章的一部分,重点介绍如何理解 Transformer 模型的不同模块,以便更好地理解其内部结构。

流行工具与项目

pocketbase/pocketbase
1 个文件中的开源实时后端

dunglas/frankenphp
现代 PHP 应用服务器

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

filebrowser/filebrowser
📂 Web 文件浏览器

chaseSpace/k8s-tutorial-cn

slackhq/nebula
可扩展的覆盖网络工具,专注于性能、简单性和安全性

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

juanfont/headscale
Tailscale 控制服务器的开源自托管实现

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

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

SagerNet/sing-box
通用代理平台

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

navidrome/navidrome
🎧☁️ 现代音乐服务器和流媒体与亚音速/Airsonic 兼容

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

hibiken/asynq
简单、可靠、高效的 Go 分布式任务队列

songquanpeng/one-api
OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.

wailsapp/wails
使用 Go 创建精美的应用程序

Loyalsoldier/geoip
🌚 🌍 🌝 GeoIP 规则文件加强版,同时支持定制 V2Ray dat 格式路由规则文件 geoip.dat 和 MaxMind mmdb 格式文件 Country.mmdb。Enhanced edition of GeoIP files for V2Ray, Xray-core, Trojan-Go, Clash and Leaf, with replaced CN IPv4 CIDR available from ipip.net, appended CIDR lists and more.

zitadel/zitadel
ZITADEL - 身份基础结构,为您简化。

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

google/go-github
用于访问 GitHub v3 API 的 Go 库

keploy/keploy
面向开发人员的测试生成。为您的应用程序生成实际有效的测试和存根!

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

Jguer/yay
Yet another Yogurt - 用 Go 编写的 AUR 助手

syncthing/syncthing
开源连续文件同步


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