Kori's blog

正しさなんてもの、人のモノサシによって変わる

Kori's blog

数据表SQL笔记

数据完整性

数据完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。
SQL Server 提供的数据完整性机制包括:约束(Constraint)、默认(Default)、规则(Rule)、触发器(Trigger)、存储过程(Stored Procedure)等

阅读全文

关系数据库笔记

关系模型中的概念

1、关系 (Relation) 与关系实例:一个关系实例对应一张表,关系实例的名称,称为关系名,通常仅用关系来代表关系实例。
2、元组 (Tuple): 二维表中的一行,代表一条记录。
3、属性 (Attribute): 二维表的一列,代表一个属性,属性的名称即属性名。
4、域 (Domain): 属性的取值范围。
5、分量:元组对应列的属性值。
6、候选码:可唯一标识一个关系中每行元组的属性或不包含多余属性的属性组合。
7、主码:在多个候选码中挑选的唯一标识。
8、关系模式:对关系的描述,是关系模型中的”型”。
9: 关系实例:关系模式的值,是关系的数据。

阅读全文

LeetCode第8题:字符串转换整数 (atoi)

题目地址

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/string-to-integer-atoi

题目描述

请你来实现一个 atoi 函数,使其能将字符串转换成整数。

首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:

如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。
假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。
该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。
注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换,即无法进行有效转换。

在任何情况下,若函数不能进行有效的转换时,请返回 0 。

提示:

  • 本题中的空白字符只包括空格字符 ‘ ‘ 。
  • 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−231,  231 − 1]。如果数值超过这个范围,请返回  INT_MAX (231 − 1) 或 INT_MIN (−231) 。
阅读全文

LeetCode 第五题:最长回文子串

题目地址

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-substring/

题目描述

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。

个人解题思路

暴力解法比较简单,直接两层循环遍历所有可能,判断是否为回文,取最大那一个就好了。

个人在此基础上的优化:每个回文都有一个中心,这个中心可能是一个字符,也可能是两个字符,只要求各个中心的最长回文就可以了。由于回文串中间的子串也是回文子串,一旦子串不是回文,那么该中心更长的子串也不是回文。

阅读全文

OAuth 2.0 认证授权

OAuth 是用于授权的行业开放标准协议,在这个标准中,用户可以在第三方应用访问该用户在某一平台上存储的资源,也就是我们经常看到的某些平台可以使用第三方账号登陆。
例如我们在学校中的一些平台可以使用易班账号进行登陆,登陆之后该平台能拿到我们存储在易班上的学生信息或对账号在易班平台上的资源进行其它操作。

该标准目前使用的版本是 2.0,目前网上关于该标准的介绍有很多,尤其是 okta 平台上的文章,对于 OAuth 2.0 的每个知识点几乎都有一篇文章来介绍,当然也因为 okta 本身就是一个面向开发者的授权认证平台。

阅读全文

城院易班技术部规范

想了这么久,总觉得还是得制定一个部门的规范,每个人有每个人的开发习惯,有时候代码难免会有一些比较难阅读的情况,像学校这种学生的开发部门,人员更替快,一般大一进部门,学了一年到了大二差不多有自主开发的能力了,在经验不足和技术能力不成熟的情况下,做出来的应用往往难以被认可,大三留部的话,即便可以开发出东西,将来由谁进行维护也是一个问题。

阅读全文

视图与索引笔记

视图是一个由查询定义内容的虚拟表,和基本表差不多,不过在数据库中并不上以数据值存储集形式存在的,除非是索引视图。
作用可以用来做筛选,而且定义视图可以来自多个表或者其它视图。

索引是一种加快检索的数据库结构,包含从表或视图的列生成的键和映射到指定数据存储位置的指针。
索引由 DBMS 自动管理和维护。

阅读全文

数据库关系代数笔记

数据库中的关系代数是一种抽象的查询语言,是关系数据操作语言的一种传统表达方式,由关系的运算来表达查询。

关系代数的运算对象是关系,运算结果也是关系。

运算符:集合运算符、专门的关系运算符、算术比较运算符、逻辑运算符

虽然我觉得概念可能也会考,但是来一张例图感觉更容易理解。

阅读全文

Nginx请求处理配置

Nginx可以用来做Web服务器或者反向代理,当Nginx作为反向代理软件时,每个网络请求都会先由Nginx接收,Nginx会根据配置文件里的配置对请求进行过滤处理,等请求完全接收完再发送给上游服务器一次性处理,从而可以提高上游服务器的工作性能。

阅读全文

蓝桥杯基础练习试题:十六进制转八进制 (Java 实现)

试题 基础练习 十六进制转八进制

问题描述
  给定 n 个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数 n (1<=n<=10)。
  接下来 n 行,每行一个由 0~9、大写字母 A~F 组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过 100000。

输出格式
  输出 n 行,每行为输入对应的八进制正整数。

  【注意】
  输入的十六进制数不会有前导 0,比如 012A。
  输出的八进制数也不能有前导 0。

这道题目的第一个注意点是,蓝桥杯是一次性输入数据,所以用一个 Scanner 获取一次数据就够了,用多个会出现运行错误;
第二个注意点是,结果不能有前导 0

解题思路,根据提示【先将十六进制数转换成某进制数,再由某进制数转换成八进制】,我们可以使用平时进制转换的做法,先把十六进制转换为二进制,然后再从二进制转换为八进制。

阅读全文

Vue和Axios上传文件

在前端和后端分离的情况下, 我们可以使用 Axios 的方式来发送请求获取数据, 通过 Vue 来修改页面的内容

同时我们也可以提交表单上传文件到服务器进行存储

开始前要先引入Vue.js和Axios, 这里使用CDN引入

<body>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</body>
阅读全文

数据库系统概念笔记

学校数据库课程是《数据库原理及应用教程》, 用的数据库是 SQL Server, 和我之前学的 MySQL 在命令行操作不太一样,但是用的 SQL 好像差不多,不过老师教的时候好像一开始是用 SQL Server Management Studio 操作,而且看了一下老师发的 PPT, 感觉和以前学的比较起来更多的是理论。

那么以往学习惯例,这种理论基础学完,就应该来篇笔记记录一下,忘了可以回来看。

阅读全文

SpringBoot 返回文件

项目开发需求,要在用户发送请求后把对应的数据打包成压缩包,再放回给浏览器,这种情况下无法使用<a>标签来进行跳转下载,所以我们可以通过返回文件的方式来,在压缩包打包后让浏览器下载

使用 ResponseEntity 配置 Http 的响应,在使用文件系统资源类 FileSystemResource 来把文件放入响应的数据中

阅读全文