- 翻译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...
- 环境准备需要有一个运行的java程序,如果你已经有了运行中的java程序,请跳过这一节,示例,我启动自制的kafka镜像docker run ttbb/kafka:mate 找到java程序的pidps -ef或者jps均可,其中jps需要安装jdk 安装arthaswget https://github.com/alibaba/arthas/releases/download/artha... 环境准备需要有一个运行的java程序,如果你已经有了运行中的java程序,请跳过这一节,示例,我启动自制的kafka镜像docker run ttbb/kafka:mate 找到java程序的pidps -ef或者jps均可,其中jps需要安装jdk 安装arthaswget https://github.com/alibaba/arthas/releases/download/artha...
- skywalking的java agent迁移到了新仓库https://github.com/apache/skywalking-java下载后使用ide打开有一些proto的文件需要生成,使用如下命令行编译生成mvn clean package -DskipTests -Pall然后需要把proto生成的文件添加到classpath中即可 skywalking的java agent迁移到了新仓库https://github.com/apache/skywalking-java下载后使用ide打开有一些proto的文件需要生成,使用如下命令行编译生成mvn clean package -DskipTests -Pall然后需要把proto生成的文件添加到classpath中即可
- TLDR隧道协议无IpIpIpSitUDP带宽(MB/s)1305128812891259在一种工作负载下,进行简单测试,IpIp与IpSit性能相当,UDP稍差。 测试服务器信息测试Server服务器:172.31.183.57测试Client服务器:172.31.183.58网络掩码:255.255.240.0 无隧道# serveriperf3 -s -f K# clientiper... TLDR隧道协议无IpIpIpSitUDP带宽(MB/s)1305128812891259在一种工作负载下,进行简单测试,IpIp与IpSit性能相当,UDP稍差。 测试服务器信息测试Server服务器:172.31.183.57测试Client服务器:172.31.183.58网络掩码:255.255.240.0 无隧道# serveriperf3 -s -f K# clientiper...
- Dapper出现的背景分布式系统不容易观测。有些问题靠日志和统计根本无法挖掘。有些无法重现或极难重现的场景。 Dapper设计的原则 低时延微不足道的性能影响,使应用程序团队愿意迁移。 应用透明应用尽量少做侵入式修改 可扩展随着应用程序的规模扩展 Dapper概念 概览通过引入parent id和span id等来将调用链串起来 trace id特定的模式是trace id span id... Dapper出现的背景分布式系统不容易观测。有些问题靠日志和统计根本无法挖掘。有些无法重现或极难重现的场景。 Dapper设计的原则 低时延微不足道的性能影响,使应用程序团队愿意迁移。 应用透明应用尽量少做侵入式修改 可扩展随着应用程序的规模扩展 Dapper概念 概览通过引入parent id和span id等来将调用链串起来 trace id特定的模式是trace id span id...
- 用了几个小时读完了Gorilla这篇经典的 时序数据库论文 ,prometheus的时序数据库在很多地方都参考了这篇论文。以此文总结一下读后感,非论文翻译。截图基本都出自于论文。本论文可以解答如下的普罗问题 为什么普罗不支持字符串类型,只支持double作为监控值为了压缩数据,普罗使用了高效的用于double的压缩算法。 为什么普罗的默认的落盘间隔是2个小时根据这篇论文,2个小时或以上的bl... 用了几个小时读完了Gorilla这篇经典的 时序数据库论文 ,prometheus的时序数据库在很多地方都参考了这篇论文。以此文总结一下读后感,非论文翻译。截图基本都出自于论文。本论文可以解答如下的普罗问题 为什么普罗不支持字符串类型,只支持double作为监控值为了压缩数据,普罗使用了高效的用于double的压缩算法。 为什么普罗的默认的落盘间隔是2个小时根据这篇论文,2个小时或以上的bl...
- 将程序(以rust程序为例)托管为Systemd运行比较容易,步骤分为以下几步生成rust二进制文件创建专用用户和用户组(可省略)书写.service文件通过systemctl启动接下来我们以ubuntu、简单的rust web程序为例,演示一个简单的rust程序如何托管给Systemd运行 生成rust二进制文件 添加依赖tokio = { version = "1", features ... 将程序(以rust程序为例)托管为Systemd运行比较容易,步骤分为以下几步生成rust二进制文件创建专用用户和用户组(可省略)书写.service文件通过systemctl启动接下来我们以ubuntu、简单的rust web程序为例,演示一个简单的rust程序如何托管给Systemd运行 生成rust二进制文件 添加依赖tokio = { version = "1", features ...
- 原生的kafka客户端并不支持修改客户端连接的服务器地址,我们有需求需要支持动态地更新kafka客户端的地址,最简单的一个做法就是通过组合的方式,对原生的kafka客户端做一层wrap,来支持修改kafka客户端地址。这层wrap尽量做到无锁化,不影响性能 核心代码 生产者import lombok.extern.slf4j.Slf4j;import org.apache.kafka.cli... 原生的kafka客户端并不支持修改客户端连接的服务器地址,我们有需求需要支持动态地更新kafka客户端的地址,最简单的一个做法就是通过组合的方式,对原生的kafka客户端做一层wrap,来支持修改kafka客户端地址。这层wrap尽量做到无锁化,不影响性能 核心代码 生产者import lombok.extern.slf4j.Slf4j;import org.apache.kafka.cli...
- Java系的TLS一般都会要这么几个参数client.keystoreclient.truststoreclient.passwordserver.keystoreserver.truststoreserver.password 生成证书client_pass=bk_client_pwdserver_pass=bk_server_pwdserver_dname="C=CN,ST=GD,L=S... Java系的TLS一般都会要这么几个参数client.keystoreclient.truststoreclient.passwordserver.keystoreserver.truststoreserver.password 生成证书client_pass=bk_client_pwdserver_pass=bk_server_pwdserver_dname="C=CN,ST=GD,L=S...
- Java系的TLS一般都会要这么几个参数client.keystoreclient.truststoreclient.passwordserver.keystoreserver.truststoreserver.password 生成证书client_pass=zk_client_pwdserver_pass=zk_server_pwdserver_dname="C=CN,ST=GD,L=S... Java系的TLS一般都会要这么几个参数client.keystoreclient.truststoreclient.passwordserver.keystoreserver.truststoreserver.password 生成证书client_pass=zk_client_pwdserver_pass=zk_server_pwdserver_dname="C=CN,ST=GD,L=S...
上滑加载中
推荐直播
-
华为云码道-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创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签