HTTP与HTTPS协议
HTTPS 与 HTTP 相比, 主打的就是安全概念,相关的知识如 SSL 、非对称加密、 CA证书、数据完整性保护 等。 HTTP(全HyperText Transfer Protocol,超文本传输协议)和HTTPS( Hypertext Transfer Protocol Secure,超文本传输安全协议)都是互联网中用于数据传输的协议 HTTP HTTP,是一种发送和接收HTML页面的方法,主要用于Web浏览器和网站服务器之间传递信息。它的主要特点如下: 基于请求响应模式: HTTP协议采用客户端-服务器架构模式,客户端向服务器发送请求,服务器返回相应的响应。这种模式能有效分离应用逻辑,提高系统的可维护性和扩展性。 基于文本传输: HTTP协议使用ASCII码作为通信协议,每个请求和响应都是一条文本消息,这使得通信协议更加简单、直观、易于处理。 支持多媒体传输: HTTP协议可以传输多种类型的数据,如HTML、XML、JSON、图片、音频、视频等,这使得HTTP协议成为一种通用的网络传输协议,适用于各种不同类型的应用场景。 无连接:...
并发控制
并发控制的核心目标 在多个事务同时访问数据库时,确保数据的一致性(Consistency)和事务的隔离性(Isolation) 丢失更新(Lost Update):两个事务同时修改同一数据,后提交的覆盖了先提交的结果。 脏读(Dirty Read):事务读取到其他未提交事务的中间数据。 不可重复读(Non-repeatable Read):同一事务内多次读取同一数据结果不同。 幻读(Phantom Read):同一事务内多次查询返回的行数不同(因其他事务插入/删除了数据)。 并发控制 通过锁协调事务对数据的访问,分为两类: 共享锁(Shared Lock, S-Lock) 事务读取数据时加锁,允许其他事务加共享锁,但禁止加排他锁。 示例:SELECT * FROM table WHERE ... LOCK IN SHARE MODE; 排他锁(Exclusive Lock, X-Lock) 事务修改数据时加锁,禁止其他事务加任何锁。 示例:SELECT * FROM table WHERE ... FOR...
信道与人生
j今天上计网课的时候讲到了第二香农定理,也就是有噪编码定理,它讲的是这样一件事:在任何有噪音的信道中,比如手机信号传输的电波,以及我们平时说话、写邮件,都有噪音的信道。当信息传输速率小于信道容量时,我们就可以找到一种信息传输方式,也叫编码方式,使信息传输的错误概率等于零。反之,只要信息传输速率稍微大于信道容量,哪怕只是大一丁点,信息传输出错的概率也是100%。 香农第二定律告诉我的是任何信道,容量都是事先限定的,要想不出错地传递信息,就要让信息的传输率比信道的容量略低一点。 即使是在高斯白噪音干扰的信道中也是有上限的。 C = B*log2(1+S/N) 我不认为自己在很多方面具有着天赋,但我也往往会迫于压力强迫自己和其他人一样,我会抓紧时间去学习,希望能超过其他人,但我总是会在这个过程中认识到自己的平凡 , 我会问自己我的**“带宽”** 是否有着上限...
debug思路
我走过的坑 不要直接上手就去修, 越修越错。 这是一般的思路 明确问题所在,先去翻阅错误日志去锁定问题,关注程序报出的错误信息,包括错误类型、位置和描述。 检查相关错误,其实70%错误都是小错误,主要是语法错误,比如拼写错误、缩进问题、括号不匹配。 库库库,尤其我要点名一下python,版本控制混乱,不同版本兼容不同的库,安装的时候非常麻烦,导致你运行时候出错。 定位问题代码,很重要的一步,这里有三种我总结的方法,一会再说 观察程序状态,其实就上让他输出关键值,看是否正常 检查代码逻辑,这步放到后面,因为我认为在我编程的时候这种现象发生的其实是最少的 针对性修改并进行回归测试,确定没有引入新的问题 定位方法 先注释:把你怀疑有问题的代码注释掉,添加固定信息,看看是否正常输出 模块拆除测试:...
数据库-知识点
数据库基本概念 1、数据库系统相关概念 1、数据:描述事物的符号记录,包括数据的表现形式和数据解释两个部分。如数字、音频、图形、文本、图像、语言、视频等多种表现形式。经过数字化处理后存入计算机。数据是信息的符号表示或载体。信息是数据的内涵是对数据的语义解释。 2、数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。 3、数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。用途:科学地组织和存储数据,高效地获取和维护数据。包括数据定义功能,数据组织、存储和管理,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。 4、数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。目的:存储信息并支持用户检索和更新所需的信息。 2、数据模型概念,作用及其 3...
c程序设计-知识点
1、关键字 static 的作用是什么? 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用. 2.“引用”与指针的区别是什么? 引用必须被初始化,指针不必。 引用初始化以后不能被改变,指针可以改变所指的对象。 不存在指向空值的引用,但是存在指向空值的指针。 指针指向的是地址 , 但与地址不绑定 ; 引用绑定固定的地址,不可对地址空间进行更替 1234int a = 10;int& ref = a; // 引用必须初始化,且不可更改绑定int* ptr = &a; // 指针可以初始化,也可后续修改ptr = nullptr; //...
基础算法
枚举 本质上就是遍历所有可能 根据实际条件确定条件和范围,在范围里面通过特定方法(二分,顺序,树等)搜索 在局部有界范围内用最好 规模越大,计算效率越低 例题(洛谷p1151)子树整数 对于一个五位数 abcdef, 可将其拆分为三个子数: sub1 = abc ,sub2 = bcd ,sub3 = def 现在给定一个正整数 K,要求你编程求出 10000 到 30000 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 sub1,sub2,sub3 都可被 K 整除。 最终输出应该为正整数 每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 No。 1234567891011121314151617181920212223242526272829#include <stdio.h>void sub(int k) { int p = 0; int a, b, c; for (int i = 10000; i <= 30000; i++)//注意范围 { ...
虚函数
函数(Virtual Function) 是实现面向对象编程中**多态(Polymorphism)**的核心机制 虚函数是在基类中通过virtual关键字声明的成员函数,允许在派生类中重写(Override)该函数。 目的:通过基类指针或引用调用实际派生类对象的方法,实现运行时多态 12345678910111213141516class Animal {public: virtual void speak() { cout << "Animal sound" << endl; } // 虚函数};class Dog : public Animal {public: void speak() override { cout << "Woof!" << endl; } // 重写基类虚函数};int main() { Animal* animal = new Dog(); ...
数据库恢复
事务 事务:用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位**(恢复和并发控制的基本单位)** 事务与程序:在关系数据库中,一个事务可以是一条或多条sql语句,也可以包含一个或多个程序;一个程序通常包含多个事务 事务定义 显式定义(start transaction...