自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 计算机网络 ,ip地址(网络号,主机号),网关,路由

1、ip:用来唯一标识互联网中的一个网络或一台主机。2、网络号:ip地址包含了网络号(与子网掩码相与),主机号,主机可以与具有相同的网络号的设备直接通讯,在没有连接设备的情况下,即使共享相同的物理网段,网络号不同则无法进行通讯。3、主机号:网络号标识在同一个网段上的所有宿主机(规定了网段),主机好标识该网段上的一个宿主机,即解释了在整个Internet上的每个计算机都依靠各自唯一的IP地址来标识。

2023-04-26 18:06:45 3325 1

原创 Linux 系统文件权限管理(参考菜鸟教程)

ls -l如图所示:1、第一个字符代表这个文件是目录、文件或链接文件等等。2、接下来分别是文件属主用户,同一个用户组用户,其他用户的持有该文件的权限以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)3、再接下来就是文件属主名称以及属主用户组的名称。

2023-04-26 11:46:12 1445

原创 node.js中的JWT(运用bcrypt加密)用户密码加密

参数str 自定义字符串,这相当于一个密钥secret(这时运用bcrypt.hashSync((new Date()).toString(), 5)生成秘钥),服务器端需要妥善保管。time的取值,'15d'表示15天,'2h'表示2小时。jsonwebtoken提供了一个函数sign用于加密生成jwt,格式jwt.sign(data,str,options)jsonwebtoken提供了一个函数verify用于解密jwt,格式jwt.verify(token,str)参数data 表示要加密的数据。

2023-04-17 11:32:03 553

原创 Cmake

CMake是一个构建系统,可以用于构建跨平台的C和C++项目,node.js中常用Cmake作为许多C和C++的第三方库构建系统。二、将源代码构建成可执行文件。

2023-03-20 11:34:56 131

原创 git 本地分支和远端分支的交互,git stash

由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,之后再从堆栈中拉出来(stash中的内容不仅仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上),git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中。一、拉取远程分支到本地分支,并进行关联。二、本地分支推送到远端分支。

2023-03-10 10:58:14 115

原创 Kafka

消息队列。

2023-02-27 15:12:31 235

原创 opencv立体图像的深度图

区域斑点范围和大小:基于块的匹配器通常会在对象边界附近产生“斑点”,其中匹配窗口捕获一侧的前景和背景 在另一场景中,匹配器似乎还在桌子上投影的纹理中找到小的虚假匹配项。1、StereoBM_create():该算法使用极几何来计算所谓的视差图,它是对图像中检测到的不同深度的基本表示。通常,你不需要调整这些。当你熟悉StereoBM时,会有一些参数,可能需要微调参数以获得更好,更平滑的结果。它越大,可见深度的范围就越大,但是需要更多的计算。min_disparity:从开始搜索的左像素的x位置开始的偏移量。

2022-11-25 16:39:33 548

原创 opencv的极线几何

