自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Intellij idea的go代码自动格式化

Intellij idea安装完golang插件后会有格式化工具,只是需要手动。现提供自动格式化go代码方法。    一、ctrl+alt+s打开设置界面    二、搜索File Watchers    三、安装完后重启Intellij idea,按下图新建        四、按下面配置,保存即可。

2017-04-06 14:18:08 13599

原创 编译git遇到的perl-ExtUtils-MakeMaker错误

[zhujiang@localhost git-2.5.2]$ make SUBDIR perl/usr/bin/perl Makefile.PL PREFIX='/usr' INSTALL_BASE='' --localedir='/usr/share/locale'Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains:

2017-02-15 10:44:41 12040 1

原创 编译提示zlib.h: No such file or directory

sudo yum install  zlib-devel

2017-02-15 10:27:22 6352

原创 查看time_wait状态数量

可以执行这条命令查看time_wait数量[zhujiang@localhost ~]$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'ESTABLISHED 1TIME_WAIT 58

2017-02-07 10:39:35 12566

原创 centos7开启关闭端口

一、查看端口开启状态[zhujiang@localhost n2]$ sudo firewall-cmd --query-port=9998/udp[sudo] password for zhujiang: no二、开启端口[zhujiang@localhost n2]$ sudo firewall-cmd --add-port=9998/udp --permane

2016-12-23 16:42:39 20828 1

原创 man不到库函数

环境:centos 7.3sudo yum install man-pages

2016-12-23 14:17:17 555

原创 Centos7上编译GCC6.2

一、 从这里下载你需要编译的GCC源码,我下的是GCC6.2http://ftp.gnu.org/gnu/gcc/二、tar xjvf gcc-6.2.0.tar.bz2三、进入解压完成的目录,执行如下命令,下载编译必需的包,如果此过程有错误,可以把错误包删除重新执行此命令来解决。./contrib/download_prerequisites 四、

2016-11-16 10:01:50 2229

原创 Archlinux安装

如果你不喜欢Ubuntu等体积臃肿的发行版,追求轻量,简洁,优雅,好用的linux,那么可以来试一下Archlinux。官方其实提供了一篇很好的安装向导,作为记录不妨整理出来。https://wiki.archlinux.org/index.php/Beginners%27_guide 一、可以从163镜像列表下载,也可以从官网下载https://www.archlinux.org

2016-11-15 15:24:38 519

原创 archlinux技巧

====================================================配置DHCPsystemctl enable dhcpcd配置静态IP1.首先要关掉DHCP服务2.cp /etc/netctl/example/ethernet-static ..(记得修改里面的接口名)3.netctl enable ethernet-static

2016-11-15 15:23:56 372

原创 wireshark本地抓包方法

一种方法:route add 192.168.0.33 mask 255.255.255.255  192.168.0.1 metric 1

2016-11-15 15:17:43 1048

原创 tinycore5.3配置总结

一、安装软件一般方法1.在X环境下,可以点击Apps图标选择浏览所有安装包在搜索框中可以输入你需要的安装包关键字进行搜索,选中你想安装的包,点击“Go”进行安装。安装完成后如下2.在文本模式下可以用tce-ab命令进行安装软件输入s,进行搜索软件包输入你的关键字,这里安装qemu

2016-11-15 14:59:57 4198

原创 搭建Sublime Test开发环境

如果厌倦了source ingiht丑陋的界面,可以尝试一下Sublime test清爽的界面,强大的插件功能,最新版是Sublime test 3。一、下载sublime test 3并安装http://www.sublimetext.com/3由于我工作电脑是win7 64bit,所以选择了上面这个版本。二、安装Package Controla.按C

2016-11-15 14:55:10 949

原创 工厂方法模式

#include using namespace std;class Operation{ public: virtual double GetResult() = 0; void setA(double A) { m_numberA = A; } void setB(dou

2016-11-15 14:36:58 230

原创 代理模式

#include using namespace std;class Subject{ public: virtual void Request() = 0;};class RealSubject: public Subject{ public: void Request() { cout

2016-11-10 15:13:11 225

原创 装饰模式

#include using namespace std;class Person{ public: Person(){} Person(string& str) { name = str; } Person(const char* str) {

2016-11-07 18:39:32 185

原创 开放-封闭原则

