自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot入门

快速搭建Spring环境,是Spring的顶级项目之一,只是提供了快速Spring 项目的方式,并没有在功能上进行增强。

2023-03-08 16:16:46 146

原创 SpringBoot自动配置

Bean //这个ClassCondition类是自己定义的,判断条件由这个类中重写的matches方法完成 // @Conditional(ClassCondition.class) @ConditionOnClass("redis.clients.jedis.Jedis") public User user() {} }@Target({

2023-03-08 16:15:48 144

原创 SpringBoot整合第三方库

整合Redis在不进行任何配置的情况下,会默认使用本地的redis,如果在实际开发过程追踪,可以使用application.properties进行ip和port的配置。

2023-03-08 16:13:31 196

原创 SpringBoot配置

SpringBoot是基于约定的,很多配置都是使用默认值,如果想要使用自己的配置替换默认配置,可以使用或者两种不同的配置方式,另外SpringBoot的配置文件必须是或者注意,port的冒号后面需要有一个空格不然会出现报错的问题在SpringBoot,如果三种配置文件都存在,那么优先使用然后是最后。

2023-03-06 11:25:45 141

原创 Spring注解开发

可以通过Bean标签进行设置。

2023-03-02 14:07:41 126

原创 SpringBean的生命周期

SpringBean的生命周期在Bean实例化之后,到Bean成为一个完整的对象,最终存储到单例池中,总体分为。

2023-02-25 21:25:52 43

原创 Spring配置非自定义bean

connection不同于上面创建dataSource通过new一个实例化对象进行创建,而是通过方法返回实现的。这里就需要运用到之前学习过的实现。

2023-02-25 15:05:10 129

原创 Spring的BeanFactory后处理器

Bean后处理器,是在Bean被实例化后存储到singletonObject单例池之前,会进行相应的处理,中间会经过Bean的初始化过程,例如属性填充,init等执行,其中一个就是Bean后处理器。通过继承BeanDefinitionRefistryPostPorcesser更方便的实现后处理器注册BeanDefinition。

2023-02-25 15:03:31 46

原创 Bean实例化流程

Spring Bean实例化过程

2023-02-23 21:19:58 90

原创 基于XML的Spring应用

beans标签可通过prifile来区分测试环境与运行环境 ,如果没有被包含在任何环境下的默认标签,则表示公共使用,另外beans在使用的时候需要放在默认标签的后面,否则会报错,存在顺序问题。静态工厂和动态的区别在于静态工厂直接指定class的方法创建一个Bean对象,实例工厂则是通过已有的某个Bean的其中一个方法创建一个Bean。不管是property还是constructor-arg,如果是普通的参数值都是用value,如果是bean的引用就是用ref。如果是集合,List Map等。

2023-02-23 20:19:21 65

原创 Spring基本概要

强调Bean之间的关系,这种关系第三方负责设置。例如Bean1的产生依赖于Bean2的存在。主要实现就是Proxy,对某一个Bean进行功能增强。常用的ApplicationContext的三个作用。指原来在程序中船舰Bean的权利反转给第三方。创建对应的Bean类以及相应的xml配置文件。需要导入Spring-context包。实现参数的传入,这也就是控制反转。通过配置清单构建各种Bean类。测试Bean的创建是否成功。

2023-02-23 16:07:15 41

原创 java-多线程线程锁

代码编写上非常简单,但是相对来能进行的操作就收到了限制。

2022-11-29 19:37:09 86

原创 Wireguard服务器客户端搭建

虽然wireguard在官网文档里面并没有明确的服务端和客户端之分,两者在使用权限地位上是平等的,但是由于我们通过每一个接入终端的公钥私钥都在一个主机上生成,然后由这个主机分发密钥,因此我们将这个生成公私钥的主机成为服务端,其他所有设备都成为客户端。

2022-11-23 14:23:14 3289

原创 Python-迭代器、修饰器、生成器

