- 博客(68)
- 资源 (85)
- 收藏
- 关注
原创 图的遍历
#ifndef GRAPH_VISIT_H#define GRAPH_VISIT_H#include <queue>#include<stack>#include<memory>#include<limits.h>#include"../data_struct/data_struct.h"class graph_visit{...
2018-11-30 17:45:09 198
原创 树中两个结点的最低公共祖先
// 面试题68:树中两个结点的最低公共祖先 // 题目:输入两个树结点,求它们的最低公共祖先。 const std::shared_ptr<node_tree<int>> last_comm_parent( const std::shared_ptr<node_tree<int>>& root, ...
2018-11-30 15:02:24 164
转载 快速备份和还原 MySQL 数据库的工具(OBDB2DB)
使用 HeidiSQL和 NaviCat for MySQL 作为数据库管理工具,使用这类工具的导出脚本功能,把整个数据库导出为一个SQL文件,然后在还原目标数据库中执行该 SQL 文件以完成还原动作。这类工具速度慢,因为在执行 SQL 文件的时候,总是把每一条SQL以一个事务的方式去执行。所以面对几千万的数据,就需要执行几千万次的 SQL 语句。OBDB2DB工具下载地址:https:/...
2018-11-30 11:26:43 1633
原创 用小顶堆实现的最小优先队列C++
#ifndef TG_SMALL_QUEUE_H#define TG_SMALL_QUEUE_H#include<vector>#include<memory>template<typename PriorityType, typename ValueType>/// 最小优先队列class tg_small_queue{ struc...
2018-11-28 22:46:07 1145
转载 《视频直播技术详解》系列之三:处理
视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美颜和声音混淆等处理。开放式设计 对于七牛这样的直播云服务来说,为了满足所有客户的需求,除了要提供这些「标准」处理功能之外,我们还需要将该模块设计成可自由接入自定义处理功能的方式。常见视频处理功能1. 美颜 美颜...
2018-11-27 08:39:34 337
原创 递归锁的实现与使用
实现:#ifndef TG_RECURSIVE_LOCK_H#define TG_RECURSIVE_LOCK_H#include<thread>#include<mutex>class tg_recursive_lock{public: tg_recursive_lock():_count(0) { } ~tg_re...
2018-11-24 23:59:12 1636
原创 VMware虚拟机安装centos 7以及静态ip地址的配置(固定ip)
centos下载列表:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso下载地址:http://ftp.sjtu.edu.cn/centos/7.5.1804/isos/x86_64/DVD是标准安装盘,一般下载这个就可以了。安装点击虚拟机的文件---新建后,安图...
2018-11-22 17:31:06 4526 1
转载 boost读写ini配置文件
[setting]key1 = 1 key2 = hello上面是文件的内容(内容中不能有注释), 运行如下代码:#include <boost/property_tree/ptree.hpp>#include <boost/property_tree/ini_parser.hpp>#include <iostream>int main()...
2018-11-22 14:14:14 3116
转载 C++ fstream文件流读写文件实例
例如:以二进制输入方式打开文件c:config.sys fstream file1; file1.open("c:\config.sys",ios::binary|ios::in,0); 如果open函数只有文件名一个参数,则是以读/写普通文件打开,即: file1.open("c:\config.sys");<=>file1.open("c:\config....
2018-11-22 11:30:10 2210
转载 C++文件读写详解(ofstream,ifstream,fstream)
这里主要是讨论fstream的内容:#include <fstream>ofstream //文件写操作 内存写入存储设备 ifstream //文件读操作,存储设备读区到内存中fstream //读写操作,对打开的文件可进行读写操作 1.打开文件在fstream类中,成员函数open()实现打开文件的操作,从而...
2018-11-22 09:22:05 925
转载 C++11实现模板化(通用化)RAII机制
什么是RAII?RAII(Resource Acquisition Is Initialization),“资源获取即初始化”,是C++语言的一种避免泄漏的机制。 RAII的例子以下是C++11头文件<mutex>中的lock_guard的源代码,看代码注释就清楚了,这是典型的RAII风格。 template<typename _Mutex>class ...
2018-11-21 08:12:54 559
原创 工作中常用到的linux命令(持续更新中)
netstat-a (all)显示所有选项,默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关选项-n --numeric 直接使用IP地址,而不通过域名服务器。(显式数字地址)-l 仅列出有在 Listen (监听) 的服務状态-p 显示建立相关链接的程序名(pid)-r 显示路由信息,路由表-e 显示扩展信息,例如uid等-s ...
2018-11-20 17:31:47 878 1
转载 日志分析查看——grep,sed,sort,awk运用
0.查找关键日志grep2.精简日志内容 sed3.对记录进行排序sort4.统计日志相关记录数 awk例子背景: 后台跑一个定时任务,对指定时间段的订单数据表中的每一条记录进行以此任务处理。在日志中输出: 1.订单id 2.订单处理状态 3.日志类别准备工具:sort, tail, less, uniqu...
2018-11-20 14:44:26 363
原创 CentOS SED
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法: sed [-nefri] ‘command’ 输入文本 //-n:使用安静(silent)模式。 //-e:直接在指令列模式上进行 sed 的动作编辑; //-f:写在一个档案内 //-r: //-i:直接修改读取的档案内容,而...
2018-11-20 14:41:49 1130
原创 二叉树的深度以及平衡二叉树的判断
// 面试题55(一):二叉树的深度 // 题目:输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的 // 结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 static int depth_r(const std::shared_ptr<node_bt<int>>& root) { i...
2018-11-20 11:25:11 463
转载 telnet有什么用
首先他是个远程登录工具 需要对方开启telnet 服务的 但是需要超级烦人的ntlm 验证 但不需要进行ipc$ 连接 说白点连接上了 就跟在cmd 情况下操作自己的电脑一样 你可以随意删改别人的资料...
2018-11-20 09:37:30 3669
转载 linux下设置密码复杂度限制的两种方法
注意:root用户并不会受这些限制,它可以设置任意的密码。在linux,设置密码复杂度的方法有几个1. 一个是在/etc/login.defs文件,里面几个选项PASS_MAX_DAYS 90 #密码最长过期天数PASS_MIN_DAYS 80 #密码最小过期天数PASS_MIN_LEN 10 #密码最小长度PASS_WARN_AGE 7 #密码过期警告天数2. 另外一个方法是...
2018-11-19 20:11:48 34697
转载 windows与linux目录映射工具SftpDrive
大多数人都习惯于在windows下用source insight编辑代码,然后用xftp拷贝到linux下进行编译,如果有小的改动,就直接在linux下用vim进行编辑修改。至于为什么是vim,工作这么多年,还没有一家公司的服务器是带界面的,可以安装使用ide的。 稍微进阶一点的办法,就是实现linux和windows文件夹共享,我们在windows上直接对着共享文件夹内的代码进行编辑,然后就在...
2018-11-19 19:54:31 10939 3
原创 二叉搜索树的第k个结点
// 面试题54:二叉搜索树的第k个结点 // 题目:给定一棵二叉搜索树,请找出其中的第k大的结点。 static const std::shared_ptr<node_bt<int>> node_k( const std::shared_ptr<node_bt<int>>& root, uint32...
2018-11-19 14:12:37 436
原创 一个读写锁的实现与使用(写优先,C++实现)
参考网上资料,实现了一个读写锁,写优先。使用起来也很简单。使用://先定义一个全局锁对象tg_rwlock g_rwlock;void test(){ { tg_rwlock::read_guard(g_rwlock); //读.......... } { tg_rwlock::write_guard(g...
2018-11-19 11:20:10 2999 1
转载 C++读写锁(stl,boost)
STL 和 Boost 都提供了 shared_mutex 来解决「读-写」问题。shared_mutex 这个名字并不十分贴切,不如 pthread 直呼「读写锁」。shared_mutex 比一般的 mutex 多了函数 lock_shared() / unlock_shared(),允许多个(读者)线程同时加锁、解锁,而 shared_lock 则相当于共享版的 lock_guard。...
2018-11-19 08:44:49 2833
原创 二叉搜索树与双向链表
// 面试题36:二叉搜索树与双向链表 // 题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求 // 不能创建任何新的结点,只能调整树中结点指针的指向。 static std::shared_ptr<node_bt<int>> convert(std::shared_ptr<node_bt<int>> ...
2018-11-18 20:46:22 201
转载 redis的C/C++ API
hiredis不支持集群。支持集群的API:C++ https://github.com/eyjian/r3cC++ https://github.com/zhengshuxin/aclC https://github.com/vipshop/hiredis-vip.git这里简单测试一下hiredis-vip。2. hiredis-vip:hiredis-vip是基...
2018-11-18 15:18:09 1399
转载 Linux中设置服务自启动的三种方式
需要Linux系统在开机的时候自动加载某些脚本或系统服务主要用三种方式进行这一操作:ln -s 在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0~6七个运行级别之一)chkonfig 命令行运行级别设置ntsysv 伪图形运行级别设置...
2018-11-18 10:40:48 18276
转载 vscode使用总结大全C++
Visual Studio Code是一个轻量级(目前只有40几M)但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行。Visual Studio Code内置了对JavaScript, TypeScript和Node.js语言的支持,并且为其他语言如C++, C#, Python, PHP等提供了丰富的扩展库和运行时。可以选择LLVM、M...
2018-11-18 10:38:47 826
转载 redis开机自启动脚本文件
新建编辑 /etc/init.d/redisREDISPORT=6379EXEC=/usr/local/redis/redis-serverCLIEXEC=/usr/local/redis/redis-cliPIDFILE=/var/run/redis.pidCONF="/usr/local/redis/redis.conf" case "$1" in start) ...
2018-11-18 10:28:44 678
转载 redis.conf配置详细解析
# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 b...
2018-11-18 10:02:48 138
转载 Linux开机自启动总结
在Linux系统如何让程序开机时自动启动在 windows系统“开始”-->“所有程序”-->“启动”里面放个快捷方式就行linux介绍三种方法。 一、/etc/rc.local这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。使用命令 vi /etc/rc.lo...
2018-11-18 09:43:27 1478
转载 C语言结构体中最后一个成员为char[1]或char[0]
需要引起注意的:ISO/IEC 9899-1999里面,这么写是非法的,这个仅仅是GNU C的扩展,gcc可以允许这一语法现象的存在。 结构体最后使用0或1的长度数组的原因,主要是为了方便的管理内存缓冲区,如果你直接使用指针而不使用数组,那么,你在分配内存缓冲区时,就必须分配结构体一次,然后再分配结构体内的指针一次,(而此时分配的内存已经与结构体的内存不连续了,所以要分别管理)。而如果使用数组,那...
2018-11-17 21:24:17 1632
原创 对hiredis接口的封装
tg_redis.h#ifndef TG_REDIS_H#define TG_REDIS_H#include <stdio.h>#include <stdarg.h>#include <hiredis/hiredis.h>#include"string"#include<string.h>#include<memory&g...
2018-11-17 21:21:11 1271
转载 Redis数据库看这一篇文章就够了
前言redis作为nosql家族中非常热门的一员,也是被大型互联网公司所青睐,无论你是开发、测试或者运维,学习掌握它总会为你的职业生涯增色添彩。以下示例均在4.0版本上进行。一、redis简介概述redis(REmote DIctionary Server)是key-value存储系统,它由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value类...
2018-11-17 21:08:14 465
原创 二叉树中和为某一值的路径
// 面试题34:二叉树中和为某一值的路径 // 题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 // 从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 static std::vector<std::vector<int>> find_path(const std::shared_ptr<node_...
2018-11-17 20:46:33 295
转载 redis的有序集zset
一、zset键值结构特点:有序、无重复、可进行集合间操作二、重要API参数 解释 Zadd Zadd key-name score member [score member…]——将带有给定分值的成员添加到有序列表里面 Zrem Zrem key-name member [member…]——从有序集合里面移除给定的成员,并返回被移除成员的数量 Zca...
2018-11-16 09:46:28 166 1
转载 关于redis,学会这8点就够了
对原文进行了修改补充。1、redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。redis的数据是存储在内存中的,数据量增长时,内存负担也会增加,通常生产环境中需要设立独立的服务器去支持2、支持的语言...
2018-11-16 08:09:20 125
转载 Linux下C++操作Redis
介绍Redis的全称是Remote Dictonary Server(远程字典服务器),一个高性能key-value存储系统,Redis有如下优点:1. 高性能 - Redis能支持超过100K+每秒的读写频率2. 丰富的数据类型 - Redis支持Strings、Lists、Hashes、Sets及Ordered Sets等数据类型3. 原子性 - Redis的所有操作都是原子性的,同...
2018-11-15 21:20:41 403
转载 CentOS下redis-cli安装
Step1:安装gcc wget等系统libyum install -y gcc wgetStep2:获取redis稳定版并解压cd /tmpwget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stableStep3:编译make其他错误...
2018-11-15 17:59:07 12749
转载 windows下的redis服务设置远程连接
1.远程电脑设置密码2.注释掉redis.windows-service.conf 中的bind 127.0.0.1这一行(在前面加#)(只对127.0.0.1进行监听),注销调后即对所有ip进行监听 3.同文件中将protected-mode yes 改成 protected-mode no4.保存并重启redis服务5.保证本机和远程电脑ping的通的情况下,在本机redi...
2018-11-15 17:32:40 4445
转载 Windows下安装Redis服务
Redis是有名的NoSql数据库,一般Linux都会默认支持。但在Windows环境中,可能需要手动安装设置才能有效使用。这里就简单介绍一下Windows下Redis服务的安装方法,希望能够帮到你。1、要安装Redis,首先要获取安装包。Windows的Redis安装包需要到以下GitHub链接找到。链接:https://github.com/MSOpenTech/redis。打开网站后,找...
2018-11-15 17:09:47 159
原创 跳表的简单原理与泛型实现
什么是跳表每一个结点不单单只包含指向下一个结点的指针,可能包含很多个指向后续结点的指针,这样就可以跳过一些不必要的结点,从而加快查找、删除等操作。对于一个链表内每一个结点包含多少个指向后续元素的指针,这个过程是通过一个随机函数生成器得到。跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索...
2018-11-15 14:19:43 162 1
原创 sio_socket, websocket的使用与封装
工程代码地址为:https://download.csdn.net/download/f110300641/10784562简单的测试:#include <iostream>#include <thread>#include <string>#include <chrono>#include "rapidjson/document....
2018-11-14 16:02:31 1115
OBDB2DB数据库备份工具
2018-11-30
source insight 3.5
2018-08-01
VC 托盘程序代码
2011-10-29
CSerialPort类
2011-10-21
SQL语句教程.doc
2011-08-06
C#网络应用编程基础_Word
2011-07-19
VC 数据库编程三部教学(源代码)
2011-07-19
VC数据库编程三部教学_word
2011-07-18
MFC深入浅出_李进久.chm
2011-06-05
用GNU工具开发基于ARM的嵌入式系统.doc
2011-01-14
Matlab函数.chm
2010-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人