- 博客(104)
- 收藏
- 关注
原创 Windows 平台 Mongodb C++ 已编译驱动 MSVC-64Bit 版可直接使用
点此下载链接:https://pan.baidu.com/s/1991Vv7lCZGCLi5awv3SS7g提取码:8kh6
2020-12-25 14:07:09
318
原创 Qt 使用http上传文件 与 Flask后台交互
C++部分以下HttpManager部分转载自:https://blog.youkuaiyun.com/m0_37987268/article/details/108712993已进行小小的改动。HttpManager.h#ifndef HttpManager_H#define HttpManager_H#include <QObject>#include <QNetworkReply>class QNetworkAccessManager;class LoadingWidg
2020-12-24 16:13:32
1292
1
原创 Qt QSqlDatabase: QMYSQL driver not loaded 解决方案
Qt版本以Mingw64编译器为例子声明:下面所涉及的路径都改为自己电脑上安装Qt时对应的路径即可。1.将libmysql.dll(下面会给下载链接)放到D:\Qt\Qt5.12.3\5.12.3\mingw73_64\bin下。2.将D:\Qt\Qt5.12.3\5.12.3\mingw73_64\bin和D:\Qt\Qt5.12.3\Tools\mingw730_64\bin添加到系统的Path环境变量中(不能跳过这一步)。3.重启Qt Creator,然后重新编译运行即可。libmysq
2020-12-24 10:30:07
551
原创 libevent系列[一] Windows平台初步编译及测试使用
libevent官网http://libevent.org/Github地址https://github.com/libevent/libevent本次测试编译版本为2.1.12准备工作1.安装cmake:https://www.cmake.org2.安装gcc编译器,因为我安装了qt顺便安装了mingw编译器3.将gcc.exe所在目录添加到PATH环境变量,我的在D:\Qt\Qt5.12.3\Tools\mingw730_64\bin步骤1.win键+x打开power shell2
2020-11-18 13:23:33
648
原创 [解决方案]Windows系统报错cx_Oracle.DatabaseError: DPI-1072: the Oracle Client library version is unsupported
安装好instantclienthttps://pan.baidu.com/s/1lMo3v0wluy1rMoK26o0A9A复制dll将安装好的instantclient目录下的所有dll复制到相应的python解析器Scripts文件夹下即可也可以将instantclient目录添加到PATH环境变量~
2020-11-16 14:30:25
3839
3
转载 64位整型网络字节序与主机字节序转换
unsigned long long ntohll(unsigned long long val) { if (__BYTE_ORDER == __LITTLE_ENDIAN) { return (((unsigned long long )htonl((int)((val << 32) >> 32))) << 32) | (unsigned int)htonl((int)(val >> 32)); }
2020-11-11 10:40:57
935
转载 Python中对字节流/二进制流的操作:struct
前言前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块。查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一些笔记以供快速上手。注:教程中以下四个名词同义:二进制流、二进制数组、字节流、字节数组在struct模块中,将一个整型数字、浮点型数字或字符流(字符数组)转换为字节流(字节数组)时,需要使用格式化字符串fmt告诉struct模块被转换的对象是什么类型,比如整型数字是’i’,浮点型数字是’f’,一个ascii
2020-11-02 14:00:06
1436
转载 Qt出现Parse Error 解决方案
#ifndef Q_MOC_RUN#include <pcl/visualization/cloud_viewer.h>#include <pcl/io/io.h>#include <pcl/io/pcd_io.h>#endif#include <QWidget>将Qt外的头文件放在#ifndef…#endif里面即可
2020-10-30 10:27:04
4081
原创 Qt无法定位程序输入点QXXXX于动态链接库XXXX问题的解决方法
可能的原因在PATH变量中搜索路径时的顺序问题。比如MinGW编译器的路径在MSVC编译器的路径前面时,这时候你使用MSVC编译器来编译构建项目,这时候在Qt里点击运行是没有问题的。但是如果使用windeployqt xxx.exe然后在文件里双击运行时就会报“无法定位程序输入点QXXXX于动态链接库XXXX问题”。解决方法改变Path变量中相关路径的顺序像这样把MSVC的路径放大MinGW前即可。然后在cmd窗口中set Path=test,再双击运行程序,成功。...
2020-10-26 15:03:35
8012
2
原创 Mongodb C++ 的简单封装
Mongodb.h#ifndef MONGODB_H#define MONGODB_H#include <bsoncxx/builder/stream/document.hpp>#include <bsoncxx/types.hpp>#include <mongocxx/client.hpp>#include <mongocxx/instance.hpp>#include <mongocxx/uri.hpp>#include &l
2020-10-13 12:01:49
1048
转载 Mysql 错误 Error loading schema content
出现错误的原因在MySQL5.1.X升级到MySQL5.5.X的时候,升级完成之后需要更新系统表,而出现以上错误是因为没有更新系统表解决方法mysql_upgrade -u root -p转自:https://blog.51cto.com/fanfusuzi/1662891
2020-10-12 10:48:00
2254
原创 Ubuntu设置时区
sudo apt install ntpdatesudo tzselect 然后按照提示输入数字进行选择sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimesudo ntpdate time.windows.comPS:如果是使用date来修改时间之后,记得修改硬件CMOS的时间:sudo hwclock --systohc...
2020-10-11 18:45:18
251
转载 Ubuntu18Sever安装图形界面
第一步:换阿里源sudo vim /etc/apt/sources.listdeb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic
2020-10-11 18:11:53
526
原创 Ubuntu18.04-live-server配置静态IP
说明Vmware使用Nat模式注意先在Vmware中查看Nat信息,注意网关是多少配置netplancd /etc/netplanlsls列出的文件名可能不一样,编辑它就是了sudo vim 50-cloud-init.yaml注意:冒号后面要有个空格配置DNSsudo vim /etc/resolv.conf保存后重启尝试是否可访问外网PS:如果访问不了外网,DNS好像也跟/etc/systemd/resolved.conf这个文件有关系,可尝试把它里面的DNS的注
2020-10-11 16:34:45
794
1
原创 Ubuntu18安装Mongodb
导入公钥sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5创建源列表文件MongoDBecho "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3
2020-10-11 15:29:17
265
转载 MD5 - C++实现
MD5.h#ifndef MD5_H#define MD5_H #include <string>#include <fstream> /* Type define */typedef unsigned char byte; using std::string;using std::ifstream; /* MD5 declaration. */class MD5 {public: MD5(); MD5(const void *input, size
2020-10-10 10:38:02
284
原创 Qt练习项目 - 个人网盘开发 - [ Sloot Netdisk ] (一) 界面开发
说明这是本人在毕业设计之前的一个学校的小任务 [ 专项设计 ] 。突发奇想,就想做个个人用的网盘,模仿百度网盘的部分功能。登录界面 : 参考QQ登录界面布局 。主界面 : 参考百度网盘界面布局 。界面初步效果图接下来,进行数据库设计和服务器程序编写...
2020-10-08 13:15:41
3757
21
原创 解决Qt设置无边框后无法通过鼠标拖动修改窗口大小问题
头文件#ifndef ABSTRACTMAINWINDOW_H#define ABSTRACTMAINWINDOW_H#include <QMainWindow>#include <QPainter>#include <QPaintEvent>#include <QStyleOption>#include <QMouseEvent>#include <QPoint>#include <QResizeEvent&
2020-10-05 12:00:46
1914
1
原创 Linux Mysql C++ API 封装 以及使用方法
头文件#ifndef _MYMYSQL_H#define _MYMYSQL_H#include <string>#include "mysql.h"using namespace std;class MyMysql { protected: bool m_hasRead = false; //执行exec后,是否已调用过mysql_read int m_curReadValueIndex = -1; //执行mysql_read后,下次取第几行的数据
2020-10-05 00:42:31
391
原创 深入浅出处理器
初步认识处理器处理器中的中断处理器中的内存管理老问题:为什么访问0地址的时候,程序会崩溃?因为0地址(虚拟地址)在页表中对应的页的属性(权限)是不可访问的。处理器中的缓存伪代码void process(message* msg){ static parser* cache = nullptr; //一级缓存 if((cache) && (cache->type == msg-&
2020-09-26 16:29:59
168
原创 Mysql插入中文字符错误解决方案
在my.cnf中添加如下内容[client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' skip-character-set-client-handshake = true [mysql] default-character-
2020-09-25 17:12:52
472
原创 JAVA部分语法注意点笔记
1.类成员变量有默认初始值,局部变量必须初始化2.super()必须出现在构造函数的第一句3.多态:继承,然后覆盖方法;成员变量不能多态4.父类对象 isinstanceof 子类对象 返回 True5.final修饰的类不能被继承,修饰的方法不能被重写,修饰的变量不能被改变6.程序中成员变量赋值的执行顺序:(1)声明成员变量的默认初始化(2)显式初始化、多个初始化块依次被执行(同级别下按先后顺序执行)(3)构造器再对成员进行初始化操作(4)通过”对象.属性”或”对象.方法”的方
2020-09-02 23:28:46
169
原创 QTableView设置columnWidth无效
1.确保在设置列宽之前,先设置模型。2.有时候设置模型了再设置列宽,依然无效,经过试验,在设置模型并设置列宽后,可以在插入新数据后,再执行一次设置列宽的操作,实测有效。
2020-09-02 22:48:18
2168
1
原创 解决QProcess启动进程后kill无效
问题背景Windows下,使用QProcess的start函数调用python外部程序,想杀死进程的时候,调用kill无效。解决方法QProcess::startDetached("taskkill -t -f /pid " + QString::number(proc->processId()));
2020-09-02 22:25:07
2519
原创 Qt报错:qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““
1.安装pyside2pip install -U pyside2 -i https://pypi.doubanio.com/simple2.在环境变量中添加变量名:QT_QPA_PLATFORM_PLUGIN_PATH变量值:D:\Anaconda3\Lib\site-packages\PySide2\plugins3.注销重新登录windows系统4.打开相关编译器的cmdwin键+scd /d 你的exe所在目录windeployqt xxxxxxx.exe重新运行即可
2020-08-29 11:36:02
4028
转载 解决 Qt 对象跨线程调用问题
Qt有很多IO相关的类,比如说QTcpSocket、QFile,总的来说,在Qt的框架内使用,还是非常方便的。但是用过其他框架IO类的人,可能有一个很不习惯,就是Qt的所有IO类,都不推荐或者不可以跨线程操作,不然就会报错,比如说操作QTcpSocket跨线程调用write接口,就会报错:socket notifiers cannot be enabled from another thread要解决这个问题,直观的说就是不要跨线程操作,网上也有很多类似的说明。这也是有道理的,很多时候真的是设计问
2020-08-25 10:09:57
6894
原创 Kafka 基础入门
消息队列的两种模式(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。(2)发布/订阅模式(一对多,消费者消费数据之后不会清除消息)消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到t
2020-08-24 10:57:40
190
原创 JAVA 操作 Kafka
IDEAPom文件<?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.org/POM/4.0.0 http://maven.apache
2020-08-23 14:17:17
134
原创 集群分发脚本
scp(secure copy)安全拷贝(1)scp定义:scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)(2)基本语法scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称注意:如果目标目录不存在,直接将源test放到opt目录下scp -r test/ root@hadoop
2020-08-21 11:32:55
318
原创 Hadoop HA 高可用
HA概述所谓HA(High Available),即高可用(7*24小时不中断服务)。实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。NameNode主要在以下两个方面影响HDFS集群(1)NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启(2)NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用HDFS HA功能
2020-08-20 10:43:11
239
原创 ZooKeeper 入门
特点数据结构把节点看做是一个目录应用场景提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。本地安装部署1.安装JDK2.下载Zookeeper安装包,解压到指定目录下3.配置修改(1)将/opt/module/zookeeper-3.4.10/conf这个路径下的zoo_sample.cfg修改为zoo.cfgmv zoo_sample.cfg zoo.cfg(2)修改dataDirdataDir=/opt/module/zookee
2020-08-17 22:29:23
457
原创 Qt中使用MSVC编译器通过调用QProcess来执行python代码时This application failed to start because it could not find......
说明现在做的Qt项目(用C++写)中需要调用Python文件,所以通过QProcess来调用。之前是使用MinGW编译器编译程序的,通过QProcess来调用.py文件没问题。今天有特殊需要,要换成msvc2017编译器,在调用Python文件的时候提示:解决办法pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/pip install pyqt5-tools -i https://pypi.tuna.tsinghua.e
2020-08-13 13:57:05
359
转载 Windows使用MSVC编译Mongodb C/C++ Driver
C语言版驱动https://www.cnblogs.com/music-liang/p/12779013.htmlC++语言版驱动https://www.cnblogs.com/music-liang/p/12780094.html
2020-08-12 17:19:06
273
原创 Windows使用MinGW编译Mongodb C/C++ Driver
准备工作1.下载mongo-c-driver,地址:https://github.com/mongodb/mongo-c-driver/releases。我选择的是1.15.3版本的。2.下载mongo-cxx-driver,地址: https://github.com/mongodb/mongo-cxx-driver/releases。我选择的是r3.5.0版本的。3.下载安装msys2,地址:msys2.github.io。选择x86_64 版本, 非 i686.4.进入msys2的安装目录
2020-08-12 17:11:29
1010
1
原创 MapReduce - 计数器 与 数据清洗
计数器数据清洗一般是在map阶段,对输入的数据进行一些合法性检查。对于不合法的数据,在map函数中直接return,合法的才继续走下去。
2020-08-09 18:10:23
129
原创 MapReduce - Map Join 案例
数据基于https://blog.youkuaiyun.com/u012321968/article/details/107863294使用场景Map Join适用于一张表十分小、一张表很大的场景。优点思考:在Reduce端处理过多的表,非常容易产生数据倾斜。怎么办?在Map端缓存多张表,提前处理业务逻辑,这样增加Map端业务,减少Reduce端数据的压力,尽可能的减少数据倾斜。具体办法:采用DistributedCache(1)在Mapper的setup阶段,将文件读取到缓存集合中。(2)在驱动函数中
2020-08-09 15:15:22
190
原创 MapReduce - Reduce Join 案例
Reduce Join工作原理Reduce Join案例实操2.需求分析通过将关联条件作为Map输出的key,将两表满足Join条件的数据并携带数据所来源的文件信息,发往同一个ReduceTask,在Reduce中进行数据的串联相关代码TableBean.javapackage MapReduceJoin;import org.apache.hadoop.io.Writable;import org.apache.hadoop.io.WritableComparator;impo
2020-08-07 15:30:45
647
1
原创 MapReduce自定义OutputFormat
3.驱动类中job.setOutputFormatClass(MyOutputFormat.class);注意自定义了OutputFormat,那么在Driver中也要FileOutputFormat.setOutputPath指定输出路径,因为MapReduce本身还要输出一些额外的文件,如crc文件相关代码(以WordCount为例)MyOutputFormat.javapackage MapReduceCustomOutputFormat;import org.apache.hadoo.
2020-08-07 11:12:54
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人