标签

 go 

相关的文章:

探索Go语言的高并发解决方案,学习如何使用依赖注入和执行跟踪来提升代码质量和性能。

使用 Go 构建高性能文件上传器

原文英文,约2000词,阅读约需7分钟。发表于:

本文中,我们将探讨使用 Go 构建高性能文件上传器的过程。此文件上传器会将大文件拆分为较小的块,并行上传这些块,并仅同步已修改的块。我们还将实现文件监视以自动处理更新。我们的文件上传器将由以下组件构建:文件分块:将大文件分割成较小的块。并行处理:并行读取和上传块。元数据管理:使用元数据跟踪块来检测变化。文件监视:自动重新上传修改后的块。逐步流程1.文件分块...

本文介绍了使用Go语言构建高性能文件上传器的过程。文件上传器将大文件拆分为较小的块,并行上传这些块,并且只同步已修改的块。还实现了文件监视以自动处理更新。文章详细介绍了文件分块、并行处理、元数据管理和文件监视的步骤。通过这种方法,可以高效处理大文件,减少不必要的上传,并提高整个过程的性能。

相关推荐 去reddit讨论

深入解释Go中context使用方式

原文约7200字,阅读约需18分钟。发表于:

这篇文章详细介绍了Go 语言中context 函数背后的实现细节和代码,帮助开发人员了解上下文包的底层工作原理。我们来看一个使用 context 包的简单示例:该函数接受一个上下文并将其传递给另一个函数,因为对于大多数人来说,这就是上下文的全部,只是在函数需要时传递的东西。func main() {    bigFunc(context.Background())}func...

这篇文章详细介绍了Go语言中context包的使用方式和实现细节。context包提供了上下文管理功能,可以在函数之间传递上下文信息。文章介绍了context.Context接口的定义和常用方法,以及context包中的一些实现结构。同时,还介绍了context.WithValue、context.WithCancel、context.WithDeadline和context.WithTimeout等函数的使用方法。这些函数可以创建具有特定功能的上下文对象,如传递值、取消上下文和设置截止时间等。

相关推荐 去reddit讨论

派早报:荣耀发布 Magic V Flip 折叠屏手机,影石发布 Insta360 GO 3S 相机等

原文约3000字,阅读约需7分钟。发表于:

小米、OPPO、vivo、联想要求开发者完成 Android 15 适配,联发科正在为微软 AI 笔记本设计 ARM 架构芯片等查看全文

荣耀发布Magic V Flip折叠屏手机,配备骁龙8+ Gen 1处理器,12GB RAM,售价4999元起。影石发布Insta360 GO 3S拇指相机,售价2498元起。小米、OPPO、vivo、联想要求开发者完成Android 15适配。联发科正在为微软AI笔记本设计ARM架构芯片。Google宣布将基于Android堆栈进行ChromeOS开发。Tile遭黑客攻击,客户信息泄露。Luma AI推出Dream Machine文生视频模型。Samsung的Galaxy Wearable App显示新耳机图标。Moto G85通过认证,搭载高通骁龙6s Gen 3处理器。Apple在iOS 18引入ChatGPT后不会向OpenAI支付使用费用。少数派征文活动进行中,获奖作品可获得奖品。少数派周边商店618活动开启。

相关推荐 去reddit讨论

使用 Go、SSE 和 htmx 实时更新网站

原文约8800字,阅读约需21分钟。发表于:

在这个例子中,我们将在服务器端呈现 HTML,除了 htmx 库之外不使用任何 JavaScript 代码进行交互。完整示例在GitHub上。您可以使用 docker-compose 在本地运行它。使用的工具 Echo — 我喜欢的轻量级 HTTP 路由器,它的错误处理比 更简单net/http。 templ — 一个基于代码生成的 HTML...

本文介绍了使用Go、SSE和htmx实时更新网站的方法。作者使用了Echo、templ、htmx和Watermill等工具来实现这个功能。文章详细介绍了如何设计SSE端点、发布和订阅事件、更新数据库以及处理SSE路由器。最后,文章提到了一些需要注意的问题,如至少一次投递保证和HTTP/1.1连接限制。

相关推荐 去reddit讨论

go高并发之路—go语言如何解决并发问题

原文约4600字,阅读约需11分钟。发表于:

一、选择GO的原因 作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了。无可否认,PHP确实是最 […]

本文介绍了选择使用GO语言开发新项目的原因,主要是因为PHP无法满足高并发业务需求。GO语言简单简洁,能解决并发问题,包括使用sync.WaitGroup和ErrGroup库。同时提到了注意事项和第三方库的实现。

相关推荐 去reddit讨论

Go团队:Go是什么

原文约4700字,阅读约需11分钟。发表于:

