推荐一个变量调试神器:go-spew
今天给大家推荐的是一个可以将变量以一种非常友好的方式输出其完整的数据结构信息的工具:go-spew。
陆地神仙
2022-09-23 16:17:22
52
0
0
Go语言从0到1实现最简单的数据库!
后台开发对于数据库操作是必不可少的事情,了解数据库原理对于平常的工作的内功积累还是很有帮助的,这里实现一个最简单的数据库加深自己对数据库的理解。
无敌战神
2022-09-23 15:43:43
50
0
0
Go 插件功能的实现方式
golang 1.8 及以上版本提供了一个创建共享库(shared object)的新工具,称为 Plugins。目前 Plugins 仅在 Linux、FreeBSD 和 macOS 上受支持,且只支持 golang 调用。
无敌战神
2022-09-08 20:57:38
153
0
0
如何有效控制 Go 线程数?
前阵子,在读者交流群中有人提到 Go 默认设置的最大线程数的问题:如果超过一万个 G (挂载于 M 上)阻塞于系统调用,那么程序就会被挂掉。
陆地神仙
2022-09-08 20:54:05
158
0
0
超干货!彻底搞懂Golang内存管理和垃圾回收
现代高级编程语言管理内存的方式分自动和手动两种。手动管理内存的典型代表是C和C++,编写代码过程中需要主动申请或者释放内存;而Java和Go等语言使用自动的内存管理系统,由内存分配器和垃圾收集器来代为分配和回收内存,开发者只需关注业务代码而无需关注底层内存分配和回收,虽然语言帮我们处理了这部分,但是还是有必要去了解一下底层的架构设计和执行逻辑,这样可以更好的掌握一门语言,本文主要以go内存管理为切
放浪江湖
2022-09-08 20:47:56
155
0
0
Go Mod 中的伪版本是什么?
今天再跟大家唠一下 Go Module 中软件包的版本和伪版本的内容,因为这是一个理想很丰满、现实很骨感的故事。
无敌战神
2022-09-06 20:18:57
161
0
0
Go 1.19 正式发布,到底更新了些啥?
Go 1.19 现已发布,可以通过访问下载页面(https://go.dev/dl/)获得该版本。"它的大部分变化是在工具链、运行时和库的实现方面。一如既往,该版本保持了 Go 1 的兼容性承诺。我们期望几乎所有的 Go 程序都能像以前一样继续编译和运行"。该版本包括一些内存模型的调整,LoongArch port,文档评论机制的改进等。
无敌战神
2022-09-06 20:11:40
164
0
0
编写 Go语言代码三条基本原则
Russ 正在区分软件编程和软件工程。前者是您为自己编写的程序,后者是随着时间的推移许多人会使用的产品。工程师会来来去去,团队会扩大和缩小,需求会改变,功能会被添加,错误会被修复。这是软件工程的本质。
无敌战神
2022-09-06 20:09:03
163
0
0
如何使用 Bazel 构建 Go 项目
开源成为当前软件开发的主旋律。哪怕你是商业软件,也逃离不了社区的包围。如何方便地获取依赖,并做到平滑升级很重要。如果构建工具能够很方便地获取源代码,那就太好了。
陆地神仙
2022-09-06 20:04:55
164
0
0
既然有HTTP协议,为什么还要有RPC
我想起了我刚工作的时候,第一次接触RPC协议,当时就很懵,我HTTP协议用的好好的,为什么还要用RPC协议?
放浪江湖
2022-09-06 19:51:47
154
0
0
如何用Go实现一个异步网络库?
在需要高性能、节省资源的场景下,比如海量的连接、很高的并发,我们发现Go开始变得吃力,不但内存开销大,而且还会有频繁的goroutine调度。GC时间也变得越来越长,甚至还会把系统搞挂。这时,我们就可以考虑用Go构建经典的Reactor网络模型,来应对这种场景。
无敌战神
2022-09-05 20:43:46
177
0
0
kubelet 远程调试方法
kubelet是一个systemd服务,以使用Kubeadm工具安装的v1.23.4 k8s集群为例,该服务的配置文件路径为/etc/systemd/system/kubelet.service.d/10-kubeadm.conf.
陆地神仙
2022-09-05 20:28:24
175
0
0
简化 Go 中对 JSON 的处理
我的第一个 Go 工程需要处理一堆 JSON 测试固件并把 JSON 数据作为参数传给我们搭建的 API 处理。另一个团队为了给 API 提供语言无关的、可预期的输入和输出,创建了这些测试固件。
放浪江湖
2022-09-05 20:21:27
180
0
0
Docker 火了!外部网络可直接访问映射到 127.0.0.1 的服务。。。
这两天 Hacker News 上面有一个贴子[1]火了,这是一封发给 Docker 安全团队的邮件,主要讲的是 Docker 有一个非常离谱的安全隐患。即使你通过像 -p 127.0.0.1:80:80 这样的参数将端口暴露到回环地址,外部仍然可以访问该服务,怎么回事呢?
无敌战神
2022-09-04 20:17:23
200
0
0
一文告诉你Go 1.19都有哪些新特性
美国时间2022年5月7日,Go 1.19版本开发分支进入新特性冻结(freeze)阶段,即只能修Bug,不能再向Go 1.19版本中增加新特性了。由于上一个版本Go 1.18因引入泛型改动较大,推迟了一个月发布,这直接导致了Go 1.19版本的开发周期被缩短。
陆地神仙
2022-09-04 20:13:08
189
0
0
为什么 Go 用起来会难受?这 6 个细节你知道吗
在做新的应用选型时,我们会进行应用编程语言的选择,这时会纠结 Java、PHP、Go...各种,会思考有没有致命的问题,不能用?
放浪江湖
2022-09-04 20:06:20
193
0
0
看完这期图解,别再搞不清切片拷贝了
在刚使用 Go 时,菜刀曾将 Python 深拷贝手法[:]用于 Go 中 ,结果造成了 bug。相信不少转语言的 Gopher 也在切片拷贝上栽过跟头。
无敌战神
2022-09-04 19:56:39
184
0
0
记一次 K8S Pod 被 OOM 排查过程
K8S + 容器的云原生生态,改变了服务的交付方式,自愈能力和自动扩缩等功能简直不要太好用。
陆地神仙
2022-09-04 19:50:23
194
0
0
如何阅读 Go 源码
以我个人理解,Go源码主要分为两部分,一部分是官方提供的标准库,一部分是Go语言的底层实现,Go语言的所有源码/标准库/编译器都在src目录下:https://github.com/golang/go/tree/master/src,想看什么库的源码任君选择;
放浪江湖
2022-09-04 19:46:28
169
0
0
Go语言的IO库那么多,我该怎么选?
在计算机和信息技术领域里I/O这个术语表示输入 / 输出 ( 英语:Input / Output ) ,通常指数据在存储器(内部和外部)或其他周边设备之间的输入和输出,是信息处理系统与外部之间的通信。输入是系统接收的信号或数据,输出则是从其发送的信号或数据。
无敌战神
2022-09-03 19:20:19
181
0
0
Go语言优化笔记
在云计算时代,我们经常创建 Serverless 应用(一种云原生开发模式,允许开发人员构建和运行应用程序,而无需管理服务器)。当我们的项目采用这种模式,那基础设施维护预算将排在首位。如果我们的服务负载很低,它实际上近乎是免费的。但是如果出现问题,你将为此付出很多!当谈到金钱时,你肯定会以某方式对它做出反应。
无敌战神
2022-09-03 19:11:37
178
0
0
手把手教你如何创建及使用Go module
Go module是从Go 1.11版本才引入的新功能。其目标是取代旧的的基于GOPATH方法来指定在工程中使用哪些源文件或导入包。本文首先分析Go引入module之前管理依赖的优缺点,然后针对这些缺点,看module是如何解决的。
陆地神仙
2022-09-03 19:07:08
155
0
0
深入理解Golang并发工具-Singleflight
前段时间在一个项目里使用到了分布式锁进行共享资源的访问限制,后来了解到Golang里还能够使用singleflight对共享资源的访问做限制,于是利用空余时间了解,将知识沉淀下来,并做分享
放浪江湖
2022-09-03 18:54:07
155
0
0
Go 要加个箭头语法,这下更像 PHP 了!
新的 Go 提案目的是添加轻量级的匿名函数语法,业内别名又叫 “箭头语法”,是由 @Damien Neil 所提出的,提案的来源是《proposal: Go 2: Lightweight anonymous function syntax[1]》,褒贬都有:
放浪江湖
2022-09-03 18:45:27
154
0
0
Docker 又出了个新玩意儿
在上个月公布的 Docker Desktop v4.7.0 中,减少了一个新的 CLI 插件-docker/sbom-cli-plugin,其为 Docker CLI 减少了一个子命令 – sbom,用于查看 Docker 容器镜像的软件物料清单(SBOM)。
陆地神仙
2022-09-01 20:22:27
161
0
0
Linux 中 10 个最危险的命令
Linux 中 10 个最危险的命令
放浪江湖
2022-09-01 20:19:34
144
0
0
9个很酷的CMD命令,你要知道!
9个很酷的CMD命令,功能:查询本机IP地址
放浪江湖
2022-09-01 20:14:15
124
0
0
再来几个 Go 黑魔法使用技巧
导语 | 最近一段时间,笔者重新梳理了一下go知识点,并深入地看看了它的源码,在实践中又有了新的沉淀,于是写下这篇文章和大家分享一下。
无敌战神
2022-09-01 20:08:17
145
0
0
腾讯大神,带你图解 Go 语言内存分配和垃圾回收
导语 | 现代高级编程语言管理内存的方式分自动和手动两种。手动管理内存的典型代表是C和C++,编写代码过程中需要主动申请或者释放内存;而PHP、Java 和Go等语言使用自动的内存管理系统,由内存分配器和垃圾收集器来代为分配和回收内存,其中垃圾收集器就是我们常说的GC。今天腾讯后台开发工程师汪汇向大家分享 Golang 垃圾回收算法。(当然,Rust 是另一种)
无敌战神
2022-09-01 19:52:30
129
0
0
硬核,图解bufio包系列之读取原理
首先我们来看看在Go中对文件的普通读取方式是怎么样的。
陆地神仙
2022-08-31 20:34:15
184
0
0
努力加载中...
问我社区
人工智能,区块链,大数据,软硬件开发,运维测试,技术学习与咨询,就来问我
关注公众号 获取最新动态
社区活跃用户 »
  1. 清风幕竹 高级开发工程师
  2. 小问 高级开发工程师
  3. tonyguo 区块链技术专家
  4. 彼岸花 高级开发工程师
  5. Little Corley 在学学生
  6. 苏氏之道 非著名前端
  7. 木南之的技术生活 iOS开发工程师
  8. 逍遥子 高级开发工程师
  9. 小问lock 高级开发工程师
  10. 坚果 高级开发工程师
  11. 陆地神仙 Golang 技术专家
  12. lock 高级开发工程师
  13. is_tian 高级开发工程师
  14. 小问 高级开发工程师
  15. jojo 高级开发工程师
  16. 区快链 高级开发工程师
  17. 放浪江湖 高级研发工程师
  18. wfb 高级开发工程师
  19. 小问 高级开发工程师
  20. oldwfb 高级开发工程师