自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (1)
  • 收藏
  • 关注

原创 flask框架基础

本章学习了python的flask框架,该框架基于socket,用于搭建服务器/浏览器端结构,通过封装好的函数简化了很多原有操作,如建立连接和收发数据的过程,大大提升了开发效率,其jinjia2模板是用于html动态渲染的工具,该模板对动态替换html中数据的过程进行了进一步封装,和其他模板相比,特点是限制更少,但做的也更少。

2024-05-22 21:03:01 323

原创 python网络编程和并发编程

本章学习了基于socket套接字的网络编程,主要流程是确定协议,绑定IP和端口,服务器端与客户端建立间接,最后是通信过程。为了在此基础上实现更多功能,比如建立更多连接和同时收发功能等引出了并发编程,有进程,线程这两个操作系统中实际存在的概念,还有代码层面用户在线程内实现并发的协程,而又因为多进程可能会引发数据的混乱问题,学习了同步异步的相关操作,主要是通过加锁的方式牺牲效率,实现了对共享区的互斥访问保证了数据准确性。

2024-05-17 19:42:12 942

原创 python面向对象

python是一门面向对象的语言,本章才刚刚接触到,最重要的多态的概念,但在python中,因为其弱类型的语言特质,缺少了一定形式而没有那么优雅,转而使用鸭子类型,只要将对象实例传入方法中就可以实现同名称不同结果的效果,并不在乎其具体继承关系。此外都是Java和C++的低配版,确实开发效率高,基本只要考虑本身的逻辑,而很少无关的硬性规定,优雅优雅。

2024-05-13 10:01:30 933 1

原创 python面向函数

即哈希或散列算法,将任意长度的数据转换为长度固定的字符串,可通过hashlib模块实现,具体方法有MD5和SHA1,该方法单向不可逆,便于隐藏原文,只知哈希想逆推是不可能的,密码的比较就是比较哈希是否相同。但目前却有很多所谓哈希解码的,大多是通过常用数据库碰撞的方法,就是把很多数据对应的哈希提前算好,输入哈希时匹配查找,针对一些常用的弱口令可行,这也解释了为什么设置密码要复杂,也不要通用,免得被加到数据库中。

2024-05-09 21:19:06 916

原创 Python基础

python底层使用C实现,Java则使用C++,只不过二者与C的交互不同,python是使用解释器翻译语句到C,Java则是使用虚拟机转换语句,现在各个语言之间区别越来越小,毕竟本身也是同宗同源,只有在特别要求性能,如操作系统或游戏时才推荐使用C,否则还是用开发效率更高的语言。

2024-05-08 13:37:33 950 1

原创 操作系统设备管理

本章介绍了操作系统管理外部设备的方法,I/O控制采用通道管理,相当于一个小cpu专门管理I/O设备,还介绍了缓冲区和磁盘相关内容,重要的是磁盘调度算法,但日常来说固态已经成为主流,传统磁盘调度以及不大需要了解了。

2024-03-18 21:32:02 660

原创 操作系统文件管理

该章学习了操作系统对文件的管理方法,对用户来说文件有无结构和有结构两种形式,文件的逻辑结构有顺序和索引两种方法;文件存储的位置由目录表记录,为了实现用户对自己文件的灵活管理和多用户共享文件,目前适用的是无环图目录结构,即文件多级目录用下划线区分,不同用户与文件的关系逻辑上表现为一条边;操作系统对文件的物理存储有连续、链接和索引三种方法;空闲分区的管理有主要空闲表和位示图,是顺序存储空闲分区和用二位列表记录此磁盘块适用状态的方法。

2024-03-12 20:55:21 714

原创 操作系统内存管理

本章学习了操作系统的内存管理,主要是扩充内存,分配回收,地址转换和进程保护功能,最主要的内存的分配回收策略,请求分页管理的过程,调入算法等。

2024-03-10 12:07:51 633

原创 操作系统进程管理

上述算法主要关心公平性和系统整体性能,不关心响应时间,也不区分任务紧急程度,没有交互性,主要应用于早期批处理操作系统本章介绍了操作系统管理进程的方法,从进程通信,组织方式开始,着重介绍了处理机调度进程的算法,以及在多处理机下如何实现进程的同步互斥,及防止死锁的方法。

