November 13, 2024
go-gorm源码分析(三)go-gorm源码分析(三)
GORM支持的关系类型主要包括一对一、一对多、多对多等关联关系的定义和查询。在GORM中,开发者可以在模型中定义这些关联关系,并使用GORM提供的方法进行关联查询和操作。本文重点介绍其关系的实现原理。
November 13, 2024
go-gorm源码分析(三)GORM支持的关系类型主要包括一对一、一对多、多对多等关联关系的定义和查询。在GORM中,开发者可以在模型中定义这些关联关系,并使用GORM提供的方法进行关联查询和操作。本文重点介绍其关系的实现原理。
October 28, 2024
go-gorm源码分析(二)前文分析了go-gorm的大致结构,包括初始化以、连接管理以及SQL构建等,本文分析gorm下通过ORM(对象关系映射)读写数据的基本原理及执行逻辑。
October 15, 2024
go-gorm源码分析(一)最近在查找一些golang版本的SQL Builder的选型,刚好了解到了gorm的能力。gorm内嵌的SQL拼接能力其实不太适合作为独立特性来使用,其内部实现与gorm有较深的耦合关系。但是gorm的关系操作能力很强大,猜测跟directus中的实现有些类似。刚好之前阅读directus源码时觉得ts代码有些繁杂晦涩,所以阅读一遍gorm的源码,并记录其分析过程。
August 22, 2024
pREST源码分析之前的文章中已经分析了pREST的功能和基础用法,本文介绍其代码结构以及实现原理。各接口实现差异不大,本文重点关注其CRUD能力以及自定义查询的实现方案。
July 5, 2024
golang BigCache源码解析golang的本地缓存方案有不少,如freecache、bigcache、groupcache等。很久前看过groupcache的源码,对其singleflight的机制印象挺深的,但是印象中没有对gc做特殊的优化。最近刚好看到了了bigcache的介绍,其内部实现重点考虑了gc对于性能的影响。所以翻出其代码快速阅读了一遍其核心思路,特此记录。
June 24, 2024
使用supabase/auth实现OAuth登录前面已经介绍过了如何使用supabase/auth来实现邮箱用户的认证以及supabase的源码分析,本次重点介绍如何使用supabase/auth来实现OAuth2.0的认证,从应用的web/backend端、supabse以及provider的角度来分析其流程及原理。
June 18, 2024
supabase/auth源码分析supabase/auth采用golang实现,本分分析supabase/auth后台核心路径源码以及存储结构,掌握其设计原理以及可能遇到的问题。
May 19, 2024
toxiproxy介绍及源码分析toxiproxy是Shopify开发的混动工程代理,可注入各种混动工程所需的异常,包括延迟/抖动、超时、下线、流量限制等,用于可用性测试等场景。