置顶「网络编程」Json Web Token(JWT)

### 一、身份认证 &emsp;常见的服务器端身份认证机制有两种,分别为:<br><p></p> #### 1.基于 session 的认证机制 &emsp;HTTP 是一种无状态的协议,这意味着若无登录态维持机制,则每次请求时都需要提交用户名与密码进行身份验证,而 session 机制就是用于在服务器端记录用户的登录状态。<br><p></p> &emsp;session 是一串在服务器生成………


置顶「Python」函数装饰器与闭包

&emsp; ### 一、函数装饰器 &emsp;装饰器是一个*可调用的对象*,其参数是被装饰的函数。装饰可能会处理被装饰的函数,或将其替换成另一个可调用对象,然后将其返回。 &emsp;*示例:* ```python @decorate def target(): print('running target()') # 相当于 def target(): print('running………


置顶「Django」基于类的视图

&emsp;对于视图层,除了可以用函数作为视图(`FBV`),还可以用类作为视图(`CBV`),即在类中定义方法对应http的各种请求方法。使用CBV可以使用类具有的一些特性,如继承、多态等。 - 所有类视图在映射到url时,都需调用视图的`as_view()`类方法。 ```python path("/index",views.MyView.as_view(),name="MyView") `………


「计算机网络」常见 HTTP 状态码

### 状态码分类 |状态码|类别|原因短语| |---|---|---| |1xx|信息型状态码|接受的请求正在处理| |2xx|成功状态码|请求正常处理完毕| |3xx|重定向|需要附加操作以完成请求| |4xx|客户端错误|客户端发送的请求出错,服务器无法处理| |5xx|服务器错误|服务器处理请求出错| <br><br> ### 常见状态码 #### 1. 2………


「算法笔记」0-1 背包问题

