自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

coderge's CSDN Blog.

Blog, for better learning.

  • 博客(396)
  • 收藏
  • 关注

原创 java中左移<<、右移>>、无符号右移>>>的区别

例如,在8位二进制中,使用原码或反码表示时范围为[-127, +127],而使用补码表示时范围为[-128, +127]。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。负数的反码是在其原码的基础上,符号位不变,其余各个位取反。例如,如果是8位二进制,那么+1的原码为0000 0001,-1的原码为1000 00011。将一个数对应的二进制表示整体右移,考虑符号位,左边的用原有符号位补充,右边超出的部分舍弃。将一个数对应的二进制表示整体左移,不考虑符号位,左边超出的部分舍弃,右边补零。

2023-08-09 14:40:49 559

原创 记牛客月赛的小坑: MoonLight的运算问题

月色哥哥手中有一个数字 x,最初 x=0。给出一个长度为 n 的序列a,月色哥哥会从序列的第一个元素。通过比较 x *= a[i] 和 x += a[i] 的大小,决定下一步的最优操作。请求出 x 的最大值,并输出这个最大值除 998244353 的余数。输入为测试用例组数字, 每组用例第一行为序列长度n, 第二行为n个整数。迭代计算 dp 数组,最终 dp[n] 即为所求最大 x。dp[i] 表示对于前 i 个元素,x 的最大值。时间复杂度 O(N),空间复杂度 O(N)。对于序列的第 i 个元素。

2023-07-14 21:41:04 414

原创 Java输入输出处理(牛客机试)

总的来说,System.out.print() 和 System.out.println() 是基本的输出语句,而 System.out.format() 和 System.out.printf() 则提供了更灵活的格式化输出选项。这个方法用于格式化输出指定的数据,类似于C语言中的printf函数。例如:%s 表示字符串,%d 表示整数等。它使用了固定的输出格式,并且不需要额外的格式化字符串,而是直接在方法参数中指定需要输出的数据。这个方法也用于将指定的数据输出到控制台,但会自动在输出末尾添加一个换行符。

2023-07-06 14:47:55 1736

原创 Java8的Stream怎么使用

Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源流的来源。可以是集合,数组,I/O channel, 产生器generator 等。聚合操作类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。Pipelining: 中间操作都会返回流对象本身。这样多个操作可以串联成一个管道, 如同流式风格(fluent style)。

2023-07-04 21:43:31 427

原创 Python什么情况下会延迟对象的销毁

循环引用:如果存在对象之间的循环引用(例如,对象A引用对象B,而对象B又引用对象A),引用计数无法为0,垃圾回收器无法及时回收这些对象。引用计数延迟:Python中的垃圾回收器使用了引用计数来追踪对象的引用情况,当对象的引用计数为0时,垃圾回收器会回收该对象。垃圾回收器会自动检测不再被任何引用所指向的对象,并回收这些对象所占用的内存空间。如 在函数内部引用:如果在函数内部创建了一个对象,并将其赋值给函数外部的变量或其他全局变量,那么即使函数结束,这个对象的引用计数仍然不为0,延迟了对象销毁。

2023-06-29 11:12:04 259

原创 哈希表怎么解决冲突?

可以遍历哈希表的下一个位置,直到找到一个空闲的桶或者达到了某个停止条件(如哈希表已满),然后将冲突的元素插入或查找位置。装填因子用来衡量哈希表的填充程度,即哈希表中已经存储的元素在哈希表容量中所占的比例。当装填因子超过某个阈值时,通常会触发哈希表的扩容操作,重新调整哈希表的容量,以保持装填因子在一个合适的范围内。链地址法(Chainin):即在哈希表中使用链表来存储冲突的元素,同一个哈希值对应的元素被存储到同一个桶中的链表上。如果发生冲突,在哈希表的桶中进行第一次探索,计算第一步探索的步长。

2023-06-28 22:26:39 1389

原创 输入数据时全连接层计算量是多少

eg. 输入有5044个神经元结点,输出有500个结点,则一共需要5044*500=400000个权值参数W和500个偏置参数b。计算大概是这样的一个示意图。那么计算公式是这样的。易得全连接层参数计算。

