自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (2)
  • 收藏
  • 关注

原创 一种高效、可自动扩容、缓存、永久存储通用方案设计

离线消息存储方案1 系统框架设计1.1 名词解释:名词解释备注OffServer集群离线消息服务器集群Redis一个redis实例用于存储一些关键信息MysqlKeyHashServer(MKHS)代理整个MySql

2016-08-11 16:51:01 2293

转载 NAT内网穿透

frp项目地址:https://github.com/fatedier/frp本实验环境以阿里云服务器作为中转机,中转服务器使用Centos7.6,被控主机使用Centos7.6,用户使用Windows10由于网络原因,文中链接已经替换成了本地链接,如不放心,请自行去GitHub下载frps中转服务器配置1、下载frp在一台有公网IP的主机上配置frps,我这里以阿里云Centos7.x主机为例 1 2 3 4 5 wge

2021-06-25 11:03:21 405

原创 mysql 的innodb 性能调优

用于缓存索引和数据的内存大小,这个当然是越多越好, 数据读写在内存中非常快, 减少了对磁盘的读写。 当数据提交或满足检查点条件后才一次性将内存数据刷新到磁盘中。然而内存还有操作系统或数据库其他进程使用, 根据经验,推荐设置innodb-buffer-pool-size为服务器总可用内存的75%。 若设置不当, 内存使用可能浪费或者使用过多。 对于繁忙的服务器, buffer pool 将划分为多个...

2019-10-09 13:14:12 258

转载 Linux防火墙设置

yum install iptables-servicesiptables -Liptables -I INPUT -p tcp --dport 22 -j DROPiptables -I INPUT -s 223.72.111.0/24 -p TCP --dport 22 -j ACCEPTservice iptables saveservice iptables restart

2019-05-06 13:30:05 178

转载 nginx安装

最近无意间发现Nginx官方提供了Yum源。因此写个文章记录下。转载自:https://www.cnblogs.com/songxingzhu/p/8568432.html1、添加源  默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源:sudo rpm -Uvh http://nginx.org/package...

2019-01-04 10:25:37 113

转载 linux 设置时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime https://jingyan.baidu.com/article/fa4125acb7328628ac70920e.html

2018-08-23 12:09:39 158

原创 git 展示良好