开放,就是可扩展;封闭,就是尽量不修改。这个原则的思想是尽量把变化的部分抽离出来,这样不会频繁变化的部分就很少需要去修改了。比如把网络通信,JSON解析,redis操作这些统统分离开来。

2016-10-26 10:41:39 208

原创 单一职责原则

单一职责原则,也就是面向对象设计方法说的,尽量让一个类功能单一。比如数据库管理类就不要把网络通信的代码或其他业务代码放进来。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。这也是高内聚低耦合的思想体现。

2016-10-26 10:35:18 198

原创 策略模式

#include using namespace std;class CashSuper{ public: virtual double acceptCash(double money) = 0;};class CashNormal: public CashSuper{ public: double acceptCash(doubl

2016-10-25 13:32:31 363 1

原创 工厂模式

#include using namespace std;class Operation{public: virtual double GetResult() = 0; void setA(double A) { m_numberA = A; } void setB(double B) { m_numbe

2016-10-19 11:20:46 239

原创 centos7最小安装后网络配置

ip addr查看网络接口[zhujiang@localhost 6379]$ ip addr1: lo: mtu 65536 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo      

2016-04-28 10:29:11 844

原创 redis aof持久化遇到的Can't open the append-only file Permission denied

redis aof持久化生成的默认文件appendonly.aof 默认只读属性。redis重启启动加载数据的时候会提示 :Can't open the append-only file: Permission denied解决办法就是redis.conf里面配置的dir /var/redis/6379以及里面的文件(appendonly.aof)需要可写权限:[zhujian

2016-04-28 10:25:05 10607 1

原创 redis日志出现Can't save in background fork Cannot allocate memory

因为redis默认fork出一个进程来进行持久化到磁盘的工作,以防止主进程假死(大数据量时)。但是当主进程占用内存很大时,fork进程就不一定能够成功,所以出现这个错误。redis提示可以这样修改:5223:M 28 Apr 17:57:53.908 # WARNING overcommit_memory is set to 0! Background save may fail

2016-04-28 10:20:57 2656

原创 在内核3.17.6上编译scull(LDD3)

由于Linux内核版本更新的原因,《linux设备驱动程序》(v2.6.10)提供的源码无法直接使用,下面是我在linux 3.17.6编译成功的修改步骤,对于内核2.6.30以后均有参考价值。1. scripts/Makefile.build:46: *** CFLAGS was changed in "examples/scull/Makefile". Fix it to use EX

2016-03-19 21:08:48 592

原创 linux下指定进程运行的CPU

如果你觉得比内核的进程调度器更了解你的进程,不想过多的占用CPU0,更高的缓存命中,那么可以设置进程运行在某个或某些CPU上。   redis是单进程模型,为了充分利用多核服务器性能,可以指定不同的redis实例运行在不同CPU上,这样也可以减少进程上下文切换。   方法有两种:   一、使用命令taskset   在RedHat系linux中,可以sudo yum privode

2016-03-19 11:31:47 3749

原创 redis扫盲

以下内容主要是摘自网上资料,用于方便自己查阅一、简介         HackerNews在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁和知乎,国外如GitHub、Stack Overflow、Flickr、暴雪和Instagram,都是Redis的用户。                   Redis是一个开

2016-03-16 09:14:01 5210 1

原创 《linux设备驱动程序》前期准备工作

最近在看《linux设备驱动程序》,由于这本书使用的是2.6.10内核,属于比较老的内核。那么有两种办法,一是在新内核上编译scull,可以参考之前写过的一篇日志(在linux 3.17.6上编译成功);第二种就是直接使用2.6.10内核,可以安装ubuntu 5.04(不一定要这个,最好相差不要太远)。一、安装ubuntu 5.04    下载地址:http://old-releases

2016-03-03 19:10:54 473

原创 关于自旋锁spinlock的一些理解

这里并不是讲spinlock的一般用法,只是提出自己曾经的一些疑问点,也给出自己的解答。    在《LINUX内核设计与实现》《LINUX设备驱动程序》里都提过,在非抢占式的单处理器系统上的自旋锁被优化为不做任何事情。我最初的疑问是即使是单处理器,没有抢占能力,但时间片用完,持有锁的一方终会交出锁,等待锁的一方不会永远自旋下去。但在《linux设备驱动程序》里面明确说到,“如果非抢占式的单处理

2016-03-03 12:20:15 4240 1

空空如也

空空如也

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

TA关注的人

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