自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (1)
  • 收藏
  • 关注

原创 qq消息记录导出为MHT,转换为HTML文件保存

​ qq聊天消息记录,在一些原因下,想将消息记录保存下来,便于随时查看,用作留恋。使用qq自带的消息管理器(老版qq)导出的消息记录格式可以保存为MHT文件格式,但是在对于一些消息量特别多的情况下,MHT文件的打开以及查看可能回存在问题,在github上寻找到了一个将mht文件转换为html的软件,使用下来感觉还不错。

2024-08-09 14:29:13 618

原创 Docker与LXC差异以及相关命令

LXC与Docker对比,LXC只实现了进程沙盒化,不支持在不同的机器上进行移植;Docker将应用的所有配置和环境进行了抽象,打包到一个容器中,此容器可以在任何安装了docker的机器上运行,效果都是一样的,使得改容器具有了可移植性。

2024-07-29 10:02:52 1019

原创 aliyun Rest ful api V3版本身份验证构造

使用GET请求进行构造,算法使用sha256 使用postman进行验证。将算出来的信息在这里赋值,包含唯一随机数、时间、还有signature。

2023-11-15 10:51:24 441

原创 AWS用户访问密钥的创建(编码访问)

AWS用户访问密钥的创建(编码访问)

2023-04-24 10:32:35 531

原创 c++执行shell命令(简单记录)

C++控制shell命令,简单代码

2022-12-07 16:55:38 1038

原创 关于恢复Linux 虚拟机后网络配置出错的问题

因为服务器变动,将原来服务器上的虚拟机备份恢复到新的服务器上面,然后在恢复后我查看恢复机器的网络ip,发现不能显示ipv4信息,并且其网卡名称从原来的eno16780032变成了ens192,但是在network-scripts文件夹下没有找到此网卡信息。重启后再次使用ifconfig查看,此时网卡已经变成了eth0,按理说应该没有问题了,但是我的机器还是没有网络。于是仔细检查ifcfg-eth0文件内容,发现了其mac地址还是原来服务器机器的mac地址。然后我直接将网卡名称修改为eth0并修改内核文件。

2022-09-28 15:13:00 600

原创 C++数据传输

C++数据流 数据传输

2022-09-02 18:47:30 1492

原创 编译使用Aws-cpp-sdk API

在Linux系统上使用aws-cpp-sdk源码进行编译开发。操作系统使用原生的contos7Linux。

2022-07-20 15:00:09 3419 2

原创 GCC8.20版本的安装

GCC8.20版本的安装

2022-03-08 15:53:56 2792

原创 ADO使用Execute插入CLOB

