-
- 用 Go 构建可扩展的 SQS 消费者
- 介绍在构建分布式系统时,像amazonsqs这样的消息队列在处理异步工作负载方面发挥着至关重要的作用。在这篇文章中,我将分享我在go中实现强大的sqs消费者的经验,该消费者可以处理keycloak的用户注册事件。该解决方案使用扇出/扇入并发模式来高效处理消息,而不会占用系统资源。挑战我遇到了一个有趣的问题:每天处理大约50,000个sqs事件以在keycloak中注册用户。一种幼稚的方法可能会为每条消息生成一个新的goroutine,但这可能很快导致资源耗尽。我们需要一种更受控制的并发方法。为什
- Golang . 后端开发 690 2024-11-25 08:06:22
-
- 使用 Go 处理大型 CSV
- 想法是:给定一个大型虚拟csv(100万行)包含客户数据样本,并按照以下目标进行处理:从csv中提取数据计算有多少数据/行对每个城市的客户数量进行分组按客户数量从高到低对城市进行排序计算处理时间客户的csv示例可以在此处下载https://github.com/datablist/sample-csv-files加载和提取数据显然go有用于csv处理的标准库。我们不再需要第三方依赖来解决我们的问题,这很好。所以解决方案非常简单://openthefiletoareaderinterfacec,e
- Golang . 后端开发 371 2024-11-23 12:27:01
-
- Go 的泛型:编写适用于多种类型的更智能的代码
- 泛型即将进入go,这是一件大事。我一直在深入研究go2的拟议更改,并且很高兴分享我对这一强大新功能的了解。从本质上讲,泛型允许我们编写适用于多种类型的代码。我们可以编写一个通用函数来处理所有这些类型,而不是为整数、字符串和自定义类型编写单独的函数。这会带来更灵活和可重用的代码。让我们从一个基本示例开始。以下是我们编写通用“max”函数的方法:funcmax[tconstraints.ordered](a,bt)t{ifa>b{returna}returnb}此函数适用于任何满足ordered约束
- Golang . 后端开发 610 2024-11-23 08:24:40
-
- [DevLog # Gmail-TUI:复制 Gmail-Web 导航
- 感谢之前DevLog上的所有支持,我带着Gmail-TUI应用程序的最新更新回来了!如果您不知道这个开源项目,我正在开发一个基于终端的UI应用程序,旨在在终端中复制Gmail-Web体验,而不需要Web浏览器:阅读开发日志#01|为项目的GitHub存储库做出贡献复制Gmail-Web的导航虽然收件箱功能的实现仍在进行中,但我在Gmail-TUI中实现了比之前版本更好的导航系统,如上所示。在早期版本中,系统会直接提示用户撰写邮件并发送,因为这是当时唯一可用的功能。然而,经过最近的修改后,用户如何
- Golang . 后端开发 1224 2024-11-22 09:14:46
-
- Kontroler 简介:用于 DAG 的 Kubernetes 调度引擎
- 什么是控制器?kontroler是一个开源kubernetes调度引擎,旨在简化有向无环图(dag)的管理。借助kontroler,您可以在yaml中定义工作流程,将任务作为容器化作业运行,甚至可以通过可选的基于web的ui将其可视化。无论您需要按计划执行工作流程还是响应实时事件,kontroler都能提供灵活的kubernetes原生解决方案。也就是说,我必须警告kontroler目前处于alpha状态。它非常适合实验和原型设计,但可能尚未准备好用于生产使用。作为一个副项目,kontroler
- Golang . 后端开发 1172 2024-11-22 08:51:09
-
- 掌握 Go 中的 ENUM
- 通常,在我们开发的系统中,我们会遇到恒定的值。这些值的一个示例可以是注册状态的表示。在这种情况下,请考虑包含除活动和非活动之外的更多变化的状态。如果这些状态被定义为字符串,它们在系统内的验证可能会成为一个令人头疼的问题。此外,这种方法可能会“膨胀”二进制文件,因为每次验证都会涉及两个字符串(预期值和正在验证的值)。为了避免这些问题,我们可以使用众所周知的枚举类型。如果您不熟悉这种类型,它本质上是一种固定或有限大小的类型。为了让它更清楚,让我们深入研究一些代码。按照前面提出的想法,我们将创建一个枚
- Golang . 后端开发 860 2024-11-21 22:31:37
-
-
- 如何在 VS Code 中配置 Delve (dlv)
- 让我们深入研究与vscode的集成!首先你需要安装delve(dlv):goinstallgithub.com/go-delve/delve/cmd/dlv@latest您可以通过运行来验证它的安装位置:whichdlv然后在visualstudiocode中,您需要转到“设置”并搜索“delve”。您将找到go:delveconfig。点击“在settings.json中编辑”。添加之前获取的dlv路径:"go.delveconfig":{"dlvpath":"/users//g
- Golang . 后端开发 482 2024-11-20 08:39:12
-
- 方法上的指针和值之间的区别
- 在go中编写方法时,关键决策之一是是按值还是按指针传递结构体。此选择会影响性能、代码行为和内存分配。在这篇文章中,我们将通过实际示例探讨这种差异,并了解每种方法何时更合适。让我们从一个小结构体和两个方法开始:一个结构体通过值传递,另一个通过指针传递。packagemainimport("fmt")typepersonstruct{namestringageint}//methodwithstructpassedbyvaluefunc(pperson)celebratebirthdayvalue(
- Golang . 后端开发 445 2024-11-19 22:21:02
-
- Helm CEL 简介:一种更具表现力的方式来验证 Helm 图表
- 如果您使用过helm图表,您可能熟悉验证value.yaml的挑战。虽然helm的内置json模式验证有效,但它可能很麻烦且具有限制性。今天,我想向您介绍helmcel,这是一个插件,它将google通用表达语言(cel)的强大功能引入helm图表验证中。什么是cel?在深入探讨之前,让我们快速了解一下cel是什么。通用表达式语言(cel)是google创建的一种简单表达式语言,可让您编写简洁、强大的验证规则。它用于kubernetescrd验证、istio配置以及云原生生态系统中的许多其他项目
- Golang . 后端开发 1031 2024-11-17 14:21:17
-
- 使用 Go、HTMX 和 Web Socket 构建简单的实时系统监视器
- 我正在寻找一个可以与go、htmx和tailwwindcss配合使用的有趣项目,最终利用web套接字的功能构建了一个简单的基于web的实时系统监视器。这是结果。它显示系统信息、内存、磁盘、cpu和正在运行的进程,每5秒自动更新一次。我将在这篇文章中对代码进行一些分解。堆栈去1.23.2htmxtailwindcssgopsutilwebsockethtmxwebsocket扩展http服务器typehttpserverstruct{subscribermessagebufferintmuxhtt
- Golang . 后端开发 728 2024-11-17 12:30:21
-
- 实时更新记录数量,WebSocket 太重了,还有更好的选择吗?
- 实时获取结果دونانقطاعفيالواجهة您希望在后端生成大量记录时实时获取数量结果,并考虑了WebSocket...
- Golang . 后端开发 991 2024-11-15 19:57:37
-
- 如何使用Go语言构建嵌套数组并添加结构体?
- Go构建嵌套数组并添加结构体在Go中构建嵌套数组并添加结构体可以通过构造函数实现。具体示例如下:type...
- Golang . 后端开发 966 2024-11-15 14:33:36
-
- Go 泛型中的联合类型声明:interface{ *int } 到底是什么?
- GO泛型中的联合类型声明在GO泛型的使用中,遇到如下代码:typeCommonType[Tinterface{*int}|string]...
- Golang . 后端开发 476 2024-11-15 13:43:10
-
- Simplifying String Validation in Go: Introducing validatorgo
- 字符串验证器和清理器的库,基于js库validator.js为什么选择验证器go?为什么不使用流行的go库,如packagevalidator或govalidator?虽然这两个库都很出名,但validatorgo专注于独立字符串验证,并提供了受validator.js启发的广泛的可定制验证器集合,而这两个go库都没有完全实现。以下是validatorgo与go-playground/validator和govalidator相比的突出之处:1.与go-playground/validator相
- Golang . 后端开发 336 2024-11-15 10:27:44
PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是