2023-06-27 16:04:40 247

原创 图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)

卷积层是深度学习神经网络中经常使用的一种层。它通过卷积运算来提取输入的特征,常用于图像、语音等信号处理任务中。卷积层有以下几个参数:1. 卷积核:卷积层中包含若干个卷积核,每个卷积核都是一个二维权重矩阵。卷积核的大小通常是奇数,比如3x3、5x5等,以便于有一个中心点,可以更好地提取特征。2. 步长(stride):指卷积核在输入数据上移动的步长。比如,构建一个3x3的卷积核,步长为2,表示每次卷积操作都会跨越2个像素。3. 边界填充(padding):指在输入数据的四周填充一圈像素,以保持卷积

2023-06-27 15:06:22 3733 1

原创 Mybatis Plus代码生成器

mybatisplus_04_generator项目中对于MyBatis的环境是没有进行配置,如果想要运行,需要提取将配置文件中的内容进行完善后再运行。所以我们会发现,做任何模块的开发,对于这段代码,基本上都是对红色部分的调整,所以我们把去掉红色内容的东西称之为。修改以后的好处是,MP已经帮我们把业务层的一些基础的增删改查都已经实现了,可以直接进行使用。至此代码生成器就已经完成工作,我们能快速根据数据库表来创建对应的类,简化我们的代码开发。运行成功后,会在当前项目中生成很多代码,代码包含。

2023-05-21 11:49:39 3528 1

原创 Mybatis Plus实现乐观锁

所以要想实现乐观锁,首先第一步应该是拿到表中的version,然后拿version当条件在将version加1更新回到数据库表中,所以我们在查询的时候,需要对其进行查询。大概分析完乐观锁的实现步骤以后,我们来模拟一种加锁的情况,看看能不能实现多个人修改同一个数据的时候,只能有一个人修改成功。简单来说,乐观锁主要解决的问题是当要更新一条记录的时候,希望这条记录没有被别人更新。你会发现,我们传递的是1,MP会将1进行加1,然后,更新回到数据库表中。乐观锁就已经实现完成了,如果对于上面的这些步骤记不住咋办呢?

2023-05-21 11:33:59 483

原创 Mybatis Plus 使用@TableLogic实现逻辑删除

(1)添加与数据库表的列对应的一个属性名,名称可以任意,如果和数据表列名对不上,可以使用@TableField进行关系映射,如果一致,则会自动对应。如果只删除员工不删除合同表数据,那么合同的员工编号对应的员工信息不存在,那么就会出现垃圾数据,就会出现无主合同,根本不知道有张业绩这个人的存在。可想而知,MP的逻辑删除会将所有的查询都添加一个未被删除的条件,也就是已经被删除的数据是不应该被查询出来的。这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表。

2023-05-21 10:52:46 1426

原创 Mabatis Plus 之ID生成策略控制(Auto、Input、assign_id、assign_uuid)

主键类型设置为varchar,长度要大于32,因为UUID生成的主键为32位,如果长度小的话就会导致插入失败。不同的业务采用的ID生成方式应该是不一样的,那么在MP中都提供了哪些主键生成策略,以及我们该如何进行选择?因为之前生成主键ID的值比较长,会把MySQL的自动增长的值变的很大,所以需要将其调整为目前最新的id值。:这种生成策略,不需要手动设置ID,如果手动设置ID,则会使用自己设置的值。,在使用该策略的时候一定要确保对应的数据库表设置了ID主键自增,否则无效。

2023-05-20 22:00:26 2691

原创 Mybatis Plus之DQL(条件查询方式、查询投影、查询条件设定、字段映射与表名映射)

Unknown column ‘多出来的字段名称’ in ‘field list’具体的解决方案用到的还是注解,它有一个属性叫exist,设置该字段是否在数据库表中存在,如果设置为false则不存在,生成sql语句查询的时候,就不会再查询该字段了。

2023-05-20 21:33:00 1262

原创 MybatisPlus数据层标准的CRUD(增删改查)的实现与分页功能