当我们使用针孔相机拍摄图像时,我们会丢失一个重要的信息,即图像的深度。一个解决方案如我们的眼睛的方式使用两个相机(两只眼睛),这就是所谓的立体视觉。PO1O2为极平面,l1和l2为极线,e1和e2为极点。原因:左边的摄像机,我们无法找到与图像中的点x相对应的3D点,因为线OX上的每个点都投影到图像平面上的相同点(没有一一对应),即图O中的一个点因为深度不确定。但是考虑右边的摄像机得到的图像。现在OX线上的不同点投射到右侧的不同点(xx')。所以对于这两幅图像,我们可以对正确的三维点进行三角测量。

2022-11-25 16:16:21 2218

原创 opencv的姿势估计讲解加上代码

我们绘制长度为3的轴,因此我们的X轴从(0,0,0)绘制为(3,0,0),对于Y轴从(0,0,0)绘制到(0,3,0),对于Z轴,从(0,0,0)绘制为(0,0,-3)。负号表示它被拉向相机。姿势估计:给定图像,我们可以利用相机矩阵,失真系数等来计算其中物体在空间中的位置。如果我们知道物体在空间中的位置,我们可以在其中绘制一些2D图来模拟3D效果。我们想在棋盘的第一个角上绘制我们的3D坐标轴(X,Y,Z轴)。X轴为蓝色,Y轴为绿色,Z轴为红色。在实际中,Z轴应该与我们的棋盘平面垂直,因为棋盘平面是Z=0。

2022-11-25 14:30:59 1046

原创 opencv相机校准和3D重建代码部分

返回来一个给定形状和类型的用0填充的数组;shape:形状dtype:数据类型,可选参数,默认numpy.float64order:可选参数,c代表与c语言类似,行优先;F代表列优先输出:reshape()函数的功能是改变数组或矩阵的形状a.reshape(m,n)表示将原有数组a转化为一个m行n列的新数组,a自身不变。m与n的乘积等于数组中的元素总数。reshape(m,n)中参数m或n其中一个可写为"-1","-1"的作用在于计算机根据原数组中的元素总数自动计算行或列的值。

2022-11-23 15:37:07 1170

原创 opencv的相机校准和3D建模的理论知识

当成像仪被粘贴在摄像机的时候,会存在一定的误差,是平面和透镜不完全平行,从而产生切向畸变,也就是说,如果一个矩形被投影到成像仪上时,可以会变成一个梯形,切向畸变可以通过如下公式校正,x,y,r,xcorreted,ycorreted参数跟以上意义一样。:也称真实或现实世界坐标系,或全局坐标系。3、图像坐标系:分为图像物理坐标系和图像像素坐标系,以摄像机拍摄的二维图片为基准建立的坐标系,指物体在图片的位置。:摄像坐标系的原点在摄像机的光心上,z轴与摄像机光轴平行,x,y 一般与图像物理坐标系的X,Y平行。

2022-11-22 20:44:21 2415

原创 Git和GitHub(尚硅谷的视频教学)

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

2022-11-03 17:27:31 378

原创 在学习java的基础上学习python

除了上述类型之外, Python 中还有 list, tuple, dict。

2022-10-31 16:03:45 742

原创 Node.js(黑马教程 在项目中操作 MySQL,前后端身份认证)

另外,具体使用何种开发模式并不是绝对的,为了同时兼顾了首页的渲染速度和前后端分离的开发效率,一些网站采用了首屏服务器端渲染 + 其他页面前后端分离的开发模式。客户端第一次请求服务器的时候,服务器通过响应头的形式,向客户端发送一个身份认证的 Cookie,客户端会自动将 Cookie 保存在浏览器中。随后,当客户端浏览器每次请求服务器的时候,浏览器会自动将身份认证相关的 Cookie,通过请求头的形式发送给服务器,服务器即可验明客户端的身份。因此,客户端不需要使用 Ajax 这样的技术额外请求页面的数据。

2022-10-24 16:16:09 146

原创 node.js (黑马教程 Express ,Express 路由,Express 中间件,使用 Express 写接口)

概念:官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。

2022-10-23 20:57:35 186

原创 Node.js(黑马教程 模块化 npm和包 模块加载机制)

和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域。模块作用域的好处防止了全局变量污染的问题使用 require() 加载自定义模块时,必须指定以 ./ 或 ../ 开头的路径标识符。在加载自定义模块时,如果没有指定 ./ 或 ../ 这样的路径标识符,则 node 会把它当作内置模块或第三方模块进行加载。

2022-10-22 23:04:16 206

原创 Node.js(初识node.js以及内置函数fs,path,http)(黑马视频教学day1)

首先我们在学习node.js时,我们要学习到JavaScript的一些基本理论1、为什么JavaScript能够在浏览器运行 因为浏览器上都有JavaScript的执行引擎2、为什么JavaScript可以操作DOM和BOM 因为浏览器都内部配置了DOM和BOM这样的API函数3、JavaScript运行环境如图所示一、node.js是什么:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。通过两个运行环境对比,内置API不同。

2022-10-22 17:51:50 191

原创 Docker(黑马视频教学的笔记,不包含环境配置)

Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的Linux机器上。总结来说:docker是一种容器技术,解决软件跨环境迁移的问题(解决运行环境和软件配置问题的软件容器)。镜像(Image):Docker 镜像(Image),就相当于是一个root文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套Ubuntu16.04最小系统的root文件系统。

2022-10-21 12:10:16 630

原创 笔试经常用到的方法,String,Map,Set,LinkedList

1、boolean startsWith(字符串a)是不是以字符串a开头的。2、boolean endsWith(字符串a)是不是以字符串a结尾的。remove(key)Hashmap删除这个key值下的value。10、repalce(字符串a,字符串b)替换字符串。12、contains(字符串a)包不包含字符串a。put(key,value)添加key-value。put(key,value)添加key-value。get(key)取得对应key的value。ndexOf(char) 从后向前查找。

2022-09-06 18:04:34 68

原创 SSM的了解

首先ssm分为Spring,SpringMVC,MyBatise以前的写代码的对象都是字节创建自己用(自给自足)现在有了ioC我们只要声明需要说明对象,对象的构建我们不用管,对象由Spring容器给我们注入进来的。这么看来ioC是一种行为,而依赖注入是思想。简单说 就是在不改变方法原代码的基础上,对方法进行功能增强本质上是生成了一个新的类,叫做代理类。

2022-09-06 17:19:59 406

原创 JVM后篇

存放方法,主要是指令数据,以字节码为代表的指令数据,也会有部分附属的方法基本信息(扩展来说,就是存放类信息)。有了GC之后,相对的解放了开发人员的心智,让开发人员只需要考虑什么时候需要一块内存,不需要考虑什么内存不再需要。从权力和义务的角度来讲,逻辑上把内存的使用权和所有权分离出来,我们只享受一段内存的使用权,没有所有权。由于整理过程,是GC变得复杂,耗时变得无法接受,需要进行设计,来对GC性能进行优化。GC相当于房东,有很多房间,分配内存(把房子租出去),回收内存(把房子收回来)...

2022-07-27 11:39:04 59

原创 JVM上篇

一、java代码的一生:一、开发阶段:需求分析,编码,编译,测试源码数据:一定储存在某个介质上,并且希望是持久化存储,所有一般保存在硬盘中,抽象成文件形式(一般以.java结尾,称为java文件)程序=数据+指令(保存在一个文件中,但是人类来说不容易理解,所以一般是分开的)一类.java文件包含了数据(静态属性,属性,字面量的具体值的能代表)和指令(方法,静态方法,构造器,初始化代码块等)数据全放在源文件中,管理起来不方便,所以构造性的数据单独存放(保存成数据库的数据,资源文件:视频,音频,文本,图片)一组

2022-07-25 17:31:08 56

原创 Linux常见命令行

cp-rf源路径目标路径递归式的把源目录下的文件复制到目标文件下。cp源文件路径目标文件路径把源文件复制到目标文件下。*通用符如rm-f*代表删除这个目录下的所有文件。mv源目录路径目标路径把源文件移到目标路径下。rm-f目录路径强制性删除目录,不提示直接删除。head-n3文件路径显示前3行内容。tail-n3文件路径显示后3行内容。cat-n文件路径显示行号查看文件内容。把A的标准输出,通过通道,到达B的标准输入。...

2022-07-20 12:21:32 2260

原创 前端三大法宝:HTML CSS JS JSON

搜狗一下bing一下百度一下

2022-07-20 09:52:06 496

原创 web项目的一些方法,步骤

首先把html页面创建出来例如:提交这个可以请求一个.js资源这时就可以在.js中创建ajaxvar xhr=XMLhttprequest()xhr.open('get','/.')再请求一个动态资源xhr.onload=function

2022-06-30 13:47:02 194

原创 每日一题:Day13

1、HJ74 参数解析import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); int count=0; for(int i=0;i

2022-06-12 17:08:30 62

原创 每日一题:Day12

HJ60 查找组成一个偶数最接近的两个素数:import java.util.*;public class Main { public static boolean iszhishu(int n){ for(int i=2;i*i

2022-06-12 11:21:17 51

原创 每日一题:Day11

1、HJ86 求最大连续bit数import java.util.*;public class Main { public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int count=0; int max=0; while(n!=0){ if((n&1)==1){ count+

2022-06-12 09:54:31 39

原创 HTTP协议 ,用Servlet开发动态资源,get post方法 资源重定向 面试题

静态资源vs动态资源:静态资源:提前写好的内容,tomcat读取文件即可动态资源:通过代码片段写好的内容,tomcat调用代码片段,运行生成内容首先有一个json的文件 其次有一个js文件,js通过创建XMLHttpRequst对象xhr来进行发送HTTP请求再调用对象发送要求资源的方法 xhr.open("请求方法","要请求资源的路径")再通过事件驱动的方式接收响应内容,改变DOM树xhr.onload=fuction{}:其中xhr/this是事件源,xhr.responseTest是响应体 有一个

2022-06-10 16:39:42 155

原创 HTTP协议

HTTP协议是应用层的协议,是超文本传输协议(以资源为单位)(文本型协议对人类便利,计算机不友好)其是应用层协议,用户态的程序依赖传输层协议支持版本分为:1.0 1.1(基于tcp) 2.0 3.0(基于udp)HTTP协议客户端:浏览器 App应用等HTTP协议服务器端:web服务器/HTTP服务器客户端请求资源,服务器端响应资源首先介绍HTTP协议请求:HTTP要说明请求什么资源:①请求哪个资源②本次请求的操作③描述请求内容(请求元信息)④可能携带的资源内容唯一资源描述符(URI) 唯一资源定位符(UR

2022-06-08 17:31:23 67

原创 每日一题:Day9

1、CM72 另类加法给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。测试样例:A^B是不进位的两数相加(A&B)<<1是进位的两数相加只有当没有进位了,才可以直接相加 即(A&B)<<1=0返回A^Bimport java.util.*;public class UnusualAdd { public int addAB(int A, int B) { // write c...

2022-06-02 14:58:52 79

原创 每日一题:Day8

1、WY22 Fibonacci数列Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。import java.util.*;public class Main {public static void main(String[] args){.

2022-05-28 16:55:42 53

原创 每日一题:Day7

1、WY20两种排序方法考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" < "carriage" < "cats" < "doggies < "koala"2.根据字符串的长度排序。例如:"car" < "cats" < "koala" < "doggies" < "carriage"考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树.

2022-05-28 16:23:11 64

原创 IP协议(网络层)以太网(数据链路层)

一、IP地址IP地址:IP地址分为IPv4(32位无符号整数)IPv6(128位无符号整数)IP地址是由网络号(标志主机在哪个网络)和主机号(主机在网络是多少编号)组成IP地址大多是IPv4,可以用点分法表示如:192.168.3.154 而IPv6则是没有点早期IP地址划分为:把IP地址前一个数,转二进制即可看出是哪一类怎么划分网络号和主机号呢 就是用子网掩码(mask)网络号:是IP与上子网掩码的结果主机号:是IP与上子网掩码的反码的结果A类的IP地址范围(10.

2022-05-27 13:11:21 1990

原创 每日一题:Day6

WY16 不要二1、二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。因为欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 且不

2022-05-26 18:49:44 1074

原创 Day5 每日一题

1、牛客:WY18统计回文“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。string和stringbuilder的区别:string是常量是不能修改的,stringbuilder..

2022-05-26 17:05:03 75

原创 传输层的udp和tcp协议

一、udp协议udp是传输层(进程到进程)的协议,是面对数据报,无连接,不可靠以下为udp协议的形式:16位udp长度,表示整个数据报(udp首部+udp数据)udp是定长的包头,方便进行解包校验和:发送端(udp):按照cpc算法,将内存计算出checksum值,记为n1,填充到包头中,接收端(udp) 接受数据,计算n2,如果n1!=n2说明数据不同,直接丢弃,如果相等则大概率数据是正确的,可以正常交付。实现步骤:1、socket 有本地端口 填写 源端口..

2022-05-26 15:23:56 562

原创 计算网络原理和其中的tcp协议和udp协议

一、首先了解网络分层从高向下为:应用层->传输层->网络层->数据链路层->物理层从它们功能进行划分如下:这里面有很多名词要解释一下:一、首先局域网(LAN):就好比国家 而广域网(WANW):就好比世界二、集线器:只负责对数据的复制,所有主机都能收到(为了让目标主机收到数据,我们需要在数据中携带协议)如图所示三、交换机:就是在寄存器的基础上,知道数据应该发给谁,只发给该主机四、路由器:是划分多给LAN的设备,同时属于多个LAN五、MA

2022-05-23 21:44:25 308

原创 每日一题_Day4:1、WY33 计算糖果(牛客) 2、DD5 进制转换

1、import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int a=scanner.nextInt(); int b=scanner.nextInt(); int c=scanner.nextInt(); int d=scanner...

2022-05-15 15:16:10 870

原创 每日一题_第三天:1、字符串中找出连续最长的数字串 2、

1、import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); String cur=""; String end=""; int i=0; for( i=0;i...

2022-05-15 14:12:18 85

空空如也

空空如也

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

TA关注的人

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