本文永久链接 – https://tonybai.com/2024/05/19/what-the-go-team-think-go-is 2024年的Google I/O大会如期而至。 这届大会的核心主旨毫无疑问是坚定不移的以AI为中心:Google先是发布了上下文长度将达到惊人的200万token的Gemini 1.5 Pro,然后面对OpenAI...

2024年的Google I/O大会上,Go团队代表解释了Go语言的定位,认为它是一个构建生产系统的高效平台,易学易维护,可扩展,同时可靠、高效、稳定和安全,适合在企业中使用。Go具有快速入门、快速迭代、可扩展构建、安全可靠、低运维成本、云原生设计等特性,能让客户快速获得价值、降低总拥有成本、享受云优势。Go团队还提供了解决方案,如IDE集成、并发模型、格式化工具、测试框架、调试器、静态部署等,以提高开发效率、确保安全性和提升性能。Go被认为是构建现代云基础设施的理想语言。

相关推荐 去reddit讨论

新加入的宝可梦,让《Pokémon GO》玩家和电子地图用户打起来了

原文约1900字,阅读约需5分钟。发表于:

2004年,为了反抗谷歌对地理信息的垄断,一名黑客Serge Wroclawski设计了Open Street Map。2012年前后,Open Street Map的注册用户超过五百万,成为除中国外其他地区主流地图工具。 作为完全开源的地理信息数据库,Open Street...

2004年,黑客Serge Wroclawski设计了Open Street Map,反抗谷歌对地理信息的垄断。Open Street Map是完全开源的地理信息数据库,用户可以贡献内容。近期,Open Street Map出现了假海滩问题,原因是《Pokémon GO》游戏更新了地图,玩家开始在Open Street Map上添加虚假信息。这引发了Open Street Map用户和《Pokémon GO》玩家之间的争吵。Open Street Map社区封禁了一些玩家账号。社区新增了一张页面,提醒玩家只绘制真实存在的东西。

新加入的宝可梦,让《Pokémon GO》玩家和电子地图用户打起来了
相关推荐 去reddit讨论

使用Ollama和Go基于文本嵌入模型实现文本向量化

原文约7600字,阅读约需18分钟。发表于:

本文永久链接 – https://tonybai.com/2024/05/09/text-vectorization-using-ollama-and-go-based-on-text-embedding-models 基于RAG+大模型的应用已经成为当前AI应用领域的一个热门方向。RAG(Retrieval-Augmented...

本文介绍了基于RAG+大模型的中文文本向量化方法和发展历程,包括传统模型的局限性和预训练文本嵌入模型的优势。同时,文章还提供了使用Ollama和Go语言实现文本向量化的示例代码。最后,文章推荐了Gopher部落知识星球作为学习和交流平台,并推荐了DigitalOcean的主机计划。

相关推荐 去reddit讨论

基于DDD知识揭示Go中结构指针两个优点

原文约3200字,阅读约需8分钟。发表于:

当谈到 Go中结构体值时,人们纠结:通过指针传递这些值还是只是复制值? 由于指针会带来一些开销,因此人们自然的反应是不惜一切代价避免使用它们,并尽可能传递结构值复制副本。 而我通常选择使用指针结构的两个原因是标识性和一致性。 对于我的项目,我宁愿使用 语义: 我会查看结构类型应该表示什么,并预先决定是否要为其使用指针或值复制语义。 一旦我做出决定,这个决定几乎总是在项目期间持续存在。 ...

基于DDD知识揭示Go中结构指针两个优点。使用指针结构的两个原因是同一性和一致性。标识身份IdentityDDD将实体与值对象区分开来。如果所有问题的答案都是"是",那么可以使用值复制语义。指针可以引用同一源,解决对象身份问题。指针的用途比复制数值广泛。在有意义的情况下使用值复制,保证不必为改变语义付出代价。拥有一致的代码库,通过合理推理引用每种类型,比优化可能永远不会发生的情况重要。

相关推荐 去reddit讨论

Go中使用Google Wire实现依赖注入

原文约9400字,阅读约需23分钟。发表于:

关注点分离、松散耦合系统和依赖倒置原则等都是软件工程中众所周知的概念,并且在创建良好的计算机程序的过程中非常重要。在本文中,我们将讨论一种完全应用这三个原则的技术,称为依赖注入。Wire是 Go 中用于依赖注入的代码生成器。Wire 会为我们生成必要的初始化代码。我们只需要定义提供者和注入者。提供者是普通的 Go...

本文介绍了使用Google Wire在Go语言中实现依赖注入的方法。通过使用Wire,可以实现关注点分离、松散耦合系统和依赖倒置原则。文章详细介绍了如何定义提供者和注入者,并给出了一个案例来说明依赖注入的应用。最后,文章介绍了如何使用Wire生成初始化代码,并提到了Wire的其他功能。

相关推荐 去reddit讨论