我们更想要的是主键自增,应该是5才对,这个是我们后面要学习的主键ID生成策略,这块的这个问题,我们暂时先放放。基础的增删改查就已经学习完了,刚才我们在分析基础开发的时候,有一个分页功能还没有实现,在MP中如何实现分页功能,就是咱们接下来要学习的内容。Lombok只是简化模型类的编写,我们之前的方法也能用,比如有人会问:我如果只想要有name和password的构造函数,该如何编写?代码比较多,我们一个个来学习。Lombok的注解还有很多,上面标红的三个是比较常用的,其他的大家后期用到了,再去补充学习。

2023-05-20 20:45:30 1401 1

原创 MyBatisPlus入门案例

MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点。

2023-05-20 20:31:43 944

原创 SpringBoot整合Mybatis

在包下定义实体类Book,内容如下在包下定义BookDao接口,内容如下在test/java下定义包,在该包下测试类,内容如下} }

2023-05-19 22:13:35 474

原创 SpringBoot整合junit

=注意:==这里的引导类所在包必须是测试类所在包及其子包。如果不满足这个要求的话,就需要在使用。注解来指定配置类或者配置文件。属性指定引导类的字节码对象。包,在该包下创建测试类,将。特别简单,分为以下三步完成。注解指定运行器,使用。工程,工程目录结构如下。

2023-05-19 22:01:36 636

原创 SpringBoot配置文件3种格式、配置文件读取方式、多环境配置、配置文件优先级分类

SpringBoot还提供了将配置文件中的数据封装到我们自定义的实体类对象中的方式。具体操作如下:将实体类bean的创建交给Spring管理。在类上添加@Component注解使用注解表示加载配置文件在该注解中也可以使用prefix属性指定只加载指定前缀的数据在中进行注入Enterprisereturn age;return tel;} }} }使用第三种方式,在实体类上有如下警告提示这个警告提示解决是在pom.xml中添加如下依赖即可

2023-05-19 21:44:35 2145

原创 SpringBoot入门(构建、打包、启动、起步依赖starter)

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。大家已经感受了SpringBoot程序,回过头看看SpringBoot主要作用是什么,就是简化Spring的搭建过程和开发过程。原始Spring配置繁琐依赖设置繁琐SpringBoot程序优点恰巧就是针对Spring的缺点自动配置。这个是用来解决Spring程序配置繁琐的问题起步依赖。这个是用来解决Spring程序依赖设置繁琐的问题辅助功能(内置服务器,…)。我们在启动。

2023-05-19 20:39:36 1231 1

原创 Nexus私服搭建与使用

