- 这些天,在给项目servicecomb提交代码,升级其中的vertx和netty版本号,发现有单元测试用例跑不过https://github.com/apache/servicecomb-java-chassis/pull/2614 @Test public void testGetMaxFormAttributeSize() { Assert.assertEquals(8192,... 这些天,在给项目servicecomb提交代码,升级其中的vertx和netty版本号,发现有单元测试用例跑不过https://github.com/apache/servicecomb-java-chassis/pull/2614 @Test public void testGetMaxFormAttributeSize() { Assert.assertEquals(8192,...
- 今天看到了热迁移网络句柄的功能,忍不住自己在机器上实验了一下,确实可以实现网络句柄的迁移。实验代码如下 old_serverpackage mainimport ( "net" "syscall")func main() { tcpAddr := net.TCPAddr{Port: 8001} tcpLn, err := net.ListenTCP("tcp4", &tcpAddr) if ... 今天看到了热迁移网络句柄的功能,忍不住自己在机器上实验了一下,确实可以实现网络句柄的迁移。实验代码如下 old_serverpackage mainimport ( "net" "syscall")func main() { tcpAddr := net.TCPAddr{Port: 8001} tcpLn, err := net.ListenTCP("tcp4", &tcpAddr) if ...
- 安装valigrinddnf install -y valgrind 注意使用带debug信息的mysqld fedora安装debug信息的mysqlddnf install -y mysql-community-server-debug 使用valgrind启动mysqlvalgrind --leak-check=yes /usr/sbin/mysqld-debug --daemoni... 安装valigrinddnf install -y valgrind 注意使用带debug信息的mysqld fedora安装debug信息的mysqlddnf install -y mysql-community-server-debug 使用valgrind启动mysqlvalgrind --leak-check=yes /usr/sbin/mysqld-debug --daemoni...
- 前提条件 添加配置 [mysqld]下面添加core-file ulimit打开core file限制ulimit -c unlimited 如需要,修改core file路径(如在容器内,需要特权容器权限)echo "/opt/sh/mysql/core/core" > /proc/sys/kernel/core_pattern 使得core file携带pid信息echo 1 >/pr... 前提条件 添加配置 [mysqld]下面添加core-file ulimit打开core file限制ulimit -c unlimited 如需要,修改core file路径(如在容器内,需要特权容器权限)echo "/opt/sh/mysql/core/core" > /proc/sys/kernel/core_pattern 使得core file携带pid信息echo 1 >/pr...
- 前言这是**icza**在StackOverflow上的一篇高赞回答,质量很高,翻译一下,大家一起学习问题是:go语言中,有没有什么最快最简单的方法,用来生成只包含英文字母的随机字符串icza给出了8个方案,最简单的方法并不是最快的方法,它们各有优劣,末尾附上性能测试结果: 1. Runes比较简单的答案,声明一个rune数组,通过随机数选取rune字符,拼接成结果package appr... 前言这是**icza**在StackOverflow上的一篇高赞回答,质量很高,翻译一下,大家一起学习问题是:go语言中,有没有什么最快最简单的方法,用来生成只包含英文字母的随机字符串icza给出了8个方案,最简单的方法并不是最快的方法,它们各有优劣,末尾附上性能测试结果: 1. Runes比较简单的答案,声明一个rune数组,通过随机数选取rune字符,拼接成结果package appr...
- C语言编译四个阶段: 预处理、编译、汇编、链接。预处理阶段:预处理器cpp根据字符#开头的命令,修改C程序。通常以i作为文件扩展名编译阶段:编译器cc1将文件文件hello.i翻译成文本文件hello.s,它包含一个汇编语言程序。汇编阶段:接下来,汇编器as将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件hello.o中。链接阶段:链... C语言编译四个阶段: 预处理、编译、汇编、链接。预处理阶段:预处理器cpp根据字符#开头的命令,修改C程序。通常以i作为文件扩展名编译阶段:编译器cc1将文件文件hello.i翻译成文本文件hello.s,它包含一个汇编语言程序。汇编阶段:接下来,汇编器as将hello.s翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件hello.o中。链接阶段:链...
- 参考资料翻译自 https://blog.golang.org/pipelines 术语 Pipeline流水线 Stage阶段 fan-in扇入 fan-out扇出 介绍Go 的并发原语可以轻松构建流数据管道,从而高效利用 I/O 和多个 CPU。 本文展示了此类pipelines的示例,强调了操作失败时出现的细微之处,并介绍了干净地处理失败的技术。 什么是pipeline?pipeli... 参考资料翻译自 https://blog.golang.org/pipelines 术语 Pipeline流水线 Stage阶段 fan-in扇入 fan-out扇出 介绍Go 的并发原语可以轻松构建流数据管道,从而高效利用 I/O 和多个 CPU。 本文展示了此类pipelines的示例,强调了操作失败时出现的细微之处,并介绍了干净地处理失败的技术。 什么是pipeline?pipeli...
- 翻译自https://blog.golang.org/concurrency-timeouts Go并发范式:超时,继续执行并发编程有自己的习惯用法。 超时是一个很好的例子。在商用软件开发时,所有操作都需要有超时。虽然 Go 的channel不直接支持超时,但很容易实现。假设我们想从通道 ch 接收,但希望实现一秒钟超时。 我们可以创建一个信号channel并启动一个在通道上发送之前休眠的... 翻译自https://blog.golang.org/concurrency-timeouts Go并发范式:超时,继续执行并发编程有自己的习惯用法。 超时是一个很好的例子。在商用软件开发时,所有操作都需要有超时。虽然 Go 的channel不直接支持超时,但很容易实现。假设我们想从通道 ch 接收,但希望实现一秒钟超时。 我们可以创建一个信号channel并启动一个在通道上发送之前休眠的...
- 翻译自https://blog.golang.org/codelab-share 正文传统线程模型(如Java、C++、Python)需要程序通过内存在线程间通信。典型的,共享数据结构被锁保护,线程通过争夺锁来访问这些数据。在某些情况下,通过线程安全的数据结构(如Python的队列,Java的ConcurrentHashMap)可以很容易地做到这一点。Go的并发原语:goroutines和... 翻译自https://blog.golang.org/codelab-share 正文传统线程模型(如Java、C++、Python)需要程序通过内存在线程间通信。典型的,共享数据结构被锁保护,线程通过争夺锁来访问这些数据。在某些情况下,通过线程安全的数据结构(如Python的队列,Java的ConcurrentHashMap)可以很容易地做到这一点。Go的并发原语:goroutines和...
- 翻译https://blog.golang.org/defer-panic-and-recover TLTRdefer的函数在压栈的时候也会保存参数的值,而不是在执行时取值。换句话说,就是defer函数的参数在defer语句出现时,就已经确定下来了。当外围函数执行完成之后,defer 函数是以后进先出的方式执行的defer 函数可以对函数的返回值进行读写 正文Go有着常见的控制流:if, ... 翻译https://blog.golang.org/defer-panic-and-recover TLTRdefer的函数在压栈的时候也会保存参数的值,而不是在执行时取值。换句话说,就是defer函数的参数在defer语句出现时,就已经确定下来了。当外围函数执行完成之后,defer 函数是以后进先出的方式执行的defer 函数可以对函数的返回值进行读写 正文Go有着常见的控制流:if, ...
- 参考资料https://github.com/golang/go/blob/master/src/cmd/compile/README.mdhttps://medium.com/a-journey-with-go/go-overview-of-the-compiler-4e5a153ca889基于Golang 1.16版本 阶段Go编译器由四个阶段组成,可以分为两类frontend前端:这... 参考资料https://github.com/golang/go/blob/master/src/cmd/compile/README.mdhttps://medium.com/a-journey-with-go/go-overview-of-the-compiler-4e5a153ca889基于Golang 1.16版本 阶段Go编译器由四个阶段组成,可以分为两类frontend前端:这...
- Golang没有内置的enum类型,通常都是用常量来模拟。如下例所示:package enum1import ( "fmt" "testing")type Hero intconst ( IRONMAN Hero = 0 SPIDERMAN Hero = 1 BATMAN Hero = 2)func TestName(t *testing.T) { ironman := IRONM... Golang没有内置的enum类型,通常都是用常量来模拟。如下例所示:package enum1import ( "fmt" "testing")type Hero intconst ( IRONMAN Hero = 0 SPIDERMAN Hero = 1 BATMAN Hero = 2)func TestName(t *testing.T) { ironman := IRONM...
- 翻译自https://go101.org/article/pointer.html尽管Go吸收了很多其他语言的特性,但Go总体来说是一个C家族语言。其中一个证据就是Go也支持指针。Go指针和C指针在许多方面非常相似,但其中也有一些不同。本文将会列举Go指针的概念和细节。 Memory Address 内存地址内存地址指的是整个系统管理(通常由操作系统管理)的内存空间中的偏移量(byte的个... 翻译自https://go101.org/article/pointer.html尽管Go吸收了很多其他语言的特性,但Go总体来说是一个C家族语言。其中一个证据就是Go也支持指针。Go指针和C指针在许多方面非常相似,但其中也有一些不同。本文将会列举Go指针的概念和细节。 Memory Address 内存地址内存地址指的是整个系统管理(通常由操作系统管理)的内存空间中的偏移量(byte的个...
- 使用Delve对Go程序进行Debug 翻译自https://medium.com/a-journey-with-go/go-debugging-with-delve-core-dumps-384145b2e8d9CoreDump是异常退出程序的内存快照。可以用来死后debug来找出crash发生的原因以及牵连的变量。通过GOTRACEBACK,Go提供了控制程序崩溃时的输出。变量还可以强... 使用Delve对Go程序进行Debug 翻译自https://medium.com/a-journey-with-go/go-debugging-with-delve-core-dumps-384145b2e8d9CoreDump是异常退出程序的内存快照。可以用来死后debug来找出crash发生的原因以及牵连的变量。通过GOTRACEBACK,Go提供了控制程序崩溃时的输出。变量还可以强...
- 参考资料https://medium.com/a-journey-with-go/go-how-to-take-advantage-of-the-symbols-table-360dd52269e5在参考资料的基础上,尝试复写已存在的变量,并更新Go版本到1.16。符号表由编译器创建维护,用于存储程序相关的信息,比如函数或全局变量。 符号表每个由Go编译的二进制程序默认包含符号表。举个例子p... 参考资料https://medium.com/a-journey-with-go/go-how-to-take-advantage-of-the-symbols-table-360dd52269e5在参考资料的基础上,尝试复写已存在的变量,并更新Go版本到1.16。符号表由编译器创建维护,用于存储程序相关的信息,比如函数或全局变量。 符号表每个由Go编译的二进制程序默认包含符号表。举个例子p...
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签