- 博客(59)
- 资源 (14)
- 收藏
- 关注
原创 记kafka partition数据量过大导致不能正确重启
某台kafka服务器负载过高,机器挂掉一段是时间后,kill掉占用内存的进程,然后重启kafka服务,但是一直不能完成启动和数据同步,日志如下fset 0 to broker BrokerEndPoint(11,192.168.207.79,9092)] ) (kafka.server.ReplicaFetcherManager)[2016-04-26 19:16:33,274] INFO [R
2016-04-26 21:23:05 24395
原创 kafka配置中的坑之: replica.fetch.max.bytes
最近在使用kafka的时候发现服务器的网卡经常吃满,使用iftop和dstat看网络流量,发现kafka broker之间有很大流量。如果topic设置了多个replica,那么经常会有replica因为不能同步成功而掉线,最终topic的可用isr只剩下一个。
2015-09-21 19:23:33 23048 1
转载 PHP高效率写法及原因(转载)
1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。 当然了,这个测试方法需要在十万级以上次执行,效果才明显。 其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。
2014-10-25 22:47:10 955
转载 C/C++编译过程详解(转载)
C/C++编译过程 C/C++编译过程主要分为4个过程 1) 编译预处理 2) 编译、优化阶段 3) 汇编过程 4) 链接程序 一、编译预处理 (1)宏定义指令,如#define Name TokenString,#undef等。 对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换, 但作为字符串常量的 Na
2014-10-24 16:50:06 751
原创 PHP实现支持中文的字典树
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。
2014-10-24 16:33:51 1945
转载 php 安装redis扩展
系统环境 centos5.4+nginx+php1.下载php redis扩展包#wget http://redis.googlecode.com/files/redis-2.4.4.tar.gz 2 tar -zxvf 解压压缩包,cd /扩展包 (进入扩展包然后 运行phpize 一下是我环境中phpize的目录,/usr/loc
2014-05-08 12:13:57 562
转载 linux下安装mono
CentOS是一个基于RHEL的Linux发行版,其目的是为了提供一套免费与自由的企业等级Linux发行版。CentOS的名称来自于「Community ENTerprise Operating System」,从名称便可以知道这是一套由社区主导、并以企业级用户为主要目标的操作系统。Mono 2.10.8 于已发布2011年12月19 发布,Jexus 5.0 最新版本是RC3 正式版本即
2014-05-06 15:20:39 16013
原创 linux服务器之间建立信任关系
假设有服务器1:server1.net.cn 服务器2: server2.net.cn要建立帐号test在两个服务器间的信任关系1.在服务器1和服务器2上分别执行 ssh-keygen -d 如果提示已经存在/home/test/.ssh/id_dsa 则忽略这一步2.在服务器1上/home/test/.ssh目录下 cp id_dsa.pub id_dsa.pub.se
2014-02-13 17:43:00 1235
转载 推荐决策之协同过滤
推荐系统,整体上有三种方式:user->user->item, 推荐与其相同兴趣的用户喜欢的item,user-baseduser->item->item, 推荐与其喜欢的item相似的item,item-baseduser->item-feature->item,抽取用户喜欢item的特征,推荐具备这些特征的item, model-baseduser-based更多的考虑相同
2014-01-13 18:31:25 723
转载 HTTP状态代码(各种错误代码集合)
HTTP状态代码(各种错误代码集合) 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Locat
2013-12-30 12:00:27 61482
原创 shell实现数据求交集
#!/bin/bash# input1 key \n# input2 key \t dataMap \nsort -k1 | awk -F '\t' 'BEGIN{lastkey = "";has_flag = 0;n = 0;}{if(lastkey != "" && lastkey != $1){if(has_flag == 1){f
2013-09-10 10:07:40 1086
原创 解决vim中不能使用小键盘
使用终端登录Linux后使用vim编辑文本,这时在默认设置下载插入模式使用小键盘会插入一些非数字的字符。更改的方法:在终端设置中选择终端类型为linux
2013-09-09 14:44:36 20752 2
原创 使用PHP登录Ldap服务器
LDAP 的全称是“轻量级目录访问协议(Lightweight Directory Access Protocol)”,是一种简单的目录协议。所谓目录,是一种专门的数据库,可以用来服务于任何应用程序。公司的域帐号登录采用的是Ldap登录验证,所有的系统均使用来自同一个 LDAP 目录的用户信息进行身验证。这样,就不需要在每个系统中保存不同的密码,只需要在 LDAP 目录中保存一个密码即可。本文
2013-09-03 19:05:56 15481
原创 Hadoop streaming总结
Hadoop streaming总结1.简介:Hadoop streaming是Hadoop的一个工具, 它帮助用户创建和运行一类特殊的map/reduce作业,这些特殊的map/reduce作业是由一些可执行文件或脚本文件充当mapper或者reducer。2.工作原理:mapper和reducer都是可执行文件,它们从标准输入读入数据(一行一行读), 并把计算结果发给标准输出。3.
2013-09-03 16:01:24 3657
原创 python学习笔记
1.Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身2.在Python中有4种类型的数——整数、长整数、浮点数和复数 (-5+4j)和(2.3-4.6j)是复数的例子3.利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。 ''' abc abc '''4.自然字符串通过给字符串加上前缀
2013-09-03 15:11:50 699
原创 PHP内核学习笔记
1.#define ZEND_FN(name) zif_##name ##连接符2.#define ALLOC_ZVAL(z) \do { \ (z) = (zval*)emalloc(sizeof(zval
2013-07-29 20:51:08 865
原创 (2013)PHP学习笔记
动态加载php扩展库 dl()PHP四种风格: XML风格 脚本风格 简短风格 需要设置asp风格 php 数据类型:标量类型: boolean integer float/double string复合类型: array object特殊类型: resource null转义字符:\n 换行 \r 回车 (这两个字windows下
2013-07-29 20:50:12 743
转载 各个语言垃圾回收机制汇总(PHP)
概述 在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放的时候是依据这个变量的zval的refcount的值,如果refcount为0,那么变量的空间可以被释放,否则就不释放,这是一种非常简单的GC实现。然而在这种简单的GC实现方案中,出现了意想不到的变量内存泄漏情况(Bug:http://bugs.p
2012-10-16 08:52:54 1541
转载 各个语言垃圾回收机制汇总(C++)
C++:标准C++没有垃圾回收机制的原因: 1) 没有共同基类 C++是从C发展而成,允许直接操作指针,允许将一个类型转换为另一个类型,对于一个指针无法知道它真正指向的类型;而Java或C#都有一个共同基类 2) 系统开销 垃圾回收所带来的系统开销,不符合C++高效的特性,使得不适合做底层工作 3) 耗内存 C++产生的年代内
2012-10-16 08:48:23 2584
原创 mysql优化总结
对于一个存储设计,必须考虑业务特点,收集的信息如下: 1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节; 2.数据项:是否有大字段,那些字段的值是否经常被更新; 3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、ORDER BY子句中等; 4.数据更新类SQL条件:有多少列经常出现UPDATE或DELETE 的WHERE子句中;
2011-12-20 11:47:12 537
转载 (转)C++ primer 笔记
<br /><br /><br />第1章<br />>> << 输入输出操作符返回 输出流std::cin, std::cout本身<br />endl输出换行,刷新与设备关联的buffer<br />augument 实参 paremeter 形参<br />buit-in type 内置类型<br />manipulator 操纵符<br />第2章<br />C++是静态类型语言,编译时执行类型检查<br />wchar_t =L'a' 16位<br />float 6位有效数字<br />doub
2011-04-23 15:02:00 3554
转载 (转)C++ primer 笔记
第1章>> endl输出换行,刷新与设备关联的bufferaugument 实参 paremeter 形参buit-in type 内置类型manipulator 操纵符第2章C++是静态类型语言,编译时执行类型检查wchar_t =L'a' 16位float 6位有效数字double 至少10位有效数字long double 至少10位有效数字赋值:对于unsigned越界赋值,结果等于该值对unsigned可能取值个数求模例如:unsigned char c=336; //实际c=336%256=80u
2011-04-23 14:51:00 2274
原创 sizeof操作符的使用详解
<br />sizeof操作符的作用是返回一个对象或类型名的长度,返回值的类型为size_t(unsigned),长度的单位是字节(byte)。sizeof表达式的结果是编译时常量。有以下三种语法形式:<br /> sizeof(type name);<br /> sizeof(expr); // 获得该表达式的结果的类型长度<br /> sizeof expr; // 不计算表达式expr的值<br /> 举例说明:<br /> sizeof(int); // 表达式值为4
2011-04-23 14:47:00 793
原创 C++中的对象指针和对象引用
<br />在C++中,可以说明指向类的数据成员和成员函数的指针。<br /> 指向数据成员的指针格式如下:<br /> <类型说明符><类名>::*<指针名><br /> 指向成员函数的指针格式如下:<br /> <类型说明符>(<类名>::*<指针名>)(<参数表>)<br /> 例如,设有如下一个类A:<br /> class A { public: int fun (int b) { return a*c+b; }
2011-04-23 14:43:00 9909
原创 Linux 内核入门学习笔记(二) Linux开发工具链简介
<br /><br /> <br />第二课时:Linux开发工具链简介<br />1.gcc使用-v选项,可以看到许多被隐藏的信息<br />gcc -o test test.c -v<br />2.c程序编译过程 预处理->编译成汇编代码->汇编成目标代码->链接<br />3.只进行预处理 -E参数<br />gcc -E -o test.cpp test.c<br />4.比较两个文件的前后差异 wc 命令<br />wc test.c test.cpp<br />5.-x 根据指定的步骤进行工作,
2011-03-06 20:35:00 1104 1
原创 Linux内核编译图解
<br />《Linux操作系统分析》第一个作业就是编译Linux内核,索性就做一个图文解析吧!<br />编译用的环境是在VMware 7.0.0 build-203739下安装的Ubuntu 10.04 LTS版本,要安装的内核是Linux-2.6.26<br />以防出现问题,先把虚拟机文件进行了备份。<br /> <br />1.复制linux-2.6.26.tar.gz文件到usr/src<br />2.在终端中进入usr/src 然后用tar命令解压压缩包<br /><br /> <br />3
2011-02-28 19:47:00 731
原创 Shell学习笔记
<br />Shell学习笔记<br />Shell类似于windows下的批处理bat<br />Shell功能更加强大,而且已经变成了一门比较强大的编程语言<br />执行了Shell脚本,就执行了Shell中多个命令<br />可以做成分发脚本<br /><br />创建和执行Shell脚本<br /><br />使用echo命令显示信息<br /><br />创建变量<br /><br />使用本地和全局变量<br /><br />计算表达式<br /><br />使用if构造执行基于条件的Shel
2011-02-27 16:22:00 897
原创 Linux 内核入门学习笔记(一) AT&T汇编基础
AT&T汇编语法格式寄存器引用 引用寄存器要在寄存器号前加% mov % eax, % ebx操作数顺序 从左到右 mov % eax(源) , % ebx(目的)常数/立即数的格式 立即数前要加$ mov $4 , % ebx 符号常数直接引用 mov value , % ebx 引用符号地址在符号前加 $ mov $value, % ebx操作数的长度 操作数的长度用加在指令后的符号表示 b(byte) w(word) l(long) movw
2011-02-23 21:00:00 1449
原创 一些C语言的小问题
1.C语言中 unsigned char和unsigned int的区别一个是无符号的字符。一个是无符号的整数。1.你定义一个char a和unsigned char a,然后被他们都赋个-1试试。 第一个的值打印出来就是-1,第二个的值打印出来就是255。 他们的取值范围不同,char是-127~128,unsigned char是0~255,如果不进行数字相关的操作,是否unsigned的关系倒不大。但如果用于计算则应当小心符号的问题char 是有符号的 unsigned c
2011-02-19 12:36:00 778
转载 传递变量名,传递指针,传递引用
<br />1.将变量名作为形参和实参<br />在这种情况下传给形参的是变量的值。传递是单向的,即如果在执行函数期间形参的值发生变化,并不传回给实参,这就是值传递方式。因为在调用函数期间,形参和实参不是同一个存储单元。<br />int main(){void swap(int,int);//参数为整型变量int i=3,j=4;cout<<"i="<<i<<",j="<<j<<endl;swap(i,j);//变量名cout<<"i="<<i<<",j="<<j<<endl;sy
2010-12-10 13:33:00 875
原创 Exceptional C++ 中文版 读书笔记
1.vector::iterator last = find(e.begin(),e.end(),"12/31/95"); *last = "12/30/95";可能出现的错误:如果find没有找到"12/31/95"迭代器讲返回第二个参数e.end(),而e.end()指向最后一个元素的下一个位置,对这个返回的值解引用和赋值是错误的2.copy(first,last,ostream_iterator(cout,"/n"));可能出现的错误:first在容器中指向的对象要求在last后面,否则这就不是一个
2010-12-09 18:11:00 599
转载 C/C++学习建议
<br /><br />第一层次:C++基础。<br />C++Primer <br /><br /><br />第二层次:<br />(More)Effective C++、(More)Exceptonal C++、Effective STL、C++编程规范<br /><br /><br />第三层次:<br />深入探索C++对象模型、Imperfect C++、C++沉思录、STL源码剖析。另外,C++ Templates、C++设计思维和C++模版元编程等<br /><br /><br />第四层次
2010-12-01 18:47:00 1340 1
原创 Linux 套接字编程 (二)
<br />一、sendto函数<br />int Sendto(int sockfd, const void * data, int data_len, unsigned int flags, struct sockaddr *remaddr,int remaddr_len) <br /> <br />功能:基于UDP发送数据报,返回实际发送的数据长度,出错时返回-1<br />参数说明:<br />sockfd:套接字描述符<br />data:指向要发送数据的指针<br />data_len:数据长度
2010-11-25 18:25:00 989
原创 Linux 的套接字编程 (一)
一、需要的头文件数据类型:#include 函数定义:#include TCP/IP协议族:PF_INETTCP/IP的地址族:AF_INET二、socke函数int socket(int domain, int type, int protocol);这一个函数在客户端和服务器都要使用。 它是这样被声明的: 返回值的类型与open的相同,一个整数。 FreeBSD从和文件句柄相同的池中分配它的值。 这就是允许套接字被以对文件相同的方式处理的原因。 (1)参数domain告诉系统你需要使用什么 协议族。
2010-11-25 15:42:00 1274
原创 for语句中的!=和<=
for(int i=0;i!=100;i++)和for(int i=0;i入下例:#include "stdafx.h"#include "head.h"using namespace std;int _tmain(int argc, _TCHAR* argv[]){ for(int i=0;i!=MAXTESTNUM;i++) { DATATEMP[i] = RANDOM(); DATAMERGESORT[i] = DATATEMP[i];//合并排序 cout
2010-11-18 18:14:00 621
原创 Linux基础命令
1.Linux版本2.6 偶数为稳定版,奇数为测试版,2.6和2.5为一个版本2.Linux LSB (Linux标准基础),目录架构FHS3.SAMBA(类似网上邻居),实现与windows共享文件4.ubuntu切换到命令行 Shift+Alt+Ctrl+[F1~F6] 命令行切换回界面Alt+[F7]5.root提示符#,一般用户提示符$6.注销exit7.~用户主文件夹,/系统根目录8.ls显示文件列表,但不显示隐藏文件 ls -al当前文件夹文件列表,详细信息 ls -al /root root文
2010-11-18 08:42:00 386
原创 Ubuntu 10.04 VM虚拟机安装配置过程
在VM环境下安装默认方式安装虚拟机后,需要进行一些基本的配置操作1.设置root密码,ubuntu安装时没有设置root密码,Ctrl + Alt + Shift + F1切换到命令行模式,输入sudo passwd root然后输入要修改的密码2.网络设置,在默认安装的配置条件下,一般可以直接使用NAT方式共享本机上网,如果出现不能连接的情况,可以在vm虚拟机下的网络设置中选择edit->virtual network editor 对其中的vmnet进行配置,默认有一个使用NAT模式,另外一个使用Hos
2010-11-14 14:46:00 2316
原创 Ubuntu 启动时的root管理员密码设置
新接触ubuntu(base on debian)的人,大多会因为安装中没有提示root密码而不太清楚为什么会这样。 如何设定/改变/启用 root 使用者的密码? sudo passwd root 为了启用 root 帐号 (也就是 设置一个口令) 使用: sudo passwd root 当你使用完毕后屏蔽 root 帐号 使用: sudo passwd -l root 这个将锁住 root 帐号. 如何在终端机模式下切换到 root 身份? sudo -s -H
2010-11-14 10:54:00 6341 1
asp.net编写的学生品行诚信电子档案与综合素质测评系统
2008-10-22
远想WEB版进销存2.0
2008-10-21
大学课程管理系统程序
2008-10-21
c++编写的游戏引擎源码
2008-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人