团队开发现状分析(1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可(2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?(3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候我们就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可。

2023-05-19 16:34:31 1685

原创 Maven多环境配置与使用、跳过测试的三种方法

这种方式最简单,但是有点"暴力",会把所有的测试都跳过,如果我们想更精细的控制哪些跳过哪些不跳过,就需要使用配置插件的方式。虽然已经能够实现不同环境的切换,但是每次切换都是需要手动修改,如何来实现在不改变代码的前提下完成环境的切换呢?excludes:哪些测试类不参与测试,即排除,针对skipTests为false来设置的。skipTests: 如果为true,则跳过所有测试,如果为false,则不跳过测试。Toggle翻译为切换的意思,也就是说在测试与不测试之间进行切换。使用Maven的命令行,

2023-05-19 16:07:18 1462

原创 Maven属性与版本管理

在这一章节内容中,我们将学习两个内容,分别是属性中会继续解决分模块开发项目存在的问题,版本管理主要是认识下当前主流的版本定义方式。讲解内容之前,我们还是先来分析问题:前面我们已经在父工程中的dependencyManagement标签中对项目中所使用的jar包版本进行了统一的管理,但是如果在标签中有如下的内容:你会发现,如果我们现在想更新Spring的版本,你会发现我们依然需要更新多个jar包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦。问题清楚后,我们需要解决的话,就可以参考咱

2023-05-19 15:52:34 1289

原创 Maven聚合和继承,使用IDEA构建聚合与继承工程

聚合:在 Maven 中,聚合指将多个 Maven 项目组合成一个单一的项目。这通常发生在具有多个项目模块的项目中,每个模块都是单独的 Maven 项目。使用聚合机制,可以在父项目中将所有模块组合在一起,同时也可以独立地构建和测试每个子模块。继承:在 Maven 中,继承指的是定义一个 Maven 项目作为另一个 Maven 项目的基础。这样,可以在父项目中定义一些公共的依赖关系、插件和配置等,然后让子项目继承这些信息。这样做的好处是可以避免在各个项目中编写相同的配置,减少了冗余代码的出现,以及提高了代

2023-05-19 15:35:20 1543

原创 Maven依赖管理

前面我们已经通过可选依赖实现了阻断maven_03_pojo的依赖传递,对于排除依赖,则指的是已经有依赖的事实,也就是说maven_02_ssm项目中已经通过依赖传递用到了maven_03_pojo,此时我们需要做的是将其进行排除,所以接下来需要修改maven_02_ssm的pom.xml。**说明:**在真实使用的过程中,maven_02_ssm中是需要用到maven_03_pojo的,我们这里只是用这个例子描述我们的需求。是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突。

2023-05-19 11:44:59 1068

原创 Maven分模块开发

将抽取后的项目进行运行,测试之前的增删改查功能依然能够使用。所以对于项目的拆分,大致会有如下几个步骤:(1) 创建Maven模块(2) 书写模块代码分模块开发需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。拆分方式可以按照功能拆也可以按照模块拆。(3)通过maven指令安装模块到本地仓库(install 指令)团队内部开发需要发布模块功能到团队内部可共享的仓库中(私服),私服我们后面会讲解。

2023-05-19 11:34:29 1335

原创 SpringMVC的拦截器(Interceptor)

在这个方法中可以通过返回值来决定是否要进行放行,我们可以把业务逻辑放在该方法中,如果满足业务则返回true放行,不满足则返回false拦截。方法,如果返回true,则代表放行,会执行原始Controller类中要请求的方法,如果返回false,则代表拦截,后面的就不会再执行了。(7)如果满足规则,则进行处理,找到其对应的controller类中的方法进行执行,完成后返回结果。拦截器执行的顺序是和配置顺序有关。(5)在找到具体的方法之前,我们可以去配置过滤器(可以配置多个),按照顺序进行执行。

2023-05-18 20:20:17 3956 1

原创 SSM整合(单元测试、结果封装、异常处理)

内容前面我们已经把、和三个框架进行了学习,今天主要的内容就是把这三个框架整合在一起完成我们的业务功能开发,具体如何来整合,我们一步步来学习。(1) 创建工程(2)SSM整合[重点是各个配置的编写](3)功能模块[与具体的业务模块有关]掌握上述的知识点后,接下来,我们就可以按照上述的步骤一步步的来完成SSM的整合。可以使用Maven的骨架创建pom.xml添加SSM所需要的依赖jar包步骤3:创建项目包结构Masked5 / heima_springmvc_codes · GitCode步骤5:创建Jd

2023-05-18 20:15:53 883

原创 基于REST风格的SpringMVC请求路径设置与参数传递

对于Rest风格,我们需要学习的内容包括:REST(Representational State Transfer),表现形式状态转换, 它是一种软件架构风格当我们想表示一个网络资源的时候,可以使用两种方式:传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。查看REST风格的描述,你会发现请求地址变的简单了,并且光看请求URL并不是很能猜出来该URL的具体功能所以REST的优点有:但是我们的问题也随之而来

2023-05-18 16:01:18 1325

原创 SpringMVC的请求与响应(请求映射路径、请求参数、日期类型参数传递 、响应json数据)

代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征简单实用美观大方。

2023-05-18 15:29:45 676

原创 以SpringMVC入门案例分析服务器初始化过程、单次请求流程

学习SpringMVC我们先来回顾下现在web程序是如何做的,咱们现在web程序大都基于三层架构来实现。三层架构浏览器发送一个请求给后端服务器,后端服务器现在是使用Servlet来接收请求和数据如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为不利将后端服务器Servlet拆分成三层,分别是webservice和daoweb层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端service层主要负责业务逻辑的处理。

2023-05-18 15:11:49 591

原创 以转账案例说明Spring事务

事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或**业务层**保障一系列的数据库操作同成功同失败数据层有事务我们可以理解,为什么业务层也需要处理事务呢?举个简单的例子,转账业务会有两次数据层的调用,一次是加钱一次是减钱把事务放在数据层,加钱和减钱就有两个事务没办法保证加钱和减钱同时成功或者同时失败这个时候就需要将事务放在业务层进行处理。Spring为了管理事务,提供了一个平台事务管理器commit是用来提交事务,rollback是用来回滚事务。

2023-05-17 19:39:55 495

原创 Spring AOP介绍与使用

前面我们在介绍Spring的时候说过,Spring有两个核心的概念,一个是IOC/DI,一个是AOP。前面已经对IOC/DI进行了系统的学习,接下来要学习它的另一个核心内容,就是AOP。AOP是在不改原有代码的前提下对其进行增强。对于下面的内容,我们主要就是围绕着这一句话进行展开学习,主要学习两方面内容AOP核心概念AOP作用AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构。

2023-05-17 19:19:57 450

原创 Spring整合Mybatis、Junit

学到这里已经对Spring有一个简单的认识了,Spring有一个容器,叫做IoC容器,里面保存bean。在进行企业级开发的时候,其实除了将自己写的类让Spring管理之外,还有一部分重要的工作就是使用第三方的技术。Junit是一个搞单元测试用的工具,它不是我们程序的主体,也不会参加最终程序的运行,从作用上来说就和之前的东西不一样,它不是做功能的,看做是一个辅助工具就可以了。Mybatis的基础环境我们已经准备好了,接下来就得分析下在上述的内容中,哪些对象可以交给Spring来管理?

2023-05-17 14:35:49 558

原创 IOC/DI注解开发管理第三方bean

前面定义bean的时候都是在自己开发的类上面写个注解就完成了,但如果是第三方的类,这些类都是在jar包中,我们没有办法在类上面添加注解,这个时候该怎么办?遇到上述问题,我们就需要有一种更加灵活的方式来定义bean,这种方式不能在原始代码上面书写注解,一样能定义bean,这就用到了一个全新的注解==@Bean==。这个注解该如何使用呢?咱们把之前使用配置方式管理的数据源使用注解再来一遍,通过这个案例来学习下@Bean的使用。学习@Bean注解之前先来准备环境:Masked5 / heima_spring_co

2023-05-17 11:44:56 264

原创 Spring的IOC/DI注解开发

在上述环境的基础上,我们来学一学Spring是如何通过注解实现bean的定义开发?

2023-05-17 11:30:09 236

原创 IOC容器中的核心容器ApplicationContext

这种方式虽能实现,但是当项目的位置发生变化后,代码也需要跟着改,耦合度较高,不推荐使用。从图中可以看出,容器类也是从无到有根据需要一层层叠加上来的,大家重点理解下这种设计思想。前面已经完成bean与依赖注入的相关知识学习,接下来我们主要学习的是IOC容器中的。ApplicationContext是立即加载,容器加载的时候就会创建bean对象。这种方式存在的问题是每次获取的时候都需要进行类型转换,有没有更简单的方式呢?**说明:**大家练习的时候,写自己的具体路径。

2023-05-16 21:23:04 445

原创 IOC/DI配置管理第三方bean(Druid/C3P0)

需求:从properties配置文件中读取key为name的值,并将其注入到BookDao中并在save方法中进行打印。前面所讲的知识点都是基于我们自己写的类,现在如果有需求让我们去管理第三方jar包中的类,该如何管理?在App类中,从IOC容器中获取bookDao对象,调用方法,查看值是否已经被获取到并打印控制台。分析出错误的原因,具体的解决方案就比较简单,只需要在pom.xml把驱动包引入即可。标签会加载系统的环境变量,而且环境变量的值会被优先加载,如何查看系统的环境变量?

2023-05-16 20:09:50 454

原创 DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配。

2023-05-16 17:25:58 626

原创 Bean基础配置?实例化方式?生命周期?

对于bean的配置中,主要会讲解,,(重点),这三部分内容:对于bean的基础配置,在前面的案例中已经使用过:其中,bean标签的功能、使用方式以及id和class属性的作用,我们通过一张图来描述下这其中需要大家重点掌握的是:bean标签的id和class属性的使用。思考:答案肯定是不行,因为接口是没办法创建对象的。在解决这个问题之前,我们需要准备下开发环境,对于开发环境我们可以有两种解决方案:使用前面IOC和DI的案例重新搭建一个新的案例环境,目的是方便大家查阅代码 代码传送门~对于bean的配置中,主

2023-05-16 15:58:50 1032

原创 Spring实现IOC和DI入门案例(XML版)

需求:基于IOC入门案例,在BookServiceImpl类中删除new对象的方式,使用Spring的DI完成Dao层的注入。(3)被管理的对象交给IOC容器,要想从容器中获取对象,就先得思考如何获取到IOC容器?在BookServiceImpl类中,删除业务层中使用new的方式创建的dao对象。使用Spring提供的接口完成IOC容器的创建,创建App类,编写main方法。对象的new操作,它们之间的耦合度还是比较高,这块该如何解决,就需要用到下面的。1.删除业务层中使用new的方式创建的dao对象。

2023-05-15 21:58:32 396

安徽大学2018-2019、2019-2020数学系密码学期末试卷.zip

里面包含两份试卷 分别是 安徽大学2018-2019数学系密码学期末试卷; 安徽大学2019-2020数学系密码学期末试卷; 图片形式,没答案哦; 自己提前看看题目也不错,每年题型基本一样,且原题很多。

2020-07-19

合肥工业大学网络攻防课件.zip

课程内容 第1章 网络攻防概论 第2章 TCP/IP协议分析 第3章 信息收集技术 第4章 网络攻击技术基础 第5章 恶意代码及其防御 第6章 网络防御技术基础

2020-01-13

网络安全概论PPT.zip

胡东辉老师的网络安全概论PPT 第1章网络安全概念 第2章 密码学相关知识回顾 第3章认证和密钥建立协议 第4章网络安全协议 第5章 安全协议的设计和形式化分析方法 第6章安全脆弱性分析 第7章访问控制技术 第8章 防火墙技术 第9章 网络入侵检测技术 第10章无线网络安全 第11章 身份认证技术 第12章 信息安全新技术

2020-01-11

合工大编译原理17级课件全.zip

编译原理 合工大17级 课件 李宏芒老师的课件 包含以下章节 第一章 引论  1.1 什么叫编译程序  1.2 编译过程概述  1.3 编译程序的结构  1.4 编译程序与程序设计环境  1.5 编译程序的生成 第二章 高级语言及其语法描述  2.1 程序语言的定义  2.2 高级语言的一般特性  2.3 程序语言的语法描述 第三章 词法分析  3.1 对于词法分析器的要求  3.2 词法分析器的设计  3.3 正规表达式与有限自动机  3.4 词法分析器的自动产生 第四章 语法分析——自上而下分析  4.1 语法分析器的功能  4.2 自上而下分析面临的问题  4.3 LL(1)分析法  4.4 递归下降分析程序构造  4.5 预测分析程序  4.6 LL(1)分析中的错误处理 第五章 语法分析——自下而上分析  5.1 自下而上分析基本问题  5.2 算符优先分析  5.3 LR分析法  5.4 语法分析器的自动产生工具YACC 第六章 属性文法和语法制导翻译  6.1 属性文法  6.2 基于属性文法的处理方法  6.3 S-属性文法的自下而上计算  6.4 L-属性文法和自顶向下翻译  6.5 自下而上计算继承属性 第七章 语义分析和中间代码产生  7.1 中间语言  7.2 说明语句  7.3 赋值语句的翻译  7.4 布尔表达式的翻译  7.5 控制语句的翻译  7.6 过程调用的处理  7.7 类型检查 第八章 符号表  8.1 符号表的组织与作用  8.2 整理与查找  8.3 名字的作用范围  8.4 符号表的内容 第九章 运行时存储空间组织  9.1 目标程序运行时的活动  9.2 运行时存储器的划分  9.3 静态存储分配  9.4 简单的栈式存储分配  9.5 嵌套过程语言的栈式实现  9.6 堆式动态存储分配 第十章 优化  10.1 概述  10.2 局部优化  10.3 循环优化  *10.4 数据流分析 第十一章 目标代码生成  11.1 基本问题  11.2 目标机器模型  11.3 一个简单的代码生成器  11.4 寄存器分配  11.5 DAG的目标代码  11.6 窥孔优化

2019-07-24

密码学课程设计.zip

合工大密码学课程设计(WinRAR解密 + 基于shamir门限秘密分割的图像秘密共享和安全存储系统)最终成绩92 系统功能要求: 1)将一幅图像,利用门限秘密共享方法,分解成N份并通过网络发送;当接收方收到其中K份的时候,就可以恢复该图像; 2)可以实现在局域网或云平台下的安全传输和管理; 3)尽量考虑并防范秘密共享系统的相关安全攻击

