- 博客(81)
- 资源 (25)
- 收藏
- 关注

原创 Makefile常用万能模板(包括静态链接库、动态链接库、可执行文件)
用makefile来编译工程,对很多朋友来说都是一件麻烦而痛苦的事情,这里我写了几个makefile,专门提供给那些曾经被makefile困扰的朋友,根据生成的目标文件不同,我将makefile 分成了三份:生成可执行文件的makefile,生成静态链接库德makefile,生成动态链接库的makefile。 这些makefile都很简单,一般都是一看就会用,用法也很容易,只需
2014-07-10 11:51:10
1854
原创 vmware ubuntu14.04虚拟机不能正常拷贝文件到windows且不能自适应虚拟机屏幕窗口自动变化的解决办法
我的vmware workstations 12中的ubuntu14.04虚拟机在安装过vmware tools之后,依然不能从windows拷贝文件,且不能【自适应客户机】。解决方案如下:卸载sudo apt-get remove open-vm-tools, 重新安装sudo apt-get install open-vm-tools-desktop。sudo rebo
2017-04-04 17:56:12
4208
转载 GreenPlum的并行查询优化策略
1、GreenPlum这种share nothing的架构:良好的发挥了廉价PC的作用。自此I/O不在是DW的瓶颈,相反网络的压力会大很多。但是greenplum的查询优化策略能够避免尽量少的网络交换。对于初次接触greenplum的人来说,肯定耳目一新。2、greenplum的查询优化器 greenplum的查询优化器负责将SQL解析成每个节点(segments)
2016-11-21 09:43:07
1218
原创 分布式一致性算法Raft详解
分布式存储系统通常通过维护多个副本来进行fault-tolerance,提高系统的availability,带来的代价就是分布式存储系统的核心问题之一:维护多个副本的一致性。一致性协议就是用来干这事的,即使在部分副本宕机的情况下。Raft是一种较容易理解的一致性协议。一致性协议通常基于replicated state machines,即所有结点都从同一个state出发,都经过同样的一些操作序列,
2016-09-07 09:49:03
2357
转载 Paxos算法详解与Zookeeper分析
1 Paxos算法1.1 基本定义算法中的参与者主要分为三个角色,同时每个参与者又可兼领多个角色:⑴proposer 提出提案,提案信息包括提案编号和提议的value;⑵acceptor 收到提案后可以接受(accept)提案;⑶learner 只能"学习"被批准的提案;算法保重一致性的基本语义:⑴决议(value)只有在被proposers
2016-09-06 20:53:54
1671
转载 分布式一致性算法Paxos详解
Paxos分析最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载。对paxos算法有初步了解之后,再看此文的效果会更好;如果你也想分析libpaxos3的话,此文应该会对你有不小帮助;关于paxo
2016-09-06 20:29:46
3135
原创 PostgreSQL:“ FATAL: requested WAL segment00800002A0 has already been removed”
在使用配置了热备的PostgreSQL数据库时,在执行大量事务时,尤其是一个需要插入几千万条数据的insert事务时(典型的做法是持续 insert into t select * from t;),后台log中报错如下:csv格式日志:2013-07-01 13:25:29.430 CST,,,27738,,51d112c8.6c5a,1,,2013-07-01 13:2
2016-06-28 17:59:52
6686
1
原创 centos6.x完全禁用IPv6的方法
具体方法:1.修改/etc/sysconfig/network,追加:NETWORKING_IPV6=no2.修改/etc/hosts,把ipv6的那句本地主机名解析的也注释掉:#::1 localhost localhost6 localhost6.localdomain63.在/etc/modprobe.d/dist.conf结尾添加:ali
2016-06-22 09:34:00
4128
1
原创 Ubuntu/Debian下配置虚拟IP地址
通过下面的命令设置虚拟IP:192.168.4.188。sudo ifconfig eth0:0 192.168.4.188 netmask 255.255.240.0 up通过如下命令删除虚拟IP:sudo ifconfig eth0:0 down以上的命令并不是永久修改,需要永久添加虚拟IP,请修改文件/etc/network/interfaces :
2016-05-26 18:20:46
2734
原创 Ubuntu将本机作为局域网内其他PC的网关,使局域网内机器可通过本机上网
首先说明一下,我局域网内的IP网段和子网掩码:IP是:192.168.4.xxx子网掩码是:255.255.240.0配置网络有两种方法:图形化界面 和 文件。对于第二种方法,需要配置/etc/network/interfaces文件,示例如下:auto loiface lo inet loopback auto eth0iface eth0 i
2016-05-24 11:40:20
8083
原创 CentOS6.5升级autoconf版本,解决”Autoconf version 2.64 or higher is required“错误
安装软件时提示说需要Autoconf 2.64或更高的版本:[root@wslu-cs wslu]# autoconfconfigure.ac:8: error: Autoconf version 2.64 or higher is requiredconfigure.ac:8: the top levelautom4te: /usr/bin/m4 failed with exit st
2016-05-13 14:30:02
18304
1
原创 git cherry-pick的使用举例
git cherry-pick用于把其他的commit修改应用到当前提交。git 文档对git cherry-pick的描述:Apply the changes introduced by some existing commits 就是对已经存在的commit 进行apply (可以理解为再次提交)一般来说,做cherry-pick的两个提交最好是相邻的。如果
2016-05-12 17:11:01
5515
原创 CentOS/RedHat和Debian/Ubuntu安装VMware Tools时无法找到kernel header path的解决方案
安装 VMware Tools,运行vmware-config-tools.pl 时,总是提示:The path "" is not valid.What is the location of the directory of C header files that match your runningkernel?对于CentOS/RedHat和Ubuntu/Debian
2016-05-11 21:07:03
4085
转载 四种常见 Git 工作流比较
多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。阅读的时候,请记住工作流应该是一种规范而不是金科玉律。我们希望向你展示所有工作流,让你融会贯通,因地制宜。这份教程讨论了下面四种工作流:中心化的工作流基于功能分支的工作流Gitflow工作流Fork工作流中心化的工作流过渡到分布式分版本控
2016-04-29 09:47:19
10060
1
原创 CentOS开机取消图形界面(直接进入文本模式)以及文本模式启动图形界面
编辑/etc/inittab文件# vi /etc/inittab# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) --停机# 1 - Single user mode --单用户模式#
2016-04-13 09:51:34
1193
转载 TortoiseGit中SSH密钥的配置方法
1、在安装了TortoiseGit的目标客户机上,如图运行TortoiseGit软件包中的Puttygen程序:2、在PuTTY Key Generator应用对话框中选择Generate按钮:3、出现如下图的进度条,将鼠标在Key选项框中空白处随意移动,进度条将行进:4、移动鼠标直至进度条结束,出现如下画面:5、
2016-04-07 11:42:42
862
转载 如何进行shell脚本正确性测试
在实际工作中,需要对shell脚本进行正确性测试。如何用最快最有效的方式进行测试?很多开发的习惯是,二话不说,写完/拿到,就跑一把,看看输入,输出,想要的操作是否完成,也就过了。其实这是十分不严谨的,若是未经过QA,风险还是相当大的。以下即shell脚本测试流程,仅供参考1.代码走读: 写完,或者拿到一个shell脚本,不必急于运行,虽然实践是检验整理
2016-04-07 11:19:19
1481
原创 linux下打开core功能,以便于通过gdb查看出错堆栈信息
1. 终端下执行ulimit -c 查看core文件大小限制 ,一般操作系统默认为0。 2. 执行ulimit -c 1024把core文件大小限制在1k, 也可以直接执行ulimit -c unlimited 设置为无限制。3. 设置core文件保存路径。 vi 打开/etc/sysctl.conf 文件, 加入kernel.core_pattern = /t
2016-04-07 11:08:04
1539
原创 sourceinsight常见使用技巧汇总
si的主要配置都在Options->Perferences菜单里,1、GeneralProject File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框。把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入"yes"。2
2016-03-30 17:53:31
1785
转载 PostgreSQL C代码覆盖率测试(gcov, lcov)
通常我们评判一个test case好坏的标准之一是代码的覆盖率,一个好的test case应该覆盖到所有的代码。那么问题来了,我们怎么知道这个test case有没有覆盖到所有的代码呢?以C代码为例,我们看看如何检测代码覆盖率。其他语言自然有其他语言的代码覆盖测试工具,例如plpgsql:RUBY写的一个postgresql plpgsql函数代码覆盖测试框架,测试脚本
2016-03-30 15:34:34
1159
转载 PostgreSQL 回归测试
回归测试是PostgreSQL的测试方法之一。回归测试,需要事先定义好测试脚本(通常是SQL脚本,放在sql目录中),同时定义好调用执行测试脚本的预期正确输出文件(通常放在expected目录中)。测试使用make check或make installcheck进行,它会通过pg_regress程序调用sql目录中的SQL,并收集输出结果(通常放到results目录中),最后pg_
2016-03-30 15:29:35
1276
原创 PostgresXC:从源码编译、安装、配置数据库集群以及用pg_basebackup配置Datanode的热备份
1、下载源码首先下载源码,下载命令为:git clone http://git.code.sf.net/p/postgres-xc/postgres-xc postgres-xc-postgres-xc2、编译安装下载完成后,开始编绎。进入到源码目录,执行命令: ./configure --prefix=/home/wslu/pgsql --enable-d
2016-03-15 19:59:54
1167
原创 PostgreSQL:使用pg_basebackup工具搭建流复制环境以及主备切换方法
1 传统的搭建流复制备库的方法在数据库中操作:select pg_start_backup();复制数据文件;select pg_stop_backup();而 pg_basebackup 则省略以上步骤,一步搞定,对于有多个数据目录的库来说,pg_basebackup工具比上面步骤简单多了,并且可以在线操作。 2 主库上操作2.1
2016-03-15 17:37:25
4251
原创 CentOS/RedHat和Ubuntu/Debian彻底修改主机名(hostname)的方法
1、首先,查看一下当前的hostname,方法有两种:第一种,打开一个终端,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;第二种,在终端输入hostname指令:$ hostnameh932、要修改hostname,需要root权限,我们这里切到root账户(用sudo也可以):# su - root3、然后我们将主机名(hostnam
2016-02-04 16:33:09
16429
原创 在 Linux 中限制网络带宽使用(限制指定程序和指定网卡的流量)
在本文中,我将为你描述两种在 Linux 中限制网络流量速率的不同方法。在 Linux 中限制一个应用的速率限制网络流量速率的一种方法是通过一个名为trickle的命令行工具。通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root
2016-02-02 16:21:28
7615
1
转载 详解数据库集群的分布式事务、两阶段提交协议、三阶提交协议
原文链接:http://blog.jobbole.com/95632/随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在《分布式系统的一致性探讨》一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介
2016-02-02 15:28:57
1820
原创 CentOS和Ubuntu设置或修改网络配置(IP&网关&DNS)
CentOS修改IP地址# ifconfig eth0 192.168.1.80这样就把IP地址修改为192.168.1.80(如果发现上不了网了,那么你可能需要把网关和DNS也改一下,后面会提到),但是当你重新启动系统或网卡之后,还是会变回原来的地址,这种修改方式只适用于需要临时做IP修改。要想永久性修改,就要修改/etc/sysconfig/network-scripts/ifcfg-
2016-01-21 20:27:22
1520
转载 GreenPlum数据库的Primary/Mirror同步机制
原文链接:http://mysql.taobao.org/monthly/2016/01/02/ PostgreSQL 主备同步机制是通过流复制实现,其原理见之前的月报PG主备流复制机制。Greenplum 数据库是基于PostgreSQL开发的,它的主备也是通过流复制实现,但是Segment节点中的Primary和Mirror之间的数据同步是基于文件级别的同步实现的。为什么Prima
2016-01-21 20:02:26
3144
转载 PostgreSQL主备流复制机制详解
首先,附上原文链接:http://mysql.taobao.org/monthly/2015/10/04/PostgreSQL在9.0之后引入了主备流复制机制,通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。而PostgreSQL9.0之前提供的方法是主库写完一个WAL日志文件后,才把WAL日志
2016-01-21 19:42:04
9286
原创 Linux下用SSH免密码登陆其他指定主机
在做Linux下开发时,无论是Ubuntu的Debian系,还是CentOS的RedHat系,都难免要使用SSH无需密码登录。假设现在有两台机器wslu@wslu-vm(192.168.2.100),作为A机,wslu@wslu-pc(192.168.2.150),作为B机。如果想让wslu@wslu-vm通过ssh免密码登录到wslu@wslu-pc,只需要以下几步即可:1.在A
2016-01-12 21:09:36
1770
原创 git版本库常用命令汇总
初始化配置#配置使用git仓库的人员姓名git config --global user.name "Your Name Comes Here"#配置使用git仓库的人员emailgit config --global user.email you@yourdomain.example.com#配置到缓存 默认15分钟git config --global credential.
2016-01-12 20:37:35
702
原创 CentOS和Ubuntu下安装配置Greenplum数据库集群(包括安装包和源码编译安装)
本文是最近几天工作中实践的总结!主要描述了如何在CentOS和Ubuntu通过源码的方式编译、安装、配置Greenplum数据库集群。
2016-01-12 09:55:08
4835
原创 PostgreSQL数据库配置文件之postgresql.conf全部参数详解
1 概述所有的参数的名称都是不区分大小写的。每个参数的取值是布尔型、整型、浮点型和字符串型这四种类型中的一个,分别用boolean、integer、floating point和string表示。布尔型的值可以写成ON、OFF、 TRUE、 FALSE、 YES、 NO、 1和 0,而且不区分大小写。有些参数用来配置内存大小和时间值。内存大小的单位可以是KB、MB和GB。时间的单位可以
2016-01-11 10:50:35
15499
原创 PostgreSQL与操作系统(OS)内核相关的几个参数
一、概述PostgreSQL在postgresql.conf里面的配置参数有几个是和OS的内核参数紧密相关的,通常默认值是偏小的,但设置过大也会造成Postgres的启动失败。 二、测试1.测试环境DB: postgres 9.1.3(之后版本这几个参数并未变动)OS: CentOS 6.2 / Redhat(Ubuntu、Debian等linux系统也是一样)2.内核参数
2016-01-11 10:06:45
1634
原创 unix网络编程之根据主机名(hostname)或网卡名获取IP地址(三种方法)
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //使用getaddrinfo函数,根据hostname获取IP地址int getIpAddrB
2016-01-05 13:42:22
1746
原创 unix网络编程之getaddrinfo函数详解及使用举例
getaddrinfo函数使用示例如下:(1)根据主机名获取IP地址:#include #include #include #include #include #include #include int main(int argc, char **argv){ if (argc != 2) { printf("Usag: ./a.out hostn
2016-01-04 17:04:36
6498
原创 为SourceInsight(SI)添加批量多行注释宏并设置快捷键
第一步,打开base工程的Utils.em文件,在末尾添加以下代码。macro CodeComments(){//多行注释 hwnd=GetCurrentWnd() selection=GetWndSel(hwnd) LnFirst=GetWndSelLnFirst(hwnd)//取首行行号 LnLast=GetWndSelLnLast(hwnd)//取末行行号 hbuf=GetCu
2016-01-04 09:51:57
3770
3
原创 Ubuntu和CentOS下安装配置samba服务详细过程(超级简单的smb.conf)
一.为什么要用Samba? Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享。我们现在是要在Linux下配置Samba,让Windows的用户可以访问你 配置好之后的PC。二.需要的软件? 如果在ubuntu上安装,所以我只需在配置好ubuntu的更新源之后,在终端中使用一下两句命令,就可以安装Samba的软件包 $sudo
2015-12-25 14:51:54
837
原创 PostgreSQL数据库压力测试工具pgbench简单应用
PG数据库提供了一款轻量级的压力测试工具叫pgbench,其实就是一个编译好后的扩展性的可执行文件。介绍如下。 环境: CentOS 5.7(final) PG:9.1.2 Vmware 8.0 数据库参数: max_connection=100 ,其他略,默认 1.安装 进入源码安装包,编译,安装[postgres@localhost ~]$
2015-12-24 11:04:17
1001
原创 postgresql libpq C语言网络库接口操作数据库例子
关于libpq各个函数接口的说明,参考:http://www.postgres.cn/docs/9.3/libpq.html例子1:/* * testlibpq.c * * Test the C version of libpq, the PostgreSQL frontend library. */#include #include #include stat
2015-11-12 09:23:46
1156
数据库系统概念_中文第六版_带书签_扫描版_Abraham.Silberschatz.pdf
2017-09-16
数据库系统概论_第四版带书签_王珊-萨师煊.pdf
2017-09-16
Postgresql中国用户大会 2016(PG大象会)所有PPT汇总.zip
2017-01-10
Greenplum_4.3.6数据库官方文档汇总合集.zip
2016-01-15
Calpont_InfiniDB_Documentation-4_6(InfiniDB官方发布的文档合集,网上几乎绝迹).zip
2015-07-20
InfiniDB_Documentation-4_6(InfiniDB官方发布的文档,网上几乎已经绝迹).zip
2015-07-20
Calpont_InfiniDB_4.6官方文档(个人收集,该资源网上几乎绝迹).zip
2015-07-20
codelite 5.3中文版免费下载.zip
2015-06-22
fences 2.1中文破解版(轻量级桌面图标管理分类).zip
2015-06-22
codeblocks_setup_13.12中文版免费下载.zip
2015-06-22
TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi
2015-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人