2023年计划与总结

开源项目阅读计划

mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理。抽取了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP、资源加载器、事件监听器、类型转换、容器扩展点、bean生命周期和作用域、应用上下文等核心功能。

阅读感想:项目写得非常好,由浅至深地描述了Spring框架的核心原理,启发非常大。

  • marmotedu/iam: 2023.3 - 2023.4(已完成)

    企业级的 Go 语言实战项目:认证和授权系统(带配套课程)

个人评价:质量非常高的go项目,可以抽象出来做项目模板,以后直接用在生产项目上,并且在该项目里还引发了很多对缓存一致性问题的思考

  • ory/keto:2023.4 - 2023.5(已完成)

Open Source (Go) implementation of “Zanzibar: Google’s Consistent, Global Authorization System”. Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.

个人评价:该项目是google一篇论文的开源实现,用于构建一个全局IAM,但是业界用得更多的是Casbin这个开源IAM项目,并且该项目非常不完善,很多论文里的细节并没有实现,后续发现了更好的项目:authzed/spicedb

  • authzed/spicedb:Open Source, Google Zanzibar-inspired fine-grained permissions database:2023.8 完成70%(2023.6 - )

个人评价:质量非常高的项目,尤其是高并发的设计,通过哈希环将要缓存的内容分布到不同的机器上,然后通过调度器先计算请求的哈希值,接着根据哈希值将不同的请求调度到不同的机器(该机器会缓存要请求的资源)上,从而实现了分布式缓存。并且没有引入 redis 或 dcache 等组件,可以减少对上下游的依赖。另一方面,对权限 schema 的描述也非常牛逼,可以用非常复杂的语言(权限的交集,并集等)去描述一个权限。另外,也是通过该项目,才学习到了很多 k8s 的基础知识。本人觉得这个项目是 IAM 系统的不二之选

  • go-kiss/sniper:轻量级 go 业务框架:2023.9 完成 50%(2023.9 - )

个人评价:这个项目是通过一个个人博客站点发现的,由 bilibili 的涛叔开发实现,看完之后大呼过瘾,以前看别的开源项目过程中积累的一些疑问也得到了解答(譬如为什么要慎用 context),我希望能按照这个为模板,构思一个基于 grpc stream 的轻量级框架,把上面 spicedb 里的分布式缓存和请求调度融入进去,从而提供一个流式的请求框架

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.

Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Security is found in how easily it can be extended to meet custom requirements

dgraph-io/ristretto:计划于2023年下半年开展(暂时作废)

A high performance memory-bound Go cache

个人评价:高性能缓存的实现,是学习高并发的绝好资料,在其中需要研读很多论文和资料,可以将整个缓存体系的知识都补完

辅助资料:

阅读计划

非技术类:

  • 《置身事内:中国政府与经济发展》
  • 《财报就像一本故事书》
  • 《贝佐斯致股东的信》
  • 《巴菲特致股东的信》
  • 《心里突破:审判中的心理学原理与方法》
  • 《货币金融学》
  • 《货币战争》
  • 《当下的力量》
  • 《反脆弱:从不确定性中获益》
  • 《系统之美:决策者的系统思考》
  • 《格鲁夫给经理人的第一课》
  • 《平衡积分卡实践战略》
  • 《一本书读懂财报》
  • 《一往无前》

技术类:

  • 《敏捷应用程序安全》
  • 《Google系统架构解密:构建安全可靠的系统》:
  • 《决战618探秘京东技术取胜之道》
  • 《尽在双11——阿里巴巴技术演进与超越》
  • 《Designing data-intensive applications》
  • 《TCP/IP 详解 卷一》

极客时间:

  • 《Kubernetes 入门实践课》

好玩的游戏:

  • 《RimWorld 环世界》:这破游戏,我能玩几年
文章作者: kylinlin
文章链接: https://kylinlingh.github.io/2023/01/31/2023%E5%B9%B4%E8%AE%A1%E5%88%92%E4%B8%8E%E6%80%BB%E7%BB%93/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Water&Melon's Blog