2019-07-24

合工大信息论课件.zip

合工大信息论课件.zip 《信息论与编码原理》系统地讲述了信息论与编码的基本理论,共11章,内容包括:信息的基本概念、信源及其信息量、信道及其容量、信息率失真函数、信源编码和信道编码定理、网络信息论以及信源编码和信道编码的理论与方法。除第1、5、7、11章外,每章后面都提供了相应内容的matlab仿真源程序,供教学使用。《信息论与编码原理》力求内容精练、易读,强调掌握信息论与编码理论的基本理论与方法以及在通信系统中的应用,在不影响内容完整性的前提下省略了部分烦琐的定理证明。

2019-06-27

合工大计算机组成原理PPT.zip

合工大计算机组成原理PPT 计算机组成原理》系统地介绍了计算机的基本组成原理和内部工作机制。《计算机组成原理》共分8章,主要内容分成两个部分:第1、2章介绍了计算机的基础知识;第3~8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。

2019-06-27

MH编码.zip对一幅BMP格式的灰度图像既考虑 统计规律又考虑相关性编码,并译码。

一、 实验题目 对一幅BMP格式的灰度图像既考虑 统计规律又考虑相关性编码,并译码。 二、 算法描述 游程编码(英语:run-length encoding,缩写RLE),又称行程长度编码或变动长度编码法,是一种与数据性质无关的无损数据压缩技术,基于“使用变动长度的码来取代连续重复出现的原始数据”来实现压缩。

