Blogs

Expore the latest articles from Next Notion Blogger

October 28, 2024

go-gorm源码分析(二)

go-gorm源码分析(二)

前文分析了go-gorm的大致结构,包括初始化以、连接管理以及SQL构建等,本文分析gorm下通过ORM(对象关系映射)读写数据的基本原理及执行逻辑。

October 15, 2024

go-gorm源码分析(一)

go-gorm源码分析(一)

最近在查找一些golang版本的SQL Builder的选型,刚好了解到了gorm的能力。gorm内嵌的SQL拼接能力其实不太适合作为独立特性来使用,其内部实现与gorm有较深的耦合关系。但是gorm的关系操作能力很强大,猜测跟directus中的实现有些类似。刚好之前阅读directus源码时觉得ts代码有些繁杂晦涩,所以阅读一遍gorm的源码,并记录其分析过程。

August 22, 2024

pREST源码分析

pREST源码分析

之前的文章中已经分析了pREST的功能和基础用法,本文介绍其代码结构以及实现原理。各接口实现差异不大,本文重点关注其CRUD能力以及自定义查询的实现方案。

August 14, 2024

pREST功能简介

pREST功能简介

pREST是一个使用go开发的开源项目,用于为 PostgreSQL 数据库创建实时高性能的 REST 接口,旨在简化和加速基于 PostgreSQL 的应用开发。它允许开发者通过简单的配置将现有的 PostgreSQL 数据库转化为一套完整的 REST 服务,无需自己去实现复杂的后端服务。本文重点介绍pREST的能力和使用方法。

July 5, 2024

golang BigCache源码解析

golang BigCache源码解析

golang的本地缓存方案有不少,如freecache、bigcache、groupcache等。很久前看过groupcache的源码,对其singleflight的机制印象挺深的,但是印象中没有对gc做特殊的优化。最近刚好看到了了bigcache的介绍,其内部实现重点考虑了gc对于性能的影响。所以翻出其代码快速阅读了一遍其核心思路,特此记录。

July 3, 2024

Netflix按优先级减载保障可用性(二)

Netflix按优先级减载保障可用性(二)

已经在之前的文章中介绍了Netflix在API网关Zuul中实施的按优先级减载策略来保障服务的可用性。当前这一策略已经扩展到了单个服务级别。重点关注在视频控制层面(即AWS中的后台服务)和数据平面。

July 2, 2024

Netflix按优先级减载保障可用性(一)

Netflix按优先级减载保障可用性(一)

Netflix的文章《Keeping Netflix Reliable Using Prioritized Load Shedding》探讨了Netflix如何通过引入基于优先级的减载法(Prioritized Load Shedding)来改进系统可用性,确保在系统高负载或故障时仍能保障基础功能可用。

June 24, 2024

使用supabase/auth实现OAuth登录

使用supabase/auth实现OAuth登录

前面已经介绍过了如何使用supabase/auth来实现邮箱用户的认证以及supabase的源码分析,本次重点介绍如何使用supabase/auth来实现OAuth2.0的认证,从应用的web/backend端、supabse以及provider的角度来分析其流程及原理。

Explore articles by category

gorm (2)
BaaS (8)
Golang (14)
OAuth (4)
Next.js (8)
Notion (2)
CMS (2)
 (2)
随笔 (1)
Docker (2)
Nginx (4)
HTTPS (2)
;