详情

全站展示位

Rust E0597 错误引发的一次思考

常见的架构设计会非常自然的按照业务逻辑、数据逻辑、控制逻辑等作为标准进行架构设计时内聚、解耦的评判,Rust 项目中可能还需要兼顾生命周期的解耦与内聚,例如 static 生命周期的模块、逻辑不太适合嵌套到 crate 或者子 mod 里面。。。。

推荐

小技巧

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

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.

心灵鸡汤

  东汉年间,有一个有名的清官,名叫杨震。

  一年,他居官荆州,发现王密才华出众,便向朝延举荐王密为昌邑县令。数年之后,他调任路过昌邑。王密亲赴郊外迎接恩师,安顿膳宿,照应得无微不至。

  晚上,王密前往杨震官邸拜谒,他见室中无外人,迅即从怀中捧出黄金十斤,端放于杨震的案桌上,说道:“恩师难得光临,特备小礼相赠,以报栽培之恩!”

  “不可,不可!”杨震见状,连连摆手拒绝。他想不到王密会来这一手,便语重心长地说:“以前正因为我了解你有真才实学,才推荐你担如此重任,可你这样做,是太不知我的为人了。”

  王密自讨了没趣,但仍想力争,于是轻声轻气地说:“反正是黑天,又无外人知道。”

  杨震更气了,他正色地说:“你送金子与我,外人怎么会不知?即使没人知道,也是天知,地知,我知,你知!以为无人知道,就宽容自己,这是很要不得的。”

  王密一听,羞愧难言,只得挟起金子,谢罪而去。

列表展示

主站展示位

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

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

Memos

云边有座小卖部,用来「售卖」哪些不经意间的 flow memories.

Personal Assistant 支持 Vault 统计状态预览|Obsidian PluginPersonal Assistant

分享一下 Personal Assistant 插件一键查看 Obsidian Vault 记录状态新功能的设计思考和开发实践,通过对 Obsidian Statistics 的渲染展示帮助使用者了解自己的记录状态,数据展示的效果也会鞭策用户养成每天记录和思考的习惯,我想这才是 Obsidian 作为第二大脑的终极奥义所在

新加坡游记|路途见闻

春节假期之后花了一周的时间去新加坡转了转,避开了人流高峰期的度假体验确实不错。这篇文章打算跟大家分享一些见闻和印象深刻的事情

Newsletter Columns | 专栏订阅

松烟阁 Shadow Walker 的 Newsletter 专栏,包括:「逆熵编程・凤凰棋局」(技术专栏);「凤凰幽径・影行心踪」(生活专栏);「Anthelion」(英文专栏),欢迎查看和订阅。

GORM Supporting Customize Go Types | GORM 支持复杂对象

GORM 默认支持 go basic type 然而在实际代码中 Object 会非常复杂,所以需要研究清楚 GORM 框架如何通过 interface 解决复杂对象支持的问题

gRPC Gateway 研究

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

Memos WebHook 在 Cloudflare Worker 利用 GitHub API 实时备份记录

从 Git 的 blob object,tree object,commit object 的角度研究清楚 Git 内容寻址文件系统(content-addressable filesystem)的底层原理,根据对于 Git Object 的学习结合 GitHub API 开发 Cloudflare Worker 为 Memos 服务构建实时备份到 GitHub Repo 的功能。

2023(下篇)

2023 总结,40 questions to ask myself every year

Memos 数据库启动过程源码分析

memos 支持多种数据库后端, 以 SQLite 和 MySQL driver 为例分析清楚 Memos 是如何实现数据库启动的相关逻辑

2023(上篇)

2023 总结,40 questions to ask myself every year

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

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

docker-run vs docker-compose

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

Obsidian 时间进度条实现方法

介绍一种通过 css + templater 脚本的方法为 Obsidian 实现一种自动更新的年度进度条(Year Progress Bar)。

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

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

一些句子(001)

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

Linux hook 机制

探索一下 Linux 实现勾子(hook)的方式和原理,为进一步理解 ebpf 的 hookpoint (LSM)底层原理打下基础。

博客寄语:

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

实时播报:

博客号-学习成长

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