-
-
- 揭开 Go 垃圾收集器的面纱
- 垃圾收集器(GC)是Go编程语言的关键功能之一,旨在简化开发人员的内存管理。与C和C等语言不同,程序员必须手动分配和释放内存,Go中的GC会自动执行此过程。在这篇文章中,我们将探讨垃圾收集器在Go中的工作原理,了解其在不同场景下的行为,并识别即使使用GC也可能导致内存泄漏的陷阱。什么是垃圾收集器?垃圾收集器是一种自动化机制,负责回收分配给程序中不再使用的对象的内存。在Go中,它识别代码中不再访问或引用的变量和数据结构,然后释放它们的内存以供重用。这提高了应用程序效率并防止内存泄漏等问题。Go采用
- Golang . 后端开发 947 2024-11-27 19:39:19
-
- 自动运行 godoc
- vscode有一个很棒的任务运行器,有很多关于何时以及如何运行任务的配置选项。让我们将godoc设置为在您打开项目时运行。它将显示一条推送通知,将您链接到浏览器中的godoc服务器。添加步骤(1)通过终端安装godocgoinstallgolang.org/x/tools/cmd/godoc@latest(2)使用ctrl-shift-p添加任务,“配置任务”。这将编辑./vscode/tasks.json(3)将以下任务添加到任务数组中(复制下面的单个任务对象){//Seehttps://go
- Golang . 后端开发 557 2024-11-27 08:51:21
-
- 对抗 GCP 和 Firebase Cloud 客户端 CLI 和 SDK 膨胀
- GCP、Firebase和其他云的客户端CLI和SDK非常臃肿。GCP包括python发行版,firebase包括nodenpm。这在功能强大的开发盒上不会被注意到,但会影响您的云账单,包括存储、vcpu、挂机时间和传输费用。如果您尝试缩小虚拟机规模,您会发现客户端SDK/CLI先决条件通常会耗尽vcpu和iops预算,从而挂起您的计算机终端。云容器服务的存储通常仅限于RAM磁盘——因此CLI安装会消耗您所拥有的少量资源。为了对抗臃肿,我启动了一些项目来提供轻量级解决方案gcloud-lite—
- Golang . 后端开发 1128 2024-11-27 08:12:17
-
- 掌握 Go 的并发性:使用 Goroutines 和 Channel 增强您的代码
- goroutines和channels是go并发模型的支柱。它们不仅仅是简单的工具;它们是强大的结构,可以让我们构建复杂的高性能系统。让我们从goroutine开始。它们就像轻量级线程,但效率更高。我们可以毫不费力地繁殖数千个。这是一个基本示例:funcmain(){gofunc(){fmt.println("hellofromagoroutine!")}()time.sleep(time.second)}但这只是表面现象。当我们将goroutine与通道结合起来时,真正的魔力就会发生。通道就像
- Golang . 后端开发 732 2024-11-26 19:19:32
-
- 用 Go 构建可扩展的 SQS 消费者
- 介绍在构建分布式系统时,像amazonsqs这样的消息队列在处理异步工作负载方面发挥着至关重要的作用。在这篇文章中,我将分享我在go中实现强大的sqs消费者的经验,该消费者可以处理keycloak的用户注册事件。该解决方案使用扇出/扇入并发模式来高效处理消息,而不会占用系统资源。挑战我遇到了一个有趣的问题:每天处理大约50,000个sqs事件以在keycloak中注册用户。一种幼稚的方法可能会为每条消息生成一个新的goroutine,但这可能很快导致资源耗尽。我们需要一种更受控制的并发方法。为什
- Golang . 后端开发 635 2024-11-25 08:06:22
-
- 使用 Go 处理大型 CSV
- 想法是:给定一个大型虚拟csv(100万行)包含客户数据样本,并按照以下目标进行处理:从csv中提取数据计算有多少数据/行对每个城市的客户数量进行分组按客户数量从高到低对城市进行排序计算处理时间客户的csv示例可以在此处下载https://github.com/datablist/sample-csv-files加载和提取数据显然go有用于csv处理的标准库。我们不再需要第三方依赖来解决我们的问题,这很好。所以解决方案非常简单://openthefiletoareaderinterfacec,e
- Golang . 后端开发 320 2024-11-23 12:27:01
-
- Go 的泛型:编写适用于多种类型的更智能的代码
- 泛型即将进入go,这是一件大事。我一直在深入研究go2的拟议更改,并且很高兴分享我对这一强大新功能的了解。从本质上讲,泛型允许我们编写适用于多种类型的代码。我们可以编写一个通用函数来处理所有这些类型,而不是为整数、字符串和自定义类型编写单独的函数。这会带来更灵活和可重用的代码。让我们从一个基本示例开始。以下是我们编写通用“max”函数的方法:funcmax[tconstraints.ordered](a,bt)t{ifa>b{returna}returnb}此函数适用于任何满足ordered约束
- Golang . 后端开发 528 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 . 后端开发 1187 2024-11-22 09:14:46
-
- Kontroler 简介:用于 DAG 的 Kubernetes 调度引擎
- 什么是控制器?kontroler是一个开源kubernetes调度引擎,旨在简化有向无环图(dag)的管理。借助kontroler,您可以在yaml中定义工作流程,将任务作为容器化作业运行,甚至可以通过可选的基于web的ui将其可视化。无论您需要按计划执行工作流程还是响应实时事件,kontroler都能提供灵活的kubernetes原生解决方案。也就是说,我必须警告kontroler目前处于alpha状态。它非常适合实验和原型设计,但可能尚未准备好用于生产使用。作为一个副项目,kontroler
- Golang . 后端开发 1100 2024-11-22 08:51:09
-
- 掌握 Go 中的 ENUM
- 通常,在我们开发的系统中,我们会遇到恒定的值。这些值的一个示例可以是注册状态的表示。在这种情况下,请考虑包含除活动和非活动之外的更多变化的状态。如果这些状态被定义为字符串,它们在系统内的验证可能会成为一个令人头疼的问题。此外,这种方法可能会“膨胀”二进制文件,因为每次验证都会涉及两个字符串(预期值和正在验证的值)。为了避免这些问题,我们可以使用众所周知的枚举类型。如果您不熟悉这种类型,它本质上是一种固定或有限大小的类型。为了让它更清楚,让我们深入研究一些代码。按照前面提出的想法,我们将创建一个枚
- Golang . 后端开发 806 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 . 后端开发 383 2024-11-20 08:39:12
-
- 方法上的指针和值之间的区别
- 在go中编写方法时,关键决策之一是是按值还是按指针传递结构体。此选择会影响性能、代码行为和内存分配。在这篇文章中,我们将通过实际示例探讨这种差异,并了解每种方法何时更合适。让我们从一个小结构体和两个方法开始:一个结构体通过值传递,另一个通过指针传递。packagemainimport("fmt")typepersonstruct{namestringageint}//methodwithstructpassedbyvaluefunc(pperson)celebratebirthdayvalue(
- Golang . 后端开发 379 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 . 后端开发 924 2024-11-17 14:21:17

PHP讨论组
组员:3305人话题:1500
PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是