在python中几乎所有的容器都会有一个__iter__的内置方法,用来返回一个迭代器。迭代器其实可以理解成for循环的一个下层组成部分,for就是利用不断的迭代直到报错退出for循环实现list或者其他容器中元素遍历的。迭代器的使用主要包含两部分,首先利用iter()函数构建容器的迭代器,在利用next()函数使用迭代器进行迭代,当迭代器已经完成了所有元素的迭代之后就会报错。在理解上迭代器可以看成是一个指针,初始状态下指向容器的第0个元素,每next一次就向后移动一个元素。

2022-09-10 20:18:15 256

原创 Carla0.9.13创建小车并附加摄像头

创建小车+摄像头# 找到Carla包的路径import globimport osimport systry: sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % ( sys.version_info.major, sys.version_info.minor, 'win-amd64' if os.name == 'nt' else 'linux-x86_64'))

2022-04-26 22:53:52 838

原创 git+github入门使用,记录常规指令

Git和GithubGit是运行在电脑上的版本控制软件,GitHub则是基于Git打造的网站Git有三个概念:提交commit、仓库repository、分支branch。下载github项目进入到想要下载到的文件夹目录,使用gitbash输入指令。git clone github地址,另外使用其他人的项目注意关注他人的LICENSE,是否有做一些限制。在搜索栏中查找awesome xxx可以快速找到和这个技术相关的开源项目,最重要的是官方文档.xxx sample查找相关例子xxx st

2021-12-07 11:52:00 82

原创 windows10 Carla0.9.13安装与入门

前言最近需要找一款能够模拟车辆的仿真软件,用来验证自动驾驶算法。在各种搜索引擎百度、Google、bing查找这类关键字,发现大部分都是给出了perscan、carsim、gazebo的答案。但是都不符合要求。Perscan:从调研结果来看是自动驾驶仿真软件里面的老大,但是这款软件收费(非常非常贵),而且据说只能安装在一台电脑上(进行了MAC绑定?),这一点没有证实,但是贵是真的。Carsim:也同样是一款专门针对车辆的仿真软件,能够很好的模拟车辆的各种参数,更接近真实车辆,安装尝试了一下(请支持

2021-12-06 15:42:54 5298 2

原创 python-pip源 和 Ubuntu apt-get源

各种Pip源、安装源总是忘记,记录一下pip源默认源 https://pypi.python.org/simple清华大学 https://pypi.tuna.tsinghua.edu.cn/simple阿里云 https://mirrors.aliyun.com/pypi/simple中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple参考链接:https://blog.csdn.net/Javaer2014/article/details/8494

2021-12-03 20:44:25 250

原创 opencv-python, cv2无法使用智能提示问题解决

在使用pycharm导入opencv-python无法使用智能提示问题解决方法。import cv2# 代码可以正常执行,但是却没有智能提示if __name__ == "__main__": img = cv2.imread("img.jpg")具体原因并不清楚,因为我有两个开发环境都包含opencv-python,另一个环境是可以有智能提示的说明并不是电脑的原因,可能是环境的问题哪里设置不对吧。看了一下网上很多方法都比较麻烦,而且我试了几个没什么效果,可能是我配置的不对,接下来是我的解

2021-11-16 15:52:52 4899

原创 欧拉角到四元数之间的转换代码

欧拉角到四元数之间的转换from math import cos, sin, pi, atan2 ,asindef ToQuaternion(): #欧拉角(x, y, z)转换为四元数(q0, q1, q2, q3) #x , y , z 单位为角度 x, y, z = 0, 0, 180 x, y, z = x*pi/180 ,y*pi/180 ,z*pi/180 q0 ,q1 ,q2 ,q3 = 0 ,0 ,0 ,0 q0 = cos(x/2)*

2021-11-16 15:40:29 719

原创 OpenCV学习

OpenCV-代码简单实践import cv2print("Package imported")img = cv2.imread("img/test.jpg")#第一个参数是窗口名称,第二个参数是图像参数cv2.imshow("output",img)#0表示无限延长 其他以毫秒为单位cv2.waitKey(0)import cv2cap = cv2.VideoCapture("img/20210318.mp4")while True: success, img =

2021-11-09 09:49:02 436

原创 Anaconda安装pip

使用anaconda的时候不小心删除了pip,当时很多东西不能下载安装,包括没有easy_install,其他网上方法试了一下都不太行(可能是我没搞对),找到一篇博客试了一下感可以,做一下记录。https://bootstrap.pypa.io/get-pip.py 打开链接,将文本存到本地,命名为get_pip.py.然后通过已经安装的python3解释执行这个文件:在anaconda中执行部python /路径/get_pip.pypip3 安装完成。...

2021-11-09 09:47:15 6252 2

原创 Python-线程技巧

外部结束指定线程def test(x,y): t= threading.currentThread() # 这里的参数相当于是线程的一个属性 while getattr(t, "flag", True): print(x) time.sleep(1)if __name__ == "__main__": x = 1 y = 2 # args的值最好后面添加一个逗号 t = threading.Thre

2021-11-05 11:39:18 225

原创 Redis(6):Redis持久化

RDB在制定的时间间隔内将内存中的数据集快照写入到磁盘中去,也就是文件中.rdb文件。恢复的时候可以把数据直接读取到内存中去改变的数量更多,那么更新置换的时间就更短。Redis会创建一个子进程将数据存储到一个临时文件中去,等持久化过程结束以后,就会把这个临时文件写到磁盘中去,时间数据段持久化RDB在最后一次持久化后的数据不会被存储,可能会存在数据的丢失命令save:save只管保存,其他不管,全部阻塞。手动保存并不推荐使用这种方式bgsave:是在Redis后台异步进行快照操作,快照同时还可以

2021-10-12 10:31:15 82

原创 Redis(5):Redis事务和锁

Redis事务事务就是创建一个任务,整个事务是不可中断的,是一个单独的隔离操作。事务的主要作用就是串联多个任务,不可被别的命令插队

2021-10-12 10:30:36 53

原创 Redis(4):Redis订阅和发布

Redis订阅发布订阅发布是一种消息通信模式:发布者发送消息,订阅者接受消息Redis客户端可以订阅任意数量的频道。发布订阅命令的实现进入客户端后subscribe channnel订阅对应的频道在另一个客户端中publish channel msg会向channel中发布MSG消息,在订阅客户端中就会受到这条消息...

2021-10-12 10:30:05 47

原创 Redis(3):常用数据类型

Redis常见数据类型Redis键(KEY)keys *:查看当前数据库中的所有keyeixsts key:查看在redis中是否存在这个keytype key:查看键的数据类型del key:删除掉对应的键值对unlink key:这个也是键值对的删除操作,但是真正的删除是延后进行的,在后续一部操作中完成expire key 10:时间以秒为单位,表示key键值对的过期时间ttl key:查看key的生存时间,-2表示已经过期,-1表示永久不过去dbsize:查看当前数据库中的key的数

2021-10-12 10:29:34 70

原创 Redis(2):Redis概述安装

Redis概述安装Redis是开源key-value存储系统Redis安装Redis官方网站:http://redis.ioRedis中文官网:http://redis.cnRedis都是在Linux系统中使用,微软有开发Windows系统,但是一般还是在Linux中使用Redis安装前都需要准备环境,安装GCC。gcc --version:可以查看GCC版本,以及验证是否GCC安装成功Ubuntu18.04安装redis教程:https://blog.csdn.net/wudics/art

2021-10-12 10:29:02 58

原创 Redis(1):NoSQL数据库简介

NoSQL数据库简介网页服务器本身依赖于设备的CPU以及内存,如果访问量过大存在CPU及内存压力数据库服务本身依赖于设备的IO操作,如果访问量过大就可能存在IO压力NoSQL不需要进行IO操作,数据可以完全存放在内存中。可以减少CPU、IO压力,可以直接作为缓存使用。NoSQL(Not only SQL)泛指非关系型数据库:不遵循SQL标准;不支持ACID;远超于SQL的性能;适用于对数据高并发的读写;海量数据读写;对数据高扩展性的要求...

2021-10-12 10:28:46 56

原创 李沐动手学深度学习08线性回归+基础优化算法

08线性回归+基础优化算法线性模型中n维输入就可以用向量表示,n维权重也可以用向量表示,以及一个标量偏差(这其实就是普通的变量,例如y=ax+b中的b)。通过向量表示就可以是y=<w,x>+b(内积+b)。衡量预测质量:损失函数=1/2(真实值-估计值)^2,前面的常量是为了求导的时候可以凑1。这样的函数成为平方损失训练损失中,1/2是平方损失中原本就有的,1/n是为了求每个训练样本的平均损失;<xi,w>是求每个样本的估计值,右侧的向量版本可能更容易理解。最小化损失就是为

2021-10-09 16:19:27 286

原创 李沐动手学深度学习-07自动求导

07自动求导对于矩阵的求导可以使用函数自动实现,但是还是需要学习一下具体的过程。链式法则等导数计算方法,截图主要用于帮助理解反向传递正向和反向的计算方法相比,在时间复杂度上两者并没有太大的查遍,但是内存复杂度不同,正向传递需要把所有结果都存下来,需要消耗大量的GPU内存资源。x = torch.arange(4.0)print(x)x.requires_grad_(True) # 等价于x=torch.arange(4.0, requires_grad=True)x.grad # 默认值为

2021-10-04 20:05:54 159

原创 李沐动手学深度学习-06矩阵计算

06矩阵计算矩阵计算中最重要的就是矩阵的导数计算,这对于深度学习或者机器学习的训练与优化都是非常重要的依据如果dy/dx,如果y是一个标量,而x是一个向量,那么就需要使用y的这个表达式,对x1,x2全部求一次导,然后变成一个向量;相反如果y是一个向量而x是一个标量的话,那么每一个y都需要对指定的x进行求导;如果x,y都是向量,那么就是每一个y都需要对每一个x进行求导。拓展到矩阵可以看出,如果矩阵和向量进行求导运算,那么结果就会变成一个三维。如果矩阵和矩阵进行进行求导运算的话那么就会变成以四维的结果。

2021-10-03 20:16:28 206

原创 李沐动手学深度学习-05线性代数

05-线性代数这一节课从数学上面讲一下线性代数,包括向量加减乘,模长点乘正交等内容,都学习过所以就不写了。A.T # 表示A矩阵的转置torch.arange(24),reshape(2,3,4) # 首先是第三维的层数,然后行数,最后是列数B = A.clone() # 这种方法是和copy差不多,是完全的复制A * B # 并不是矩阵的相乘,而是元素相乘,这点需要注意2 + A # 如果是标量和矩阵进行计算,那么就是这个标量和所有的元素进行计算A_sum0 = a.sum(axis

2021-10-03 19:29:38 99

原创 李沐动手学深度学习-04数据操作+数据预处理

李沐动手学深度学习-CH04数据操作的实现这边的内容感觉不太需要记录,所以就没有写了,忘记了就查找一下嘛。只是简单记录值得注意的是如果向量形状不一样,他会有一个广播机制,当然这个广播机制的使用也是有一定条件的(可扩展)A = X.numpy() # 转换成Numpy张量B = torch.tensor(A) # 重新转换为torch创建CSV文件通过python的os库我们可以创建对应的CSV文件,f.write里面的会分割每一个值,放置到不同的单元格中去import torchim

2021-09-25 21:44:49 239

原创 视觉Slam14讲实验笔记——ch2

视觉SLAM14讲实验笔记——CH2:视觉SLAM14讲——实验2CentOS7 C++环境准备:实验用CentOS7操作系统如果没有C++编译环境键入下面命令:安装gccyum install gcc安装g++yum install gcc-c++安装gdbyum install gdb书中提到用下面这个命令sudo apt-get install g++并且还需要安装cmakewget https://cmake.org/files/v3.3/cmake-3.3.

2021-05-11 17:50:36 434 1

C++聊天程序(客户端 文件服务器 聊天服务器)可直接运行 附源码

Microsoft Visual studio 2010版本 C++语言程序可以实现局域网内的信息通信和文件传输 学生制作 不会非常优秀 但是可以正常使用 不需要其他的配置 通信前需要关闭防火墙

2020-01-19

空空如也

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

TA关注的人

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