2019-06-27

对一幅BMP格式的灰度图像进行二元霍夫曼编码和译码。计算编码效率。

一、 实验题目 对一幅BMP格式的灰度图像进行二元霍夫曼编码和译码。计算编码效率。 二、 算法描述 在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现几率的方法得到的,出现几率高的字母使用较短的编码,反之出现几率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

2019-06-27

HMAC消息认证(基于MD5)

一、 实验题目 HMAC消息认证(基于MD5) 二、 实验要求 (1)在了解HMAC、MD5的基础上编写HMAC-MD5源码 (2)构造长度任意的字符串以及任意长度的密钥字符串,以HMAC算法对文件计算Hash值

2019-06-27

2-5.zipNTRU加密与解密

一、 实验题目 NTRU加密与解密 二、 实验要求 1、在深入理解 NTRU加密 /解密算法理论的基础上,设计一个 NTRU 加密 /解密软件系统; 2、完成一个明文分组的加解密,输入明文和密钥,输出密文,进行加密后,能够进行正确的解密;

2019-06-27

AES加密与解密

AES加密与解密 二、 实验要求 1、在深入理解 AES 加密 /解密算法理论的基础上,设计一个 AES 加密 解密软件系统; 2、完成一个明文分组的加解密,明文和密钥是十六进制,长度都为 128 比特( 16 个16 进制数),输入明文和密钥,输出密文,进行加密后,能够进行正确的解密; 3、程序运行时,要求输出每一轮使用的密钥,以及每一轮加密或解密之后的 16 进制表示的值;

