自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xujiali5172923的专栏

名可名非常名,廖胜无名而名

  • 博客(161)
  • 资源 (4)
  • 收藏
  • 关注

原创 go语言系统交叉编译命令(mac下编译linux64位程序)

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build gripper.go

2019-12-28 20:00:46 784

原创 读经典,立家训

15年至今,学习易,道,鬼谷,以曾仕强的讲解为基准,王阳明之传习录,曾国藩传,颜氏家训,有空闲时间继续学习其它国学经典,忽然觉得也需要为自己的家庭来制定一个家训总纲,希望能教化后代,涤荡当今金钱社会的风气在家庭中的侵染,虽然是家训,但也不怕公开,这些都是大道理,古人先哲早已经指出说明,我只是愚钝的总结了下: ......

2019-10-16 18:05:49 238

原创 mysql远程连接3306不通问题

允许远程链接mysql,开放3306端口首先查看端口是否打开 netstat -an|grep 3306此图为开启3306端口的截图,之前显示为. . . 127.0.0.1:3306 . . .打开mysql配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf将bind-address = 127.0.0.1注销​截图最下面一行注销...

2019-04-10 11:12:41 4101 1

原创 go语言实现快速排序

快速排序作为分治法的经典算法,原理自不必多说,我只是用go语言直接实现了,当然可以不用中间切片,但是这种写法最能体现快速排序的分治思想。package mainimport "fmt"// 快速排序(直接)实现func quickSort(s []int) []int { if len(s) < 2 { return s } v := s[0] var left, ...

2018-04-09 09:58:26 541 2

原创 go语言实现二分法查找

二分法查找原理,自不必多说,网上随意可找到解释,还是比较简单的,重点在于我要练习go语言的使用,所以实现了go语言版本。package mainimport "fmt"//循环二分法查找func binarySearch(s []int, target int) int { low, high := 0, len(s) for { if low >= high { ...

2018-04-02 16:10:51 714

转载 TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络称为私网,处于NAT前的网络称为公网) IP 地址。一个私网IP 地址通过NAT设备与公网的其他主机通信。公网和私网IP地址域,如下图所示:

2018-01-04 09:07:44 907

原创 一次循环删除std::vector元素的方法

