Clojure 面向对象:分派、协议和实现
本文介绍了 Clojure 对面向对象编程模式的支持:defmulti、defmethod 带来的分派和继承,defprotocol, defrecord 和 extend-type 带来的协议、记录和实现,并探讨了它们在工程项目中的最佳实践和适用场景。
我的博客覆盖了前端、后端、客户端以及系统编程等领域,以构建高效、弹性、可维护的应用程序为目标。请随意翻阅查看。这里记录了我对一些新技术、新工具以及在项目中的开发实践,往前翻翻还有很多不着调的诗歌。
本文介绍了 Clojure 对面向对象编程模式的支持:defmulti、defmethod 带来的分派和继承,defprotocol, defrecord 和 extend-type 带来的协议、记录和实现,并探讨了它们在工程项目中的最佳实践和适用场景。
本文介绍了一种利用微型 x86 PC 搭建 HomeLAB 的方法,包括基于 Wireguard 和公网 IP 互通,ESXi Server 和 DSM 的安装、DDNS、Windows 和 Linux CI/CD 环境的搭建。
本文介绍了一种利用云平台函数计算通过 WebDriver 拉起浏览器的方式,以绕过 Cloudflare 保护、网站动态内容生成等限制,获取数据。
本文介绍了我在将 Clojure 单体应用迁移到 Kubernetes 集群,增添功能并且使用云原生模式实现可观测性的一些思考。
本文介绍了一种低成本使用 Kubernetes 管理跨多个云供应商提供的带有浮动 IP 虚拟机的方法,并对比了使用 docker 手动管理这些虚拟机的管理和计算开销,讨论了边缘计算集成 Kubernetes 的风险和价值。
本文通过对比 Rust 和 Clojure 在后端开发上的开发体验,探究作为函数式 S-expr 界面的 Clojure 设计理念,以及在这种设计权衡下的取舍。
本文介绍了使用 babashka 进行 API 测试、管理,并作为 API 文档的方法,相比较 PostMan,这种方式具有几乎无上限的灵活性,且易于进行版本管理。