- 博客(2127)
- 资源 (58)
- 收藏
- 关注
原创 PHP笔记-学生成绩例子
程序运行截图如下:源码如下:<?php $name = "小明"; $score = 88; if(is_int($score) || is_float($score)){ if($score == 100){ $str = "S级"; } else if($score >= 90 && $score < 100){ $str =.
2021-12-27 08:56:53 1374
原创 PHP笔记-商品价格例子
程序运行截图如下:源码如下:<?php const discount = 0.8; $fruit1 = "橙子"; $fruit2 = "柚子"; $fruit3 = "橘子"; $fruit1Num = 1; $fruit2Num = 2; $fruit3Num = 3; $fruit1Price = 6.88; $fruit2Price = 3.99; $fruit3Price = 3.28;
2021-12-27 08:55:59 1128
原创 JavaScript笔记-对wheelDeltaY和deltaY的体会
最近在写图形方面的代码,如下:function mousewheel(e) { let dy = (e.wheelDeltaY || - e.deltaY) / 1000; zui.zoomBy(dy, e.clientX, e.clientY);}使用的是two.js还有自己的zui.js,这串代码研究了好小半个早上,终于知道这么写的原因了。let dy = (e.wheelDeltaY || - e.deltaY) / 1000;因为要兼容浏览器,所以才写成
2021-12-27 08:53:31 2250
原创 Json笔记-高德地铁数据分析
以南京地铁数据为例,刷新后,有两条关于图形,主要是第一条,如下内容:{ "s":"南京市地铁", "i":"3201", "l":[ { "st":[ { "rs":"970 1565|970 1565", "udpx":"970 1562;970 1568", "su":".
2021-12-21 08:54:29 1864
原创 Qt文档阅读笔记-QNetworkProxy::ProxyType解析(Qt设置Fiddler代理)
enum QNetworkProxy::ProxyType这个枚举类型是Qt提供的网络代理的类型,一共可以分为2个大类,一个叫transparent proxies,一个叫caching proxies。transparent proxies:处理任意协议的数据传输的代理配置;caching proxies:处理指定协议的数据传输的代理配置。如下表所示:Constant value Description QNetworkProxy::NoProxy 2 不使
2021-12-21 08:51:51 1120
原创 Qt文档阅读笔记-void QObject::deleteLater()解析
[slot] void QObject::deleteLater()这个对象的进行计划删除。当对这个对象的操作结束回到事件循环时,这个对象将会被删除。如果这个函数不在事件循环中调用,一旦事件循环被启动,这个对象就会被删除。如果deleteLater()是在主事件循环后面调用的,该对象不会被删除。在多线程中调用要注意了:从Qt4.8后,如果deleteLater()在线程中调用,并且这个线程无事件循环,那么这个对象将会在线程销毁时被析构。注意:使用deleteLater(),对象.
2021-12-21 08:50:46 1077
原创 HTTP笔记-浏览器是如何识别点击的链接是下载文件还是展示页面
使用Fiddler的断点功能可以很好的观察这一现象。当鼠标点击一个URL下载数据时,回的数据包是这样的:其中最关键的回包是Content-Type: application/msword,这个msword全称是Microsoft Word,当使用Fiddler断点功能设置After Responses将Content-Type: application/msword改为Content-Type: text/html浏览器就识别不了了。就直接把这些数据打印到页面上了,.
2021-12-21 08:49:51 1493
原创 Linux笔记-grep -v功能相关说明
背景比如服务器上有一个sh脚本,这个sh脚本会启动一个进程,这个进程名和这个sh脚本名是一样的,只是一个带有.sh一个没有。现在有个需求,查询这个进程或这个脚本是否正常运行,如,进程名是HelloWorld,脚本名是HellWorld.sh操作①查询关于HelloWorld相关的进程:ps -eo pid, cmd | grep HelloWorld查询结果:6088 /bin/sh /root/HelloWorld.sh6093 /root/HelloWord625
2021-12-21 08:47:31 1543
原创 Qt笔记-AES加密
Qt5.5.1好像没有,用了三方老外大神的。https://github.com/bricke/Qt-AES下载下来后,将对应的源码拷贝到项目中就可以了。这里提供个事例代码:#include <QCoreApplication>#include <QCryptographicHash>#include <QVector>#include <QDebug>#include "QAesEncryption.h"int main(i
2021-12-14 13:44:20 5324 8
原创 Oracle笔记-USRS01.DBF文件过大,解决办法
在客户那边跑了1年多的程序没有出现问题,在公司弄了个开发环境,隔个几个星期就出一次问题。发现是公司这边缺乏运维人员造成的,说明都是靠开发自己干。一个字累。这次,家里面测试环境突然间异常了,程序还在运行,但反应相当迟钝。最后查了下,搭建Oracle的那台机器只有几百MB的空间了。发现一个USERS01.DBF的文件巨大,差不多30多GB了。因为是家里面的测试环境,这里可以乱搞下。alter database datafile 'C:\contnet\oradata\ORCL\USE.
2021-12-14 13:42:55 2230
原创 Qt笔记-QTcpSocket中调用readAll要注意的地方(Java中RestTemplate和Qt配合要注意的地方)
直接说明下我遇到的问题吧,客户端发送http协议,服务器是Qt写的,用QTcpSocket直接解析,如下HTTPPOST http://192.1.xxx.xxx:18888/XXXXX HTTP/1.1Content-Type: application/json;charset=UTF-8User-Agent: Java/1.8.0_181Host: 192.1.101.189:18888Accept: text/html, image/gif, image/jpeg, *; q=.2, *
2021-12-14 13:42:00 3489 7
原创 Qt笔记-QProcess带管道符号运行及获取进程启动时间(Linux)
这里不能用直接写到QProcess中start中的command参数。比如这样的shell:ps -eo pid,lstart | grep 1808采用这样的方式:QProcess p;p.start("sh", QStringList() << "-c" << "ps -eo pid,lstart | grep 1808");p.waitForFinished();这样也是可以的:QString cmd = "ps -ef | awk '{pri
2021-12-14 13:40:29 2354
原创 Java笔记-RestTemplate(Java进程)配置代理Fiddler抓包
和配置其他代理一样的思路,在调用请求前设置(推荐在程序刚运行时也就是main函数开始就配置):String proxyHost = "localhost";String proxyPort = "8888";System.setProperty("http.proxyHost", proxyHost);System.setProperty("http.proxyPort", proxyPort);System.setProperty("https.proxyHost", proxyHost
2021-12-14 13:38:19 1221
原创 Qt笔记-Linux程序控制台启动界面实例
最近在做Linux的C++程序,用的是Qt控制台程序,突然间有了想法,为什么不做成向Redis启动那样的,B格也高点,就像这样的。在此写了个实例,如下运行截图:程序结构如下;源码如下:Banner.h#ifndef BANNER_H#define BANNER_Hclass Banner{public: Banner(); void printBar();};#endif // BANNER_HColorPrint.h#if...
2021-12-07 08:50:29 1518 1
原创 Qt笔记-Linux程序打印带颜色的字符串
这是脚本之家给出的一个例子:#!/bin/bash # #下面是字体输出颜色及终端格式控制 #字体色范围:30-37 echo -e "\033[30m 黑色字 \033[0m" echo -e "\033[31m 红色字 \033[0m" echo -e "\033[32m 绿色字 \033[0m" echo -e "\033[33m 黄色字 \033[0m" echo -e "\033[34m 蓝色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m"
2021-12-07 08:47:18 538
原创 Qt笔记-waitForBytesWritten需要注意的地方
在Qt里面,IO控制中(文件流、Socket)都会涉及到waitForBytesWritten,这个的意思是等待写完成,这个在Windows上一般是可以省的,不会出现问题,如下:tcpSocket.write(HttpResponse::success(retBody).toUtf8());tcpSocket.disconnectFromHost();tcpSocket.waitForDisconnected();在Linux上需要这样:tcpSocket.waitForBytesWri
2021-12-07 08:45:51 6650
原创 Qt笔记-解决QObject::startTimer: Timers cannot be started from another thread
原因是QTime或QTImeLine这类,多线程中创建和调用要在一个线程中。因为构造函数在main线程中创建的,run是子线程中,所有,这部分代码的new要在run中去new就可以了。
2021-12-07 08:44:35 3148 2
原创 C++笔记-函数参数使用void *的野路子
这里记录一个野路子,是在开发过程中,自己无意识想到的,也对这种操作到底是正路子还是野路子搞不清楚。在此记录下,方便以后查阅。情况是这样的,有个函数,写到一半突然发现可以用递归调用(改迭代也是可以的,但递归调用思想简单,就不再想迭代了),因为已经写好的代码,都是在栈区创建的。为了方便在类的protect方法添加一个递归函数,以前的变成启动函数。如下图:public下的toJson()就是启动函数,protected里面的toJson就是递归主体。在递归主体里面,直接转就可以了。
2021-12-07 08:42:38 1461 1
原创 C++笔记-VS2015加载Live2D(OpenGL)
这里使用的编译器是MSVC 2015首先下载SDK可以切换为中文,点击下载:同意然后下载最新版:进入此路径,然后运行setup_glew_glfw.batSamples->OpenGL->thirdParty->scripts这里要确保他能完成,成功执行!!!这里会多出2个文件:随后进入:Samples->OpenGL->Demo->proj.win.cmake->scripts运...
2021-11-30 08:37:20 1135
原创 Qt笔记-QCryptographicHash摘要算法调用(MD5,SHA等)
Qt封装了下面的摘要算法,调用起来杠杠的。从上面的表中可以得知,估计以后Keccak要变成主流的摘要算法了。这个类提供了个静态函数,直接调用就可以了。代码如下;#include <QCoreApplication>#include <QCryptographicHash>#include <QDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, ..
2021-11-30 08:34:27 589
原创 Qt笔记-桌面应用程序加载字体库(ttf)
首先将下载好的字体库放到资源文件中:设置相关代码如下:#include "Widget.h"#include <QApplication>#include <QFontDatabase>#include <QFont>#include <QDebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); //设置字体 int fontI
2021-11-30 08:32:52 2806 4
原创 XShell笔记-XShell登录脚本的使用
最近(2021-10-13)和一个工作了6年的大佬一起工作,发现xshell还能这样使用,在此记录下,方便以后查阅。如这样的企业环境,192.168.1.100~192.168.1.200这是一个局域网。192.168.1.210~192.168.1.230是另外一个局域网。(注意:子网页码都是255.255.255.0,本来都是一个局域网,被路由器、交换机、防火墙等隔断了,变成了2个)192.168.1.200这台机器开放了权限,可以在2个局域网互通,其他的都不行。通常要操作1
2021-11-30 08:31:49 4705
原创 Qt笔记-Q_UNUSED解决编译器unused paramenter告警
最近写代码越来越有洁癖了,一点点告警,就要去改他,不像以前,只要不报错,就可以跑。以前用的Q_UNUSED这个现在又拿出来用了,但这次比较好奇,为什么用这个注解就能消除呢?查了下文档。大体上的意思就是抑制编译器的告警,但具体是怎么消除的,没说,点到Q_UNUSED看下这个宏的定义。原理就是随意调用了下变量。这个就有点意思了。...
2021-11-23 08:50:41 763
原创 Nacos笔记-对Nacos初步认识
Nacos是一个构建云原生应用的动态服务发现、配置、服务管理平台。动态配置服务通过配置Nacos使得各个节点的服务端都能生效,不需要一台,一台的去配置。服务发现及管理各个应用向Nacos进行注册,将自己的服务地址和端口啥的告诉Nacos,Nacos拿到后,在给Consumer。运行Nacos依赖于Java环境,需要先安装Java环境。下载好Nacosbin目录下是启动文件,包含Linux和Windows;conf为配置文件;target为对
2021-11-23 08:49:16 3363
原创 Qt笔记-解决键盘事件不能正常响应(其他响应事件通用)
比如在主Widget中写了KeyPressEvent却发现部分按键不能响应,或者全部都不能响应。造成这个原因是因为,响应事件被其他控件劫持了(Qt中有些控件自带劫持,响应某些按键)。解决方法:找到这个控件,再把信号转发出去就可以了或者忽略此信号,这样父类就可能会获取到。如下面这个例子:主界面的是QWidget,里面放了一个QGraphicsView。当我重写QWidget的KeyPress事件后,发现小键盘 上下左右,不能拿到,发现是QGaphicsView劫持了。因为Q
2021-11-23 08:45:33 7975 2
原创 信息安全工程师笔记-案例分析(一)
信息系统访问控制包含的三要素:主体:用户、终端、主体可以访问客体;客体:指一个保护或接受信息的被动实体,对客体的访问要受控;授权访问:主体访问课堂的允许。BLP模型采用线性排列安全许可的分类形式来保证信息的保密性。BLP模型中当低安全级的信息向搞安全级流动,可能破坏高安全客体中的数据完整性,被病毒和黑客利用。只要信息由低向高流动即合法(高读低,下读上写)。-rwx------ 1 root root 5025 May 25 2019 /home/abc/net.txt第.
2021-11-23 08:43:20 995
原创 信息安全工程师笔记-案例分析(四)
密码学安全包括三个方面:保密性:确保信息只被合法的用户访问,不泄露给非授权用户;完整性:所有的资源只能有授权的用户修改;可用性:资源在适当的方式可以由他的授权方进行访问。为了保证密钥的安全,密钥管理包括哪些技术?密钥管理包括密钥的产生、存储、分配、组织、使用、停用、更换、销毁等一系列技术问题。每个密钥都有其生命周期,要对密钥的整个生命周期的各个阶段进行全面管理。访问控制包含的基本要素:①主体;②客体;③授权访问;Administrator对应三种访问控制实现方
2021-11-16 10:53:37 3898
原创 信息安全工程师笔记-案例分析(三)
机密性:维护对信息访问和公开经授权的限制,包括保护个人隐私和私有信息;完整性:防止信息不适当的修改和毁坏,包括保证信息的不可抵赖和真实性;可用性:保证信息及时且可靠的访问和使用;“不适用”只针对机密性(机密性只有要不要公开,要,还是不要,没有低、中、高)。windows中密码和账户安全选项设置属于账户策略;Nmap是一个网络连接端扫描软件,可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。Nmap支持四种基本的扫描方式:①TCP co
2021-11-16 10:52:05 3108
原创 信息安全工程师笔记-案例分析(二)
恶意代码具有如下共同特征:①恶意的目的;②本身是计算机程序;③通过执行发生作用。完整性验证:通过对明文M生成摘要信息,然后加密摘要信息附到明文后发送给对方,对方收到后将明文M运用同样的hash函数生成摘要信息,与解密得到的摘要信息对比,可以实现完整的验证。在传输过程中能够保值信息的保密性、完整性、、不可否认性,设计了一个安全通信模型:流程图如下:解析:M:指Message代表数据;H:指对Message进行的Hash摘要算法;H(M):指生成的摘要;.
2021-11-16 10:51:20 4865
原创 Node.js笔记-使用socket.io构建websocket聊天室
先安装socket.ionpm install socket.io 服务端代码:let app = require('http').createServer();let io = require('socket.io')(app, { cors: true });let port = 3000;let clientCount = 0;app.listen(port);io.on('connection', function (socket) { clientCoun
2021-11-16 10:49:33 872
原创 Node.js笔记-使用nodejs-websocket构建WebSocket服务
首先安装nodejs-websocketnpm install nodejs-websocket构造如下程序:wsServer.jsvar ws = require("nodejs-websocket")var PORT = 3000var server = ws.createServer(function (conn) { console.log("New connection") conn.on("text", function (str) {
2021-11-09 16:45:39 3640
原创 JavaScript笔记-前端原生态WebSocket的使用
运行截图如下:输入数据点击发送:源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>WebSocket</title></head><body> <h1>Echo Test</h1> <input id="sendTxt" ty.
2021-11-09 16:43:29 709
原创 Qt文档阅读笔记-Broadcast Sender Example解析
此例子展示了使用Qt Network API发送广播包程序结构如下:代码如下:sender.h#ifndef SENDER_H#define SENDER_H#include <QWidget>#include <QTimer>QT_BEGIN_NAMESPACEclass QLabel;class QPushButton;class QUdpSocket;QT_END_NAMESPACEclass Sender : public Q
2021-11-09 16:41:36 342
原创 Qt文档阅读笔记-Broadcast Receiver Example解析
这篇博文的例子是说明如何在局域网上搭建广播包接收端。这里使用了Qt Network API,搭建本地广播包接收端。结构如下:代码如下:receiver.h#ifndef RECEIVER_H#define RECEIVER_H#include <QWidget>QT_BEGIN_NAMESPACEclass QLabel;class QUdpSocket;QT_END_NAMESPACEclass Receiver : public QWidge
2021-11-09 16:39:07 447
原创 信息安全工程师笔记-综合知识冲刺(四)
国家密码管理局于2006年1月6日公布了“无线局域网产品须使用的系列密码算法”:对称密码算法:SMS4;签名算法:ECDSA;密钥协商算法:ECDH;杂凑算法:SHA-256;随机数生成算法:自行选择。ECDSA和ECDH密码算法须采用国家密码管理局指定的椭圆曲线和参数。对称加密数据:DES、3DES、SM4、IDEA、RC2、RC4;非对称加密技术(公钥加密算法):RSA、椭圆曲线密码;防火墙自身的局限性:①不能防御绕过它的攻击;②不能消除来自内部的威胁;③
2021-11-02 08:42:11 290
原创 Linux笔记-配置本地光盘未yum源
cd /etc/yum.repos.d/vim CentOS-Media.repo可知只要把光盘挂载到/media/CentOS//media/cdrom//media/cdrecorder/
2021-11-02 08:41:37 201
原创 信息安全工程师笔记-综合知识冲刺(三)
攻击密码的类型:①仅知密文攻击:攻击者仅仅是知道密文,来进行破解;②已知明文攻击:攻击者知道某些明文,对应的密文;③选择明文攻击:攻击者通过选择一些明文,获得相应的密文;④选择密文攻击:攻击者通过选择一些密文,获得对应的明文。重放攻击(Replay Attacks)防御的方法:①加随机数(Nonce);②加时间戳;③加流水号(序号)。计算机取证步骤:①准备工作;②保护目标计算机系统;③确定电子证据;④收集电子证据;⑤保护电子证据。信息隐藏技术的应用
2021-11-02 08:40:06 352
原创 信息安全工程师笔记-综合知识冲刺(二)
SSF33、SM1、SM4、SM7是对称算法,SM2、SM9是非对称算法,SM3是哈希算法。SM9是基于双线性对的标识密钥算法。等保五级:①用户自主保护级:隔离用户与数据,具备自主安全保护能力,对用户实施访问控制;②系统审计保护级:比上一级更细颗粒度的自主访问控制,使用户对自己的行为负责;③安全标记保护级:在上一级的基础上,提供有关安全策略模型、数据标记以及主体对客体强制访问控制的非形式化描述;具有准确标记输出信息的能力;消除通过测试发现的任何错误。④结构化保护级:在上一级的基础上建
2021-11-02 08:39:16 1283
原创 信息安全工程师笔记-综合知识冲刺(一)
SM3算法是在SHA-256基础上改进实现的一种算法,消息分组长度为512位,生成摘要(杂凑)值长度为256位BS7799标准是英国标准协会制定的信息安全管理体系标准,是按照先进的信息安全管理标准建立完整的信息安全管理体系,达到动态的、系统的、全员参与的、制度化的、以预防为主的信息安全管理方式,用最低的成本,获得最高的信息安全水平,从根本上保证业务的连续性。信息安全必须遵守的原则:最小化原则:受保护的敏感信息只能在一定范围内被共享,履行工作职责和职能的安全主体,在法律和相关安全策略允许的前提下,
2021-10-26 09:01:32 2037
原创 信息安全工程师笔记-加密模式ECB、CBC、CFB、OFB、CTR
简述DES和AES都属于分组密码,它们只能加密固定长度的明文。如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方法就称为分组密码"模式"。分组密码有很多模式,如果模式选择不当,就无法充分保证机密性。分组密码与流密码分组密码:每次只能处理特定长度的一块数据的一类密码算法,这里的"一块"就称为分组。此外,一个分组的比特数就称为分组长度。流密码:对数据流进行连续处理的一类密码算法。流密码中一般以1bit、8bit、32bit等为单位进行加密存储。一次性
2021-10-26 09:00:30 13496 1
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关注的人