Go 语言体系下的微服务框架选型: Dubbo-go
本文介绍了Go 微服务体系发展与选型,过去一年Dubbo-go 社区的飞速发展以及对未来的展望。
一分钟搞明白!快速掌握 Go WebAssembly
今天我们快速的对 WebAssembly 进行了背景了解、Go 快速上手、扩展场景了解等。虽然 WebAssembly 是一个新轮子,也号称可以借助 WASI 集成和被集成。 但实际上现在各语言对 WebAssembly 的支持程度都不一样,像 Go 官方自己提供的标准库就维护的不怎么样,WASI 的 issues 也没有继续推进。
Go 为什么不像 Rust 用 ?!做错误处理?
Go 这活不得劲,常被戏称,一个大型 Go 工程项目里 60% 的代码都是 if err != nil。 咱们错误处理怎么不借鉴一下 Rust,高低也整个问号的语法特性,就可以简化这三行了,不香吗?
《Spring核心技术》第6章:深度解析@PropertySource注解
进一步学习并掌握@PropertySource注解加载配置文件的案例和流程,从源码级别彻底掌握@PropertySource注解在Spring底层的执行流程。
Go 最细节篇|内存回收又踩坑了
分享一个 GC 相关的踩坑实践。公司线上某组件内存资源泄漏,偶发 oom 。通过 Go 的 pprof 排查,很快速定位到泄漏的数据结构 A ,结构 A 的相关资源是通过 Go 的 Finalizer 机制来释放的。但诡异的来了,对照着代码审视了多次之后,大家一致断定,这段代码绝对没有泄漏的问题。但是,事实胜于雄辩,现实就是泄漏就在此处。想不通。。。
Go1.20 arena 能手动管理内存了,怎么用?
最近 Go1.20 中的手动管理内存受到了很多人的关注。众所周知,Go 是一门带垃圾回收(GC)的编程语言,可以进行自动的内存申请、释放等内存操作。
PHP vs Go,为什么 Go 不支持命名参数调用函数?
“为什么 Go 不能像 PHP、Python 一样,在调用函数时,直接带上参数名和值一起传入。这样就不用特意去看这个函数的形参的命名、类型等。明明 PHP8 都支持了?” 今天针对命名参数这个特性展开思考,看看 Go 怎么回事。
vocechat-适合个人或企业的开源聊天系统
VoceChat是一款支持独立部署的个人云社交媒体聊天服务。15MB 的大小可部署在任何的服务器上,部署简单,很少需要维护。前端可以内嵌到自己的网站下,数据完全由用户自己掌握,传输过程加密。VoceChat 适用于团队内部交流,个人聊天服务,网站客服,网站内嵌社区的场景。
一文了解一线互联网大厂的 Golang 单测最佳实战经验
Go 单测里面,最常见的就是通过 gomonkey(stub) 打桩或者 mocker(mock) 的模拟来替换掉我们原本的执行逻辑,因此首先我们要对这两种方式有一个比较深入的理解,要理解为何 Go 单测的时候能够替换掉原来的方法!!!
还能这样玩?Go 将会增强 Go1 向前兼容性
本次要提到的 “向前兼容”,指的是旧版本的 Go 编译新的 Go 代码。这个方向比较少被谈论,甚至特意设计。 让我有种,还能这样搞的感觉?
ISM Web工业可视化组态软件
ISM组态软件通过浏览器操作组态工具、浏览组态画面,实现工程管理、组态编辑、工业设备采集以及组态运行三大功能。通过实现图元组态、可视化图表组态、数据库组态的配置与关联,完成基于Web服务的实时数据监控与服务端的多用户访问等。采用标准HTML5技术,基于B/S架构进行开发,支持WEB端呈现,支持在浏览器端完成便捷的人机交互,简单的拖拽即可完成可视化页面的编排设计。支持Windows、Centos等其他基于Linux内核的系统。
ETL 是什么 ETL 工具有哪些 ETL 工具对比 engine
ETL 工具对比 国产 ETL 工具 Go 语言开发 ETL
加大力度!Go 将会增强 Go1 向后兼容性
Go1 有兼容性承诺,但如果发现了 BUG,会破坏兼容性。那怎么办?是大胆修改,破坏掉,还是说设计如此,打死不改?
Go 语言代码风格规范-概述篇
如果你所在的团体还未形成一套系统的 Go 风格规范,不妨参考这份指南。
Go 语言代码风格规范-指南篇
如果你所在的团体还未形成一套系统的 Go 风格规范,不妨参考这份指南。
Go定时器的三种实现方式
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。
别乱用了,用新的。Go SliceHeader 和 StringHeader 将会被废弃!
以重点来讲,SliceHeader 是 Slice(切片)的运行时表现;StringHeader 是 String(字符串)的运行时表现。
最好的 Go 框架:没有框架?
作为Go 语言的团队领导者这几年时间,我从初学者那里听到的最常见问题是“我应该使用什么框架?”。我的想法是使用过去的语言经验去编写 Go 程序往往会让结果变得非常糟糕。
用 Go map 要注意这 1 个细节,避免依赖他!
有的小伙伴没留意过 Go map 输出、遍历顺序,以为它是稳定的有序的,会在业务程序中直接依赖这个结果集顺序,结果栽了个大跟头,吃了线上 BUG。 有的小伙伴知道是无序的,但却不知道为什么,有的却理解错误?
Go1.20 将禁止匿名接口循环导入!这是一次打破 Go1 兼容性承诺的真实案例
最近因为临近新版本发布节点,我在看 Go1.20 的新特性《spec: disallow anonymous interface cycles[1]》,发现了一个比较骚的操作...以前我都没想到可以这么用,还有点意思,分享给大家。