文章
- PostgreSQL快速入门
连接
本章将讨论 PostgreSQL 的各种连接:内连接、左外连接、右外连接、交叉连接、自然连接、自连接和完全外连接。值得一提的是,哪怕到了 MySQL 8,MySQL 依然不支持完全外连接。 - PostgreSQL快速入门
LIKE 和 ILIKE
前面章节提过,在 PostgreSQL 中,`LIKE` 是区分大小写的。如果要像其它数据库那样不区分大小写,需要使用 `ILIKE`。PostgreSQL 还为它们提供了等价的运算符。 - PostgreSQL快速入门
LIMIT、OFFSET 和 FETCH 子句
本章我们学习 `LIMIT` 、`OFFSET` 和 `FETCH` 子句。和 `LIMIT` 一样,`FETCH` 也是为了限定返回的行数,但你不知道的是,`FETCH` 才是 SQL 标准,而 `LIMIT` 不是。 - PostgreSQL快速入门
WHERE 子句
本章我们将学习 `WHERE` 子句,它不但能用于 `SELECT` 过滤查询结果,还能用于其它语句。 - PostgreSQL快速入门
基础 SELECT
本章将讨论如何使用简单的 `SELECT` 语句从 PostgreSQL 查询数据。PostgreSQL 的 `SELECT` 语句有诸多独特的特性,让我们一起感受一下。 - PostgreSQL快速入门
示例数据库
本章将介绍示例数据库,以便后续的演示。同时,你将学习到如何将已存在的数据导入到 PostgreSQL 中。 - PostgreSQL快速入门
PostgreSQL 对象
本章将介绍 PostgreSQL 常见的服务器和数据库对象。 - PostgreSQL快速入门
安装 PostgreSQL
PostgreSQL 是一个功能强大的开源对象关系数据库系统。它经过数十年的积极开发和经过验证的架构,使其在可靠性、数据完整性和正确性方面赢得了良好的声誉。而其天生支持异步操作的特性,在高并发场景中倍受欢迎。同时,它的扩展性极强,只要你有能力,你可以使用任何你熟悉的其它开发语言来编写 PostgreSQL 脚本,比如:Rust、Python 等。 - 【请勿购买】使用axum打造你的分布式商城
前置知识:MySQL树
继续学习之前,我们来讨论一个话题:MySQL 维护树状态结构。这是一个很常见的需求,最典型的就是分类、评论等等。 - 【请勿购买】使用axum打造你的分布式商城
品牌服务
本章我们将编写品牌微服务。 - 【请勿购买】使用axum打造你的分布式商城
用户服务
本章我们将开始编写第一个微服务:用户服务 `user-srv`。 - 【请勿购买】使用axum打造你的分布式商城
前置知识:etcd鉴权
本章将讨论 etcd 的鉴权:如果没有鉴权,你的 etcd 服务(集群)相当于公共服务器,任何人都可以对数据进行操作。在之前章节中,我们分别用不同方式部署了 etcd。本文针对这些不同的部署方法,来讨论如何开启鉴权。以及如何在 Rust 中访问开启鉴权的 etcd。 - 【请勿购买】使用axum打造你的分布式商城支持试读
前置知识:分布式ID
本章将以雪花算法(snowflake)为例,讨论分布式ID的生成。 - 【请勿购买】使用axum打造你的分布式商城支持试读
前置知识:etcd及配置中心
本章我们将学习分布式KV存储:etcd的基础知识、单节点部署、集群部署、rust集成以及基于etcd实现的配置中心:写入配置、读取配置、配置的热加载。 - Next.js的App路由
错误处理
本章将讨论 Next.js 的错误处理。 - Next.js的App路由
“正在载入”的实现
Next.js 的 App 路由有一个约定:定义 `loading.js`,那么 Next.js 会自动在页面加载中显示这个组件,加载完成之后,自动隐藏该组件。 - Next.js的App路由
组件与渲染
本章讨论新版 Next.js 中变化最大的部分:组件和渲染。 - Next.js的App路由
布局
本章讨论 Next.js App 路由的布局。相比之前的 Pages 路由,App 路由的布局简单多了:Next.js 会自动调用布局文件。 - Next.js的App路由
定义路由
本章将讨论 Next.js 定义路由的方式,包括:普通路由、动态路由、嵌套路由及嵌套动态路由。 - Next.js的App路由
约定即配置
本章我们来看一下 `create-next-app` 的选项、目录结构以及 Next.js 的「约定即配置」。 - AXUM和消息队列实现邮件激活
实现用户注册与激活
本章将实现最终的功能:用户注册,并发送激活邮件。 - AXUM和消息队列实现邮件激活
通过 lettre 发送邮件
本章将讨论使用 `lettre` 在 rust 中实现发送邮件。我们将分别使用 Gmail 和 Mail.ee 来作测试。 - AXUM和消息队列实现邮件激活
通过 lapin 集成 RabbitMQ
`lapin` 是一个用 rust 实现的 AMQP 客户端,它可以实现与 RabbitMQ 的交互。 - AXUM和消息队列实现邮件激活
RabbitMQ 消息队列
RabbitMQ 是目前市场上最流行的消息队列之一,本章将讨论如何安装部署 RabbitMQ。 - AXUM和消息队列实现邮件激活
内容介绍
本专题将带你使用逐步实现一个非常常见的功能:在用户注册时,通过发送验证码。 - AXUM和sqlx
sqlx优雅地实现IN查询
在日常开发中,`IN` 查询是非常常见的需求,你会怎么来处理呢?借助 sqlx 的`QueryBuilder` 可以方便地实现。 - AXUM和sqlx
使用sqlx的QueryBuilder构建复杂、动态的查询
本章我们讨论如何优雅方便地使用 sqlx 构建复杂的、动态的 SQL。sqlx 提供了 [`QueryBuilder`](https://docs.rs/sqlx/latest/sqlx/struct.QueryBuilder.html) 结构体,它可以方便地实现 SQL 的构建。 - AXUM和sqlx
使用sqlx的事务实现转账
本章我们将通过用户之间转账来讨论 sqlx 的事务。为了保证转账的完整性、正确性,我们必须使用事务来处理。 - AXUM和sqlx
sqlx实现增删改
本章将讨论使用 sqlx 进行增删改(`INSERT/DELETE/UPDATE`)操作。 - AXUM和sqlx
sqlx查询数据
本章将讨论使用 sqlx 执行 `SELECT` 语句,对数据进行查询。