详情

全站展示位

ebpf 探测 go 应用的 interface 变量

interface 是 go 语言中最成功的设计之一,tracing interface 最大的技术难点是理解 go interface 的底层实现特别是运行时的内存布局,对此我打算从两个角度来结合理解:1.语法层面理解即从 go 源码角度理解 interface 是怎么实现;2.runtime 层面理解即借助 bpf uprobe 技术,从 go 应用运行时角度理解 interface 是怎么实现。。。

推荐

小技巧

总结的一些实践经验用于提高效率,将事务工具化等等

Obsidian

Obsidian is built to be extensible from the ground up. We want you to build your own system, play with it, tweak it, until you're happy.

心灵鸡汤

  晋代名臣陶侃年轻时曾任浔阳县吏。

  一次,他派人给母亲送了一罐腌制好的鱼。他母亲湛氏收到后,又原封不动退回给他,并写信给他说:“你身为县吏,用公家的物品送给我,不但对我没任何好处,反而增添了我的担忧。”

  这件事陶侃受到很深的教育。

列表展示

主站展示位

博客虫洞功能

详细介绍一下基于 Cloudflare Worker 的博客虫洞功能方案设计以及详细的代码实现,包括随机文章入口功能、基于 D1 用户访问数据持久化功能、Telegram 消息通知功能等。最后附上最终方案实现前几次失败的尝试,这对于一个 web 门外汉理解 ghost 后端模版引擎等概念非常有帮助,同时也加深了产品的反思

GORM 框架研究 | Details about GORM framework mapping SQL and golang struct

研究一下 GORM 框架,解决 go 语言中 type struct 到 database 「最后一公里」的问题,尝试梳理出框架无关的 ORM 底层技术,通过源码阅读深入学习 GORM 的底层实现,最后总结一下裸写 SQL 与使用 ORM 的优缺点

写给2024的自己|愿这段自我对话成为心中的灯塔

不少征兆与数字都向我预示着正在进行的2024这一年会非常幸苦,大多会不如意。在这漫长而苦涩的年景中想跟自己低语几句,送给未来的自己这些话算是期许也算是叮嘱,希望这段自我对话成为内心的灯塔,引领我穿越阴霾,毕竟最美不过春花秋月,夏雷冬雪。

gRPC Gateway 研究

深入浅出的学习 gRPC 的架构和原理,通过简单的 Go 项目来研究如果利用 gRPC Gateway 插件将 gRPC 通过反向代理的方式支持 RESTful API,同时还简单说明 protocol buffer 编译工具 buf 的配置使用

2023(下篇)

2023 总结,40 questions to ask myself every year

Interface type assertion fails due to a Golang Pointer Receiver

Golang interface type assertion failure related to map[string]interface{} and struct type method receiver. The Golang method gets two receiver types: value and pointer whose interface type asserting are different. Let's take a deep insight into it.

Effective Go 要点速记

关于 Effective Go 中要点的总结,可以帮助理解 Go 语言本身,也可以快速恢复对 Go 语言的记忆。

尝试找到自己的「主干」

有余裕地做事情不被各种不得已催着走,状态下的工作生命力是充盈的,而这份充盈是那些并不相关,并不重要,但是让人感觉到美好的东西,我一直觉得一个东西无论是否优秀,创造它的人如果用心了,使用它的人一定是可以感受到的。或许这才是我期待的「主干」,就像小报童的 slogan 一样:体面地站着挣钱

我的插件发布啦

Beta 版 Obsidian 助理插件发布啦!插件的定位是个人使用 Obsidian 的快捷助手,一键直达让你只需要专注内容而不是繁琐的管理,类似 Alfred 之于 macOS。

go 字符串的单引号、双引号、反引号的区别

从 golang 源码实现的角度理解字符串涉及到单引号、双引号、反引号的区别。Learn about the difference between go-string quotation marks.

Obsidian Vault 状态大盘工具

借助 Dataview、Obsidian Chart 对 Better Word Count 插件中的 Obsidian Vault 状态统计数据进行可视化展示,实现的关键是一段 dataviewjs 脚本,参考文中的 gist 链接。

docker-run vs docker-compose

通过 docker 容器编排的问题说明 docker compose 的由来,借助例子来简要说明 docker compose 是如何启动应用服务的

谈谈计算机安全领域的高频词汇 Canary

解决我的一个好奇心:为什么在 Cyber Security 领域中 Canary 是一个高频词汇,它是不是计算机安全领域里面的 “Hello World”?

一些句子(001)

记一些非常有意思的句子和思考,有我所愿亦有我所思

一种 Obsidian vault 自动备份方法

介绍一种基于 Git 和 Github Private Repo 自动备份 Obsidian vault 的方法

博客寄语:

    我写的一切无外乎工作、生活、学习中的点点滴滴,记录自己的成长和折腾的经历,当然如果这些经验和记录能够引起共鸣甚至帮助他人是我最大的荣幸。

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。