学习ADO的使用,在过程中,对于向数据库中插入一条CLOB的数据(一本小说),进行了一些尝试:首先参考像ODBC中的方法,使用open函数打开文本,然后依次读取文本内容,并将内容拼接成一个完整的sql语句。初始代码如下:CString SQL = "insert into test_big(id,big) values(18,'"; int h_file = _open("D:\\test_txt\\big_out.txt", O_BINARY | O_CREAT | O_RDWR, _S_IWRI

2021-09-29 11:39:14 193

原创 使用ADO连接ODBC

使用ADO连接ODBC的一些记录以及问题环境:VS2019 x86 Debug模式连接方式:ODBC DSN连接ADO使用流程:(1)初始化COM库,引入ADO库定义文件(2)用Connection对象连接数据库(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理。(4)使用完毕后关闭连接释放对象。在VS中新建一个控制台程序,在预编译头文件中引入ADO动态链接库预编译头文件 stdafx.h内容

2021-09-22 17:30:28 658

原创 Git超级入门使用

Git的初级使用测试安装,查看版本信息:git --version返回git版本号则成功注册Gitee并配置SSH key:点击头像,选择设置SSH公钥,进入后里面有需要输入公钥的提示然后在电脑Git Bash中输入命令ssh-keygen -t rsa -C "注册的邮箱号"连续三次回车生成ssh key打开C盘user里面的.ssh文件夹,复制.pub后缀的文件内容,其内容就是公钥。cat ~/.ssh/id_rsa.pub回到gitee中,将公钥输入然后确定在Git中设置用户

2021-08-18 20:27:32 229

原创 OS-虚拟化内存相关内容

操作系统-虚拟化内存地址空间地址空间:由操纵系统提供的一个易用的物理内存抽象包含内容:代码 (各种指令)堆 malloc分配的内存,动态数据结构等栈 局部变量、函数参数、返回值等对于用户级程序员来说,看到的都是虚拟地址虚拟内存的三个目标:透明 操作系统提供的虚拟地址假象不该被程序看破,程序的行为就好像自己拥有私有物理空间效率 追求虚拟化尽可能的在时间和空间上高效保护 操作系统应确保进程受到保护,不受其他进程影响,操作系统本身也不受进程影响。内存操作AP

2021-08-18 20:24:24 204

原创 OS-进程

操作系统的工作:取得CPU,内存,磁盘等物理资源,对他们进行虚拟化,处理于并发相关的问题,并持久化的存储文件。进程:运行中的程序,操作系统为正在运行的程序提供的抽象虚拟化CPU:(时分共享CPU技术),通过让一个进程只运行一个时间片,然后切换到其他进程,产生一种存在多个虚拟CPU的假象。空分共享:资源在空间上被划分给希望使用它的人。时分共享:允许资源由一个实体使用一段时间,然后由另一个实体使用一段时间。CPU虚拟化受限直接执行机制目的:以高性能方式虚拟化CPU,同时保持对系统的控制用户模

2021-08-18 20:23:19 178

原创 TCP的拥塞控制

TCP拥塞控制目的:提高网络利用率,降低丢包率,保障网络资源对每条数据流的公平性网络拥塞:在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,就会导致网络性能变差。拥塞控制的最终受控变量:发送端向网络一次连续写入的数据量,称为SWND。(发送窗口)TCP报文段的数据部分最大长度称为SMSS。SWND限制了发送端能连续发送的TCP报文数量。对于SWND的选择,如果过小则会造成明显的网络延迟,如果过大则容易造成网络拥塞。SWND的值由接收方的接收告知窗口(RWND)和发送端的拥塞

2021-07-28 09:54:31 417

原创 QT基础学习

QT快捷键注释 ctrl + /运行 ctrl + r编译 ctrl + b查找 ctrl + f整行移动 ctrl + shift + 上/下自动对齐 ctrl + i帮助文档 F1同名间的 .h 和 .cpp 切换 F4自动补全 ctrl+space常用头文件#include <QPushButton> 按钮#include <QDebug> debug输出#include <QWidget> 空窗口#inc

2021-07-08 20:16:04 427

原创 轻松学习linux shell脚本

shell个人Linux shell学习笔记,学习网站菜鸟教程shell脚本Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。查看linux的shell解释器:echo $SHELLLinux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)Bourne Again Shell(/bin/bash)C Shell(/usr/bin/csh)K Sh

2021-06-29 11:13:35 212

原创 c++学习笔记

C++编程语言数据类型整型没有小数部分的数字类型 Short、int、long、long long标准:short 至少16位 ,2个字节int至少与short一样长long 至少32位,且至少与int一样长long long至少64位,且至少与long一样长表示无符号类型使用unsigned来修饰unsigned 本身是unsigned int 的说缩写。整形字面值:显示书写的常量如 520 ,前两位为0X表示16进制,第一位是0,第二位是1~7 表示8进制。位与字节:8位

2021-06-03 19:51:00 441

原创 Xshell和Xftp个人免费版下载

Xshell和Xftp个人免费版下载Xshell和Xftp可以帮助我们远程控制服务器,但是一般去官网下载,首先会跳转到收费的官网。其实官方针对个人用户,开放了免费版,和商业版功能一样,至少限制了会话数,个人使用完全满足免费下载官网链接:https://www.netsarang.com/zh/free-for-home-school/进去后填好姓名邮箱,下载链接很快就会发到你的邮箱里面,(如果没有检测邮箱地址或者看垃圾箱里面)然后正常安装即可开始使用...

2021-05-24 21:16:36 297

转载 707)设计链表

leetcode 707设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点.

2021-04-18 21:33:48 103

原创 运算符

运算符运算符分类:算数运算符:*, - ,+ ,/ ,%关系运算符:> ,< ,==, != ,>= ,<=逻辑运算符:!, && ,||位运算符:<<,>>,~,|.^,&赋值运算符:=级扩展运算符条件运算符:?逗号运算符:,指针运算符:*,&求字节数运算符:sizeof强制类型转化运算符:(类型)分量运算符(成员指示符):.,->下标运算符

2021-04-15 10:43:29 180

原创 404)左叶子之和(复习二叉树的四种遍历)

