- 博客(35)
- 收藏
- 关注
原创 QT黑白棋AI项目详解:一种另类的绘制方式_qt黑白棋教程
绘制如下:这个项目的重点就是在一开始就把棋盘的起点坐标和方格的大小都知道了,从而当鼠标点击的时候,就会知道点击的是哪个方格。if( num = judgeRole(i, j, role, false) > max){//寻找最多吃子的位置。电脑下子时:找到的是最大吃子的位置,而且调用的是。//判断能吃的位置,机器为黑子。
2024-05-17 07:15:21
373
原创 QT项目之文件重复检测_qt包含的无效 重复头文件怎么检查
/按钮的关闭,最大,最小化//设置边框阴影else//设置边框阴影//开启线程//利用moveToThread方式将md5这个类加入到该线程中,则md5对象的操作都是在这个线程中操作了。
2024-05-17 07:14:13
389
原创 Qt边框border概述_qt border
border-style 属性用于设置元素所有边框的样式,或者单独地为各边设置边框样式。只有当这个值不是 none 时边框才可能出现。
2024-05-17 07:13:38
933
原创 Makefile中的$@, $^, $<; , $ , $%, $+, $
@ 表示目标文件$^ 表示所有的依赖文件$< 表示第一个依赖文件表示比目标还要新的依赖文件列表%”就是“bar.o”,“$@”就是“foo.a”。如果目标不是函数库文件(Unix下是[.a],Windows下是[.lib]),那么,其值为空。这个变量很像^”,也是所有依赖目标的集合。只是它不去除重复的依赖目标。KaTeX parse error: Undefined control sequence: \* at position 1: \̲*̲ 这个变量表示目标模式中“%”…
2024-05-17 03:35:49
1116
原创 Makefile中的$@, $^, $<; , $ , $%, $+, $ (1)
这个变量很像^”,也是所有依赖目标的集合。只是它不去除重复的依赖目标。KaTeX parse error: Undefined control sequence: \* at position 1: \̲*̲ 这个变量表示目标模式中“%”…*”的值就是“dir/a.foo”。这个变量对于构造有关联的文件名是比较有较。如果目标中没有模式的定义,那么“
2024-05-17 03:35:15
682
原创 Eolink神技之二、API全生命周期管理_接口完整的生命周期管理
整个项目中的API管理是一个非常麻烦的事情,从代码接口文档管理到接口用例管理以及自动化接口测试、API网关、API监控等,都是一系列的问题。根本不是一两个人能全部搞完的,那么很大程度上出现了人资的困难,
2024-05-16 22:36:33
1067
原创 Eolink神技之二、API全生命周期管理_接口完整的生命周期管理(2)
我提供的这个组是一套数据库的sql测试,我们可以选中后直接进入控制台,点击右侧的【测试】按钮,等待测试完毕后我们能看到测试结果,测试结果是可以具体查看的,我们点击测试的结果,这里的结果是【通过,查看详情】。其实,作为一个资深的程序员,我对接口的总反应时间是非常看中的,我们打开【API请求时间分析】,在其中我们能看到各步骤的时间消耗,对于接口的优化非常有帮助。因为显得很【厉害】啊。API的【测试】【修改】【删除】操作都在对应的用例接口列表中,我们可以直接操作,现在的步骤我们点击【测试】。
2024-05-16 22:35:59
733
原创 Eolink神技之二、API全生命周期管理_接口完整的生命周期管理(1)
我提供的这个组是一套数据库的sql测试,我们可以选中后直接进入控制台,点击右侧的【测试】按钮,等待测试完毕后我们能看到测试结果,测试结果是可以具体查看的,我们点击测试的结果,这里的结果是【通过,查看详情】。我自己启动了个本地的接口服务,从注释上就能看出来,这是Eolink的全自动注释,后面我会有对应的文章进行具体的配置讲解。批量测试显示结果的空间是有限的,我们无法查看所有的接口具体测试结果,所以有了查看详情的操作。我们开始正式的添加最底层的API操作了,首先我们演示的是添加API请求操作。
2024-05-16 22:35:25
967
原创 EMQX webhook实现转发消息到java web服务器并保存到MySQL数据库
之前写过一篇关于EMQX数据持久化到MySQL数据库,但由于这个功能需要EMQX企业版才能实现,而企业版的费用对于我这种学生党而言实在难以负担。于是,我在EMQX官方发现另一种方法也可以实现保存数据。官网对于webhook的示例http协议与格式web项目基本结构java语言window系统安装tomcatlinux系统安装tomcateclipse官网下载思路:设备的数据上传到emqx服务器,我们需要一个web服务器来接收EMQX服务器post过来数据,然后再将数据保存到数据库。
2024-05-16 22:34:51
455
原创 Android面经_安卓基础面全解析(7 30)之消息机制全解析(上)_cvte message消息队列
可以看出来,无论是post还是send,最后都是用SystemClock.uptimeMillis()获取系统开机到当前的时间,加上我们设置的delayMillis时间,并调用sendMessageAtTime()方法做进一步逻辑。同时,从2.2.2小节的代码案例也可以看到我是用Message.obtain()来获得一个Message实例的,因为这种方案是直接从Message的消息池里直接获取,避免了new Message()的重复创建开销。重点继续看看注释1,Looper.myLooper()做了什么?
2024-05-16 14:34:20
278
原创 Android面经_安卓基础面全解析(7 30)之消息机制全解析(上)_cvte message消息队列(2)
从注释1看出来,仅仅是从sThreadLocal获取一个Looper变量。思路继续,我们从sThreadLocal变量入手,如何初始化的?在哪里使用?有get()那就一定有set()。如果某些数据在不同的线程作用域下有各自的数据副本,那么可以用ThreadLocal对数据进行线程隔离。从两个两个函数很容易知道,通过调用Looper.prepare()函数即可执行到注释2,将新new出来的Looper放到sThreadLocal里,供Looper.myLooper()去获取。
2024-05-16 14:33:45
332
原创 Android面经_安卓基础面全解析(7 30)之消息机制全解析(上)_cvte message消息队列(1)
Handler消息传递机制,从名字看就可以联想到是Handler会发送出一个一个消息,同时系统会根据每一个不同的消息进行不同的处理流程。具体如何实现,直接上图。图片来自参考目录1。Handler:主要作用是发送信息以及处理信息(为何发送还自己处理?),其中发送的信息叫作Message,可以传递数据哦;MessageQueue:消息队列,由一个一个Message汇成,遵循先进先出规则,由Looper进行管理;
2024-05-16 14:33:10
309
原创 Android系统移植技术详解_sudo apt-get install libesd0-dev
endifinclude $(BUILD_STATIC_LIBRARY) 模块一编译成静态库include $(CLEAR_VARS) 模块二libutils \libmediaelseendifendifendifinclude $(BUILD_STATIC_LIBRARY) 模块二编译成静态库include $(CLEAR_VARS) 模块三libutils \libmedia \elseendifelseendifendifendifendifendif。
2024-05-16 14:32:34
311
原创 从MVC到前后端分离(Rest框架搭建)_mvc rest框架
可见,请求路径相同,但请求方式不同,所代表的业务操作也不同,例如,/advertiser/1 这个请求,带有 GET、PUT、DELETE 三种不同的请求方式,对应三种不同的业务操作。看似该框架可以在本地成功跑起来,整个架构包含两个应用,前端应用提供纯静态的 HTML 页面,后端应用发布 REST API,前端需要通过 AJAX 调用后端发布的 REST API,然而 AJAX 是不支持跨域访问的,也就是说,前后端两个应用必须在同一个域名下才能访问。需要注意的是,该特性在 Spring 4.0 中才引入。
2024-05-16 03:03:46
890
原创 从github下载项目并运行 廖雪峰Git教程_github项目可以在windows上运行么
git是一个版本管理工具,能够帮你更好的写程序,github则是一个网站,这个网站可以帮助程序员之间互相交流和学习。1、首先去git官网下载git:https://git-scm.com/download/win,本地直接安装。需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**3.选择Git文件默认的编辑器,很少用到,默认Vim即可,Next。上图红框内的选项是默认勾选的,建议不变。2.选择开始菜单页,默认即可,Next。
2024-05-16 03:03:12
344
原创 什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍_cursor怎么使用
本文只是一个使用 Cursor 的简单示例,帮助大家如何安装和使用。大家可以根据自己的业务,让它帮你写一些基础的代码,利用好 Cursor 可以大大提高工作效率。需要注意的是,虽然可以通过语言来生成代码,但目前还不完美,如果生成的代码不太符合要求,可以优化自己的表达,交代再清楚一些;也可以尝试重新生成;还可以通过对话让它不断优化调整以便符合你的要求。估计未来人工智能将带来开发工具的更大变革。还有注意数据安全,不要将敏感数据和代码贴出来,以减少泄露风险。
2024-05-16 03:02:38
1636
原创 什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍_cursor怎么使用(1)
本文只是一个使用 Cursor 的简单示例,帮助大家如何安装和使用。大家可以根据自己的业务,让它帮你写一些基础的代码,利用好 Cursor 可以大大提高工作效率。需要注意的是,虽然可以通过语言来生成代码,但目前还不完美,如果生成的代码不太符合要求,可以优化自己的表达,交代再清楚一些;也可以尝试重新生成;还可以通过对话让它不断优化调整以便符合你的要求。估计未来人工智能将带来开发工具的更大变革。还有注意数据安全,不要将敏感数据和代码贴出来,以减少泄露风险。
2024-05-16 03:02:02
1310
1
原创 嵌入式学习DAY25 --- 进程线程开始学习,进程的基本概念以及创建退出_嵌入式需要学进程吗
多任务如何共享内存(有操作系统)默认有一份虚拟地址空间多进程主要问题是如何共享一份虚拟地址空间进程间切换:主要是同一份虚拟地址空间的上下文切换->保存上文保存上一个进程的运行状态->加载下文加载下一个程序到内存中进程上下文切换发生在以下几个情况中:a进程执行完,b进程执行a进程时间片到了,b进程执行a进程被中断,优先执行b进程。
2024-05-15 03:55:43
779
原创 嵌入式学习DAY25 --- 进程线程开始学习,进程的基本概念以及创建退出_嵌入式需要学进程吗(1)
程序:程序是静态的一段代码是一些保存在非易性存储器的指令的有序集合没有任何执行的概念进程:是一个动态的概念是程序执行的过程,包括动态创建,调度和消亡的整个过程。它是资源分配的最小单元。
2024-05-15 03:55:06
964
原创 嵌入式学习DAY24 --- 自主完成一个项目《电商直播平台管理系统》,运用C语言、数据结构等知识_c 语言实现一个简易的电商管理平台需要学习什么知识
/此项功能今日尽量去实现,若时间不够,暂且不做7.显示:用来显示直播平台中的信息,包括直播间、主播姓名、销售的商品种类、以及所创造的销售额8.销毁:用来销毁这个直播平台,删除每个直播间中具体信息,然后释放掉整个哈希表。
2024-05-15 03:54:29
341
原创 嵌入式学习DAY22 --- 链式栈,队列,二叉树的存储、递归遍历、层次遍历(数据结构
后根遍历(后序遍历):先访问左子树,再访问右子树,最后访问树根。//先将原来的值保存起来。
2024-05-15 03:53:48
901
原创 React中JSX的使用(嵌入式js表达式,条件渲染,列表渲染,样式处理)(1)
2.JSX自身也是js表达式;3.js中的对象是一个例外,一般只会出现在style属性中;if/for。
2024-05-14 18:44:04
444
原创 Qt程序打包发布方法(使用官方提供的windeployqt工具)_qt发布软件
qmldir 是指出 Qt 库里面的 qml 文件夹位置,上面命令里 C:\Qt\Qt5.4.0 是 Qt 官方开发环境安装的文件夹,C:\Qt\Qt5.4.0\5.4\mingw491_32 是Qt类库的目录(QTDIR),因此使用的 --qmldir 后面写的是 C:\Qt\Qt5.4.0\5.4\mingw491_32\qml ,读者Qt环境安装路径不一样,要根据实际情况修改!生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:C:\QtPros\hellomw\。
2024-05-14 18:43:25
889
原创 Qt树形控件QTreeView使用1——节点的添加删除操作_qtreeview删除节点后有空行
子项目的添加需要操作,既是上面代码创建的变量。QStandardItem的appendRow和setChild方法等价于QStandardItemModel的appendRow和setItem上面代码执行后给条目添加了一个行,这一行属于他的子条目,上代码运行效果如下图:这样就可以随心所欲的添加了。但是第二列的信息怎么添加呢。其实道理一样,QStandardItemModel 的setItem和QStandardItem的效果:使用。
2024-05-14 18:42:46
1036
原创 Qt树形控件QTreeView使用1——节点的添加删除操作_qtreeview删除节点后有空行(1)
str += QStringLiteral(“当前选中:%1\nrow:%2,column:%3\n”).arg(index.data().toString())str += QStringLiteral(“父级:%1\n”).arg(index.parent().data().toString());str += QStringLiteral(“父级:%1\n”).arg(index.parent().data().toString());
2024-05-14 18:42:04
1106
原创 2024年物联网嵌入式最全primary key与unique的区别_unique与primary key,毕业工作5年被裁
Primary Key一般在逻辑设计中用作记录标识,这也是设置Primary Key的本来用意,而Unique Key只是为了保证域/域组的唯一性。2、primary key也要求列唯一,同时又限制字段的值不能为null,相当于Primary Key=unique + not null。1、unique key要求列唯一,但不包括null字段,也就是约束的列可以为空且仅要求列中的值除null之外不重复即可;二、在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。
2024-05-14 09:43:06
282
原创 2024年物联网嵌入式最全PID调节(理论)(1),2024物联网嵌入式开发网络编程总结篇
同样的,其输出是PWM脉冲的长度(以微秒计),在每个时间步中,角度PID环的输出精确的加在内环速率PID的输出中,且和油门值一起都发送给了电机。注意:AQ默认的PID的参数是适合正常机架的,通常只需要微调即可,但如果你的机架是不同的结构,重量分布不同,尺寸不同,则需要调节PID。以上图为例,距离上每1m的误差将会输出一个0.5m/s的速度,这个期望速度进入速度PI里后,每1m/s的误差在P项上将会输出6度的倾斜,在I项上输出1/200度的倾斜。姿态PID是由两个嵌套的PID组成的:速率PID和角度PID。
2024-05-14 09:42:27
245
原创 2024年物联网嵌入式最全php基础_1stpeak(2),2024年最新阿里物联网嵌入式开发研发岗二面
x5985;vardumpx);//负数vardumpx);//十六进制数vardumpx);echo “x047;//八进制数vardumpx);??$b = true;$b = false;s′ccit′;双引号:s = “ccit”;php?php。
2024-05-14 09:41:48
316
原创 2024年物联网嵌入式最全php——三篇夯实根基第三篇_php 根基键值分类,2024年你与字节跳动只差这份笔记
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新如果你需要这些资料,可以戳这里获取(六)数组的遍历1.for循环2.foreach遍历收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。如果你需要这些资料,可以戳
2024-05-14 09:41:06
349
原创 2024年最全TCP IP、UDP、HTTP、MQTT、CoAP这五种协议的概述_http、utp(2),2024年最新讲的真详细
对于软件公司来说,IoT 模式为其硬件设计以及所提供的服务带来决定性的改变。其中影响最大的一个方面是通信协议。
2024-05-14 04:58:22
1082
原创 2024年最全TCP IP、UDP、HTTP、MQTT、CoAP这五种协议的概述_http、utp(1),春招我借这份PDF的复习思路
对于M2M 项目的快速原型,一个非常简单的解决方案是使用 UDP,因为就 UDP 头包含很少的字节,比 TCP 负载消耗少。MQTT 提供一个有质量的服务,从 IoT 角度来看,其本质是消息的优先级。一个动态的数据源速度优先于效率,然而分配一个较低的 QoS,更像是一个“fire-and-forget”事件,如 UDP。由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的 HTTP 协议应用在物联网上就显得过于庞大而不适用,CoAP 应运而生。
2024-05-14 04:57:41
858
原创 2024年最全STM32(三)C语言基础复习_extern void input,2024年最新2024年展望物联网嵌入式开发原生开发的现状
define 是 C 语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方便。常见的格式:#define 标识符 字符串“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
2024-05-14 04:56:51
833
原创 2024年最全STM32常见通信方式(TTL、RS232、RS485、I2C,SPI,满满的干货
5.2 I2C协议层5.3 数据的起始信号与停止信号5.4数据有效性I2C 协议在 SCL 高电平时对 SDA 信号采样, SCL 低电平时 SDA准备下一个数据。
2024-05-14 04:55:39
1349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人