| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【计算机基础】-2万字总结《计算机速成课》全集笔记 -> 正文阅读 |
|
[人工智能]【计算机基础】-2万字总结《计算机速成课》全集笔记 |
前言视频链接地址:【【计算机科学速成课】[40集全/精校] - Crash Course Computer Science-哔哩哔哩】https://b23.tv/a33Kwq 视频的意义
1.计算机早期历史
2.电子计算机继电器控制线路是一套线圈,线圈通电就会产生磁性,磁性会将电路一端吸过来,这时候电路就通了。然后控制线圈断电,失去磁性,电路一端会自动断开,为啥会断开?因为有弹簧, 控制线圈通电时的磁力大于弹簧阻力就吸过来了,失去磁力,弹簧就会发挥作用弹开。 真空管正常状态下,灯泡中真空,灯泡正负极断开,是无法通电的, 但给控制线圈通电,线圈发热就会让负极电子处于激发态,从而击穿真空,形成回路。 电子式计算机ENIAC 电子数值积分计算机 晶体管
3.布尔逻辑和逻辑门逻辑门
非门取反操作。正常状态 输出是通的, 当输入侧通电true,将结点联通,电流就接地了。输出就为 false。 与门如图 条件A和条件B都要为true,输出才为true 或门A或者B,有一个条件通了, 输出就为 true 异或门
4.二进制
5.算法逻辑单元半加器用于计算两个一位二进制相加,不考虑低位进位。 半加器用于计算2个单比特二进制数a与b的和,输出结果sum(s)和进位carry(c)。在多比特数的计算中,进位c将作为下一相邻比特的加法运算中。单个半加器的计算结果是2c+s。其真值表、逻辑表达式、verilog描述和电路图分别如下所示。 真值表 全加器模拟下 1101+1001的情况, 可以看出会有进位的产生, 进位和选原先的两个数一起相加计算, 这样最多会有三个数相加的情况, 而半加器只有两个数相加,所以我们需要一个能处理三个数相加的全加器。全加器什么特点呢?其实就是模拟上述算式的方式, 三个数ABC先计算两个数AB的结果, 然后把结果的sum位与C相加得到的sum位就是最终的sum位, 那 进位呢? AB相加的进位X , 然后 第一次结果与C相加的进位Y, 这两个进位相或就是最终的进位。为啥?其实 两个进位XY分别是0+0,1+0,0+1的情况都好理解,XY相或的结果就是0,1,1这个是完全符合的,但是1+1的结果不应该是10吗?这样会溢出,不会的,因为进位上不会有1+1的情况,你可以反推,如果A+B的进位X是1,说明A B都要为1, A+B的sum位就为0,0+C,无论C是0还是1都不会出现进位Y为1的情况。其实你也可以列一张表,就是ABC分别为0和1的情况下的sum位和进位的表,只有222=8种情况,你会发现,全加器的结果就是完全符合的。 真值表 浮点数行波进位加法器构成了一个8bit数相加的加法器,输入 A和B (为8bit位宽),可计算出结果,C0 位相加有进位, 进位和 C1位的两个数A1 和B1相加 就是三个数相加使用全加器,依次排布,构成了一个8bit位宽的加法器,最终结果 可以看到,会有一个最终进位carry, 这个会反应溢出的情况。前面的sum0-7 已经有8bit了。 ALU逻辑计算单元
6.寄存器 & 内存
锁存器我们如何维持一个bit的信息保持不变, 这幅图的构建就是能保持1即true的信息不变,当起初AB都为0,A输入1,则OUTPUT也为1,立马会回到B,同置为1,再经过OR门,OUTPUT还是为1,这样1就被保存了起来, 这时候无论A输入0还是1,OUTPUT都不会改变了。 我们如何维持一个bit的信息保持不变, 这幅图的构建就是能保持0即tfalse的信息不变,无论A输入0还是1,OUTPUT都不会改变了。 将上面的结构组合一下,设置和复位都为0时,电路最后输入的是啥就为锁住啥,当复位打开为1,设置什么0还是1都不管用,OUTPUT都是0。复位为0时,会锁住1,但是如果为0,SET给1的话,就会OUTPUT为1,这个时候SET就不管用了。要想管用得把复位调到1。 门锁这个电路你试试就知道,允许写入线的开关,决定数据输入是否有效。只是这个电路是怎么想出来的?咋们的目的事要做一个可以存储数据的电路,输入一个值,能保存下来,先从简单的1bit开始。输入了一个数值,电路能保存这个数值。由上面自连接的或门和与门,可以看出,想要锁定一个值,还是容易的,但是锁住之后就不能修改了,然后你就会想到扩充,输入一根控制先,让它受控制。锁存器就出来了。锁存器的操作不是我们常规容易理解的。然后门锁就出来了。这样一步一步的制造出来的一个电路,当然这里面一定是包含了大量的非常熟悉的对逻辑门的理解,这种电路的设计就是经验和创造力了的体现。 理解了上面的电路的逻辑原理,就能实现,我们想要的结果,不用在关心里面的逻辑。我们把它抽象,一根数据输入线,一根允许写入线,一根数据输出线。只有当允许数据写入线打开时,门锁才受数据输入的影响,否则门锁会保持原先锁住的内容。 寄存器一个门锁做好了,很显然它的数据量太小了,只有1bit,将其扩充,并排摆放8个,用 1根线控制8个门锁的允许写入线,8根数据线发数据,8根数据线输出数据。当我们打开控制线时,输入可存放到这个寄存器当控制线关闭,输入就不能影响寄存器了,寄存器保留之前的数据。其实这里我们要理一下思绪,就是我们默认的经验是一个数据输入,然后统一存储,比如这个寄存器,不是有8bit的位置,那我输入一个数据10010011,不就能存下这个值吗,确实可以,但是它不方面,实际上,这一排的门锁都只会存一个数据的特定位置的1bit的信息,因为这一系列的内容的索引是不同地址。下面的门锁矩阵个就能比较直观的体现这一点。 多路复用器
在工业上为了节省成本,我们又要扩大内存,如果还按照上面的并排摆放门锁,那就会产生很多不必要的开销。比如做一个256bit的寄存器,那就要256+256+1=513根线。我们换一种思路,将他们排布成矩阵,16*16,每一个门锁都对应独一的位置,由行号和列号决定。 在工业上为了节省成本,我们又要扩大内存,如果还按照上面的并排摆放门锁,那就会产生很多不必要的开销。比如做一个256bit的寄存器,那就要256+256+1=513根线。我们换一种思路,将他们排布成矩阵,16*16,每一个门锁都对应独一的位置,由行号和列号决定。 将这个1616根线,分别接入多路复用器,一个4bit的位置信息就能确定走哪一根线,比如0010,那就是走2号线,行和列都一样的原理,那么一个8bit的行列信息就能控制1616矩阵的某一块门锁了。这个矩阵中的门锁其实对应的是地址。所以这个矩阵就只需要16+16+1+1=34,节省了不是一点点。 上述门锁放大,可以看出,只有当门锁的行和列都通的时候,这个门锁才可能会生效,比如这时候让可以读取,和行列得到与门再与,那个二极管才会通DATAOUT的线才会有门锁出来的结果,这样才能读取到数据。 RAM
256bit的内存,由一个8bit的地址线,其实地址线就看出内存的大小了,28=256,然后一根数据线,一根允许写入线,一根允许读取线。非常简单,不过一个这样的内存也没什么用,它只能在指定的位置存1bit信息。 我们再把内存并列8个,地址线统一管理,比如00100101的地址,8个内存都是去同一个地址门锁,都是第2行第5列的地址。然后我们对8个内存的数据线进行并列管理,确定了位阶,这时候再输入一个数,就能是8bit的数了,比如输入01010001,其实就是分别将0,1,0,1,0,0,0,1分别存入了同一地址下的第1,2,3,4,5,6,7,8块内存当中,当然这要允许写入线打开,然后读取的时候,只要地址是原先的地址,读取的就是原先的数值。 我们进一步将它抽象,这就是我们的RAM,随机存取存储器。由8bit的地址,可存取8bit宽(8位值)的数据,然后一根读取,一根写入线来控制。如果我们想扩大位宽,的话,增加的是并列的内存块。如果我们想增加地址量的话,增加的是门锁矩阵数量。 这是我们常见的内存条RAM,小小的空间能存800万位。 7.中央处理器CPU分析CPU如何操作指令如图所示: RAM中分为ADDRESS和DATA
CPU取码阶段CPU解码阶段现在我们开始模拟跑我们的CPU,准备一个RAM,还记得一个8位宽的RAM 起码会留出一组8根的数据线,一组地址线,然后写入线和读取线。再来ABCD四个寄存器,其实一个8bit的寄存器正好上面有介绍,由8个并排的门锁构成,8根输入线,8根输出线,1根允许写入线控制,当然我们这里的寄存器,还会多一根允许读取线,另外8根输入线也是抽象成1根,这些线怎么连的,我们现在不关心。好,我们现在开始运行,先从指令地址寄存器开始,我们从地址00000000开始,该地址会索引到RAM的Address0号位置(其实它有16*16=256个地址位),先获取到地址0地址的DATA为00101110,至于这一串是什么含义其实是设计CUP的时候规定好的,我们将指令4|4划分,前4位是操作指令,后四位是操作地址。获取到这一串的DATA再去到指令寄存器,再由指令寄存器去做指令判断。 这里我们之间单的列举了最基本的四中指令,0010 加载到A寄存器,0001加载到B寄存器,0100存储A寄存器的值,1000,将寄存器的值相加。 我们来看第一条指令。00101110,前四位0010,表示加载到A寄存器的指令,加载谁呢?加载地址为1110的数据,1110的部分就会与RAM的地址线联通,经过多路复用器打开指定地址的门锁,即14号地址。0010的部分,会经过指令检查逻辑来判断。 当指令是0010时,该逻辑门群才会输出1,当该逻辑们群路径通了的时候就说明指令是0010。 已经经过逻辑门群逻辑判断知道是0010,是 LAOD-A,所以这个逻辑门群的线或打开RAM的允许读取线,这个线是连读取线而不是写入线,是因为我们在设计CPU的时候已经规定了0010是加载,所以0010要连读取线,以及连接寄存器A的允许写入线。读取的是哪个地址的DATA是由后半部分的4位1110的地址来确定的,因为后半部分1110连接的是地址线,多用复路器会只打开RAM地址为14的门锁,然后RAM的数据OUTPUT就是该地址的数据,即RAM的DATA与ABCD的输入线相连,但是只有A的允许写入线是打开的,所以,RAM的14号地址的数据00000011被寄存到了寄存器A。如此,各个操作指令的执行逻辑流程就通顺了。其它的指令也是同样的逻辑,只不过经过的逻辑门群判断后的连线有所区别。 既然如此,我们知道了里面的控制原理,把控制单元包成一个整体好了,又进一步抽象了。 CPU执行阶段接下来,指令由控制单元进行解码,检查是否load A指令的电路可以打开RAM的允许读取线,把地址14传过去。
8.指令和程序
我们给RAM做好几条简单的指令,从addres0开始,LOADA-14,加载14号地址的数据到寄存器A,就是11;下一步LOADB-15加载15号地址数据到寄存器B;下一条SUDB A,寄存器A减去B值存入寄存器A;接下来做条件跳转,当ALU的FLAGS负号标记符为真,则跳转到5,否则不动,往下执行JUMP2,跳转到2,可以发现又继续相减,接着又判断是否为负,直到为负值,跳转到5,ADDBA,把B的值加到A,存入A,然后STROEA 13,存储A寄存器的值到地址13,最终结束HALT。这一系列指令其实是计算11/5的余数的程序。CPU就这样 运转起来了。 9.高级CPU设计缓存
流水线周期不采用流水线技术的时,指令的执行方式及其执行周期: 如果按照这种流程,则全部执行完毕了,才能执行下一条,这会产生大量的闲置时间。 使用流水线操作,可大大节省了闲置时间。
10.早期的编程方式
11.编程语言发展史伪代码指令演进指令由开始的00101000诸如此类的二进制原始表达方式,改进成了 用简单语言代替指令,要便于记忆和理解很多,在原二进制式的指令中,想要从一个地址跳转到另一个地址,检索地址编码很不方便,用标签的方式就很好地解决的了跳转位置的问题,而且即便是动态的添加了数据指令,原先的地址发生了变化,但我们要鉴别的位置是标签,就不会受到地址变化的影响。 编译器
编程语言
12.编程语言-语句和函数
13.算法入门
14.数据结构复杂度时间复杂度 空间复杂度 数组
链表
栈
堆
队列
哈希表
二叉树图
15.阿兰·图灵图灵机指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。 停机问题图灵机,一个计算是否会执行出结果停机,还无法确定,“给定图灵机描述和输入纸带,是否有算法可以确定,机器会永远算下去还是到某一点会停机?图灵机用巧妙的逻辑矛盾,证明了停机问题无法解决。 图灵身上的标签
科学巨星的陨落16.软件工程
17.集成电路&摩尔定律光刻计算机硬件的提升经历了几个阶段,从真空管到晶体管到集成电路,光刻机就是在此环境下诞生。 将层融掉后再重复上面的过程,用新的光掩模,这次图案不同在掺杂区域上方开一个缺口。然后用另一种气体掺杂 把一部分硅转成另一种形式。 将特定的区域溶解露出准备好的区域。 盖上一层金属层,一个晶体管的三个区域就成型,不导电,半导电,导电。每个区域的掺杂方式不同,这叫双极型晶体管。 我们可以把光掩膜聚焦到极小的区域,制作出非常精细的细节。 18.操作系统
19.内存&储存介质存储介质存储介质用于记录信息。以下内容包含拓展内容: 打孔卡和打孔纸带1725年法国人Basile Bouchon发明了打孔卡(穿孔卡),他用在纸上打孔的形式来存储图案,用于控制纺织机进行图案织造。 延迟线存储器 顺序存取拿一个管子装满液体,如水银,管子一端放扬声器,另一端放麦克风,扬声器发出脉冲时会产生压力波,压力波需要时间传播到另一端的麦克风,麦克风将压力波转换回电信号。 这个延迟线****存储器的原理,就是通过用压力波的传播延迟来存储数据。 有压力波代表 1,没有代表 0。通过内部电路连接麦克风和扬声器,再通过放大器来弥补信号衰弱,从而实现一个存储数据的循环。 有压力波代表 1,没有代表 0。通过内部电路连接麦克风和扬声器,再通过放大器来弥补信号衰弱,从而实现一个存储数据的循环。 磁芯存储器录音磁带,可以存储模拟信号。 原理就是:磁力线是随音频电流的变化而变化的,所以每段磁带在移动过程中被磁化的程度也随音频信号电流的强弱而变化,这样就能把声音记录的磁带上。磁带用于计算机中则是从1951年开始。 给磁芯绕上电线,并施加电流,可以将磁化在一个方向,如果关掉电流,磁芯保持磁化;如果沿相反方向施加电流,磁化的方向(极性)会翻转,这样就可以用来区别存储 1 和 0。 通过把磁芯排列成网格,由电线来负责遴选行和列,也由电线贯穿每个磁芯, 用于读写一位(bit)。 磁带磁带是纤薄柔软的一长条磁性带子卷在轴上,磁带可以在「磁带驱动器」内前后移动,里面有一个"写头"绕了电线,电流通过产生磁场,导致磁带的一小部分被磁化,电流方向决定了极性,代表 1 和 0。 由于磁带是循序存取的装置,尤为适合传统的存储和备份以及顺序读写大量资料的使用场景。但因为速度较慢,且体积较大等缺点,现在主要仅用作商业备份等用途。 比较便宜,但磁盘是连续的,必须倒带或者快进到达特定位置。 磁鼓内存(Drum memory),硬盘驱动器(HDD)的前身它包含一个大型金属圆柱体,外表面涂有铁磁记录材料。在磁芯存储器出现之前广泛用于计算机内存。同时也用于做二级存储,被认为是硬盘驱动器(HDD)的前身。与硬盘驱动器一样,磁鼓也有磁头,但不是寻找数据,磁鼓上有许多静态磁头,只需等待正确的磁扇旋转就位即可。Tauschek的原始磁鼓存储器的容量约为500,000比特(62.5千字节)。 磁盘工作时磁头悬浮在高速转动的盘片上方,而不与盘片直接接触,这便是现代硬盘的原型。 硬盘的好处是薄,可以叠在一起,提供更多表面积来存数据。 只读式光盘存储器(CD-ROM)(动态随机存取存储器)DRAM至今,DRAM仍是最常用的随机存取器(RAM),作为个人电脑和工作站中内存(即主存储器)。DRAM内存能够问世,主要是基于半导体晶体管和集成电路技术。 软盘(Floppy Disk)从 1971年直到 20世纪 90年代的近三十年内,软盘一直被用于存储和交换数据。 闪存(Flash)数字音频磁带 DAT(Digital Audio Tape)数字多用途光盘 DVD(Floppy Disk)USB闪存驱动器(俗称U盘)SD卡 (Secure Digital Memory Card)安全数码卡专业术语寻道时间平均寻道时间是指MO磁光盘机在接收到系统指令后,磁头从开始移动到移动到数据所在磁道所需要的平均时间,它是指计算机在发出一个寻址命令,到相应目标数据被找到所需时间,单位为毫秒(ms)。 20.文件与文件系统
21.压缩
22.命令行界面
23.屏幕&2D图形显示
24.冷战和消费主义
25.个人计算机革命
26.图形用户界面
27.3D图形28.计算机网络发展历史在公司内部方便信息交换,比起把纸卡或磁带送到另一栋里更快可靠,这是球鞋网络。能共享资源,他们这部分网络之间是内部链接,构成早期的局域网。 在局域网的计算机是怎么沟通的呢,他们通过光纤,传递2进制信号,头部信息会包含要去往的MAC地址,每一台计算机的MAC地址都是唯一的,所以在同一网络下的计算机接收到信号的时候,解析头部信息,看看这个接收方的MAC地址,是否是自己就能鉴别是否要接受该条信息。这很方便,但随着同一网络下的计算机越来越多,要发送信息的计算机和接受信息的计算机也越来越多,同一时间段很可能会有同时发送信号的情况,于是有了下面的网关。 将一片计算机之间交互频次多的划分到一个区域,每一片区域之间用交换器连接,当在自己区域的信息传播就不需要打开switch,这时即便是另一片区域的计算机也在发送同区域的信息,也不会受到影响,除非他们要跨区域沟通。 当然这不能解决所有问题,在网络通讯中还有非常重要的指数退避机制,就是说当几台计算机想要发送信号时,检查网路中是否已经有信号在占用,如果有的话,就等待一段时间再发送,比如等1秒,再发,这时候再次检测是否网络被占用,如果是那就再等一段时间,2秒钟,2秒之后再检测网络是否占用,如果占用就等4秒,如此指数级的等待时间发送,能极大程度避免网络冲突。这里面起始的1秒钟并不是固定的,它是随机数值,如如果大家的起始时间都是1秒,那依旧会冲突。 路由器现实中的网络连接不是点对点的,这样的连通成本会灰常高,而是采用节点连接的形式,从一个城市去往另一个城市,可能要经过好几段网络路径和节点。当然发送的时候信息里面是包含要去往的目标的信息的,然后到达一个节点(路由器)会根据目标分配路径较短,较不拥挤的路径到达。 一条信息的内容特别大的时候,不便于一次性发送数据,会把数据拆分成若干分包,这些分包打上标签,去往同一目的地,在目的地网络协议会把这些分包组装起来,再解析。 早期的网络系统,其实网络并不神秘,他们就是连接计算机的管道,这些管道可能会断掉,那和管道那一头的计算机就断联了,但是管道这头的计算机还是能相互沟通的。 29.互联网网络连接LAN:Local Area Network,局域网 计算机先连接到局域网。 WIFI路由器会连着所有的设备,组成局域网。 WAN:Wide Area Network,广域网 局域网再连接到广域网。WAN的路由器一半属于互联网服务提供商,简称ISP。 如Comcast,AT&T和Verzion。 广域网里,先连接到一个区域性路由器,这路由器可能覆盖一个街区, 然后连接到一个更大的WAN,可能覆盖整个城市。 可能再跳几次,但最终会到达互联网主干。 互联网主干由一群超大型、带宽超高路由器组成。 传输数据如获取YouTube这个视频,数据包要先到互联网主干,沿着主干到达有对应视频文件的YouTube服务器。 数据包从你的计算机跳到YouTube服务器,可能要跳个10次。 举例,从本机电脑跳转到百度,用traceroute命令
IP协议-互联网协议如果数据很大,数据会被拆成多个小数据包,而不是整个文件发过来。 数据包要在互联网上传输,要符合互联网协议的标准,简称IP。 IP属于底层协议,数据包的头部只有目标地址,头部存关于数据的数据,也叫元数据。 在此层并不知道要交给哪个程序。 UDP协议-用户数据报协议UDP头部位于数据前面,头部包含有用的信息。如端口号,每个想访问网络的程序都要向操作系统申请一个端口号。 当一个数据包到达时,接收方的操作系统会读UDP头部,读里面的端口号,然后转到对应的程序中。 IP负责把数据包送到正确的计算机,UDP负责把数据包送到正确的程序。 UDP不提供数据修复或数据重发的机制。 接收方知道数据损坏后,一般只是扔掉。而且UDP无法得知数据包是否到达。 使用场景如视频通话。不适用:文本传输。 校验和-Checksum头部里面还有校验和,用于检查数据是否正确,检查方式是把数据求和来对比,将收到的数据加在一起,与头部校验和比对,一致的话说明正常,不一致那数据有问题。UDP不提供数据修复重复机制。 TCP协议-传输控制协议三次握手: 四次挥手: DNS-域名系统由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,我们只需要记住要访问的网页的域名即可,网络会把我们访问的域名通过DNS查表,得到 域名对应的IP地址,然后访问真实的IP。 OSI-开发式系统互联通信参考模型物理层(光纤电脑),数据链路层(二进制电信号光信号),网络层(IP协议),传输层(UDP,TCP),会话层。 30.万维网早期探索早期搜索引擎怎么去展示你想要的网页呢,通过存储在字典里面的关键字,比如我搜索猫,那存储在猫这个字典里面的网址就会被返回,那谁在前谁在后,看这个网站里面猫这个词出现的次数,很明显这里有很大的缺陷,有许多垃圾网址,将猫这个词无限拷贝,充满了网页内容,那它被,猫这个字典关联的名次就会极大靠前,但其实它根本没什么价值。只是一串无阅读意义的猫合集。谷歌之所以能够搜索引擎成功就避免了这种方式,采用关联性存储,指向性存储等等方式。 HTML超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。 万维网的由来万维网和互联网是两回事,互联网是传递数据的管道,各种程序都会用,其中传输最多数据的程序是万维网。万维网的最基本单位是单个页面,页面内容有去往其它页面的链接,叫超链接,这些超链接就形成巨大的互联网络。 31.计算机安全身份校验身份,能访问什么 权限校验不能向上读表示,你在低权限位置不能读取高权限的内容,这样能防止非核心人员窃取到机密,不能向下写表示,你在高权限位置不能在低权限的区间写内容,这样能防止核心人员的核心内容被泄露到低权限区域。 32.黑客&攻击攻击在一个页面输入用户名和密码,服务器会将该内容拿去数据库比对,如果被黑客攻击,会将用户名栏输入“用户名”DROP TABLE users; 如果服务器没有做保护,会在执行完用户名校验后清空数据表。 sql注入问题。 缓冲区溢出,在登录界面要输入用户名和密码,在幕后,系统用缓冲区存输入的值,假设缓冲区大小是10,前后有其它数据,如果超过10个限制,数据会覆盖数据。可能导致系统崩溃。还可以在is_admin的值改成true,这样就能绕过登录,劫持整个系统。可以在缓冲区后,留一些不用的空间,跟踪里面的值,看书否变化。 33.加密数字签名
加密与解密术语
DES
AES
RSA算法
MD5
SHA1算法
对称加密算法比较
非对称加密算法比较
34.机器学习&人工智能
35.计算机视觉
36.自然语言处理:NLP
37.机器人
38.计算机心理学
39.教育科技
40.奇点,天网,计算机的未来
参考文章https://blog.csdn.net/weixin_44186849/article/details/115394367 百度百科等内容 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/22 11:19:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |