- 博客(132)
- 资源 (2)
- 收藏
- 关注
原创 ImGUI项目建立(cmake+MinGW64)
ImGui是一个轻量级的C++图形界面库,它可以用于创建各种交互式的工具和编辑器。具有跨平台、高性能的特点。
2023-06-24 21:47:57
3771
3
原创 cartopy安装问题记录
到这时才发现,shapely提供的geos_c.dll和pyproj提供的proj.dll文件并不是我自己编译的,而且这两也不是用mingw编译的,所以可能导致我自己编译的cartopy根这两个依赖库不兼容,而在那个网站下载的,也许人家都是采用vc++编译器编译,所以不会有问题。但是,编译proj库又遇到问题,编译的时候proj又依赖了sqlite、tiff等库(没错,不止2个库),等我把所有依赖的这些库都下载也编译好后,环境也配置了一遍,最后终于把proj给编译好了。
2023-06-17 08:00:00
648
原创 C++ OpenCV编译安装教程
C++配置OpenCV,之前大一配置过一次,但当时完全不懂,这次想用一下opencv于是重新配置了,并写个教程记录下来。
2023-05-13 11:56:52
3253
原创 ESP32+Arduino+OLED+u8g2播放视频
ESP32采用Arduino开发,结合u8g2模块可以很方便地实现在oled上显示图片。
2023-02-02 21:26:36
4567
8
原创 ArduinoIDE快速搭建ESP32开发环境
ESP32快速搭建开发环境,两种方法,第二种适用于网速慢的情况,后面还有ESP32开发板的引脚图
2022-06-23 10:43:51
1473
3
原创 STM32产生随机数
STM32有2种方式产生随机数:硬件方式和软件方式软件方式其中软件方式可以通过C语言标准函数stilib.h的srand()和rand()来获取随机数,使用步骤为:使用 srand(seed)来设置随机数种子。我们知道种子不改变的时候,产生多个随机数的时候,第一次产生的数字是随机的,后面产生的都与第一次相同。在单片机中,种子通常可以设置为定时器的一个计数值,也可以通过采集某个GPIO引脚悬空时的值作为随机数的种子通过 rand() 函数获取一个随机数硬件方式STM32F4 自带了硬件随机数发
2022-05-30 20:28:55
11594
4
原创 STM32常用初始化代码块(STM32F407)
目录GPIO初始化定时器中断配置外部中断配置串口使用初始化发送数据接收数据GPIO初始化例如需要使用PA8,PC8,PC9void My_Gpio_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOC, ENABLE); //启动PA/PC的时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pi
2022-05-15 17:18:06
4381
原创 you-get下载bilibili视频
首先要安装“you-get”工具,这是一个python工具,所以需要用 pip install you-get 命令安装去B站复制所需要下载视频的URL链接,然后使用下面的语句进行下载:you-get -l URL # 批量下载需要指定视频清晰度的(比如要下载1080p的),需要先查看所下载的视频有哪几种清晰度的:you-get -i URL # 查看视频信息(这个步骤不会下载) 如图:然后输入格式即可下载指定清晰度的视频,如下载1080P的:you-get -l --f..
2022-04-03 23:09:32
2420
原创 STM32智能家居项目设计
前言该项目是嵌入式课程学习最后的一个项目设计,做的不是很好(大佬勿喷…),特别是STM32数据处理部分,因为刚学的STM32,并且对C语言的指针等的使用也有些生疏(虽然学过,但大部分都忘了),不敢随便用,所以有些代码设计不好,只能完成一些简单功能。ESP8266使用的是NodeMCU开发板,用ArduinoIDE开发(因为有很多现成的库,资料也多)。APP制作用的是Android Studio开发,从网上参考了很多人的代码,最后修改成自己的。前后花了差不多2周时间(主要是中间还有课要上,一些知识也得现学)
2021-11-18 15:08:58
8299
12
原创 13-实现springAop的3种方式
文章目录aop实现方式1(实现spring接口)导包业务模块service代理模块测试Aop实现方式2(自定义切入类)aop实现方式3(使用注解开发)项目地址aop实现方式1(实现spring接口)导包使用之前要导入依赖包<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-con
2021-08-08 21:33:33
122
原创 12-动态代理
文章目录动态代理动态代理项目地址底层用到反射动态代理与静态代理角色一样动态代理的代理类是动态生成,并非我们直接写好分类:基于接口和基于类的基于接口——JDK动态代理基于类——cglibJava字节码实现——javasist需要了解2个类:Proxy:调用newProxyInstance 方法用于生成代理角色InvocationHandler:重写 invoke 方法,指明代理角色要处理的功能,详细查看项目//这是一个用于创建代理角色的类,不是代理类public
2021-08-03 15:08:20
102
原创 11-静态代理分析
文章目录静态代理角色分析代理模式实现业务静态代理角色分析项目地址抽象角色:用接口或抽象类解决package com.ajream.demo01;public interface Rent { public void rent();}真实角色:被代理角色,比如房东package com.ajream.demo01;public class Host implements Rent{ @Override public void rent() {
2021-08-01 23:16:29
89
原创 10-使用注解开发
文章目录使用注解开发依然使用xml配置文件来管理使用Java的方式配置spring使用注解开发依然使用xml配置文件来管理项目地址spring4之后,要使用注解开发,必须保证aop的包导入了使用注解开发,要导入context约束,提供注解的支持<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:
2021-08-01 16:12:19
146
原创 9-注解实现自动装配
文章目录使用注解实现自动装配使用@Autowired注入@Qualifier@Nullable使用@Resource 注入使用注解实现自动装配点击跳转到工程spring除了用xml配置文件来实现属性注入以外,还可以使用注解实现注入@Autowired //通过byType实现自动装配,而且必须要求这个对象存在@Resource //默认通过byName实现自动装配,如果找不到名字,就通过byType自动装配,2个都不行的话就报错使用@Autowired注入要使用注解,首先要在xml文件
2021-08-01 16:10:36
163
1
原创 8-命名空间和bean作用域
文章目录命名空间和bean作用域命名空间p命名空间c命名空间bean作用域scope单例模式原生模式其他命名空间和bean作用域命名空间p命名空间在beans中添加p命名空间的支持xmlns:p="http://www.springframework.org/schema/p"以前要对一个属性进行注入,一般是按这种方式:<bean id="person" class="com.ajream.pojo.Person"> <property name="name" va
2021-07-31 20:32:07
240
原创 7-spring自动装配(1)
文章目录bean自动装配代码分析bean自动装配代码用一个项目来说明,如下:其中各个文件代码如下:Cat:package com.ajream.pojo;public class Cat { public void shout(){ System.out.println("miao~"); }}Dog:package com.ajream.pojo;public class Dog { public void shout(){
2021-07-31 17:30:23
99
原创 1-spring框架介绍
文章目录spring框架介绍spring是什么spring结构spring优点spring模块划分spring框架介绍spring是什么spring框架是一个开源JavaEE应用程序主要核心是IOC(控制反转/依赖注入)和AOP(面向切面编程),除此还有一些如springJDBC+事务等的东西spring是基于分布式的应用程序基于轻量级框架配置管理Bean对象实例化-IOC集成第三方的框架mybatisspringMVC……自带服务邮件mail发送.
2021-07-30 21:24:26
118
原创 5-spring的bean配置
spring的bean配置别名aliasbean可以拥有别名<alias name="fromName" alias="toName"/>例如:<bean id="user" class="com.ajream.pojo.User"> <property name="name" value="章三" /> <property name="age" value="20" /></bean><alias name
2021-07-30 21:06:28
137
原创 4-ioc创建对象方式
ioc创建对象方式构造函数法User.javapackage com.ajream.pojo;public class User { private String name; public User(String name){ //构造函数 this.name = name; } public String getName(){ return name; } public void show(){
2021-07-30 17:37:35
92
原创 3-HelloSpring项目
HelloSpring项目使用maven创建创建后目录结构如下:pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.
2021-07-29 13:54:31
137
原创 2-ioc控制反转思想
目录IOC控制反转思想举例1. 创建工程2. 代码实现Dao层没有使用控制反转时的业务层使用控制反转后的业务层3. 一张图表示三者之间关系IOC控制反转思想举例1. 创建工程利用Maven创建一个空白工程spring1,其目录结构如下:然后创建以下几个接口和类:Dao层Service业务层用户层(test表示用户测试)2. 代码实现目标:用户要在test1中创建一个对象,调用Dao层的某个方法 getUser()来实现某种功能Dao层UserDao接口:package com
2021-07-28 22:27:34
128
原创 c++字符串与复杂输入处理
目录string字符串分类字符串数字转为数字型基本操作复杂输入处理无结束标志的数据输入整行输入string字符串分类C风格字符串:以 '\0' 结尾的 char 数组。c++风格 string:STL中提供的字符串类,进行了封装。在ACM中,在不配合容器等的使用中 ,推荐使用C风格字符串,其操作更灵活。字符串数字转为数字型很多时候都会遇到将字符串作为输入转换为数值或者把数值转为字符串的情况。有如下几种解决方案使用中的函数atof(char *str) 转译C风格字符串str为浮点
2021-07-05 21:52:29
227
原创 c++算法库
c++算法库 <algorithm> 提供大量用途的函数(例如查找、排序、计数、操作),它们在元素范围上操作。注意范围定义为 [first, last) ,其中 last 指代要查询或修改的最后元素的后一个元素。first、last为指针或迭代器swap(T a, T b) //交换a, b值reverse(first, last) //反转 [first, last) 范围中的元素顺序vector<int> v{1,2,3};revers
2021-07-05 21:31:30
1887
原创 C++ 容器
文章目录vector动态数组stack栈queue队列priority_queue优先队列(堆)set集合有序、不可重复集合set有序、可重复集合multiset无序集合unordered_set、unordered_multisetmapmap有序unordered_map 无序参考网页vector动态数组特点:可变数组(动态数组),可在末端快速插入、删除,可随机访问任何元素。实现动态增长原理: 数组满了后,再往里面添加元素,cpu会申请更大空间,把原数组数据copy到新空间中,再把新元素插
2021-07-04 23:13:44
214
4
cartopy及相关第三方库
2023-06-18
esp8266.rar
2021-08-07
MNIST-data.rar
2020-07-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人