2024-03-05 16:18:55 595

原创 基于tomcat的JavaWeb实现

免费,性能一般的服务器,可以实现IP地址到html的映射,底层是啥原理还不甚清楚。

2024-03-02 14:00:21 280

原创 操作系统概述

计算机的使用中可以说一切通过操作系统,我们现在的程序员也都是面向操作系统编程,遇到点难题可能就用几个操作系统给的API,也确实发明伟大,给我们屏蔽了复杂的底层。但是说这个东西真有这么难搞吗,学完概述感觉我也能写一个,无非是复杂墨迹了点,针对几个架构搞点方法就屏蔽了硬件区别,加点进程安全锁,开机关机过程等到,我们也是应该可以搞出来的,可能还是眼高手低吧,干起来就知道难点在哪了,到时候一步一个坑。

2024-02-28 11:55:01 687

原创 JDBC数据库接口

数据库的产生是为了解决数据持久化的问题,如何让数据安全可靠地存储,在数据库诞生之前,语言使用流方法存储数据。JDBC是数据库存取和操作的公共接口,就是让Java连接数据库的方法,为访问不同数据库提供了统一的途径,为开发者屏蔽了细节问题,开发者只需面向JDBC规范开发即可。

2024-01-31 16:39:32 236

原创 MySQL数据库

如createdropalter展示所有数据库/表、use table打开数据表、打开数据库/表等操作。MySQL中指令不区分大小写,创建表时可创建对应列,每个列由列名、类型、约束构成。每张表的应该有唯一标识,主键,不能为空,不能重复,大多规定为自动递增,使用指定。同时还有外键,用于保持数据一致性完整性,实现多张表的关联。该部分指令做了解即可,我们一般使用图形界面对数据库和表进行处理。主要是sql的增删改查语句,更主要的是查询的语句编写。

2024-01-31 15:33:13 1270

原创 Java异常处理&集合

创建对应的异常子类,继承Exception或,构造有参构造函数并传入message,可在抛出异常时输出message。List是Java给我们在数组基础上改进形成的更方便的表结构,在存储添加单一信息时更加方便;Map结构则是一种映射关系,需要根据key来找到对应的value时使用;Set结构感觉同时继承二者,不大明白单独存在的必要性。

2024-01-28 15:15:54 776

原创 Java面向对象

面向对象三大特性,封装、继承、多态,都是为了工程性和做出的效率妥协,其中封装是为了实现高内聚低耦合,继承是为了减少重复开发,多态是为了在保证稳定性的前提下提高代码拓展力。

2024-01-24 15:17:08 819

原创 Java基础语法

基本与C无异,基本的数据操作都一模一样,只有一些细枝末节,比如输入输出,函数定义调用等方法有些差别,Java作为完全面向对象的语言,任何操作都是对类和对象的操作,仅此而已,这么说来为什么Java应用广泛呢?要说便捷还比不上python,效率又不如C,可能就是介于二者之间,兼顾了开发效率和执行效率吧。

2024-01-21 16:37:59 362

原创 初识java

java环境可分为三部,jdk、jre和jvmjdk是开发工具包,相当于C中的库jre是运行环境,可以说是java的编译条件jvm虚拟机,为Java的跨平台提供了可能,不同的平台都有jvm环境时,Java可以运行。

2024-01-20 11:51:06 375

原创 程序设计专业课笔记

编译预处理,获取头文件,检查语法错误,将源程序转换为二进制目标程序,生成obj文件;:>,返回后面的值;file.seekp(字节,file.cur)//从当前位置后移,beg起始位置,end倒数。标识符只能由以字母、数字和下划线构成,且只能由字母和下划线开头,不可与关键字同名。strcmp字符串比较,逐个比较asc码,有一个不同就返回,看大小。//用于输出到txt文件,与cout相同。getline(file,s)//file中读取一行到s中。file.seekg()//与输出相同。

2023-12-16 17:04:49 354

原创 C++大小写字母转换

