- 博客(2148)
- 资源 (58)
- 收藏
- 关注
原创 Qt文档阅读笔记-QAudioInput&QAudioFormat解析与实例
这个类提供了从外设接收音频数据的接口。使用逻辑是这样的,首先创建QAudioInput并且指定好QAudioDeviceInfo,以及QAudioFormat。然后调用start函数,指定QIODevice完成自己想要的功能。调用start后会以指定的形式进行输出到file中。在任意时刻,QAduioInput有以下四种状态active活动suspended暂停stopped结束idle空闲这些状态可以在QAudio。...
2022-07-22 08:54:38 3124 3
原创 Laravel文档阅读笔记-How to deploy Laravel 8 project on Cpanel shared hosting
如果虚拟空间入口文件夹是public_html就把public下的所有文件移到虚拟空间根目录,该名为public_html,如果默认是www,就将public里面的所有移动到根目录www下。比如上传的Laravel项目叫my-laravel-app,那么修改index.php。首先上传Laravel项目到虚拟空间,这里使用FTP上传,或者打包成ZIP上传等。注意要将Laravel项目上传到虚拟空间的根目录上。改成你自己的url。调试设置为false,即可。...
2022-07-21 08:46:58 401
原创 SweetAlert笔记-在弹窗中添加输入框图片等
②将输入框、列表、图片等放到这个div中(也就是innerHTML);③swal的方法可以拿到用户是点了退出,还是确定。①用JS创建一个div;
2022-07-19 10:02:10 1146
原创 OpenSSL笔记-PKCS#1和PKCS#8的区别及分别调用的API
这玩意折腾了一天,有个老外的代码,公钥用了PKCS#1,私钥用了PKCS#8。调用了不同的API,而我的全是生成的PKCS#8,后面查阅了大量资料和长时间调试程序,才发现了问题,在此记录下。有一点要提醒的,他们的返回值都是加密,解密后,数据的长度,因为是unsignedchar类型,还是二进制的,所以这个返回值比较重要。PKCS#8是对加密后的密钥进行了描述,也就是说P8格式的密钥不是裸奔的。用OpenSSL生成的pem文件,公私密钥有两种格式。PKCS#1是标准RSA密钥对规范,但都是裸奔的;...
2022-07-18 15:06:37 5631
原创 Laravel笔记-前后端分离时验证码校验(mews/captcha)
关键就是这个catcha_api_check函数,第一个是用户输入的验证码,第二个是key。关键就是这个key,图片内容是img,也就是说,前端把这个key、用户输入发送给后端。安装mews/captcha已经有笔记了,下面来说下前后端分离时该如何处理。后端通过这个key找到正确的验证码内容,和用户输入的做对比,就可以了。这里要知道一点,搭建好mews/captcha后,默认会开放。这个就是获取验证码的url。...
2022-07-15 08:57:02 2034
原创 Qt笔记-解决QTcpSocket发送数据成功,但接收端接收不全的问题
这里主要是这样的Qt写了一个服务端,在开发环境下,没出现任何问题,但在生产环境下,就出现问题了。使用Fiddler的简单抓了下包:发现Body只有27045,而请求里面确是这样的。这里就很有意思了。这里的Qt服务端,在发送完数据后,会主动和客户端断开连接。不像其他的web服务器,需要等客户端来断开连接。这里用curl请求会有报错: 大体上的意思就还有这么多位的数据没读,通道就被关闭了。在Qt服务端关于关闭的代码是这样的: 并且这个tcpSocket->write的返回值,也是正确的,说明的确把要
2022-07-14 09:00:07 4709
原创 Linux笔记-达梦DPI开发环境搭建(无需搭建达梦库)
这里搭建的思路是从搭建好达梦库的机器中将达梦DPI的so和对应的include导出来,到新机器上,就是DPI的开发环境了。其中so为:libdmdpi.so但这里要保证几点:①搭建好达梦库的机器操作系统与新机器要一致。②最后CPU的架构都是一致的,比如X86_64架构。编译时,就把include包含上,再把libdmdpi.so链接上。就好了。程序运行时,可能会libdmdpi.so找不到。需要做如下修改:在最后面添加好libdmdpi.so的路径。即可,如:再重新加载下即可:具体源码可参
2022-07-13 09:16:06 1678
原创 Web笔记-修改BootStrap5中col标签的间距
这里以BootStrap5为例,估计3和4的思路是一样的。效果是这样的,将这样的效果:改成这样的效果:首先看下BootStrap对col的css描述: 从中可以看到关键的地方就是那个padding-right和padding-left,都是15px,造成的间距空隙过大。对此修改即可:在app.css或者app.scss中,或者自己新建一个css重新加载下: 意思就是,将class为col-*的,后面是通配符,的padding-right和padding-left都改为1px,就可以实现上面的效果
2022-07-12 08:52:23 1721
原创 OpenSSL笔记-生成RSA公私密钥以PEM格式到char*中(非保存为文件)
OpenSSL笔记-生成RSA公私密钥以PEM格式到char*中(非保存为文件)不多说,直接上关键代码:这个RSAStu是我自己写的结构体。打印下:这里包含的头文件为:
2022-07-11 08:45:09 898
原创 Qt笔记-char[]或unsigned char[]转QByteArray时要注意的地方
下面这种都是文本串的形式,就可以直接转了比如这样的:这类数据都是文本串的可以直接转出来。没有什么问题:但是,如果char[]和unsigned char[]的存的是二进制就不能这么搞了,比如存储加密数据,这样直接转有很大的可能,数据会丢失,因为存二进制时,很有可能在中间某个字节转成文本是\0。以加密为例。这里要拿到返回的数组长度,比如这样的:这里的result就是加密后的长度,转成QByteArray时就需要用到这个了。如果直接这样:有极大的可能数据会丢失,造成加解密失败。..
2022-07-10 08:30:52 7204 2
原创 OpenSSL文档阅读笔记-RSA Encryption & Decryption Example with OpenSSL in C
这篇博文有点老了是2014年3月19日的。但效果还是杠杆的。这篇博文说明如何调用OpenSSL进行RSA加解密。编程语言用的是C。本博文小节:①使用OpenSSL生成RSA密钥;②使用公钥加密,私钥解密;③使用私钥加密,公钥解密;④加解密示例代码。使用下面的命令试生产2048位的RSA私钥从私钥中提取公钥:注意生成的证书都是pem格式,这个是用ASCII存的,Base64编码的格式。对应的API函数分别为:这里的编程逻辑是先构造一个RSA结构体:这样就能直接创建公钥和私钥了如果
2022-07-09 07:30:05 777
原创 OpenSSL文档阅读笔记-How to Use OpenSSL to Generate RSA Keys in C/C++
这篇文章是2014年2月26号的,有点老了,但挺有用的。首先要配置好环境,再前一篇笔记中已经说明了,在此不再说明。这里我把老外的这套代码,改写成Qt pro管理项目。关键代码如下:GenerateRSAKeys.promain.cpp运行截图如下:此时输出两个文件:private.pem:public.pem源码打包下载地址:Qt/GenerateRSAKeys at master · fengfanchen/Qt · GitHub...
2022-07-08 08:54:48 303
原创 Qt笔记-Centos7搭建OpenSSL开发环境及Qt调用OpenSSL实例
这里Centos上已经安装好了Qt5.5.1下面搭建下OpenSSL首先下载并安装zlib再安装 perl-Test-Harness随后下载openssl-1.1.1o并安装:完成好后设置好环境变量在ssl.conf中添加如下内容:最后运行:就可以看到OpenSSL版本了创建Qt项目:OPenSSLDemo.promain.cpp运行截图如下:源码打包下载地址:Qt/OpenSSLDemo at master · fengfanchen/Qt · GitHub
2022-07-07 09:02:17 623
原创 Laravel笔记-自定义登录中新增登录5次失败锁账户功能(提高系统安全性)
这里用的登录就是阅读老外自定义登录和注册功能,用的是Laravel8,如果直接用这种上线,不太安全。如果被暴力破解,不断尝试就麻烦了,现在脚本小子太多了,门槛也低,普通人简单学习几天就能上手去恶心别人。这里我自己写了一个思路,不知道和php主流的是不是一样的。反正我写SpringBoot项目就是用的这种思路。首先建一个users_lock表其中这个users_email和users表对应,这里没有外键关系,相当于独立的,这里设计得不是很好,但感觉小站点用足够了。对应的SQL是这样的: 注册时把这个表填
2022-07-06 08:54:54 819
原创 Laravel文档阅读笔记-mews/captcha的使用(验证码功能)
这里用的是Laravel8。这里验证码要使用到fileInfo的功能,需要提前让php加载此dll or so,在php.ini中修改:验证码功能最终实现的效果是: 首先添加相关库: 其次再生成对应的config文件:输入你那边mews/captcha相关的选项:我这里是选项11。默认验证码为9位,这里太多了,看不清,修改下captcha.php这里default.length的大小本来是9的,我改成了5。生成对应的Controller在CaptchaValidationContro
2022-07-05 09:16:20 1156
原创 Laravel文档阅读笔记-How to use @auth and @guest directives in Laravel
Laravel文档阅读笔记-How to use @auth and @guest directives in Laravel这个是我在阅读Laravel8中的文档时遇到的。在此阅读下@auth和@guest的用法。下面将说明@auth和@guest在Laravel中的使用。这两个关键字其实是代替@if、@endif的。如下使用@if、@endif当用户有权限,就在blade中显示。使用@auth和@guest可以简化成这样的:和在个人项目中,我是这样用的...
2022-07-04 08:53:32 386
原创 Laravel文档阅读笔记-Custom Authentication Login And Registration Using Laravel 8
博文主要是使用Laravel8创建自定义登录和注册。使用传统简单方法创建自定义用户登录、注册、面板页面。有如下步骤:①创建Laravel应用;②连接MySQL数据库;③设置auth的Controller;④创建auth路由;⑤创建auth的blade视图文件;⑥启动Laravel服务。安装陪配置好composer后,使用下面的命令创建Laravel项目。进入创建应用的目录。让Laravel连接mysql数据库,打开.env配置文件,修改数据库名,用户名,密码:Laravel提供了默认的用户
2022-07-02 11:29:39 440
原创 C++笔记-解决Linux上Qt程序一运行就core dumped(思路)
这里记录了本次解决方法,这里是因为机器里面有2个开发环境,在此记录下。前辈程序员不用pro去管理Qt项目,直接用Makefile。我在Makefile加入Qt的lib和include后,一运行就core dumped,用ldd查了下,发现他连接到了Qt4的so,因为这个机器,有Qt5,又有Qt4。我添加了Qt5的lib和include,报错了,这里使用gdb 进程名 core名,在where,查下是哪个地方有问题。发现是QtGui出现问题了。这里去查下Makefile里面,是不是关联了什么没有必要的Qt4相
2022-06-30 10:52:55 975
原创 PHP笔记-使用composer搭建Laravel项目及phpStorm开发环境搭建
下载架子(感觉这个Laravel和Spring Boot框架太像了):成功后:使用phpStorm打开进行相关配置:注意,Laravel8最低都有php7.3下面是配置启动:配置好名称和其他入口目录:运行:查看结果:成功这里有一点要注意的,要拷贝一个.env出来...
2022-06-29 08:57:47 878
原创 Laravel文档阅读笔记-Adding a Markdown editor to Laravel
此博文对应的Laravel版本为8,5版本是不能用的,很多函数都没有。使用Laravel创建好基本的blog,css美化用Tailwind CSS,创建Post界面是这样的。这里内容使用的是html中的textarea关键字,这样写文章内容非常痛苦,所以将这个textarea升级,换成MarkDown。MarkDown的编辑器使用Toast UI Editor,使用如下命令进行安装:使用div代替上textarea区域,设置好id,后面用JS中配置MarkDown编辑器:下面在JS中,将Mark
2022-06-28 08:56:13 267
原创 Laravel文档阅读笔记-makedown转html
关键是这个函数: 目前是在Laravel8看到的,姑且是8引入的吧,使用的是GitHub上的,集成过来的。将markdown的text传过去就可以了。这里后面将有前端使用MarkDown的例子,后端接收后,存储,然后前端再展示的例子。...
2022-06-27 08:52:30 392
原创 Laravel文档阅读笔记-Laravel Str slug() Function Example
此篇文档对应的laravel版本为8。使用Str的slug(),姑且翻译成锚链接符,生成URL,因为URL不能带有空格,使用slug()函数的目的就可以将空格进行替换,以前用空格连接的,变成指定字符连接。实例代码:对应的web.php如下:......
2022-06-23 08:54:44 508
原创 Qt笔记-QMap自定义键(key)
如下key值:自定义key时会出现如下问题:需要重写左操作符号,如下:所有源码如下:调试截图如下:源码打包下载地址:Qt/QMapKeyCustom at master · fengfanchen/Qt · GitHubThe knowledge point of Qt. Contribute to fengfanchen/Qt development by creating an account on GitHub.https://github.com/fengfanchen/Qt/tr
2022-06-22 08:56:29 2921
原创 Qt文档阅读笔记-staticMetaObject解析与实例
const QMetaObject *QObject::metaObject() const元对象包含继承QObject的类,QObject的子类,类名,子类名,属性,信号和槽等等等。可以使用metaObject实例会指定对象,如下代码:这里定义了一个TestClass,使用Qt反射机制,创建类,并设置值打印源码如下:TestClass.hmain.cpp程序运行截图如下:源码打包下载地址:Qt/StaticMetaObjectDemo at master · fengfanchen/Qt
2022-06-21 08:57:26 1110
原创 C++笔记-Centos7搭建OpenCV3.4开发环境
目前是2022-04-25 23:48:03,此篇博文分享到互联网上估计是1-2个月后的事了,此时的OpenCV3最新版是3.4.16这里前提是gcc,g++,cmake都需要安装好。没安装好的,用这个命令:将源码下载好,解压,创建build文件,在cmake这里一定要生成opencv_world,这样后期开发和部署都方便。出现Configuring done和Generating done就是成功了。然后就直接make就好了。这里可以看到:include文件在/usr/local/inc
2022-06-20 08:50:30 1413 2
原创 PHP笔记-虚拟空间(虚拟主机)上部署Laravel5.7
网上关于这方面的资料不多,大多是提供思路,估计国内学习Laravel的人不多,学了Laravel后大部分人都用云主机,用虚拟空间(虚拟主机)的人不多,所以很容易出现问题,这里我总结下。我这里的Laravel是5.7版本。①将除public的项目放到local中②将public里面的文件,剪切到wwwroot下面:③修改wwwroot下面的。index.php将这里的..换成local。④删除/wwwroot/local/bootstrap/cache下面的所有文件:⑤删除/wwwroot/local/sto
2022-06-16 08:48:37 748
原创 visjs笔记-将edges(边)分开(防止重叠)
也就是从这个效果:变成这种效果:代码是从这样的:改成这样的: 其实就是添加好roundness和curvedCW即可。
2022-06-16 08:45:55 732
原创 PHP笔记-laravel框架记录session中flash()的一次应用
我这里有个表单提交页面,他的url是get方法/hasLogoIndex。表单提交是post方法/hashLogoSubmit,提交表单后,验证各个参数是否正确,调用三方http的API,得到结果,然后回给/hasLogoIndex页面。也就是重定向到表单提交页面,并且有些图片方面的提示,也在那个页面显示,这里就可以使用flash了。表单页面函数:表单提交函数:原理:submit中通过$request->session()->flash()把参数写入,这个flash相当于一次性的。取出后就无用了
2022-06-14 08:50:17 819
原创 OPenCV笔记-Mat转Base64(使用Qt进行转换)
关键代码如下:打印如下:这里我们找个在线解析的来试试:这里要注意HTML中img标签使用的规则:Base64 在HTML中的使用此时图片正常显示了。
2022-06-13 08:49:37 1005
原创 Web前端笔记-解决[Intervention] Unable to preventDefault inside passive event listener due to target being
我这里是使用NiceScroll造成的。报错如下:解决这个问题的方法有2种:Ⅰ:修改源码找到jquerynicesroll.js报错的地方:直接让其return falseⅡ:修改自己的代码逻辑:构造这样的结构: 注意:body里面要套d-flex和flex-column在div中要套一个container-fluid,这里都是使用的bootstrap然后对应的js从:改成: 即可。对应的css要改成:...
2022-06-09 08:51:31 1469 1
原创 PHP笔记-laravel中使用jquery及jquery.niceScroll.js
首先用npm安装好jquery和jquery.niceScroll安装好后在node_modules中可以看到:在webpack.mix.js中添加:如下:在对应的xx.blame.html文件中进行script这样就可以获取到了。chrome浏览器测如下;
2022-06-08 13:51:29 811
原创 GitHub笔记-创建新仓库并将项目初始版本push上去
这里以Windows为例。window上要安装好Git配置好Git的用户名和邮箱生成公钥和私钥按三次回车就可以了。安装好后,申请好github帐号。添加好SSH Keys将刚刚生成好的公钥添加到key里面,在点击Add SSH Key就可以了。 上面这个命令是拿刚刚的公钥。下面创建一个新的repository输入Repository name,即可。这里我推Laravel上去。进入本地项目文件后初始化:上传 这里所有的数都在main这主支上了。...
2022-06-07 08:49:47 483
原创 Qt文档阅读笔记-Simple Chat Example解析
这个实例使用QWebSocket和QWebSocketServer去构造WebSocket协议的极简聊天室。官方对于这个实例给出的文档方面的介绍就这么多,下面是对应的代码,我自己补充下:文件一共如下:我们由简入深分析下,首先是simplechat.pro这里主要是包含websockets模块,使用的语法是 QT = websocketsmain.cpp就是实例化ChatServer在此不再说明。下面是chartserver.h和chartserver.cpp这里解释几个点:①m_pWeb
2022-06-06 08:50:14 547
原创 Windows网络笔记-台式机通过网线直连笔记本,台式机通过笔记本上网(win10)
背景是这样的:①笔记本有个无线网卡,连接了wifi,可以上网。②台式机只有有线网卡,通过网线和笔记本的有线网卡相连。首先配置笔记本无线网卡:配置好后,笔记本的有线网卡ip地址会自动修改。这里笔记本就设置完成了。下面是台式机的配置台式机,只要将有线网卡设置为自动获取IP地址就可以了。...
2022-06-06 08:45:51 8810
原创 Qt笔记-Qt使用DPI访问达梦7数据库
这里开发环境以Windows为例,官方其实已经有了C/C++使用DPI,这里本人只是记录下重点,方便以后进行查阅。首先是驱动不能少:这里我用的编译器是MSVC140,版本把,也就是vs2015Qt.pro文件: main.cpp最简单的实例代码已经上来了,源码打包下载如下:Qt/DPIWindows at master · fengfanchen/Qt · GitHub剩下的就是大家自己去封装把,这里我封装的代码不能开源。
2022-06-01 08:57:36 1896 2
原创 Spring Boot文档阅读笔记-Validating Form Input解析
这篇文章的主要功能是Web应用程序中验证表单输入是否合法的文章。PersonForm对象首先创建一个PersonForm对象:这个对象会验证PersonForm的用户名,代码如下:package cn.it1995;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Size;public
2022-05-31 08:56:55 308
原创 Qt笔记-使用QString和QByteArray使得字符串正常显示和十六进制显示
如下代码:#include "JSH16Analysis.h"JSH16Analysis::JSH16Analysis(){}QString JSH16Analysis::Utf8ToHex16(const QString &utf8){ QByteArray byteArray; QString ret(byteArray.append(utf8).toHex()); return ret;}QString JSH16Analysis::Hex1
2022-05-30 08:48:34 1146
原创 JavaScript笔记-使用Jsonp获取百度搜索提示
要实现的效果就是这样的:原理说白了就是发送一个get请求:然后把数据放到list里面就可以了。这里使用jsonp,因为这个要在客户端发起的请求。关键代码如下:function getSuggestion(url, word){ let wordObject = {'wd' : word, 'cb' : 'suggestionCallBack'}; $.ajax({ async: false, url: url, type: 'GET',
2022-05-25 08:47:23 374
原创 Web前端笔记-footer始终固定在底部及高度缩小时不显示
方法步骤:①使用css将footer设置到底部;②使用css响应式当高度小于多少时,不显示。对应的footer代码如下:<footer id="myFooter" class="text-white" id="myFooter"> <ul class="nav justify-content-center mb-3"> <li class="nav-item"><a href="#" class="nav-link px-2 tex.
2022-05-25 08:45:01 2601
原创 JavaScript笔记-点击切换图片
最近(2022-03-25)想做个导航页。涉及这个知识点,在此记录下,实现的效果如下:点击那个百度后,会切换:关键代码如下:图片相关的html代码:<div id="engine-logo" class="search-logo my-2"> <img id="searchLogo" style="width: 220px; height:80px;" alt="搜索引擎Logo" onclick="changePic()" src="img/baidu
2022-05-23 09:04:52 955
Qt文本转化工具 realase版本
2019-01-19
Qt文件编码转换工具源码
2019-01-19
libX11生成libX11-xcb.so.1
2018-11-13
基于RFID门禁系统源码 ,C/C++
2017-09-10
Qt+Opencv-PCA人脸识别+视频
2017-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人