2019-06-27

合工大编译原理实验二语法分析李宏芒

合工大编译原理实验二语法分析李宏芒 一、实验目的 通过完成预测分析法的语法分析程序,了解预测分析法和递归子程序法的区 别和联系。使学生了解语法分析的功能,掌握语法分析程序设计的原理和构造方 法,训练学生掌握开发应用程序的基本方法。有利于提高学生的专业素质,为培 养适应社会多方面需要的能力。 二、功能描述 1. 可在界面文本框上手动输入或由文件读取方式导入.txt文件内需要分析的产生式文法。产生式文法及分析式都可任意。 2. 如果发现错误则报告出错ERROR。 3. 删除空格类字符,包括但不限于‘\t’, ‘\r’, ‘\n’, ‘ ’. 4. 可显示出分析过程、所有非终结符的first集合、follow集合和构造出的预测分析表;

2019-06-27

合工大编译原理实验一词法分析李宏芒

合工大编译原理实验一词法分析李宏芒 一、实验目的 通过本实验的编程实践,使学生了解词法分析的任务,掌握词法分析程序设计的原理和构造方法,使学生对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。 二、功能描述 1) 可在界面文本框上手动输入或由文件读取方式导入.c或.txt文件内需要分析的程序段。 2) 如果发现错误则报告出错ERROR且将统计的行数和列数用于错误单词的定位 3) 删除空格类字符,包括但不限于‘\t’, ‘\r’, ‘\n’, ‘ ’. 4) 按拼写单词(关键字、标识符、常数、运算符、关系运算符、分界符号,错误),分别对应内码1,2,3,4,5,6,7,并用(内码,属性)二元式表示 5) 根据需要可任意扩充标识符表供以后更加广泛的范围使用 6) 对于二元运算符 ++、 --、 ==、 >=、 <= 可进行整体识别