leetcode上看到一道题,计算给定的二叉树的所有左叶子之和在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24在做这个题之前,准备复习回顾一下二叉树的几种遍历方法。二叉树的遍历二叉树的遍历,是从根节点出发,按照某种规则访问树中的所有结点。四种遍历方法:前序遍历中序遍历后序遍历层序遍历二叉树树的创建首先创建一个结构体:struct TreeNode { int val; TreeNode *left; TreeNode *righ

2021-04-07 20:43:48 216

原创 516)最长回文子序列

https://leetcode-cn.com/problems/longest-palindromic-subsequence/dp动态规划回文子序列:字符串中能构成回文的字符串,不同于字串,可以在顺序不变的情况下将元素提取出来使能构成回文,即我们可以删除某些字符来让某部分字串处于回文题目:给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 。例如输入“bbbab”输出:4一个可能的最长回文子序列为 “bbbb”。输入:“.

2021-04-05 21:20:11 100

原创 143)重排链表

https://leetcode-cn.com/problems/reorder-list/快慢指针、链表反转、合并题目描述:给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。分析:单链表,重排后第一个与最后一个,交叉排列,可以想到将链表反转。刚开始设想的是复制一份原链表将其反转为5->4->3->2->1然后在合并前一半部分。.

2021-04-05 20:44:53 145

原创 链表的快慢指针

参考:https://www.jianshu.com/p/21b4b8d7d31b快慢指针:定义两根指针,移动速度一快一慢,制造一个差值,利用这个差值来找到链表上相应的节点。找中间值:定义两个指针a,b。我们假设b的速度是a的两倍,a,b一起跑,那么在b遍历完链表后,a所在的位置就是链表的中间节点。如下:判断链表中是否有环:设置两个不同速度的指针,如果在某个时刻,两指针相遇,那么链表中就存在环。删除倒数第n个节点就相当于要找出待删除元素前一个元素,为第n-1个节点。首先让fast指.

2021-04-04 20:26:58 106

原创 TCP的握手,挥手

对网络编程TCP的连接与断开过程中涉及到的握手与挥手的过程做一个总结TCP的连接建立首先了解TCP连接中使用的SYN,ACK等作用:SYN (Synchronize) 同步序列编号,是TCP/IP建立连接时的握手信号,一个SYN包就是仅SYN标记为1的TCP包,通常由客户端首先向服务端发送一个SYN包。(A)–>[SYN]–>(B)ACK(Acknowledge character) 确认字符,表示发来的数据已经接受无误,在TCP/IP中,如果接受放成功接受到数据,则会回复一个AC.

2021-04-04 16:43:02 111

原创 两数相加

**两数相加:**给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。知识点:链表遍历,三元运算符(?),判断进位,判断结束条件code:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNo

2021-04-01 22:12:34 74

原创 单向链表的逆向遍历与反转

单向链接逆向遍历单向链表顺序遍历很方便,那么逆向遍历呢首先定义一个链表,然后将其反向输出。结构体定义如下:struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};将链表反向输出,其过程分解就是先入后出,于是我们想到了一种类似的结构,栈方法,使用栈。头文件 :#include <stack>#include &

2021-04-01 20:28:42 1937

原创 QtcpSocket提示找不到文件

在使用QtcpSocket和QTcpServer的时候使用#include < QTcpServer>#include < QTcpSocket>确提示NO fsuch file or directory原因:需要在文件的.pro中添加network模块如下即可:这样就没有问题了

2021-04-01 17:20:49 5140

原创 运算符重载

运算符重载定义多个名称相同但参数列表不同的函数,根据操作数的数目和类型来决定采用那种操作。允许将运算符重载扩展到用户定义的类型运算符函数格式如下:operatorop(argument-list)例如 要实现加法运算符的重载只需要 operator+()即可例如我们设置一个Time类来实现时间的相加初始设置如下:#ifndef STUDENT_H#define STUDENT_H//设置一个Time类class Time{ //提供用于调整时间,重设时间,显示时间,时间相

2021-03-29 15:23:26 127

原创 C++强制类型转化

c++四大类型强制转换c原始类型转换缺点:1)没有从形式上体现转换功能和风险的不同例如:将 int 强制转换成 double 是没有风险的,而将常量指针转换成非常量指针,将基类指针转换成派生类指针都是高风险的,而且后两者带来的风险不同(即可能引发不同种类的错误),C语言的强制类型转换形式对这些不同并不加以区分。2)将多态基类指针转换成派生类指针时不检查安全性,即无法判断转换后的指针是否确实指向一个派生类对象。3)难以在程序中寻找到底什么地方进行了强制类型转换。c++四大强制转换类型:st