在.bashrc文件中进行了配置function git_branch {branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"if [ "${branch}" != "" ];then        if [ "${branch}" = "(no branch)"

2018-07-26 11:40:11 123

原创 基于时间戳的序列号

原理:1、以秒级时间戳为基础,在一台机器上产生一个自增序的序列号2、在不重启的情况下,能够应对回秒的处理3、在不重启的情况下,不大额回调的情况下,序列号具备递增的稳定性INT64 CSequenceId::GetSeqIdWithLock(){    time_t referencePoint = REFERENCE_POINT;    INT64 unixtime = static_cast&l...

2018-03-26 18:08:13 1450

翻译 linux 监控命令

watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了!1.命令格式:watch[参数]

2018-01-11 11:24:36 181

转载 Linux上的free命令详解

https://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

2017-12-30 17:40:19 212

转载 单例模式(经典)

一 、定义众多设计模式中,单例模式是一种比较常见模式。本文以一个C++开发者的角度分析单例模式的几种经典实现。GOF定义单例模式需满足以下两个条件:1、保证一个类只创建一个实例。2、提供对实例的全局访问点。二、应用场景日志类、配置类、管理类、共享资源类三、单例的几种实现3.1 lazy singleton//头文件中class Singleton

2017-09-16 17:06:09 355

原创 git 分支管理

1、创建自建分支,并切换到该分支上git checkout -b XXXX2、在新分支上进行修改代码,提交代码vim  yyygit add  yyygit commit -m "fix  yyy"3、将自建分支和主分支进行合并3.1 git checkout master3.2 git merge XXXX3.3 处理冲突

2017-08-01 14:05:52 202

原创 windows下文档格式转换 为unix文档格式注意事项

1、windows使用dos模式结尾,unix采用unix格式结尾。find  -name "*.h" -o -name "*.cpp" | xargs dos2unix2、windows一般使用GBK编码格式,linux采用utf-8格式。解决办法:#!bin/bashif [ -f "tmp.log" ]; then    rm tmp.logfifind -n

2017-07-31 17:15:13 1043

转载 vim选中字符复制/剪切/粘贴

问题描述:vim 中选中指定字符,进行复制/剪切/粘贴问题解决:             进入vim中visual模式,visual模式进入,可以有三种方式:   (1)在普通模式(normal)下,直接按键 v  就可以进入默认visual模式,可以使用v+j/k/h/l 进行文本选择     注:    使用normal模式下的  v命令

2017-02-15 11:08:56 402

原创 替代函数式宏

#include #include using namespace std;templatevoid format_stream_help( std::ostringstream& o ,T v){    o}templatevoid format_stream_help( std::ostringstream& o ,T v, Args&&..

2016-12-08 10:14:27 363

原创 基于Redis的分布式锁

#ifndef __REDIS_DB_DISTRIBUTE_IINCLUDE_H__#define __REDIS_DB_DISTRIBUTE_IINCLUDE_H__#include "toon_const.h"#include #include "RedisDBInterface.h"#include "util/tc_timeprovider.h"#defin

2016-11-01 23:53:34 327

转载 C++ 异常

http://www.cnblogs.com/armstrong-cn/archive/2011/09/02/2163553.html

2016-10-24 11:06:05 225

转载 GCC内联汇编基础

http://blog.chinaunix.net/uid-20605433-id-1617453.html

2016-10-21 10:00:36 431

转载 volatile 关键字

1、volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.简单地说就是防止编译器对代码进行优化.比如如下程序:1234XBYTE[2]=0x55;XBYTE[2]=0x56;XBYTE[2]=0x57;XBYTE[2]=0x58;

2016-10-21 09:45:15 201

转载 使用函数替代宏的好方法

#include #include using namespace std;templatevoid format_stream_help( std::ostringstream& o ,T v){    o}templatevoid format_stream_help( std::ostringstream& o ,T v, Args&&..

2016-10-18 16:59:01 1042

原创 自学HTML

1、如何让 HTML脚本产生一个可编辑对话框   function openwin() {OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"); //写成一行 OpenWindow.document.write

2016-09-23 16:46:44 257

原创 计算机面试总结

面试注意事项:他人观点:1、一个人曾经非常专注地做的事情、项目,要求能够描述的清晰、完整;       原因:体现一个人的钻研精神,和职业态度以及专业功底;自己观点:1、专业知识:       操作系统、计算机网络、设计模式、算法、计算机语言

2016-09-06 15:18:50 470

原创 mysql 数据库相关操作

1、查询表空间大小例子:show table status  where name='historymsg';2、将某个数据库导出: mysqldump -u用户名 -p 数据库名 > 数据库名.sql3、导入某个数据库:  mysql -u用户名 -p 数据库名

2016-09-06 11:16:00 390

转载 linux 端口管理

Linux下端口的划分使用是由IANA(Internet Assigned Numbers Authority,因特网已分配数值权威机构)维护的,端口号被划分为3个段。1、0~1023,这些端口有IANA分配和控制,可能的话,相同端口号就分配给TCP、UDP和SCTP的同一给定服务。如80端口被赋予web服务2、1024~49151,这些端口不受IANA控制,不过由IANA登记并提

2016-09-05 14:17:17 507

转载 linux下 /etc/profile、~/.bash_profile ~/.profile的执行过程

http://www.cnblogs.com/jiaxiaoai/archive/2011/05/22/2053738.html

2016-08-16 14:48:15 239

转载 linux vim 命令

1、文本替换命令:s 命令来替换字符串。例子:(1):s/vivian/sky/ 替换当前行第一个 vivian 为 sky (2): s/vivian/sky/g 替换当前行所有 vivian 为 sky(3)n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky(4): n,$s/vivian/sky/g

2016-08-03 11:42:08 298

转载 linux shell 变量表示

一、linux shell  变量表示:$# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号

2016-08-02 15:19:28 513

原创 通用 make 文件编写

1、设计一个可以被包含的头make文件  " make.rule "SRC_FILE += $(wildcard ${DIR_SRC}/*.cpp)OBJ   += $(patsubst %.cpp,${DIR_OBJ_SRC}/%.o, $(notdir ${SRC_FILE}))LIB     += -L. -levent -lpthread -lcurl -lhiredisB

2016-07-27 17:15:17 343

转载 yum使用方法

一、什么是 yum?yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。二、yum功能命令:check-update 检查可更新的包  clearn 清除全部  clean packages

2016-07-27 17:02:33 360

原创 目前待解决的问题

1、学习Git自建分支的使用2、增加doc2unix、uuid等函数的学习3、增加unix开发环境学习;4、增加unix操作系统学习;5、增加unix内核学习;

2016-07-26 09:24:57 220

转载 linux sed命令

[root@www ~]#  sed      [-nefr]      [动作]选项与参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一

2016-07-20 14:36:37 218

原创 自研究网络通信库

1、日志打印功能1.1 日志等级1.2 格式化字符串1.3 数据类型转换1.4 打印远程日志2、内存管理功能2.1 slab内存管理机制3、对锁的管理4、配置文件管理5、线程资源管理

2016-07-14 10:34:32 344 3

原创 Python要点学习

Python学习要点:1、基本数据类型2、如何自定义数据结构3、if  for  while 语句4、系统调用如何使用5、多线程如何操作一、python数据类型1.1、字符串a、使用单引号(')用单引号括起来表示字符串,例如:str='this is string';print str;b、使用双引号(")双引号中的字符串

2016-07-04 09:47:37 485

原创 linux 信号(笔记)

1、信号的本质软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。2、信号原理信号是在软件层次上是对中断机制的一种模拟,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制。3、进程对信号的处理方法:(1)类似于中断处理程序用于处理中断;进程可以指定处理程序来处理信号。(2)忽略信号,不做任何处理。

2016-06-30 10:13:45 217

转载 linux shell函数

1、函数定义:function 函数名(){  commandcommand[return value]}2、函数调用例子:function  myPrint(){echo "1"echo "2"echo "3"}myPrintecho "4"结果为:echo "1"echo "2"echo "3"

2016-06-24 16:01:18 252

原创 分布式缓存架构设想

背景分析:当我们需要做一个庞大而又复杂的系统的时候,我们不得不面临这样问题,我们需要的不间断的提供服务,需要处理海量的信息,处理存储海量的数据;为此我们需要将服务器做成无状态服务器,并且利用高可用、高性能的分布式缓存来保存服务器的状态,已达到我们的目的。当今分布式缓存技术分析:目前redis、ssdb、memcache都是单机运行,不过,redis已经发展出codis集群和re

2016-06-17 17:52:38 730

转载 linux shell数组操作

1、定义数组说明:一对括号表示是数组,数组元素用“空格”符号分割开。实例:[test@test]$ a=(1 2 3 4 5)[test@test]$ echo $a12、读取数组元素形式:(1)读取某个元素[test@test]$ a=(1 2 3 4 5)[test@test]$ echo ${a[2]} 3(2)读取全部元素[test@te

2016-06-17 15:29:59 822

转载 linux shell多线程操作

原理:linux的shell命令可以实现多线程运行,并且线程间具备通信机制。1、单线程原理:默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令。实例:#!/bin/bash    for(( i = 0; i do          commands1  done    commands2说

2016-06-17 15:01:07 3036

转载 linux 命令行快捷键

1、移动ctrl + a 将光标移动到命令行开头相当于VIM里shift+^ctrl + e 将光标移动到命令行结尾处相当于VIM里shift+$2、删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + k 删除光标后面所有字符相当于VIM里d shift+$ctrl + u 删除光标前面所有字符相当于VIM里d

2016-06-14 11:32:50 242

原创 linux 学习makefile

一、Makefile的规则在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则。target ... : prerequisites ...command......例如:edit: edit1.o edit2.o/edit3.o  edit4.occ -o edit edit1.o edit2.o/edit3.o

2016-06-14 11:24:37 304

二次缓冲技术

内部有一个非常好使用的二次缓冲技术的类,老外编写的,从此让你的界面不在刷屏~

2013-03-12

远程绘制图像

自己在学校编的 远程绘图软件,通过建立客户端、服务器端,可以让让两台计算机上的程序进行通信,实现远程绘图

2013-03-07

空空如也

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

TA关注的人

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