- 博客(129)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Cisco路由器配置IPv6 Manual隧道
在现有 IPv4 网络上创建覆盖型 IPv6 隧道,隧道的起点和终点都使用了 IPv4 地址来定义,然后要使隧道运行正常,使隧道具有路由协议的连接功能,需要赋予隧道两端 IPv6 地址,从而提供 IPv6 的连通性,而隧道两端的 IPv6 地址可以不属于同一网段,当然属于同一网段是最好的选择。把 IPv6 的数据全部封装在 IPv4 中,将 IPv4 当作链路层来传递的隧道形式,称为。更多的是,点对点隧道必须要有 IPv6 地址。以上隧道中,所有隧道的源均为 IPv4 地址,但是。
2024-04-04 22:41:21 1150
原创 SSM框架学习——Spring MVC核心类、常用注解与RESTful
DispatcherServlet并不直接处理请求,它只负责根据请求的信息把请求转发给合适的处理器,然后由处理器来执行实际的处理过程并生成响应,它是Spring MVC框架的入口点,它将所有这些步骤组合在一起,使得开发者可以更轻松地构建Web应用程序并处理客户端请求。每个Spring MVC应用程序通常只有一个。我们可以在web.xml里进行配置:
2024-04-02 11:06:55 656
原创 SSM框架学习——JSP语法入门
在前一节中我们已经写过JSP的代码了,这一节将单独介绍JSP一些基础语法。当然,你可以跳过这一节,当后面有代码不太理解的时候再回来阅读。
2024-04-01 18:49:27 865
原创 SSM框架学习——Eclipse创建Spring MVC maven项目
Spring MVC是Spring内置的,实现了Web MVC设计模式的框架。它解决了Web开发过程中很多的问题,例如参数接收、表单验证等。另外它采用松散耦合可插拔组件等结构,具有相对较高的灵活性和扩展性。可参考。
2024-04-01 18:48:54 808
原创 SSM框架学习——SqlSession以及Spring与MyBatis整合
我们在之前的项目中,几乎每次都会创建这个文件夹,然后,那么这个文件夹到底是用来干啥的,凭什么使用它里面的文件是直接写文件名?实际上这个文件夹是专门存放你的应用所需资源的,如XML等配置文件。这个文件夹被标记为后,在编译后,里面的文件会放到与编译好的文件相同目录里,所以你读取的直接使用文件名实际上是相对路径。
2024-04-01 18:47:14 652
原创 SSM框架学习——MyBatis关联映射
实际开发中,对数据库操作常常会涉及多张表,所以在OOP中就涉及对象与对象的关联关系。针对多表操作,MyBatis提供关联映射。嵌套查询是通过执行另外一条SQL映射语句来返回预期复杂类型:嵌套结果是使用嵌套结果映射来处理的联合结果子集:对于嵌套查询有一个问题,那就是执行多条SQL语句导致性能开销很大。于是就有了MyBatis的延迟加载——fetchType。我们还是用之前的账户连接数据库,终端命令可以如下输入密码敲击回车,然后切换数据库到Windows用户可以用终端或者执行下面语句如果你没有这个数据库请回到
2024-04-01 18:46:40 1025
原创 SSM框架学习——MyBatis动态SQL
动态SQL是MyBatis强大特性之一,MyBatis3采用了功能强大的基于OGNL的表达式来完成SQL。常用的动态SQL主要元素如下:如果单独对以上元素解释理解起来还是比较费力的,接下来还是以代码的形式展现。我们还是用之前的项目,我们把目录下的包中的文件里的中间的内容全部删除,最终效果看上去应该与下面一致:然后把目录下的中的测试类里面的测试方法也删除掉我们先来编写表与对象的映射关系,在的元素之间填写如下内容(注意包名与你的一致):看起来效果应该跟下面一样,不过在后文中这个文件会越写越长,由于篇幅有限
2024-04-01 18:46:09 887
原创 SSM框架学习——了解MyBatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。可参考。
2024-04-01 18:45:23 1223
原创 SSM框架学习——Spring事务管理
如果多个事务同时操作同一批数据,则会引发并发异常,设置不同的隔离级别可以解决这些问题。事务的隔离级别如下隔离界别从小到大,安全性越高,但效率就越低。事务的传播行为是指在同一个方法中,不同操作前后所使用的事务。传播行为可以控制是否需要创建事务以及如何创建事务,Spring默认传播行为是REQUIRED。为了解耦,我们一般用后者。
2024-04-01 18:44:33 742
原创 SSM学习——Spring JDBC
Spring的JDBC模块负责数据库资源管理和错误处理,简化了开发人员对数据库的操作。Spring JDBC通过和来配置。针对数据库操作,Spring框架提供了类,它是Spring框架数据抽象层的基础,是Spring JDBC的核心类。提供了访问数据库使用的公共属性,例如Data Source,DataSource主要功能是获取数据库连接,还可以引入对数据库连接的缓冲池和分布式事务的支持;定义了可以使用的操作集合,例如增删改查(CURD)。
2024-04-01 18:43:51 713
原创 SSM学习——Spring AOP与AspectJ
的全称为,即面向切面编程。想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方式,你需要做多个汉堡,每个汉堡只有肉馅是不一样的,但是你每做一个汉堡都要重新制作面包。而聪明的厨师只需做一个汉堡,仅将肉饼那一层分成不同口味的几个区域,这样你就不需要再重复制作面包了。对于程序员也是一样的,有多少个接口就要写或复制多少代码那一定是无法忍受的,我们只想关心不同的那部分。
2024-04-01 18:42:58 849
原创 SSM框架学习——工厂模式、Spring核心容器与Bean
是Java中常用的一种设计模式,这种类型的设计模式属于创建型模式。说白了在代码层面就是取消了new的使用。举个例子,我们去买手机,假设手机品牌有两种,分别是Xphone和Luwei,你显然不用关心手机是怎么生产的,手机零件怎么组装的,这都是工厂干的活。下面我们以这个例子来讲解三种工厂模式。
2024-04-01 18:42:18 763
原创 SSM框架学习——Spring的控制反转IoC与依赖注入DI
提到Spring首先想到的肯定是Spring的IoC容器了。在了解Spring的用法之前我们必须了解什么是和。**控制反转(Inversion of Control)**是面向对象编程中的一种设计原则,它建议将不需要的职责移出类,让类专注于核心职责,从而提供松散耦合,提高优化软件程序设计。简单一点来说,我原来需要一个对象需要自己手动去new,我必须知道哪些类实现了相应的接口,而有了控制反转,我只需要向框架的容器要一个,由它实现装配,对对象组件的控制权也就由代码转移到了外部容器。其中依赖查找又可以分为。
2024-04-01 18:41:29 630
原创 SSM框架学习——了解Spring与Eclipse创建Maven项目
Spirng是分层的JavaSE/EE全栈轻量级开源框架,以和为内核,使用基本的JavaBean来完成EJB的工作。Spring框架采用分层架构,它的一些列功能被分为若干个模块。上图中的红色背景模块为本课程涉及模块。对于上述各个模块的功能,我并不想在此处多写,而是在接下来的代码中来体会。(应该没有人刚开始学就想看这么冗长的文字吧,绝大多数人都是想快速构建项目,那些东西熟悉了再回过头来看)
2024-04-01 18:40:10 802
原创 JavaEE SSM框架学习——MacOS Eclipse环境搭建
Homebrew是一个包管理器,我们可以通过它来安装许多软件首先打开如图所示,复制下面那行命令到你的Macbook终端$(curl-fsSL这个可能会由于网络导致失败,可以替换成以下命令$(curl-fsSL完成后使用以下命令检验是否安装成功如果出现下图则安装成功我在写这篇文章的时候是这个版本,你的版本号可能比我更高,这一般没啥问题。接下来还是因为网络问题我们更换为国内的下载源,同样在终端中执行以下命令git -C "$(--repo然后更换homebrew-bottles让配置文件生效。
2024-04-01 18:38:14 1168
原创 Cisco交换机安全配置
DHCP攻击针对的目标是网络中的DHCP服务器,原理是耗尽DHCP服务器所有的IP地址资源,使其无法正常提供地址分配服务。然后在网络中再架设假冒的DHCP服务器为客户端分发IP地址,从而来实现中间人攻击。DHCP耗竭攻击可以使用端口安全来得到有效地缓解,因为每个发送的DHCP请求消息中使用一个唯一的源MAC地址。但是,缓解 DHCP欺骗攻击需要采取更多保护措施。使用真实的接口 MAC地址作为源以太网地址,在DHCP负载中使用一个不同的以太网地址。
2024-04-01 18:12:41 1581
原创 开放路径最短优先协议OSPF基础
停止Down:OSPF没有与任何路由器交换信息尝试Attempt: 仅存在NMBR环境中初始Init:路由器接收到一个Hello分组后进入该状态双向Two-way:在邻居报文中看到自己的ID后进入该状态准启动Exstart:通过第一次DBD报文来确定邻居间的主从关系交换Exchange:通过DBD交换LSA的头部信息加载Loading:发送LSR和LSU完全邻接Full adjacency:完成了邻接关系的完整建立OSPF状态过渡流程如下图所示。
2024-01-01 19:34:56 973
原创 扫描转换椭圆与圆的绘制
我们先来设计一种数据类型注意此处的类型为这一点很重要,因为在某些迭代过程中设置为会导致坐标数值不变,然后进入死循环或者绘制不出来。如果需要类型,那么无需担心,到之间会有一个隐式转换,直接将Point类型中属性值赋给对应的变量即可。(如果你想知道哪些情况下使用会无法绘制请参考椭圆部分的DDA算法)在直角坐标系中,圆心在原点上的圆有如下方程:x2+y2=R2x^2+y^2 = R^2x2+y2=R2其中R为圆的半径。若圆心不在原点上,则有更一般形式的方程。假设圆心为(a,b)则圆的方程为:(x−a)
2023-09-27 20:09:07 417
原创 距离矢量路由协议RIP(含Cisco模拟器实验命令配置)
距离矢量路由协议(Routing Information Protocol, RIP)是一种内部网关协议,它位于应用层,使用520 UDP端口。RIP基于距离矢量算法(Bellham-Ford)根据metric来衡量目的地址的距离。
2023-09-26 19:56:01 1313
原创 CMake基础用法
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述安装(编译)过程。他能够输出各种各样的makefile或者project文件。笔者主要用CMake来构建CPP项目(但不仅限于CPP)。由于makefile通常依赖于当前的编译平台,编写makefile相较于麻烦一些,依赖也容易出错,而CMake恰好能解决上述问题。
2023-09-09 01:59:35 168
原创 C++栈应用——括号匹配
学过数据结构的大多都做过这道题,给定一串表达式,匹配前后对应的括号。实际上思路很简单,由于栈是(先进后出)的,字符串读取顺序从左到右,左括号一定在右括号左面,利用几点,我们在读取字符串的时候将左括号(或其位置)入栈,读到右括号就出栈即可。
2023-05-24 21:10:03 710
原创 ServerPapers 开源轻量级服务器监控工具
ServerPapers是一个基于Nodejs的轻量级服务器监控工具,主要利用了Socket.IO来向用户推送服务器的信息。
2023-05-04 02:13:34 804
原创 vite-element 一个快速创建vite与elementUI项目代码的工具
我在开发Vue项目的时候,经常会写一些重复的代码。比如导入ElementUI和vue-router,以及二次封装axios,甚至在编写表单的时候需要用到一些校验。所以我就在想能不能编写一个工具,只需npm安装之后在命令行中执行一串命令就能够快速创建包含这些代码的项目。
2023-04-24 23:55:19 660
原创 C语言回调函数
在计算机程序设计中,回调函数,或简称回调(call),是指通过函数参数传递到其它代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
2023-04-24 22:34:26 126
原创 Vue3使用script setup导致this.$route不生效
原本想要通过经过一番折腾,发现是this指针的原因。Vue为了避免我们错误使用,将this修改成了undefined。
2023-04-12 00:36:18 1029
原创 Cisco路由器配置DHCP服务及中继
R1 LAN侧的网段为默认网关为R2 LAN侧的网段为默认网关为DNS服务器地址为R0的G0/0的地址为10.1.1.1R0的G0/1地址为10.1.1.2。
2023-03-23 15:07:18 3940
原创 C++ 高精度乘法运算
首先确定乘积的位数。n≤n1n2计算两个乘数每位数字的乘积,其中a[i]乘b[j]累加到c[i+j]上去在最后对累加结果数组c作一次性进位(判断是否大于等于10)
2023-01-10 19:37:28 1867
原创 OrangePi 5 Docker下安装OpenWRT作软路由(同样适用于树莓派等设备)
本文的软路由作为家中的二级路由,用一根网线连接主路由的LAN口和二级路由的WAN口(当主路由使用配置类似)如果你想要作为旁路由或中继路由使用,在本文末尾会有相应文章的链接,但是Docker以及网卡的配置有一些坑建议参考本文。
2022-12-20 00:31:43 6892 4
原创 简单描述标准生成树协议STP
如上图所示网络拓扑,如果没有生成树协议,在网络通信开始时,假设PC0向PC1发送一个数据包,交换机S2的MAC地址表中并没有对应的MAC地址,因此会产生ARP洪泛(详情参考交换机自学习算法那篇文章)发送广播帧,由S2的Fa0/1和Fa0/3端口向对端发出。当S1、S3分别接收到广播帧后,根据同样原理进行广播帧转发。这时网络形成了一个环路,但交换机并不知道这将导致广播帧在环路中永远循环下去。随着时间增加,广播帧将会越来越多,最终形成导致网络瘫痪。
2022-11-28 14:42:58 706
原创 思科配置SVI实现VLAN间路由
SVI技术与单臂路由和传统VLAN间路由一样,都是解决多个VLAN间通信问题。SVI技术利用了多层交换机(本文以三层交换机为例)。
2022-11-27 16:41:22 4278 2
原创 思科配置VLAN间单臂路由
路由器上链接不同的VLAN的物理接口数量有限,随着VLAN增加端口很快就被耗尽,然而VLAN中继允许单个路由器物理接口接多个VLAN的流量,即有了单臂路由技术。
2022-11-24 14:46:50 2875
原创 有向无环图——AOV网及拓扑排序
public :aov() {public ://前驱结点 set < int > next;//后继结点 //备份 set < int > back_prev;};//邻接表 public :private :};
2022-11-08 15:53:09 578
C++带有模板的结构体指针如何作为函数参数
2021-10-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人