可以看到字母的大小写直接差了32,如果要进行转换的话对应加减就可以了,小写字母的位数比大写要大,但是到这我想,字母不是只有26个吗?可以看到中间是夹了`、_、^、]、\、[这六个符号,大小写字母直接并不连续,验证归验证,但是想不明白为啥要这么安排,字母和字母挨着多好的,这六个符号为啥非要和他们挤呢?这内容确实很初级了,就是ascii码的加减转换类型输出,但是以往都是学学理论,好多东西还真掌握不扎实,现在通过实验了验证一下,代码如下。

2023-12-06 17:09:19 407

原创 输入日期求n天后

乍一看很复杂,要输入输出有效性判断,加日期,每个月天数还不一样,还得跨年跨月的,闰年我也忘了咋定义的,不过不慌,都是纸老虎,咱们一步步来,先看看这个闰年咋回事。

2023-12-04 17:15:56 471

原创 C++二维数组名到底代表个啥

二维数组数组名仍为第一个元素的地址,但此时其类型为指针的指针,两次解引用才能获得其内容,加减可以跳转至下或上一行向量的起始地址。

2023-12-02 16:27:25 391

原创 c++——取地址(引用)和取内容(解引用)操作

引用可以使指针指向该内容,*可以使指针指向的内容更改,结合赋值语句都可以理解为为原有数据创建分身,只不过一个是指向原数据的分身,对分身的操作等同于操作原体,另一种则相当于是给数据做了个备份,故采取这种方法也失去了我们使用指针的原本含义。此外,坚持创建即初始化这个好习惯,要不然可能引发未知的错误。

2023-11-30 18:05:52 1021

原创 C++——取地址和自增运算

也就是做题,谁没事写代码这么写,用得着这么复合吗?也不是说谁代码短就运行效率高,拆几句写能怎么着,同学们可别自己给自己出难题。

2023-11-29 15:47:53 438

原创 字符串匹配算法——KMP

KMP算法就是当模式串与文本串字符不等时,不移动至头部进行比较,比如f与b不匹配,跳至b进行比较,节约了前面相同aa的比较次数,尝试将比较过程直观展示如下:逐个比较到f发现不匹配| | | | |!此时再从之前已知匹配的aa后面的b开始比较即可那我们如何得知之前匹配的内容呢?这时就要引入前缀表的概念。

2023-11-23 17:00:42 105

原创 卷积、卷积图像操作和卷积神经网络

实质还是卷积和也就是g的选取,如果g选的合适,就可以把对我们有用的特征保存下来。归根到底就是f×g,通过对g不同形式不同值的选取,在多角度多维度上筛选f,得到我们想要角度的特征值,再加上求和加权平均消除误差。也难怪人工智能喜欢用,这一个方法就能提取出一个特征值发一篇文章,基于人工智能的······研究,其实就是用个CNN跑出一组数据处理一下,找找关系,下个结论。

2023-11-19 14:10:48 411

原创 简单算法——回溯、贪心、动态规划

代码其实都不难,判断结束条件并记录结果,for循环,内部处理节点,递归,回溯操作;说白了就是确定终止条件单层递归逻辑两步,主要是用递归代替循环,尝试然后初始化(回溯)的思想。涉及的难点和体现代码质量的地方就在于剪枝,在for循环内免去不必要的计算和判断可以大幅提高运行性能,这是需要多加考虑的点。思想很简单,局部到整体,但是有时候要借助创建的变量和方法确实难以想到,所以难点在于辅助的构造,而非算法本身。

2023-11-18 14:59:35 154

原创 C语言学习笔记

丹尼斯里奇和另一个我不记得名字的大神想要在UNIX系统上玩个小游戏,并因为大型机不方便,想在小型机上自己写一个系统,先将BCPL简化为 B语言,又经过改进,诞生了早期的C语言,所以C语言的历史其实也就是UNIX的历史。(如今的MAC OS,LINUX,ANDROID都是基于UNIX系统,第一个高级语言是FORTRAN,没有A语言)

2023-10-04 15:58:55 133

原创 网络安全与IP安全

网络安全是指网络系统的硬件,软件以及系统中的数据收到的保护。保护的基本属性为:机密性,身份认证,完整性和可用性;基本特征:相对性,时效性,相关性,不确定性,复杂性和重要性。在该方向主要研究如下领域:入侵者如何攻击网络,如何防护网络对抗攻击,设计网络体系结构免疫攻击。因为Internet最初设计几乎没考虑安全性,所以网络安全需要在网络的各个层次考虑。网络安全威胁主要有窃听,插入,假冒(伪造源IP),劫持接管连接和拒绝服务等攻击,具体方法如下:映射(扫描):确定主机开放的端口及运行的服务,

2022-11-30 18:07:30 3275 4

原创 物理层物理层

该层解决具体比特传输问题一般的数据通信系统如图:该系统可按通信方式分为两种:同步/异步通信和模拟/数字通信:异步通信是通信双方各自时钟独立,每次只传输一个字符,时钟在传送开始时对齐;这种机制简单,成本低,但是效率和速率都较低。同步通信是一次传输一块数据,时钟必须同步,使用相同的时钟信号(通过将时钟信号编入数据解决)。模拟/数字通信,区别在于信道中传输的是模拟(连续)还是数字(离散)信号。众所周知计算机只能处理有限离散的数据,所以模拟信号需要通过信源编码后才能传输,典型的方法是PCM;该方法利用

2022-11-22 19:38:04 487

原创 数据链路层

负责通过一条链路从一个节点向另一个屋里链路直接相连的相邻节点传送数据报。提供的服务有:组帧,封装数据报构成数据帧,加首尾,实现帧同步,识别开始结束链路接入,共享介质需解决信道接入问题,帧首部中的Mac地址用于寻址,标识源和目的相邻结点间可靠交付,低误码率的有线链路上很少采用,如光纤双绞线,无线链路误码率高,需可靠交付流量控制,协调相邻结点的发送接受差错控制,信号衰减和噪声引起的差错,重传或丢弃差错纠正,全双工和半双工通信控制具体实现需要借助网卡差错编码基本原理是在数据中增加冗余信息,

2022-11-12 19:28:55 450

原创 路由算法(凑字)

即最短路径问题,说白了还是算法问题,分类有静态动态路由算法,和全局分散路由算法两种。**静态:**通过手工配置,路由更新慢,但是优先级高。**动态:**路由更新快(定期更新,能及时响应链路费用或拓扑变化)**全局信息:**所有路由器掌握完整的网络拓扑和链路费用信息,链路状态ls算法。**分散信息:**路由器只掌握物理相连的邻居以及链路费用,和邻居间信息交换、运算的迭代过程,距离向量dv算法。链路状态路由算法Dijkstra算法即循环遍历,每次经过一个最近的节点,更新找到针对每个节点的最短路

2022-11-10 20:20:29 640

原创 IPv4网络

网络层由路由协议(生成路由表)——转发(IP协议)两部分组成IP数据报IP数据报格式**版本号:**占四位,IP版本号**首部长度:**占四位,IP分组的首部长度,四位最长为15,故以4字节为单位,真实长度需乘4**服务类型tos:**占8位,指示期望获得哪种类型的服务,98年改为区分服务,只有在网络可以区分网络时使用,目前网络一般不使用。**总长度:占16位,IP分组的总字节数,首部+数据,最大分组65535b,最小20b,最大数据位65535-20=65515** 生存时间ttl: 占

2022-10-18 12:27:28 694

原创 网络层概述

概述网络层服务解决主机间的数据传输核心功能服务模型ATM异步传输网络提供四种服务:固定比特率,可变比特率,可用比特率和不保证服务。无连接服务:不事先为系列分组的传输确定传输路径每个分组独立确定传输路径不同放分组传输路径不同,数据包顺序可能变化例:数据报网络,类似于udp连接服务:首先建立连接,确定路径,沿该路径传输系列分组系列分组传输路径相同,保证顺序传输结束后拆除链接例:虚电路网络,类似tcp主机到主机,在网络核心实现虚电路网络 virtual circuits

2022-10-15 20:28:34 889

原创 面向连接的传输协议——TCP

概述点对点,一个发送方一个接收方可靠,按序的字节流流水线机制,拥塞控制,流量控制机制,设置窗口大小,发送方接收方都缓存面向连接,发送前双方都必须建立,连接状态只在连接两端维护,沿途设备不维护tcp连接包括:两台主机上的缓存,连接状态变量,socket等段结构序列号和ack可靠数据传输rtt和超时设置发送方事件程序伪代码重传示例接收方事件接收方主要如何是产生并回复ack,如下图:快速重传简单来说就是三个相同ack就重传:流量控制当rcvwindo

2022-10-09 19:29:23 910

原创 滑动窗口协议

**是流水线机制的实现手段,**为解决等停协议的性能问题,允许发送方在收到ack之前连续发送多个分组,但是同时需要更大的序列号范围,发送方和接收方需要更大的存储空间缓存分组。窗口是允许使用的序列号范围,尺寸n代表最多有n个等待确认的消息,滑动窗口是指在序列号空间内向前滑动,协议有GBN,SR等。GBN go-back-n协议发送方累计累积确认,base前移即窗口滑动接收方丢弃乱序数据包,重发按序确认序列号最大的分组示例习题SR selective repeat协议由于gbn的累计确认机制,

2022-10-09 15:58:32 1187

原创 可靠数据传输

与前面尽力而为的udp相对应,主要为保证数据传输的不错,不丢,不乱问题,这些问题也是网络中top10的问题。该协议较为复杂,信道的不可靠特性决定了可靠数据传输协议rdt的复杂性,基本结构为:接口。应用层向下传递为单向流动,在不可靠信道中的传输是双向控制。rdt1.0可靠信道上的可靠数据传输,该模型下底层信道完全可靠,数据不错,不丢,不乱,所以该协议只要实现数据的正常发送即可。rdt2.0该模型旨在应对产生位错误的信道,底层信道可能翻转分组中的位,前面我们学到可以借助校验和检测位错误,难的是如果

2022-10-09 12:27:03 261

原创 无连接传输协议——UDP

user dategrame protocol,用户数据协议RFC768中可查询,基于Internet的IP协议,实现复用分用,可进行简单的错误校验,是一种best effort尽力而为的服务,udp可能丢失,非按序到达。无连接传输,不需要握手建立连接,每个udp段的处理独立于其他段。优点无需连接,减少延迟实现简单,无需维护连接状态头部开销少无拥塞控制,应用可更好更自由地控制发送时间和速率(有控制的会自行调整)用途容忍丢失,对速率更敏感的应用,如流媒体,DNS,SNMP报文格式可靠数据

2022-09-29 20:10:07 623

原创 复用和解复用

为何需要复用某层的一个协议对应上层的多个协议和实体分用工作流程无连接分用面相连接的分用

2022-09-29 19:58:08 156

原创 传输层概述

传输层协议为运行在不同端系统上的进程提供了一种**逻辑通信机制,**使通信的两进程好像是直接相连,屏蔽了底层的复杂算法。发送方:将应用递交的消息分为报文段,向下交给网络层。接收方:接受报文段组成消息,向上交给应用层。传输层VS网络层网络层提供了主机之间的逻辑通信机制,传输层提供应用进程的逻辑通信机制,传输层位于网络层之上,依赖于网络层服务,对网络起增强效果。简单来说,网络层找主机,传输层找进程。Internet的传输层协议,tcp可靠按序的交付服务,udp尽力而为,不可靠的交付服务。

2022-09-29 19:44:51 269

原创 P2P应用

原理与文件分发无服务器,任意端系统之间直接通信,节点阶段性接入Internet,节点可能更换IP地址。文件分发:c/s结构是由服务器发送n个文件供端系统下载,时间随着n的增大而增大,p2p相当于多进程操作可同时处理多个文件,**所以文件数越多,p2p效率越高。例,BitTorrent比特流索引技术由于缺乏服务器的统一管理,p2p的一大难点就是信息检索,由此产生了索引技术。索引是信息到节点位置(IP+端口号)的映射文件共享类这类应用利用索引动态跟踪节点所共享文件的位置,节点要告诉索引它拥有

2022-09-29 12:38:51 334

easyocr模块.rar

在user/.EasyOCR/model中解压即可使用

2021-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除