- 博客(154)
- 资源 (7)
- 收藏
- 关注

原创 QT操作Word,插入表格
最近在做QT导出word报表,发现网上的资源不是很多,也浪费了很多时间,我自己做了一份demo,将会详细讲述如何做出需要样式的报表。在网上很容易查到java或者其他语言操作word的接口函数,但是QT能操作word的,不是很多,而且还不太好用。我把自己已经调试出来的代码,贡献出来,免得以后浪费时间。如果有错误的话,可以联系我。我的邮箱地址:leiluo1894@126.com. 写了一部分接口函
2016-07-24 11:28:28
16161
31
原创 UE4编译grpc,编译打包
unrealengine,《虚幻4引擎》是由Epic Games公司推出的一款游戏开发引擎,相比其他引擎,虚幻引擎不仅高效、全能,还能直接预览开发效果,赋予了开发商更强的能力。虚幻引擎4在大约2分半的Demo演示中,将其强大的功能发挥得淋漓尽致。与之相关的游戏有《连线》《绝地求生:刺激战场》等等。
2022-04-04 22:23:54
4093
原创 go redis代码练习
go redis作为客户端使用,使用其中的连接池等,可以参考如下例子package mainimport ( "bufio" "context" "fmt" playcardtensflow "go-zero-examples/goredis/api" "log" "net" "strconv" "strings" "sync/atomic" "time" "github.com/go-redis/redis/v8" "github.com/golang/protobuf/
2022-02-07 10:16:26
978
原创 智能指针的使用
文章目录独占型智能指针共享型智能指针线程安全shared_ptr引用计数AttributeMethod引用计数对象释放问题weak_ptrenable_shared_from_this独占型智能指针auto_ptr由于在拷贝和赋值时会转移指针权限,无法在STL容器中使用,在c++17中已经删除unique_ptr为独占式智能指针,无法进行拷贝和赋值,这里我们利用RAII机制来实现一个简单的unique_ptr这里使用泛型编程,unique_ptr内部保存T指针即可,在构造函数保存指针,析构函数
2021-12-16 16:27:20
1583
原创 Kratos Quick Start
一.查看Kratos官方文档以及源码Kratos源码Kratos官方文档查看如下路径,创建新的项目创建新项目Requiredgoprotocprotoc-gen-go二.Installinggo install 安装:go install github.com/go-kratos/kratos/cmd/kratos/v2@latestkratos upgrade源码编译安装:git clone https://github.com/go-kratos/kratos
2021-11-23 14:41:20
900
原创 Kratos日志
一.如何在kratos框架中使用参考官方文档中描述,为了方便业务自适配不同的 log 接入使用,Logger 只包含了最简单的 Log 接口。当业务需要在 Kratos 框架内部使用自定义的 log的时候,只需要简单实现方法即可。日志库较为公用建议放在kit基础库中方便其他微服务引用。在kratos日志中,很多时候是输出到控制台的,但是实践中更多的是为了打印到文本中。1.实现log接口并配置zap日志库编码package logimport ( "fmt" "time" "github.c
2021-11-23 09:52:53
1646
原创 grpc生成pb.go以及grpc.pb.go文件遇到的问题
1.生成pb.go(Linux 平台)protoc --go_out=. --go_opt=paths=source_relative \ --go-grpc_out=. --go-grpc_opt=paths=source_relative \ helloworld/helloworld.proto2.生成pb.go(Windows平台)protoc 默认不支持go语言文件的输出,需按插件的形式来实现通过protoc命令生成 xx.pb.go (数据结构的定义,及操作方法)
2021-11-12 17:02:08
3674
原创 golang实现无锁队列
golang实现无锁队列locklessqueue.go//locklessqueue.gopackage locklessimport ( "sync/atomic")type LockFreeQueue struct { buf []interface{} len int32 head int32 tail int32}func NewQueue(n int32) *LockFreeQueue { q := &LockFreeQueue{buf: make(
2021-10-15 11:14:12
1471
原创 golang http操作
1.golang http formdata表单形式操作package mainimport ( "bytes" "fmt" "io" "io/ioutil" "net/http" "net/url" "os" _ "reflect" "strings" _"time" _"unicode")func main() { testPredict() testGet("https://www.baidu.com") testGetUrl("https://w
2021-10-13 12:03:53
391
转载 现代 C++ 编译时 结构体字段反射
基于 C++ 14 原生语法,不到 100 行代码:让编译器帮你写 JSON 序列化/反序列化代码,告别体力劳动。本文不讨论完整的 C++ 反射技术,只讨论结构体 (struct) 的字段 (field) 反射,及其在序列化/反序列化代码生成上的应用。正文开始于 [sec|静态反射] 部分,其他部分都是铺垫。。可以略读。。。背景(TL;DR)很多人喜欢把程序员称为 码农,程序员也经常嘲讽自己每天都在 搬砖。这时候,大家会想:能否构造出一些 更好的工具,代替我们做那些无意义的 体力劳动 呢?在实际
2021-09-25 06:42:26
2019
原创 代码编码格式转为UTF8
1.在Linux系统中安装enca.网址:enca2.采用源码方式进行安装具体步骤如下:需要提前解压文件,解压之后,按照如下步骤进行。64位机器安装方法1.编译包:CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 && make 2.运行make checkmake
2021-09-08 16:46:13
1121
转载 C++基础
???? Github???? 本仓库是面向 C/C++ 技术方向校招求职者、初学者的基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。???? 仓库内容如有错误或改进欢迎 issue 或 pr,建议或讨论可在 #12 提出。由于本人水平有限,仓库中的知识点有来自本人原创、读书笔记、书籍、博文等,非原创均已标明出处,如有遗漏,请 issue 提出。本仓库遵循 CC BY-NC-SA 4.0(署名 - 非商业性使用 - 相同方式共享) 协议,转载请注
2021-08-09 21:35:38
1287
转载 c++11实现写优先的读写锁
先直接贴出代码:#ifndef __WRITE_FIRST_RW_LOCK_H#define __WRITE_FIRST_RW_LOCK_H #include <mutex>#include <condition_variable> class WfirstRWLock{public: WfirstRWLock() = default; ~WfirstRWLock() = default;public: void lock_read() { std::
2021-07-26 14:58:58
2581
2
原创 libcurl上传文件
1.libcurl功能简介https://curl.se/libcurl/具体使用方法可以看这里的简介:https://www.cnblogs.com/heluan/p/10177475.html2.上传文件到ftp上具体见代码:#include <string>namespace BaseFun{ struct UploadFileSession { static bool UploadFile(std::string& response, const std:
2021-07-21 16:02:52
2559
原创 利用 cmake 工具生成 Visual Studio 工程文件
最近在编译GRPC的时候,发现可以编译成Windows平台软件,用于远程调用。在Windows平台编译带有cmakelist的软件的时候,很多人喜欢使用cmake gui,可是很多时间都挺不好用的,还容易失败。本文介绍使用cmake以及git让开源软件,编译成window平台可以使用vs2015或者vs2019进行编译的工程。1.软件准备在Windows上安装好如下两款软件,具体链接如下:cmake :https://cmake.org/git :https://cmake.org/2.生成软
2021-06-26 08:30:47
1445
原创 gRPC压测工具ghz
本文主要介绍了 gRPC 压测工具 ghz ,包括 ghz 的安装、使用及压测计划制定等。gRPC 系列相关代码见 Github安装可以直接在Release页面下载二进制文件,也可以 clone 仓库手动编译。下载解压后即可使用# 下载$ wget https://github.91chifun.workers.dev/https://github.com//bojand/ghz/releases/download/v0.94.0/ghz-linux-x86_64.tar.gzghz-lin
2021-06-20 16:40:17
2056
原创 Centos升级gcc至5.4.0
下载、解压源码包(可从官方镜像地址https://gcc.gnu.org/mirrors.html选择适合自己的下载地址与gcc版本)我选择的是距离杭州最近的节点,下载速度相对快点wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.4.0/gcc-5.4.0.tar.gztar xvf gcc-5.4.0.tar.gzcd gcc-5.4.0ps: gcc与g++的命令目录在/usr/local/bin下载依赖..
2021-06-20 16:37:33
348
原创 windows 10 编译 OpenSSL
1.下载OpenSSL源码地址:OpenSSL官网github地址2.下载需要用到的程序ActiveState Perlnasm安装完成后,添加到环境变量中3.用管理员打开“适用于 VS 2019 的 x64 本机工具命令提示”,到openssl源码目录切换到源码目录,然后配置如下图所示:将会提示错误:Can't locate Win32/Console.pm in @INC (you may need to install the Win32::Console module)
2021-05-28 15:57:48
397
原创 线程安全的单例模式写法
关于单例的理论部分已经不再赘述,网上多得是,下面以代码为例:class CNoncopyable { protected: CNoncopyable() {} ~CNoncopyable() {} private: // 将拷贝构造和赋值操作符声明为私有类型 CNoncopyable(const CNoncopyable&);
2021-01-21 20:12:39
243
转载 领域:知识与体系
在我工作的经历中就曾碰到过这么一个人,他一开始做了几年开发,从前端到后端,后来又转做测试,接触的“点”倒是不少,但却没能连接起来形成自己的体系,那他个人最大的价值就局限在最后所在的“点”上了。其实个人的成长有很多方面,但对于程序员的成长最重要的就是知识体系的构建,这其实就是一个 “点线面体” 的演进过程。下面我会结合自己的成长路线来梳理下这个体系的建立过程。点进入任何一个知识领域,都是从一个点开始的。如下图,是我从大学进入软件开发领域所接触的一系列的点,我将其从左到右按时间顺序排列。红色
2020-07-17 11:06:19
467
转载 UML科普文,一篇文章掌握14种UML图
前言上一篇文章写了一篇建造者模式,其中有几个UML类图,有的读者反馈看不懂了,我们今天就来解决一哈。什么是UML?UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。为什么要用UML?通过使用UML使得在软件开发之前, 对整个软件设计有更好的可读性,可理解性,从而降低开发风险。同时,也能方便各个开发人员之间的交流。UML提供了极富表达能力的建模语言,可以让软件开发过程中的不同人员分别得到自己感兴趣的信息。Page-J
2020-07-13 22:39:07
674
转载 SQL 进阶技巧(下)
上文我们简述了 SQL 的一些进阶技巧,一些朋友觉得不过瘾,我们继续来下篇,再送你 10 个技巧一、 使用延迟查询优化 limit [offset], [rows]经常出现类似以下的 SQL 语句:SELECT*FROMfilmLIMIT100000,10offset 特别大!这是我司出现很多慢 SQL 的主要原因之一,尤其是在跑任务需要分页执行时,经常跑着跑着 offset 就跑到几十万了,导致任务越跑越慢。LIMIT 能很好地解决分页问题,但如果 offset 过...
2020-07-13 22:25:33
231
转载 SQL 进阶技巧(上)
编者荐语:看到工作中,很多 CRUD Girl&Boy 写 SQL 都很随意,项目组可能因为没有时间做约束限制,但不等于我们可以松懈对代码质量的要求,哪怕是美观的代码格式。如果你还不知道怎么写一手好SQL,这篇文章可以帮助你。以下文章来源于码海,作者码海由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL 的一些...
2020-07-13 22:24:30
329
原创 索引的原理:我们为什么用B+树来做索引?
索引的作用,是否需要建立索引,以及建立什么样的索引,需要我们根据实际情况进行选择。我之前说过,索引其实就是一种数据结构,那么今天我们就来看下,索引的数据结构究竟是怎样的?对索引底层的数据结构有了更深入的了解后,就会更了解索引的使用原则。今天的文章内容主要包括下面几个部分:为什么索引要存放到硬盘上?如何评价索引的数据结构设计的好坏? 使用平衡二叉树作为索引的数据结构有哪些不足? B 树和 B+ 树的结构是怎样的?为什么我们常用 B+ 树作为索引的数据结构?如何评价索引的数据结构设计好坏数据库
2020-06-26 21:08:25
1167
1
原创 索引的使用原则:如何通过索引让SQL查询效率最大化?
什么情况下使用索引?当我们进行数据表查询的时候,都有哪些特征需要我们创建索引? 索引不是万能的,索引设计的不合理可能会阻碍数据库和业务处理的性能。那么什么情况下不需要创建索引? 创建了索引不一定代表一定用得上,甚至在有些情况下索引会失效。哪些情况下,索引会失效呢?又该如何避免这一情况?创建索引有哪些规律?创建索引有一定的规律。当这些规律出现的时候,我们就可以通过创建索引提升查询效率,下面我们来看看什么情况下可以创建索引:1. 字段的数值有唯一性的限制,比如用户名索引本身可以起到约束的作用,
2020-06-26 21:06:01
1733
原创 数据库调优
其实关于数据库调优的知识点非常分散。不同的 DBMS,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。为了能让你对数据库调优有一个整体的概览,我把这些知识点做了一个梳理,希望能对你有一些帮助。需要掌握以下几个方面的内容:数据库调优的目标是什么? 如果要进行调优,都有哪些维度可以选择? 如何思考和分析数据库调优这件事?数据库调优的目标简单来说,数据库调优的目的就是要让数据库运行得更快,也就是说响应的时间更快,吞吐量更大。不过随着用户量的不断增加,以及应用程序复杂度的提升,...
2020-06-22 23:06:18
569
原创 网络工具
在实际开发过程中,熟悉使用Linux或者Windows中相关网络工具,可以让我更快更准的找到故障,所以今天分享几个必会的网络利器1 ncnc-->“瑞士军刀”。不知大家在渗透过程中,拿了shell有没有使用nc搞点事儿。它用来快速构建网络链接。常用来调试客户端程序。nc参数小贱上案例执行任务 执行命令 扫描机器A端口号在30-40的服务 nc -z A 30-40 连接服务器A 端口号为5000 nc -C A 5000 传送文件 M.
2020-06-21 22:28:36
258
转载 实战!我用“大白鲨”让你看见 TCP
前言“哈?啥是大白鲨?”咳咳,主要是因为网络分析工具Wireshark的图标特别像大白鲨顶部的角。不信你看:Wireshark“为什么拖了怎么久才发文?”为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。接下来丢包、乱序、超时重传、快速重传、选择性确认、流量控制等等 TCP 的特性,都能「一览无云」。没错,我把 TCP 的"衣服扒光"了,就为了给大家看的清楚,嘻嘻。提纲正文...
2020-05-24 16:34:57
315
转载 在浏览器输入 URL 回车后,会发生什么?
这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了。注意:本文的步骤是建立在,请求的是一个简单的 HTTP 请求,没有 HTTPS、HTTP2、最简单的 DNS、没有代理、并且服务器没有任何问题的基础上,尽管这是不切实际的。大致流程 URL 解析 DNS 查询 TCP 连接 处理请求 接受响应 渲染页面 一、URL 解析地址解析:首先判断你.
2020-05-24 16:28:01
178
原创 Nginx高级篇:从原理到实战,彻底搞懂Nginx
通过配置 Nginx 配置文件,实现正向代理、反向代理、负载均衡、Nginx 缓存、动静分离和高可用 Nginx 6种功能,并对 Nginx 的原理作进一步的解析。当需要使用 Nginx 配置文件时,参考本文实例即可,建议收藏。1. 正向代理 正向代理的代理对象是客户端。正向代理就是代理服务器替客户端去访问目标服务器。1.1 实战一实现效果: 在浏览器输入 www.go...
2020-03-03 13:19:19
1115
4
原创 SQL语句大全,所有的SQL都在这里
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'-...
2020-03-03 12:50:47
492
转载 boost::filesystem使用方法,根据路径创建文件夹
filesystem库提供了两个头文件,一个是<boost/filesystem.hpp>,这个头文件包括基本的库内容。它提供了对文件系统的重要操作。 同一时候它定义了一个类path。正如大家所想的。这个是一个可移植的路径表示方法,它是filesystem库的基础。 一个是<boost/filesystem/fstream.hpp>。是对std::fstream的一...
2019-12-19 11:40:23
6451
转载 基于Linux整形时间的常用计算思路
本文链接:https://blog.youkuaiyun.com/analogous_love/article/details/102574429上一次分享了《Linux时间时区详解与常用时间函数》,相信大家对Linux常见时间函数的使用也有了一定的了解,在工作中遇到类似获取时间等需求的时候也一定能很好的处理。本文基于Linux整形时间给出一些简化的的常用计算思路,试图从另外的角度去加强读者对时间处理的理...
2019-10-21 22:50:07
218
转载 最全的 DB2 错误代码大全
作为一个程序员,数据库是我们必须掌握的知识,经常操作数据库不可避免,but,在写 SQL 语句的时候,难免遇到各种问题。例如,当我们看着数据库报出的一大堆错误时,是否有种两眼发蒙的感觉呢?咳咳,莫要否认,你有、我有,全都有啊!不过,值得庆幸的是,已经有人帮咱们整理出一份关于 DB2 的错误代码大全啦,以后再遇到数据库报错,直接拎出看看,岂不爽哉?当然,在此对原作者送上万分的感谢。2 错误代码及说...
2019-07-30 14:29:12
6095
原创 字符串处理
#include <algorithm>#include <windows.h>#include <assert.h>#include <string>#include <sstream>#include <vector> using namespace std; //T类型转s...
2019-06-28 11:32:18
161
原创 C++ 根据文件路径获取文件名称,文件大小
#include "stdafx.h"#include <iostream>#include <string>using namespace std;std::string GetPathOrURLShortName(std::string strFullName);long long GetFileSize(string& strPath);st...
2019-06-28 10:44:50
1578
modp_base64.rar
2020-08-26
Qt开发文档用于编写Word文档
2018-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人