2021-03-25 11:16:39 422

原创 函数中结构体操作

结构体操作函数返回结构体,结构体作为参数传递在编程中,使用结构体可以很好的保存信息。将结构体作为返回值例如信息保存在文件中,我们可以使用文件操作将数据提取出来保存到结构体中,并返回结构体:函数构造如下:struct AA{…}struct AA f(){struct AA a;…return a;}struct datainfo{int dev_id;//设备idchar devtype[20];//设备类型float data;//数据值float precisio

2021-03-15 15:22:42 1958 1

转载 C++中引用(&)用法

原文:https://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.htmlC++中引用(&)用法对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途。掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。一.

2021-03-13 17:31:39 132

原创 C++ thread多线程的几种方法

进程与线程:一个程序创建运行就是一个进程,一个进程有一个主线程,主线程唯一主线程执行main函数中的代码,当main函数执行完毕,主线程终止,其生命周期与进程一致。在主线程以外可以通过代码创建其他线程来执行函数或者其他程序。c++头文件 :#include <thread>创建线程一:线程执行函数例如要创建线程执行函数 hello()void hello(){cout<<"hello"<<endl;}只需要在函数里面调用创建线程调用:voi

2021-03-13 17:22:35 2341

原创 QT-读取配置ini文件

Qt读取ini文件进行配置:ini文件.ini 文件是Initialization File的缩写,即初始化文件。格式:ini配置文件由节、键、值组成。【节】所有的参数都是以节(section)为单位结合在一起的。所有的section名称都是独占一行,并且section名字都被方括号包围着([和])。在section声明后的所有parameters都属于该section。一个section没有明显的结束标识符,一个section的开始就是上一个section的结束,或者是文件结束。例如:[a

2021-03-07 17:20:12 9701

原创 网络编程-DNS

DNS域名服务(Domain Name Service)你给它一个容易记忆的某站点的地址, 它给你 IP地址(然后你就可以使用 bind(), connect(), sendto() 或者其它函数)例如要使用域名连接到一个网站 xuluck.com$ telnet xuluck.comtelent可以知道连接的目的地址为”47.108.133.125“。具体的工作过程:可以调用函数gethostbyname():#include <netdb.h>struct hosten

2021-03-06 16:41:22 236

原创 网络编程函数2

网络编程函数2函数accept();send();recv();sendto();recvfrom();close();shutdown();getpeername();gethostname();accept():函数作用accept()函数用于等待连接,客户端从我监听(listen())的端口连接到我的机器上,他的连接将加入一个等待连接(accept())队列中,我调用accept()表示有空闲的连接,并在连接后返回一个新的套接字描述符。原本的套接字还在监听端口,新的套接字用于发送和接受数

2021-03-06 15:58:32 111

原创 网络编程函数1

网络编程使用的函数头文件:C语言:#include<sys/types.h>#include<sys/socket.h>c++#include <Winsock2.h>#pragma comment( lib, "ws2_32.lib" )socket()函数socket()函数用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源。函数原型如下:int socket(int domain, int type, int pro

2021-03-05 22:08:44 141

原创 网络编程-基础

网络通信–基础计算机网络基础知识什么是socket它是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式,是internet套接字网络通信-socket,计算机中两个程序通过socket建立一个通道,数据在通道中互相传输,构成了简单的网络通信。socket有两种类型,Stream Socket(流格式)和Datagram Socket(数据报格式),数据报套接字也叫“无连接套接字”,使用UDP协议,流式套接字是可靠的双向通讯的数据流,使用TCP协议。传输

2021-03-04 19:40:09 185 1

原创 安装tensorflow使用GPU加速

笔记本安装tensorflow使用GPU加速引言:tensorflow 一个开源的机器学习库,可以帮助你快速的开发和训练机器学习模型。安装需要:anaconda、CUDA、cuDNN。本次安装在自用的笔记本上面使用conda安装,显卡为NVIDIA的mx150,安装的tensorflow-gpu版本为2.4.0,需要安装支持的CUDA和cuDNN,系统信息如下:显卡版本支持的CUDA版本MX15011.1在安装之前首先要确定自己电脑显卡支持的CUDA版本首先进入电

2021-03-02 21:17:34 1132

QT知识点整理思维导图学习.xmind

QT学习,基础理论,复习回顾

2021-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除