Blogs

Expore the latest articles from Next Notion Blogger

January 3, 2025

supabase私有化部署

supabase私有化部署

之前在项目中有使用官方提供的supbase托管,但是外网等原因使用起来不太方便,于是决定自己部署。自部署的版本在多租户、容灾能力上等与官方版本有所差异,但是Auth、Rest等基础能力基本上并没有差异,对于小型项目来说足够使用了。

November 13, 2024

go-gorm源码分析(三)

go-gorm源码分析(三)

GORM支持的关系类型主要包括一对一、一对多、多对多等关联关系的定义和查询。在GORM中,开发者可以在模型中定义这些关联关系,并使用GORM提供的方法进行关联查询和操作。本文重点介绍其关系的实现原理。

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中的后台服务)和数据平面。

Explore articles by category

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