- 博客(101)
- 资源 (18)
- 收藏
- 关注
原创 docker里的ubuntu设置时区
docker里安装的ubuntu比如16.04并没有携带时区设置,所以其默认使用了UTC时区。跟本地时区相差8小时。再查看时间:date,可以看到已经是本地时区了。
2025-03-07 14:36:51
437
原创 yolov8训练和预测
Ultralytics YOLOv8 是一种前沿、最先进 (SOTA) 的模型,它在之前的 YOLO 版本的成功基础上引入了新功能和改进,以提高性能和灵活性。YOLOv8 旨在快速、准确、易于使用,是广泛应用于目标检测和跟踪、实例分割、图像分类和姿态估计等任务的优秀选择。与之前的 YOLOv5 不同的是,YOLOv8 是在一个名为 Ultralytics 项目下,该项目将该团队之前制作的 YOLOv3、YOLOv5 整合到了一起,并添加了 YOLOv8。
2024-09-25 09:01:46
1301
原创 aarch64架构CPU的docker中ubuntu18.04,20.04,22.04等系统apt update均报错的原因
早上8点左右我到公司执行atp update,一切正常,安装lrzsz,htop也成功。但是到了10点左右,就开始无法使用了。宿主及环境为aarch64的CPU的Ubuntu18.04,docker版本为自带的19.03.6。这个原因很乌龙,之前百度搜索结果也都不对,最终原因竟然只是因为。
2023-09-08 08:44:47
1180
1
原创 基于 gmssl实现的sm2加密(C++)(改进版)
此文章基于https://blog.csdn.net/hacker_lpy/article/details/124211114提供的方法,经过测试修正代码后,与https://the-x.cn/zh-cn/cryptography/Sm2.aspx提供的工具的加密解密数据一致。将上述三个文件替换掉该项目中的相应文件,make即可得到libgmutil.so和test文件。1、修正SM2加密解密使用C1C3C2的顺序(手动调整的)。2、修正SM2结果不正确的问题。
2023-06-15 11:20:16
2830
5
原创 SM4加密解密的C++代码
本代码源于文章:https://blog.csdn.net/nicai_hualuo/article/details/121626931 中提供的算法,进行了完善而已。SM4的加密,使用了ECB模式,PKCS7填充,实现了对十进制、字符串的加密解密,加密结果和解密参数支持十六进制字符串和base64两种方式。
2023-06-14 16:56:27
2535
2
原创 sm3加密(32位哈希,64位十六进制数据)
https://blog.csdn.net/nicai_hualuo/article/details/121555000 中介绍了sm3的算法并给出了可用代码,我只是将其拷贝过来,测试、去掉多余的输出,并进行了简单封装,以方便项目中使用。用法见main函数。
2023-06-14 11:15:59
3891
1
原创 vue+element中解决upload跨域问题
在vue + element UI中使用Upload 上传功能之所以在action里填写的URL无法自动使用vue里本来配置好的解决跨域的转发方案,是因为没有像普通Ajax请求(使用axios)一样给设置相同的头部路径。上面的转发配置代表请求以/api开始的时候,进行转发操作。我看到网上的文章写得太过复杂,所以我纠正一下,实践过的。这样设置后,本地调试、编译后运行,都不会有问题了。
2023-06-07 10:49:01
1408
原创 安装docker和centos 7镜像记录
进入容器后,安装所需服务软件,并部署好文件。如果要将容器提交为镜像,然后导出给其他地方部署用,建议先停止所有服务,将挂载的目录中的文件移除出去再提交、导出镜像,这样镜像中的/web目录就是个空目录,方便导入镜像后创建容器去挂载外面的web目录(web目录随镜像一起发布)。使用技巧:在docker中运行的centos7也支持rc.local,不过/etc/profile不会在进入shell交互时自动执行,需要在/etc/profile.d/xxx.sh中设置自己需要部署的环境变量。
2023-04-07 08:17:06
1199
原创 windows里的vscode的c_cpp_properties.json
在打开代码目录中建立目录.vscode,目录中存放c_cpp_properties.json,内容如下,可以准确识别代码定义,否则会有很多波浪线,提示代码无法识别。
2022-11-29 15:17:01
1513
原创 用mysql C api存取二进制数据
mysql的c接口,使用普通的query方法,很难获取到二进制数据。使用mysql_stmt_前缀的函数,用mysql_stmt_bind_result的方式,可针对各种类型的数据进行获取操作
2022-09-15 16:54:30
667
原创 js校验日期时间的正则表达式
时间就简单多了,后面的([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]代表了小时、分、秒的正则,因为小时是00-23,所以针对0、1开头的后面可以跟0-9,但是对于2开头的,只能是0-3,后面的分钟、秒则是同一个规则,从00-59.2、月份和日期联合:(((0[13578]|1[02])/(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)/(0[1-9]|[12][0-9]|30))|(02/(0[1-9]|[1][0-9]|2[0-9])))..
2022-08-04 16:44:38
6929
1
原创 libssh2+websocketpp做后端,vue xterm做前端的web端shell终端
程序采用多线程方式,有心跳监测,经过大量测试,运行相对很稳定的一段程序。之前发布了一篇文章,前端是一样的,只不过后端用的nodejs技术做的后台脚本,那个脚本太简单了,毕竟是解释性语言,就是节省开发时间,而且性能也不会太差。websocketpp的下载地址https//github.com/zaphoyd/websocketpp。libssh2下载地址https//github.com/libssh2/libssh2。boost的下载地址https//www.boost.org/.........
2022-07-22 14:20:51
1620
原创 npm ssh2 + vue xterm 实现web端ssh终端功能
为了得到一个相对完善的后端websocket服务进程和前端页面功能,我也是百度并自己尝试了很长时间了,总结从百度搜索得来后缺失的要点如下:前端要点:1、发送数据用json格式字符串,后端方便读取后判断是需要调整屏幕大小还是发送操作命令。2、this.fitAddon.fit()的调用要延时执行,等页面基本OK了再执行,比如3、绑定window的resize,并注意在重连以后也要延时执行调节屏幕大小功能。后端:ssh.shell调用的时候要传入配置{term: ‘xterm’}.........
2022-07-22 11:34:56
4414
原创 vue导入导出csv文件(插件papaparse + jschardet)
csv的导入导出之前我写过一篇文章:https://blog.csdn.net/canlynetsky/article/details/125278779,按那篇文章导出的是带BOM头的csv文件,但是在WPS编辑后会变成GBK编码,所以依靠BOM头判断如何解析。此文则使用vue的插件papaparse + jschardet来实现导出导入以及字符集编码的监测。直接上代码:项目中需要安装这两个插件:npm install papaparse jschardet -S...
2022-07-20 11:31:03
2250
1
原创 使用libssh2做的ssh客户端(epoll模型,占用资源低)
libssh2使用比较抽象,网上例子多但是经过详细测试的却不多,本文用网上的例子编译运行后,发现该例子运行后即使空闲时CPU占用达到100,经过改进,且改为epoll模型后用,CPU占用率低至空闲时0%。...
2022-07-08 15:23:29
1075
2
原创 scandir按文件名升序获取满足条件的文件名
如果用readdir扫描目录,文件名是按照索引排序的,会显得凌乱。在某些情况下我们需要文件名的顺序排列,那么久需要用scandir了。按文件名升序排列的获取如下所示:
2022-06-24 15:46:16
464
原创 vue导出导入csv文件(无需插件)
vue导出csv的时候有一个问题,就是如果数据是UTF-8格式的,需要在文件内容前面加BOM头,这样Excel程序可以识别这个BOM头,不会乱码。安装插件命令:npm install papaparse实例代码如下,我测试通过的:............
2022-06-14 15:17:03
3452
1
原创 vue导出导入Excel文件(复杂表头)
最近项目中需要用到将页面上展示的少量数据导出到Excel,而页面的表格的表头是做了归类的多级表头,在网上找到一篇文章介绍的非常好,拿过来试了试,修正了其中一些错误,下面贴的代码是在项目中使用过的。导入参考的文章:https://blog.csdn.net/weixin_52103939/article/details/118551223导出参考的文章:http://t.zoukankan.com/guwufeiyang-p-13245875.html首先安装插件:npm install -S file
2022-06-12 14:43:40
2698
1
原创 websocketpp基本用法
websocketpp是一个基于C11标准开发的websocket c++框架,文档地址为https://docs.websocketpp.org/getting_started.html,源码地址为https://github.com/zaphoyd/websocketpp(经常打不开)。典型使用方法如下代码,额外应该加上多线程,在主线程中针对每个客户端管理其活跃时间,定期清理不活跃的客户端。...
2022-06-08 11:22:41
7554
原创 交叉编译vim74
网上找到两篇文章,为我成功编译vim打下基础,不过两篇文章都有些缺陷导致编译不成功。第一篇文章为:https://www.cnblogs.com/liangwode/p/5825128.html?utm_source=itdadao&utm_medium=referral另一篇文章为:https://blog.csdn.net/feixiang3839/article/details/73772275首先下载ncurses-5.9.tar.gz,从https://mirrors.sjtug.s
2022-05-24 17:29:05
454
原创 GDAL api读写shp文件的方法
GDAL的资料实在太少了,不便上手,还好百度搜索还能找到比较优秀的文章,参考如下:https://www.cnblogs.com/bigbigtree/archive/2011/12/07/2278721.htmlhttps://blog.csdn.net/xzhh19921019/article/details/53408099https://www.osgeo.cn/gdal/doxygen/classGDALDataset.html#afec5fd0fffddbdf530cd6294caa66a
2021-12-10 12:26:40
2945
原创 C++17的directory_iterator编译错误的解决办法
源代码如下:#include <iostream>#include <filesystem>using namespace std;using namespace std::filesystem;int main(int argc, char **argv){ path str("/"); if (!exists(str)) { return -1; } director
2021-11-08 11:55:19
3059
原创 QTableWidget分页和排序
本例程演示了在将所有数据存储到成员变量后,根据每页显示记录数量对表格数据进行分页展示,且提供了切换页面的按钮和输入框。在支持分页后,同时处理了表头的点击事件,将页面数据进行重排,使用了C++ 11的lamda函数。在Qt5.14.2中编译测试通过。代码粘贴如下:main.cpp#include "dialog.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc,
2021-09-24 17:01:06
1592
原创 cmake的安装
cmake的官网是https://cmake.org/,下载地址为https://cmake.org/download/,下载页面里有各个版本的cmake,可以选择最新的发行版下载。根据我的经验,在河北使用联通的网络下载要比电信的快很多。上班前在家里下载要比去了公司下载快很多。下载列表可能像下面这样:Linux中下载压缩包就行。解压缩后把所有文件移动到/usr就等同于安装了。...
2021-08-06 06:46:35
210
原创 在Ubuntu14.04 里用apt命令安装QT
这两天折腾各种版本的QT,发现在旧版操作系统里安装新版的QT很可能失败,失败后还不好解决,以至于我都放弃了必须安装新版本QT的想法,反正在项目中用到的QT版本其实很低就够用。只要是QT5就行,毕竟不想用QT4了,QT4用json或串口等还要自己下载扩展。在Ubuntu14里编译器版本是4.8.4,QT版本是5.2.1,安装命令如下:sudo apt install qt5-default qtcreator qt5-doc qttools5-dev-tools备注:qt5-default 如果只是
2021-08-04 20:43:31
3117
原创 QT5.9国际化的坑
首先百度的国际化方法,我找到C:\Qt\Qt5.9.9\5.9.9\mingw53_32\translations\qt_zh_CN.qm,放进去用,无效果!但这个文件放到QT5.2.1里用,有效果。我在Ubuntu14.04里用命令sudo apt-get install qt5-default安装了qt5.2.1的编译环境,用sudo apt-get install qtcreator安装了qt5.2.1的编辑器Qt Creator 3.0.1。在QT不知道哪个版本开始,需要将qt_zh_CN.qm
2021-08-03 14:42:43
282
原创 QT5程序在Linux下的发布
首先单独创建目录比如test,目录中拷贝QT编译的release状态的应用程序比如test,然后拷贝两个脚本到test目录:第一个用于打包的pack.sh:#!/bin/sh exe="test" #你需要发布的程序名称des="/home/dhn/test" #创建文件夹的位置deplist=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }') cp $deplist $des第二个脚本用于程序启动run.sh,
2021-08-03 06:43:20
517
原创 QT5.9.9在优麒麟18和20里解决中文输入法和创建应用程序图标
解决中文输入法,是拷贝so到两个目录:sudo chmod +x /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.socp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ~/Qt5.9.9/5.9.9/gcc_64/
2021-07-31 20:07:19
597
原创 libxml2使用xpath寻找节点
最近做项目总是有解析xml的需求,而迅速定位到所需节点然后进行读取、修改、删除操作是常有的事情,为此,我学习了xpath的用法,总结如下:首先,libxml2的官方文档被墙了,只能百度。找到一篇文章:https://www.cnblogs.com/catgatp/p/6505427.html文章里介绍的方法很实用,我拿过来修改后自己测试并调整。示例代码如下,参照着使用就行了。#include <libxml/parser.h>#include <libxml/tree.h>
2021-07-28 09:35:37
977
libssh2+websocketpp+boost实现的web终端C++后台
2022-07-22
qt_zh_CN.zip
2021-09-22
network.zip
2021-06-18
odbctest.zip
2020-11-29
完成端口IOCP模型的套接字类(MFC)
2020-09-17
NavicatServer_11.0.10.zip
2020-07-15
QJson源码头文件和编译好的库.zip
2020-05-09
手机视频处理.zip
2019-05-23
手机图片处理.zip
2019-05-23
Sublime Text 3 for Mac 3075破解版(英文版)
2016-07-05
网站后台管理系统模板ace admin v1.3
2015-10-15
优化过的ueditor_1.4.3
2015-08-31
js和php配合的rsa openssl 加密解密函数
2015-08-26
SquirrelMail 支持html并base64编码
2014-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人