文章类型: 排序方式:
Go开发报错 -- Golang strings.Builder type undefined
在Go开发中,Go语言版本 go 1.10 以下版本,使用strings.Builder报错的原因及处理方案。
写了一年golang,来聊聊进程、线程与协程
Golang 过滤 emoji 表情
有朋友说:最近也被腾讯云MySQL存储emoji给坑了。不过处理的方法是转义0x1F000~0x1FA00这一段的emoji表情
Golang 优化之 HTTP 长连接
VS Code 的 Go 语言插件迁移至由 Go 团队维护
VS Code 的 Go 语言插件已成为由 Go 团队维护的项目,其 GitHub 仓库已经从 https://github.com/microsoft/vscode-go 迁移到 https://github.com/golang/vscode-go,在 VS Code 插件市场中的发布者也已由 "Microsoft" 变更为 "Go Team at Google"。
Golang 语法到底是怎么回事?gdb调一调?
Golang 编程思维和工程实战
硬核!Golang 有五种原子性操作,最后一种非常罕见
大厂Golang语法50问!
在你的 Android 手机上运行 Golang 程序
带你学够浪:Go语言基础系列 - 控制流语句
对于一般的语言使用者来说 ,20% 的语言特性就能够满足 80% 的使用需求,剩下在使用中掌握。基于这一理论,Go 基础系列的文章不会刻意追求面面俱到,但该有知识点都会覆盖,目的是带你快跑赶上 Golang 这趟新车。
Golang保姆级Debug教程
微服务架构中的熔断器设计与实现( Golang 版)
golang 垃圾回收(二)屏障技术
golang 混合写屏障原理深入剖析,这篇文章给你梳理的明明白白!!!
golang 垃圾回收 - 删除写屏障
盘点golang中的开发神器
golang 内存管理分析
Golang 协程Goroutine到底是怎么回事?(一)
Golang 数据结构到底是怎么回事?gdb调一调?
Golang 实现缓存系统
缓存(Cache)在计算机硬件中普遍存在。比如在 CPU 中就有一级缓存,二级缓存,甚至三级缓存。缓存的工作原理一般是 CPU 需要读取数据时,会首先从缓存中查找需要的数据,如果找到了就直接进行处理,如果没有找到则从内存中读取数据。
2020年,GCC项目代码终于从SVN完全切换至Git
经过数月的延误,GCC 计划在刚过去的周末里将项目的大型代码仓库从 SVN 切换至 Git。原本大家都以为这次又将会再次延误,但实际上,经过团队步履不停的工作,他们已完全将 GCC 的代码仓库从 SVN 切换至 Git。此前出现延误的原因包括内存问题(RAM)、兼容性问题(bugs)以及用 Golang 重写了 Reposurgeon 的 Python 代码,据了解,在上周六 GCC 团队通过使用  Eric S Raymond 的 Reposurgeon 程序完成了 GCC 代码仓库从 SVN 到 Git 的切换。Git conversion ... complete. Verification in progress. #GCC pic.twitter.com/bm6GaUYsTA— GCC - GNU Toolchain (@gnutools) January 11, 2020由于刚刚完成迁移,GCC 的代码仓库尚未重新对外开放,目前仍在验证的过程中。该团队表示,如果所有验证都通过并且周一也没有出现严重的问题,那么代码树会再次开放。不过目前看来,官方表示在进行普通的提交(trivially commits )时会出现性能下降的问题。而针对此问题,尚未有来自团队的任何消息。未来,GCC 团队将会通过使用 Git 的工作流程来开发 GCC,就像 LLVM 当初也是从 SVN 转换到 Git 一样。
golang 垃圾回收(三)插入写屏障
Go知识图谱
Golang学习的知识点,收藏起来看看你了解多少。
实战 | 如何结合 Golang,提高 Python 的计算性能(上)
Hello 各位小伙伴你们好,我们都知道 Python 是一个生产力很高的语言,本人也非常喜欢 Python,经常使用 Python 以最高的效率完成最多的事,但是 Python 的性能,是我们一直诟病的一个问题,尤其是一个大锁 GIL,有时候想想简直像吃了苍蝇一样有点难受。
golang https x509: certificate signed by unknown authority解决
某管理口页面使用的证书文件是不被浏览器识别的,在使用python requests进行页面请求时,在linux下忽略ssl正常,在windos使用就提示SSLv3 handler error,所以改用golang进行页面访问,结果提示“x509: certificate signed by unknown authority”错误。
golang 调试分析的高阶技巧
Linux FreeBSD 12.1跑分测试:在AMD Ryzen线程撕裂者3970X上快得刷新认知
要是你对FreeBSD运行在AMD Ryzen线程撕裂者3960X/3970X TRX40主板上感兴趣的话,我们这篇测试体验绝对会让你感到无比舒爽。事实上,对于开箱即用体验而言,或许就已经比目前Linux的启动时MCE(机器检查异常)解决方案好得多。这篇文章就是FreeBSD 12.1在线程撕裂者3970X上的跑分结果,与之对比的是Linux和Windows,都在相同的高性能平台上测试。这次FreeBSD 12.1运行在32核、64线程的Ryzen线程撕裂者3970X上,使用华硕ROG ZENITH II EXTREME主板,启动、运行都相当流畅,所有核心都正常运作,PCIe 4.0 NVMe SSD硬盘、主板网卡等主板功能一切正常。这套系统插满4条16GB DDR4-3600内存,还有1TB Corsair Force MP600 NVMe SSD和Radeon RX 580显卡。考虑到在这套系统上,Linux甚至出现了无法启动问题,而FreeBSD却能正常运作,真是令人欣喜。虽然FreeBSD 12.1在TRX40主板(ROG Zenith II Extreme)搭配AMD Ryzen线程撕裂者3970X并没有什么问题,但可惜DragonFlyBSD就没那么走运。无论是DragonFlyBSD 5.6.2稳定版还是DragonFlyBSD每日开发快照版(2019年11月最后一周的版本)都无法启动。因此,这次测试略过DragonFlyBSD,只测试FreeBSD。这次测试既使用默认自带的LLVM Clang 8.0.1编译器,也使用ports里的GCC 9.2以作比较。测试平台参数如下所有Linux / BSD / Windows测试都是用Phoronix Test Suite。在线程撕裂者3970X上,FreeBSD的Golang编译性能跟其它Linux发行版基本持平,远好于Windows 10的性能。虽然Golang编译性能不错,但是垃圾回收速度仍然比其它平台慢得多。而对于最常用的部分,由于使用了Open JDK 11,FreeBSD 12.1在AMD线程撕裂者的测试表现跟其它Linux发行版相比,没太大差异。在多线程OpenMP的GraphicsMagick测试里,在FreeBSD 12.1运行图形操控程序的性能还不错。FreeBSD 12.1已经默认附带支持OpenMP的Clang版本,因此默认编译而来的GraphicsMagick运行得相当好,而GCC 9.2就跟Linux平台的表现相似。FreeBSD 12.1的x264编码测试同样使用GCC和Clang两个版本,都比Linux版本快得多,但比Windows 10慢。在线程撕裂者3970X上,7-Zip同样是FreeBSD 12.1的其中一个落后项目。比Windows和Linux都落后太多。在Stockfish测试里,FreeBSD的性能表现排在前列,介于OpenSUSE和CentOS之间。FreeBSD的xz压缩性能表现良好,远优于7-Zip。FLAC音频压缩同样使用了GCC和Clang两个编译版本来测试,Clang编译出来的可执行文件优化不太理想。类似的,GCC版M-Queens在FreeBSD上表现更好。FreeBSD继续在这套AMD Ryzen线程撕裂者3970X系统上表现出强劲的性能。FreeBSD的Python的跑分落后于Linux和Windows,在其它硬件系统上我们发现也是这样的。在FreeBSD上使用Git操作大仓库就跟Linux一样快。跑分总结,可以看到所有测试都在Windows、Linux和FreeBSD上成功运行,FreeBSD 12.1令人刮目相看,尤其是考虑到AMD并未对FreeBSD作出什么优化的情况下。FreeBSD 12.1的性能就跟受测的Linux发行版差不多。如果把编译器从默认的Clang 8.0.1切换成GCC 9.2,在多数情况下确实会对提升性能有帮助,不过由于Clang 8.0.1有OpenMP的支持,两者的性能差距已经缩小了。总地来说,在线程撕裂者3970X运行FreeBSD 12.1竟然没有硬件兼容性问题还真的令人感到惊喜,在这个AMD 32核/64线程的处理器上表现得真是太好了。
从 API 设计开始,了解一下 Golang 的新框架 Twirp
带你学够浪:Go语言基础系列 - 基础语法
对于一般的语言使用者来说 ,20% 的语言特性就能够满足 80% 的使用需求,剩下在使用中掌握。 基于这一理论,Go 基础系列的文章不会刻意追求面面俱到,但该有知识点都会覆盖,目的是带你快跑赶上 Golang 这趟新车。