2019-06-27

赵老师PPT.zip

隐写学原理与技术PPT 隐写的主要作用是保护保密通信与保密存储的事实不被发现,而隐写分析的主要作用是发现这类事实。随着网络与多媒体应用的普及,隐写与隐写分析的研究发展很快,它们之间的对抗不断进入更高级的阶段,有必要进行系统的描述与全新的总结。赵险峰、张弘编著的《隐写学原理与技术(中国科学院大学网络空间安全学院教材)》将隐写与隐写分析作为一个新学科一隐写学进行了系统阐述,主要内容包括隐写与隐写分析的发展背景、主要性能指标、基本的消息嵌入方法、隐写分布特性保持、矩阵编码、专用隐写分析、湿纸编码、基于±1的分组隐写编码、通用隐写分析、高维特征通用隐写分析、最优嵌入理论、校验子格编码、自适应隐写、选择信道感知隐写分析与基于深度学习的隐写分析,其中各个子领域的内容也概括了最新的主要研究成果。此外,本书各章的小结与最后一章给出进一步阅读和思考的方向,除最后一章外,每章配有用于巩固知识的思考与实践,附录部分给出了相关的基础知识介绍及实验方案,有助于读者全面学习并形成研究能力。 本书可以作为信息安全相关领域研究人员的参考资料,也可以作为信息安全或相关专业研究生与高年级本科生的教材。

2019-06-27

合肥工业大学17级数据结构课件

合肥工业大学2017级数据结构课件,完整版。(胡学钢老师) 含课程设计作业及实验指导

2018-08-08

栈的数据层及界面层实现(Qt )

数据结构课程设计:站的数据层及界面层实现 采用Qt编写 用动态定义的栈类,能够实现任意文件读写,根据文件构建栈,进行入栈和出栈操作,并保存到文件中,并用Qt Creator实现了用户图形界面操作

2018-08-08

课程设计模板

课程设计模板,亲测好用哦 1设计要求 1 2方案设计 1 2.1设计思路 1 2.2总体方案方框图 1 2.3基本原理 2 3总体方案的选择和设计 2 3.1简单声控音乐彩灯控制器 2 3.2音乐彩灯控制器 3 4单元电路的设计 3 4.1整流电路的设计 3 4.2 滤波电路的设计 4 4.3高通滤波器 5 4.4低通滤波器 5 4.5元件参数的计算及选择 6 5总电路图 7 6总结 7 参考文献 8 附录 9

2018-07-25

空空如也

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

TA关注的人

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