看博客User-Agent以及对读者的特别提醒

柏舟   新冠5年 10-17

网络安全注意事项(特别是使用最新的稳定的浏览器),以及对未成年读者的特别提醒。

自动微分的原理,基于接口的泛型实现,以及最小二乘迭代法求解优化问题

柏舟   新冠5年 03-24

仅需要定义一个简单的代数结构和使用泛型就可以求取函数的微分,使用泛型可以很容易支持不同类型的运算,同时获得微分信息。同时可以扩展到高阶导数(Jacobi, Hessian)。自动微分可以大大简化最小二乘迭代法,求解优化问题变得很容易。

以Rust和Go为例编程语言的错误处理

柏舟   新冠5年 01-23

Go和Rust这类错误处理方式需要显式处理错误。优点是错误类型都是显式定义的,缺点是会污染所有后续的函数,并且影响调用栈,很难调试。

从Python、C#、Java谈不可变类型和可变类型的赋值

柏舟   新冠4年 11-27

不可变类型(值类型)和可变类型(引用)的赋值行为有很大差异,具体表现在副作用的影响、装箱上。

编程往事:从CheatEngine修改造梦西游讲起

柏舟   新冠4年 10-30

我没有特别喜欢编程,却成了现在这个样子:高中的时候明知道996还去,上大学就自学了;上大学时我想算法这么卷傻逼才去,然后现在搞强化学习。真香!

C、C++、Rust、Go的赋值和生命周期管理

柏舟   新冠4年 07-11

编程语言的赋值的复杂性在于各种深浅拷贝、值引用传递、生命周期管理。理解赋值就理解了资源管理的复杂性。

CQRS架构:解决领域层事务性和分析性需求

柏舟   新冠4年 06-27

CQRS 将读取和写入分离,使用命令更新,查询读取。事件不可变的特点提高安全性。完整的事件日志易于分析。

状态资源分类和《领域驱动设计》

柏舟   新冠4年 05-25

《领域驱动设计》的模型和领域状态管理。