&emsp;经典的 0-1 背包问题描述如下: ``` 给你一个可装载重量为 W 的背包和 N 个物品,其中第 i 个物品的重量为 wt[i],价值为 val[i],现在让你用这个背包装物品,最多能装的价值是多少。 ``` &emsp;题目中的物品不可以分割,要么装进包里,要么不装。<br><p></p> &emsp;0-1 背包问题的状态有二:当前可选的物品`n`与当前的背包容量 `w`。(将………


「算法笔记」动态规划解题模板

#### 解题思路 &emsp;动态规划的一般形式是求最优解,其本质其实就是穷举法。但其目的在于缓存重叠子问题的解,用子问题的解来解决全局问题。<br><p></p> &emsp;动态规划的解题思路一般如下: - 找出问题的子结构 - 列出正确的状态转移方程,而写出正确的状态转移方程一般需要明确以下几点: 1. base case 2. 子问题的状态 3………


「数据库」组合索引

&emsp;当`WHERE`子句存在多个条件查询的时,若只对各条件字段使用单列索引,则检索时只会走某个字段上的索引(若有),因为 MySQL 只会选择它认为最有效率的单列索引,并建立中间结果集,再在中间结果集上进行后续字段的筛选,即做一个全表扫描。而在中间结果集上是无法利用索引进行检索的。<br><p></p> &emsp;因此,为了提高条件组合时的检索,可以使用组合索引。 <br> ………


「数据库」MySQL 索引与索引优化

&emsp;索引可以提高数据库的检索速度,分为 **单列索引** 与 **组合索引**。<br><p></p> &emsp;在创建索引时,需要确保该索引会频繁应用在 SQL 查询语句的条件中(一般用在`WHERE`子句中)。<br><p></p> &emsp;由于索引是以索引文件的形式保存的,故建立索引会占用磁盘空间;此外,当对表进行更新操作时(`INSERT`、`UPDATE`、`DELE………


「计算机网络」网络层与 IP 协议

&emsp;网络层位于传输层与链路层之间,网络层主要的协议有: - 网际协议 IP - 地址解析协议 ARP:解决物理地址跟网络 IP 地址转换问题 - 网际控制报文协议 ICMP:错误消息通知 - 网际组管理协议 IGMP:Internet 组管理 <br> ### 一、IPv4 协议主要特点 &emsp; IP 是 TCP/IP 协议体系中网络层的协议。其主要特点如下: 1. **………


「读书笔记」《程序员的自我修养:链接、装载与库》

## [第一部分] 简介 ### 1. 简介 #### 北桥南桥 &emsp;计算机中,三个最重要的部件为:中央处理器 CPU、内存、I/O 控制芯片。<br><p></p> &emsp;**北桥芯片**是为了协调 CPU、内存和高速图形设备间的频率,以便它们之间可以高速地交换数据。<br><p></p> &emsp;于此同时,由于北桥芯片的速度非常高,所有相对低速的设备若直接连接到北桥,北桥同………


「数据库」SQL 集合运算

### 一、表的加减法 &emsp;具体而言,表、视图和查询的执行结果都是记录的集合。通过集合运算,可以得到两张表中记录的并集或公共记录的集合。且通过集合运算,能够使得结果具有集合的一些特点(唯一性)。 #### 集合运算的注意事项 1. **作为运算对象的列数必须相同** 2. **作为运算对象的记录中列的类型必须一致**(若必须使用不同数据类型的列时,可以使用`CAST`函数) 3. *………


「数据库」SQL 函数、谓词、CASE 表达式

### 一、函数 &emsp;SQL 中的函数可以分为以下几类: - 算数函数 - 字符串函数 - 日期函数 - 转换函数(用来转换数据类型与值) - 聚合函数(用来进行数据聚合) <br> #### 1. 算数函数 1. `ABS`:绝对值函数 ```java ABS(数值) ``` <br> 2. `MOD`:求余函数 ```java MOD(被除数,除数) ``` <br> 3.………


「数据库」SQL 复杂查询

### 一、视图 &emsp;视图是数据的映射。视图与表的区别在于,**视图保存的是`SELECT`语句,而没有保存实际的数据**,可以将视图看作原表的一张子表。我们从视图中读取数据时,视图会在内部执行该`SELECT`语句并创建出一张临时表。<br><p></p> &emsp;视图的优点有以下两点: - 视图无需保存数据,因此可以节省存储设备的容量; - 可以将频繁使用的`SELECT`语句………


「数据库」SQL 数据更新

### 一、INSERT 数据插入 &emsp;`INSERT`语句用于向数据库中插入记录。基本语法为: ```sql INSERT INTO <表名> (列1,列2,列3,...) VALUES (值1,值2,值3,...); ``` &emsp;其中将列名与值用逗号隔开,分别写在`()`内,这种形式称为**清单**。其中表名后面的清单称为列清单,`VALUES`关键字后面的清单称为值清单。<………


「数据库」SQL 基础查询

### 一、基本查询 &emsp;`SELECT`是所有 SQL 查询的基础。 #### 1. 基本的 SELECT 查询 ```sql SELECT <字段1>,<字段2>, ... FROM <表名>; ``` > 查询结果中列的顺序与`SELECT`子句中顺序相同 <p></p> &emsp;也可以使用通配符`*`输出所有的列信息: ```sql SELECT * FROM <表名>; ………


「数据库」SQL 运算符与计算表达式

#### 一、算术运算符 加减乘除四则运算符 |运算符|含义| |--|--| |+|加法运算| |-|减法运算| |/|除法运算| <p></p> > `FROM`子句在`SELECT`语句中并不是必不可少的,只使用`SELECT`进行计算也是可以的: >```sql > select (100+200)*3 as calculation; >``` <br><br> #### 二、比………


「数据库」SQL 基础

### 基础知识 > **SQL语句种类**: 1. **DDL**(*Data Definition Language*):数据定义语言,用来创建或删除表或数据库。(`CREATE`、`DROP`、`ALTER`) > 2. **DML**(*Data Manipulation Language*):数据操纵语言,用来查询或变更表中的记录。(`SELECT`、`INSERT`、`UPDATE`………


「网络编程」跨域资源共享

### 跨域资源共享 CORS &emsp;全称跨域资源共享(Cross Origin Resource Sharing),是一个 W3C 的工作草案,定义了访问跨域资源时,浏览器与服务器的沟通方式。`CORS`同时需要浏览器与服务器的支持。<br><p></p> &emsp;整个跨域通信控制过程,都是由浏览器自动完成,无需用户参与。浏览器一旦发现请求跨域,在发送请求时会自动添加一些附加字段。因………


「算法设计与分析」最大流问题

### 一、定义 #### 1. 流网络 &emsp;**流网络** $$G=(V,E)$$ 是一个有向图,图中每边都有一个非负的 **容量值** $$c(u,v)\geq0$$,且图中不存在反向边。在网络的结点中有两个特殊的结点:**源点** $$s$$ 与**汇点** $$t$$。<br> <p></p> &emsp;而流的形式化定义如下:设 $$G=(V,E)$$ 为流网络,其 **容量函………


「算法设计与分析」并查集求无向图的桥

### 一、问题描述 #### 1. 桥的定义 &emsp;在图论中,一条边被称为“桥”代表这条边一旦被删除,这张图的连通分量数量会增加。等价地说,一条边是一座桥当且仅当这条边不在任何环上。一张图可以有零或多座桥。<br> <center><img src="/media/blog_image/file_1592070233000.png" width="620px" style="margin………