最近又遇到这个逻辑,耽误了不少时间,现在整理下:erase返回的是指向删除元素的下一个元素的迭代器,那么根据这个逻辑,所以一次循环删除逻辑如下; for (auto it = vecReply.begin(); it != vecReply.end();) { if (it->xx== xx) { it = vecReply.erase(it); } else

2017-05-10 10:46:17 1913

转载 C++内存池的极简版实现

当在一个函数中需要大量使用new来申请临时用的数组或对象时,用完之后需要对每一个new出来的数组进行释放,特别当一个函数特别长的时候,(如在我厂的系统中,1000行的函数是经常的),要去找出之前写的每一个new然后写对应的delete,这是极不美观且易漏掉的,因此使用自己的内存管理方案是很有好处的:       1.程序员可以尽情地new,不用负责释放       2.使用内存池一

2016-12-07 15:23:33 462

原创 SQLite使用drop column删除表字段

由于项目需求变更,我需要在sqlite数据库的表中删除一个字段,通用的sql操作语句如下:[sql] view plain copyalter table record drop column name;  结果数据库提示如下错误:搜索得知,原来SQLite目前还不支持drop column,所以必须想

2016-11-02 11:24:11 26906 6

原创 sqlite3全文索引介绍

官方原文地址:http://www.sqlite.org/fts3.html#section_2好处就是能够快速的进行全文检索,比普通查询快了很多,具体原理看了网上说是增加了B树作为后台临时数据结构什么的,反正也没细究,我感觉一切快的原因基本上就是独立做了缓存之类的东东~~~基本用法也比较简单:1.构建编译支持全文索引,实际上就是支持FTS,这里有两种FTS3和FTS4,我

2016-09-04 11:29:15 4410

原创 linux源码自动管理及编译

linux项目自动管理编译流程这个图大概意思: 1.源码下执行autoscan生成configure.scan  然后经过修改 为  configure.in2.configure.in文件经过使用aclocal命令生成aclocal.m43.Makefile.am和configure.in 使用automake命令 生成Makefile.i

2016-08-31 21:30:00 369

转载 vs配置boost开发环境

vs2010配备boost编程环境vs2010配置boost编程环境第一步:下载boost,我下载的方法是从http://www.boost.org/上找最新的下载。名字叫boost_1_53_0。 第二步:在D盘(最新的boost_1_53_0编译之后大小为5G多)创建一个目录boost,拷贝进去并解压到当前文件夹。(注,这里我没有创建boost目录,直接解压的) 第三步

2016-08-22 14:29:37 635

原创 mysqld启动“ Can't start server: Bind on TCP/IP port: Address already in use Do you already have anothe

这个问题是因为3306端口被占用: netstat -nltp|grep mysqltcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      17306/mysqld [root@mx log]#  kill -9 17306[root@mx log

2016-05-26 15:16:44 8727 1

转载 CentOS 6.3下PostgreSQL 的安装与配置

一、简介PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。二、系统环境系统平台:CentOS release 6.3 (Final)Postgre

2016-05-26 14:36:13 327

转载 mysql 用户管理和权限设置

用户管理mysql>use mysql;查看mysql> select host,user,password from user ;创建mysql> create user  zx_root   IDENTIFIED by 'xxxxx';   //identified by 会将纯文本密码加密作为散列值存储修改mysql>rename   user  feng  to

2016-05-26 14:10:26 289

原创 easy_install安装软件出现“ImportError: Entry point ('console_scripts', 'easy_install') not found”

1. 删除easy_install命令相关的可执行文件Check your /usr/bin and /usr/local/bin for easy_install installations and remove any old script:12jay@jay-linux:~$ sudo rm /usr/bin/easy_install*jay@jay-linux:~$ sud

2016-05-26 10:37:10 3109

转载 增加yum支持EPEL源

Question: How do I enable EPEL repository on CentOS so that I can install additional packages directly using yum command?Answer: EPEL stands for Extra Packages for Enterprise Linux.EPEL is maint

2016-05-25 16:35:15 544

原创 linux代理上网使用yum

在Linux机器中做以下操作:[[email protected] ~]# vim /etc/profile [[email protected] ~]# tail -3 /etc/profile export http_proxy=10.14.36.103:8080 export https_proxy=10.14.36.103:8080 [root@www.

2016-05-25 15:09:41 2302 1

转载 linux svn https检出错误

[root@localhost]$ svn checkout https://192.168.0.202/svn/WorkingSvnsvn: 方法 OPTIONS 失败于“ https://192.168.0.202/svn/WorkingSvn: SSL handshake failed: SSL 错误:Key usage violation in certificate has

2016-05-13 15:07:21 2225

转载 red hat linux使用yum 出现Loaded plugins: rhnplugin, security

添加centos源 vi /etc/yum.repos.d/rhel-debuginfo.repo  [rhel-debuginfo]name=Red Hat Enterprise Linux $releasever – $basearch – Debugbaseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterp

2016-05-11 12:52:34 2714

原创 linux readhat DNS设置方法

有两种方法可以设置:1。运行 system-config-network ,然后到 DNS标签下设置。2. 在/etc/resolv.conf里设置。 格式: nameserver DNS SERVER IP

2016-05-05 21:37:31 510

原创 calloc和realloc函数

calloc和realloc函数:函数原型:#include void *calloc(size_t number_of_elements, size_t element_size);void *realloc(void *existing_memory, size_t new_size);calloc分配的内存可以由free来释放,但与mallloc的参数不同

2016-05-05 11:03:02 359

原创 you must configure in a separate build directory

这个问题产生自glibc安装错误。要新建一个目录,进入到该目录,使用绝对路径编译安装。新建一个目录,然后进入该目录,用绝对路径编译。 mkdir /usr/local/glibccd /usr/local/glibc/usr/local/src/glibc-2.7/configuremake && make install

2016-05-05 08:54:54 2567 1

转载 easy_install执行失败

http://smilejay.com/2013/11/easy_install-mporterror-entry-point-console_scripts-easy_install-not-found/

2016-04-28 22:20:44 1478

原创 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)解决办法

这个问题一般是这样出现的:[root@localhost Desktop]# mysql -uroot -pEnter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)那么可以直接mysql进入:然后执行:mysql> update 

2016-04-28 19:26:23 446

原创 linux虚拟机结合win Source Insight开发环境配置

