自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fzl_blog的博客

成为一名合格的程序员

  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++编程小技巧

boost内存池(线程安全)#include <boost/pool/singleton_pool.hpp>typedef boost::singleton_pool<NewData, sizeof(NewData)> NewDataPool;NewData *p = (NewData*)NewDataPool::malloc(); 申请内存NewDataPool::free(p); 释放noncopyable禁止拷贝操作#include <boos

2021-11-17 15:08:36 621

原创 c++变长模板

template<typename... Args>inline auto sort_tuple(const std::tuple<Args...>& tp) { if constexpr (sizeof...(Args) == 2) { auto [a, b] = tp; if constexpr (!std::is_same_v<decltype(a), ormpp_key> && !std::is_same_v<decl..

2021-09-27 09:10:19 228

原创 多线程之条件变量

在C++11可以使用条件变量(condition_variable)实现多个线程间的同步操作;当条件不满足时,相关线程被一直阻塞,直到某种条件出现,这些线程才会被唤醒。主要成员函数: 1、wait函数:(1)wait(unique_lock <mutex>&lck) 没有第二个参数收到notify时直接返回不阻塞当前线程的执行会被阻塞,直到收到 notify 为止。(2)wait(unique_lock <mutex>&lck,Predicate pred)当前

2021-08-05 18:54:40 615

原创 ubuntu 20.04服务升级常见错误

ubuntu 20.02服务升级常见错误执行svn checkout 命令报错 An error occurred during SSL communication#修改/usr/lib/ssl/openssl.cnf 文件#开头添加 如下openssl_conf = default_conf#末尾添加[ default_conf ]ssl_conf = ssl_sect[ssl_sect]system_default = ssl_default_sect[ssl_default_s

2021-06-09 17:20:25 1210

原创 网络文件系统的安装配置使用

需求: 192.168.1.6配置可访问192.168.1.12的某个路径下的文件1、安装nfs服务sudo apt install nfs-server2、服务端安装sudo apt install rpcbind3、客户端安装sudo apt install nfs-common4、配置文件 /etc/exportsvi /etc/exports加入/root/test/MK_TOOL/DealData 192.168.1.6(rw,sync,no_root_squa.

2020-09-27 16:31:25 242

原创 gdb附加调试技巧和常用命令

启动时进行调试:gdb 进程名gdb后台服务调试技巧:有的程序运行后台进行调试需要sudo权限sudo gdb 输入密码后shell comand: 可在gdb下使用 shell命令,例如 shell ps -ef | grep 进程名 (可查看到进程ID)attach pid:(使用attach 附加到进程中进行调试 类似vs的调试->附加到进程)b 设置断点(支持行号,文件名:行号,函数名,文件名:函数名 等)display 变量: 查看变量的值 类似pwatch 变量: 执

2020-08-25 18:34:46 538

原创 工作中使用到的nginx配置

#user nobody;worker_processes auto;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events{ worker_connections 1024; multi_accept on;}#http协议 多个监听端口配置

2020-07-31 15:13:03 129

原创 编写CMakeLists常使用的函数和示例

CMakeLists文件示例cmake_minimum_required(VERSION 3.5) #cmake最低版本要求project(Test) #工程名set(CMAKE_CXX_STANDARD 11) #c++11 设置set(CMAKE_BUILD_TYPE DEBUG) # debug版set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")add_def

2020-07-07 19:00:42 939 1

原创 linux 更换svn账号或svn更新校验和不匹配

步骤linux切换svn账号cd ~/.subversion/auth/rm -rf *删除~/.subversion/auth/下的文件 执行svn update 会提示输入用户密码按照提示输入svn 用户密码 svn 更新源码出现校验和不匹配问题对应目录执行svn update 之后, 如果更新源码出现校验和不匹配问题(即更新不下最新的代码)解决方法:1.进入出现问题的文件所在的目录2.执行命令svn update --set-depth empty3.执行命令svn u

2020-06-24 16:51:51 778

原创 Ubuntu 18.04 安装 zoroc-ice

使用16.04命令安装方式不能成功,只能采用源码安装方式首先编译依赖 libssl-dev libbz2-dev mcpp libexpat1-dev 需要先安装本机 sudo apt-get install 方式用不了,只能采用aptitude install 方式下载wget https://github.com/zeroc-ice/ice/archive/v3.6.3.tar.gz tar zxf v3.6.3.tar.gztip: 下载对应版本只需要更改版本号即可 如下载v3.6

2020-06-11 10:02:14 582

原创 Zeroc Ice概念和原理

Ice ObjectIce Object是一个可以对客户端请求进行应答的对象可位于本地地址空间也可位于远程地址空间Ice Object使用全局唯一的Object Identity 对象标识符区别其他类型对象Ice Object拥有一个或者多个接口,一个是主接口其余成为FacetIce Object在服务端具体化为一个Servant实例(用某种语言实现Slice接口并新建的对象就是Servant)Ice Object与Servant之间使用Object Adapter进行关联Object Ad

2020-06-02 15:03:55 541

原创 vs开发工具必备插件

vs开发工具必备插件和下载必备插件下载方法工欲善其事,必先利器必备插件Go To Definition作用: 快速跳转到定义使用方法:鼠标指到需要跳转的地方 Ctrl + 鼠标左键VsVim相当于linux的vi/vimIndent Guides作用:在if else 块增加虚线 很容易找到if 搭配的elseViasfora作用: 对函数和判断给出色彩鲜明的括号下载方法工具-->扩展和更新-->搜索相应的插件安装重启vs即可

2020-05-29 16:06:05 703

原创 查询datetime类型 前/后几天 几时几分几秒的数据的SQL语句

查询 前/后几天 几时几分几秒的数据查询 昨天00:00:00~当天23:59:00的数据查询 昨天00:00:00~昨天23:59:00的数据查询 当天00:00:00~当天23:59:00的数据查询 昨天00:00:00~当天23:59:00的数据SELECT * FROM ref_region_map_v2 WHERE update_time >=DATE_FORMAT(DATE_SUB(CURRENT_DATE(),INTERVAL 1 DAY),'%Y-%m-%d 0

2020-05-28 18:09:58 810

原创 Mysql优化

什么情况需要优化?性能低,执行时间长,等待时间较长,SQL语句欠缺(连接查询),索引失效,服务器参数设置不合理(缓冲区)

2020-05-25 21:55:35 157

原创 mysql主从同步配置

必知:此方案不是实时的数据有延迟核心:通过二进制日志文件(数据库的增删改记录都会存在该文件中)实现原理二进制日志事件:master将数据库增删改的数据记录到二进制日志文件中(binary log)slave 通过I/O操作 将master的二进制日志拷贝到中继日志文件中(relay log)中继日志事件:slave 通过sql线程将数据同步到slave服务中配置配置前检查防火墙和授权远程访问master配置1.授权远程访问use mysql;GRANT ALL PR

2020-05-24 18:47:27 273

原创 foreign key 和on delete/update cascade用法

步骤确立表关系即主表和被关联表需要先建立被关联表(需指定)create table 表名( 字段名 类型 [限定条件], 字段名 类型 [限定条件],);如:create table deptment ( dep_id int primary key, dep_name char(20), dep_comment char(256) );建立主表限定关联表create table 表名( 字段名 类型 [限定条件], 字段名 类型 [限定条件],

2020-05-24 11:03:47 5388

原创 深入mysql 数值类型选取的精度

在这之前我也是小白,总觉得int(10) 代表的是存储宽度整数类型tinyint 1字节 有符号范围 (-128,127) 无符号范围(0,256)smallint 2字节 有符号范围 (-32768,32767) 无符号范围 (0,65536)mediumint 3字节 有符号范围(-8388608,8388607) 无符号范围 (0,16777215)int,integer 4字节 有符号范围(-2147

2020-05-23 22:45:39 571

原创 mysql 修改表结构

语法修改表名 rename table 原表名 to 新表名; 【新版本】 alter table 表名 rename 新表名;删除字段alter table 表名 drop 子段名称修改子段名 MODIFY 子段名 数据类型[约束条件]; alter table 表名 CHANGE 旧字段 新字段 旧数据类型 [约束条件]; CHANGE 旧字段 新字段 新数据类型[约束条件];新增字段

2020-05-23 21:31:21 292

原创 MySQL 数据库引擎进阶

数据库三个分支DDL 语句数据库定义语句: 例如 数据库,表,视图,索引 存储过程 CREATE DROP ALTERDML语句数据库操作语句 : INSERT DELETE UPDATE SELECT (增、删、改、查’)DCL语句数据库控制语句: 控制访问权限GRANT,REVOKE安装mysql后自动生成的三个库test库mysql 数据库系统自动创建的数据库information_schema库虚拟库不占空间存储数据库启动后的

2020-05-23 21:12:56 199

原创 mysql 心法口诀复习

开始打鸡血了语法顺序select distinct 字段1,字段1,字段3 from 库.表where 条件 group by 分组条件having 过滤 order by 排序字段1,排序字段2limit n;执行顺序先找表(from) 过滤数据(where)分组(group by) 过滤 (having)去重(distinct)排序 (order by)限制查询数据条数(limit) group by 使用的聚合函数max() 最大min()

2020-05-22 23:42:09 349

原创 boost xml文件读写操作

头文件#include <boost/property_tree/ptree.hpp>#include <boost/property_tree/xml_parser.hpp>#include<vector>读xmlvoid LoadStockFromFile(std::vector<std::string> &vecStockList){ std::string symbol; boost::property_tree::p.

2020-05-22 12:49:49 327

原创 从此弄懂c++的[public protected private]继承和成员访问

成员访问权限public(1) public成员变量可以被成员函数访问 [访问] (2) public成员可以被实体对象访问 [访问](3) public成员可以成为子类成员 [对子类的派生]protected(1)protected成员变量可以被成员函数访问 [访问](2)protected成员可以成为子类成员 [对子类的派生]private(1)private成员变量可以被成员函数访问 [访问](2)private成员不能成为子类成员 [对子类

2020-05-21 19:08:49 238 1

原创 vi/vim 常用技巧(精华)

vi /vim访问文件需要密码vim -x filename 分割窗口 split 水平分割------------命令---------------:sp filenamevsplit 垂直分割------------命令---------------:vsp filename-On 垂直分割 vim -On 1.txt 2.txt -On 水...

2020-01-19 10:51:43 1841

原创 Linux 精华汇总(shell命令)

SCP 文件远程[或本地]传送scp -P port file user@ip:dir将file传送至ip主机下的user用户下的dir目录find 查找指定文件和执行相关操作查找当前目录下五天前的文件: find ./ -mtime +5 -type f查找当前目录下五天前的文件并执行mv命令 ({ }代表有find 到的东西): find ./ -mtime +5 -typ......

2020-01-18 10:55:45 5951 1

原创 linux 常用命令汇总

Linux 命令软件管理命令apt-get 命令apt-get update 更新软件包信息apt-get upgrade 将系统中所有软件升级到最新版本apt-get install 安装软件apt-get --reinstall install 重装apt-get remove 卸载apt-get --purge remove 纯净卸载apt-get autorem...

2020-01-17 23:55:45 4932 3

原创 重要概念知识点【并发、并行】【进程、线程】【同步、异步】

程序猿进阶知识点(重在理解)什么是进程? 什么是线程?进程 系统中正在运行的一个应用程序,程序一旦运行就是进程。 即进程是指程序执行时的一个实例。线程 线程是进程的一个实体。 进程是资源分配的最小单位。 线程是程序执行的最小单位。进程和线程的主要区别进程拥有独立的堆栈空间和数据段,每当启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护...

2020-01-17 22:25:54 463

原创 Linux(Ubuntu) 常用开发库安装(Boost,ZerocIce,Protobuf和其他)

此文只是简要叙述C++常用库安装步骤一、安装boost(源码安装)boost 安装方式采用编译源码方式安装,步骤如下:1.首先到boost官网(http://www.boost.org/users/download/)下载相应版本(boost_1_61_0)的boost源码包,将源码包放到linux服务器指定目录, 如果源码包是以.zip结尾用unzip解压,如果是.tar.gz等结尾用t...

2020-01-17 18:30:21 1465

原创 Qt设置编码、样式文件、窗体居中和开机自启等方法

干满三年满血复活#include <QtCore>#include <QtGui>#include <QDesktopWidget>class QtHelper: public QObject{public: //设置为开机启动 static void AutoRunWithSystem(bool Is...

2020-01-17 18:08:23 1399 1

原创 C/C++锁机制(boost)的认知和使用

锁扩充加锁的必需考虑三个问题该锁的不锁,将会导致各种莫名其妙的错误;加锁范围太大,虽然能避免逻辑错误,但如果锁了不该锁的东西,难免会降低程序的效率;加锁方式不合适,该用临界区的用内核对象等,也会降低程序的效率。那么何时该加锁?当同时发生多个“写”操作或者同时发生“读写”操作时就应该加锁.//多线程锁最主要的函数(c语言)int main(){ pthread_mutex_t

2017-10-19 00:09:34 7269

原创 Qt连接数据库代码,按照工作要求实现数据库存储过程实例

笔记n多,好久没总结之前学的新东西了,惭愧!!!Qt连接数据库超简单代码#include <QApplication>#include <QtSql/QSqlDatabase>#include <QDebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); QSqlDatabase db = QSqlD

2017-10-18 23:26:04 996

原创 c语言的几种常用排序的实现

几种常见的排序写法:冒泡,选择,快速,插入/* ====================================================== Name : some_sort.c Author : fzl Copyright : Your copyright notice Description : sort_way =============

2017-04-08 23:47:13 386

原创 c知识点总结大全

c的基础知识点都在这里可按照目录查找1、C语言32个关键字auto :声明自动变量 一般不使用 double :声明双精度变量或函数 int: 声明整型变量或函数 struct:声明结构体变量或函数 break:跳出当前循环 else :条件语句否定分支(与 if 连用) long :声明长整型变量或函数 switch :用于开关语句 case:开关语句分支 enum :声明枚举

2017-04-08 23:38:08 1266

原创 二分查找的思想和实现

二分查找: 1.只适用于一组有序数,杂乱无序的数是不能使用二分法查找的 2.思想:根据你查找的数来判断查找前半段还是后半段/* ======================================================= Name : halfSearch.c Author : fzl Version : Copyright : Y

2017-04-08 22:26:21 593

原创 c++拷贝方面的问题(深、浅拷贝,为何拷贝构造函数传const引用)

为什么C++拷贝构造函数的参数必须是const引用,有什么作用?原因:传值的方式会调用该类的拷贝构造函数,从而造成无穷递归地调用拷贝构造函数。因此拷贝构造函数的参数必须是一个引用。 Student(Student& s); 深拷贝和浅拷贝(下图很明确)浅拷贝 深拷贝(对象和资源一起拷贝) #include <iostream> #include <string.h> using nam

2017-04-06 22:23:25 965

原创 字符串和存储区

特别提醒:注意字符串和字符数组的区别//// main.c// 字符串//// Created by fzl// Copyright © fzl. All rights reserved.///* 1.栈区:保存局部变量:函数里面定义的变量 2.堆区:手动分配内存 3.静态区(全局区):静态变量,全局变量 4.代码二进制区: 5.文字常量区:常量字符串 */#inc

2017-04-04 22:44:30 545

原创 字符串相关(字符串数组,字符串处理相关函数、自实现函数)

// main.c// 字符串相关(字符串数组,字符串处理相关函数)//// Created by fzl // Copyright © fzl. All rights reserved.//#include <stdio.h>#include <string.h>/*指针数组*/void test1(){ //字符串数组 char string1[2][10

2017-04-04 22:37:31 383

原创 网络编程(二)

网络编程基础(二)1、协议标准文件www.rfc-editor.org2、路由命令route -nnetstat -r3、查看cpu和mem的命令cat /proc/cpuinfocat /proc/meminfo4、查看系统版本号和系统位数cat /etc/issueuname -a5、sizeof和strlen的区别6、struct in_addrstruct in_addr

2017-04-04 16:04:09 328

原创 系统编程(二)

系统编程基础(二)1、系统文件IO和标准文件IO的区别标准文件IO只读写普通文件和二进制文件 fread()fwrite()fopen()fclose()fseek()系统文件IO还可以读写系统设备文件 read()write()open()close()lseek()对于特殊的文件比如管道,socket只能用read,write读写标准文件IO读写时使用缓冲区,系统文件IO不使用缓冲区2、

2017-04-04 15:35:03 375

原创 c语言实现链表的创建、增、删、改、查

//// main.c// 链表的基本操作// Created by fzl // Copyright © fzl All rights reserved.//#include <stdio.h>#include <stdlib.h>#define FILENAME "/Users/fzl/Desktop/2.txt"struct Student{ int num

2017-04-04 15:03:36 911

原创 c语言文件操作函数及实例

文件三步曲:打开读写关闭//// main.c// 文件操作// Created by fzl // Copyright © All rights reserved.//#include <stdio.h>/** * fputc() */void test1(){ //1.打开文件 /* 参数1:打开文件的路径,绝对路径,相对路径

2017-04-04 14:55:49 2110

程序员pdf文档

Cffective-c++ c++程序员进阶必看

2017-04-01

空空如也

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

TA关注的人

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