最近要开发一个linux程序,发现VIM还是不怎么方便,所以就~~~~找到响应虚拟机,进入配置页面:进入共享文件夹的配置:选择下一步,再选择一个路径:然后source insight也将这个目录设置成项目就行了,这样就形成了source insight作为代码编辑器,linux虚拟机作为编译机器的开发模式了,很方便,而且windows的文件夹和linux文件是同步的,改

2016-04-27 17:31:37 1927

原创 int转string

#include /*convert other data to stringusage :    string str = m_toStr(12345);*/template class T> string m_toStr(T tmp){    stringstream ss;    ss

2016-04-26 15:52:56 263

原创 设计原则概念总结

单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。    如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的

2016-04-14 11:18:06 407

原创 (二十四)访问者模式

访问者模式,表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的心操作。【DP】// Visitor.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;class ConcreteElementA;class C

2016-04-13 09:52:04 245

原创 (二十三)解释器模式

定义:解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。UML:// Interpreter.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;struct Context{ st

2016-03-29 17:13:58 286

转载 最新版本gcc5.3安装详解

1.下载gcc-5.3安装包gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.3浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.3/gcc-5.3下载地址:http://ftp.gnu.org/gnu/gcc/gcc-5.3/gcc-5.3.tar.bz22.将gcc-5.3.tar.bz2放到/opt文件夹下解压

2016-03-25 10:14:46 11221 1

转载 jenkins执行shell脚本

用过Jenkins的都知道,在Build配置那里有一个Add buld step, 有这样两个选项:1. Execute Windows batch command2. Execute shell第1个是执行windows命令,第2个是执行shell脚本。一开始我以为不管jenkins安装在windows下还是linux下都可以执行windows命令和l

2016-03-24 16:24:49 17407 2

原创 linux下设置环境变量的三种方法

如想将一个路径加入到$PATH中,可以像下面这样做:1、控制台中设置,他只对当前的shell 起作用,换一个shell设置就无效了:PATH=$PATH:/NEW_PATH  (关闭shell Path会还原为原来的path)2、修改 /etc/profile 文件,如果你的计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会

2016-03-24 15:30:09 363

原创 jenkins编译C或C++程序

新建一个项目:对项目进行配置:名称随意源码管理需要填写svn路径(我这里写了点linux下c程序和相关Makefile,当让你可以写个Hello World就可以哦),到时候jenkins就会自动将这些内容下载到jenkins的目录中,例如:/usr/local/tomcat/webapps/jen

2016-03-21 17:22:06 13894

原创 linux下svn配置

本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。◆建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录) mkdir –

2016-03-21 15:38:35 552

原创 linux下安装svn

◆创建SVN安装目录: #mkdir /u01/svnapp◆上传文件到服务器上解压,安装 #tar xfvz subversion-1.7.5.tar.gz  解压后生成 subversion-1.7.5 子目录, 进入目录 #cd subversion-1.7,5    #./configure --prefix=/u01/svnapp/svn 出现以下错误

2016-03-21 15:37:32 515

原创 (二十二)享元模式

享元模式(flyweight),运用共享技术有效地支持大量细粒度的对象。【DP】UML:源码:// Flyweight.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;//网站class WebSite{public:

2016-03-21 09:46:23 306

原创 linux下jenkins安装

1.安装JDK(也就是java).先卸载java:◆查看现有的java----yum list installed |grep java◆卸载JDK相关文件输入:yum -y remove java-版本-openjdk*。◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。◆当结果显示为Complete!即卸载完毕。

2016-03-19 20:00:50 364

原创 (二十一)中介者模式

中介者(Mediator),用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。【DP】UML:源码:// Mediator.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;

2016-03-16 16:10:28 470

原创 (二十)职责链模式

职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。【DP】// ResponsbilityChain.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using

2016-03-14 15:45:11 314

算法图解.pdf

全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。

2018-04-02

以太坊源码解析p2p节点发现时序图

go-ethereum之p2p节点发现原理解析,节省分析代码的时间,一目了然。

2018-02-01

QTableView翻页控件--基于MVC实现

从一个原型中拓展出来,注释很全,包含MVC模式的核心知识点。

2015-08-21

WLANpatcclient

WLAN Patch 客户端,保证局域网的补丁安装.

2012-04-20

空空如也

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

TA关注的人

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