岚天逸见

2012年7月24日 #

Dash与Bash的语法区别

摘要: 本文系转载,原文URL为:http://www.igigo.net/archives/169如今Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(382) 评论(0) 推荐(0)

MOOON-server新消息处理接口

摘要: MOOON-server提供了一个通用的TCP框架,并对包的解析抽象出了IPacketHandler接口,这个接口提供了无限制的宽容度,支持任何协议,但是增加了使用复杂。 由于大多数协议,都会定义一个消息包大小字段,基于这个前提,MOOON-server... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(105) 评论(0) 推荐(0)

不再担心日志文件过大:通用日志滚动脚本

摘要: #!/bin/sh# https://github.com/eyjian/mooon/blob/master/mooon/shell/log_rotater.sh# Writed by yijian on 2012/7/22## Linux自带的工具logrotate... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(470) 评论(1) 推荐(0)

改进后的日志类CLogger

摘要: 在原有的基础上增加了module_name,表示模块名,当一个系统由多模块组成时,输出的日志将更加清晰,使用方法,以MOOON-agent中的为例:点击(此处)折叠或打开#define AGENT_MODULE_NAME "AGENT"#define AGENT_LO... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(356) 评论(0) 推荐(0)

开发理念和用户体验

摘要: 开发理念:要有追求美的意识,简就是美。要形成自己的思想,设计需要灵魂。模式模式有时是恶魔,它容易让你走上抄袭模仿之路。把职责单一作为第一原则,并努力遵守,将让你柳暗花明又一村。一切源于生活,多和生活类比,能让理解更为深刻透彻。始终抱严谨心态,用心思考,细节决定品质。用... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(186) 评论(0) 推荐(0)

怎么做自动化

摘要: 在做系统时,不应当盲目地去做自动化,原因有两点:1.有些自动化的代价非常高,反不如人工简单实在2.有些自动化不能保证系统的正确性,它需要人工确认不过,这些也并不应当成为推进自动化的理由,自动化它可以带来两方面巨大的好处:1.大大降低运维工作量2.快速的进行故障恢复所以... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(247) 评论(0) 推荐(0)

来自mooon的最简单的日志类CSimpleLogger

摘要: /** * 单个头文件,可即时独立使用,只要定义了宏NOT_WITH_MOOON,即不依赖于mooon * 简单的写日志类,非线程安全,提供按大小滚动功能 * 不追求功能,也不追求性能,只求简单,若要功能强、性能高,可以使用CLogger * * 使用方法: * 1)... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(182) 评论(0) 推荐(0)

致命错误: zlib.h:没有那个文件或目录

摘要: 下面这个错误是因为zlib包没有安装,安装后问题即可解决。但有一点请注意安装命令是:sudo apt-get install zlib1g-dev,而非sudo apt-get install zlib./file_util.cpp:19:18: 致命错误: zlib... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(835) 评论(0) 推荐(0)

undefined reference to `clock_gettime'

摘要: 下面这个错误通常是因为链接选项里漏了-lrt,但有时发现即使加了-lrt仍出现这个问题,使用nm命令一直,会发现-lrt最终指向的文件没有包含任何symbol,这个时候,可以找相应的静态库版本librt.a,看看它里面是否存在`clock_gettime'。/data... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(285) 评论(0) 推荐(0)

解决“possibly undefined macro: AC_PROG_LIBTOOL”

摘要: 今天特别花1688在51buy.com上买了台同方的笔记本用于mooon的开发,先是安装了Fedora,觉得不好,想安装openSuSE,但发现安装包太大,最后仍选择了ubuntu 12.04,默认没有安装automake等工具,按提示逐一进行了安装,遇到如下这个错误... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(2516) 评论(0) 推荐(0)

解决“configure: line 2747: -g: command not found”

摘要: 下面这个错误是因为没有安装g++$ ./configure --prefix=/data1/mooon/runchecking for a BSD-compatible install... /usr/bin/install -cchecking whether bu... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(344) 评论(0) 推荐(0)

openssl编程轻松入门(含完整示例)

摘要: openssl编程入门(含完整示例).pdf openssl编程轻松入门(含完整示例)一见1. 编写目的第一次跑起openssl示例并不太简单,本文的目的是为了让这个过程变得非常简单。在开始之前,要非常感谢周立发同学,正是通过他共享的示例,较轻松的入了门。本文... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(658) 评论(0) 推荐(0)

进程绑定CPU简单应用

摘要: 注:原发表在Hadoop技术论坛相关函数:sched_setaffinity, sched_getaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO - set and get a process's CPU affinit... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(164) 评论(0) 推荐(0)

inotify_add_watch使用注意

摘要: 注:原发表在Hadoop技术论坛1.inotify_add_watch返回并不是一个fd,而只是一个标识2.对于同一个PATH,inotify_add_watch将返回相同的标识。不需要调用close关闭,但需要调用inotify_rm_watch来删除。在对文件进行... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(560) 评论(0) 推荐(0)

解决C++代码单元测试中的难题-不可验证和IO调用

摘要: 原帖发表在Hadoop技术论坛在做C++程序的单元测试时,大家经常会遇到两个问题:1.不方便验证测试结果,原因是因为不可访问保护和私有类成员2.对于需要访问的connect、receive、send等不好绕过这里介绍两种方法,即可解决:1.在编译单元测试代码时,加上U... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(175) 评论(0) 推荐(0)

io_submit、io_setup和io_getevents示例

摘要: 注:原发表在Hadoop技术论坛io_submit、io_setup和io_getevents和LINUX上的AIO系统调用。这有一个非常特别注意的地方——传递给io_setup的aio_context参数必须初始化为0,在它的man手册里其实有说明,但容易被忽视,我... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(1882) 评论(0) 推荐(0)

程序遇到SIGILL,考虑依赖库接口和库版本是否一致

摘要: 如果你的程序遇到SIGILL, Illegal instruction问题,你应当考虑一下是否存在版本不一致的问题,比如依赖的共享库接口变了,但你仍在使用老版本的库,问题的现象通常是诡异,而且你觉得不可能挂的地方,而通常是挂在你对依赖库的调用之处。简单点说就是:头文件... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(141) 评论(0) 推荐(0)

通过包装父类的抽象方法达到结构和行为都统一

摘要: 注:原发表在Hadoop技术论坛在进行OO时,很容易做到结构统一,这个也容易理解,如下:class Parent{public: virtual void hello() = 0;};class Child1: public Parent{private: ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(123) 评论(0) 推荐(0)

C语言编程程序的内存如何布局

摘要: C语言编程程序的内存如何布局C语言程序在内存中各个段的组成 C语言程序连接过程中的特性和常见错误 C语言程序的运行方式 一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(125) 评论(0) 推荐(0)

struct对齐问题

摘要: ChinaUnix最近有个贴子讨论热烈,在这里记录一下我的理解,struct的对齐是遵照下列二个条件中最小的一个进行的:1.#pragma pack(N)中N指定的值2.struct中最大的成员(请注意不是指sizeof值最大的那个,而应当是__alignof__值最... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(129) 评论(0) 推荐(0)

socket的五大误区

摘要: 隐患 1.忽略返回状态第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。捕获并检查每一个返回状态,而不是忽略它们。考虑清单 1 显示的例子,一个套接... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(89) 评论(0) 推荐(0)

通过小代码体验程序中BSS段和DATA段的差异

摘要: 注:原发表在Hadoop技术论坛BSS(Block Started by Symbol)用来存储未初始化的全局变量,值为0的通常会被编译器认为未初始化,属于静态内存分配区,不会占用程序文件空间DATA用来存储已经初始化的全局变量,也属于静态内存分配区,会占用程序文件空... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(126) 评论(0) 推荐(0)

mooon-agent接收状态机代码摘要

摘要: recv_machine.h 点击(此处)折叠或打开#ifndef MOOON_AGENT_RECV_MACHINE_H#define MOOON_AGENT_RECV_MACHINE_H#include AGENT_NAMESPACE_BEGINclass CAge... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(137) 评论(0) 推荐(0)

mooon-agent发送状态机代码摘要

摘要: 发送状态机比接收状态机相对要简单send_machine.h 点击(此处)折叠或打开#ifndef MOOON_AGENT_SEND_MACHINE_H#define MOOON_AGENT_SEND_MACHINE_H#include AGENT_NAMESPACE... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(155) 评论(0) 推荐(0)

mooon-agent核心设计图

摘要: 代码:http://code.google.com/p/mooon/source/browse/#svn%2Ftrunk%2Fcommon_component%2Fsrc%2Fagent说明:以下类图只画出了基础的核心类和主要关系,弱的依赖关系没有画出来。应用场景:在... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(109) 评论(0) 推荐(0)

mooon调度器设计的考量因素

摘要: 调度器的设计必须满足以下要求:1、高效,最好不用查找,而是直接的数组下标定位,这就要求设计好分布式对象的ID2、支持业务独占进程,这是保证高可用性的前提,也是解业务与业务间,和业务和平台间耦合的前提3、本地间的业务进程间通讯优化,避免走网络4、简洁的通讯消息结构 ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(120) 评论(0) 推荐(0)

mooon-agent设计要点

摘要: mooon-agent以简约的设计为主,力求各对象之间保持简单的关系,尽量避免过度的传递,因此CAgentThread成了核心。除此之外,还有几个关键的设计点:1、采用了可Epollable的队列,以保证消息的实时上报2、使用了状态机,分别为发送消息的CSendMac... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(167) 评论(0) 推荐(0)

Hadoop源代码eclipse编译指南

摘要: 全文下载: Hadoop源代码eclipse编译指南.pdf 目录1. 下载Hadoop源代码 12. 准备编译环境 22.1. Hadoop代码版本 22.2. 联网 22.3. java 22.4. Ant和Cygwin 32.5. Eclipse 43. 编译... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(102) 评论(0) 推荐(0)

需求驱动赢得创新

摘要: 在现实生活中,我们会经常发生非常相似的东西,我揣摩是因为后者参考了前者,而偏离了需求驱动这基本原则。这涉及到我们究竟应当如何去设计一个东西。我的做法是按需而动,而不是按参照物去做,参照物只是帮助整理需求工作。一旦我们按需而动,结果就是做出的东西往往就是真正的新产品,而... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(93) 评论(0) 推荐(0)

转载:x86的cpu_relax解析

摘要: 原文:http://blog.liuw.name/1024内核执行的任务在很多情况下是不加锁的,只是poll某个公有变量去保证同步。再深一步,即使是使用锁,本质上也是一个poll某个公有变量的过程。这个poll的过程需要CPU一直循环等待。要是让我这个菜鸟来写的话,循... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(259) 评论(0) 推荐(0)

高效的使用stl::map和std::set

摘要: 1、低效率的用法// 先查找是否存在,如果不存在,则插入if (map.find(X) == map::end()) // 需要find一次{ map.insert(x); // 需要find一次}// 下面这段代码是一个意思if (0 == map.count... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(718) 评论(0) 推荐(0)

Linux内核list&hlist解读

摘要: 全文下载: Linux内核list&hlist解读.pdf 目录1. 前言 22. 通用宏 22.1. typeof 22.1.1. 定义 32.1.2. 用途 32.1.3. 示例 32.2. offset_of 32.2.1. 定义 32.2.2. 作用 32... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(233) 评论(0) 推荐(0)

awk给外部变量赋值

摘要: 假设将值存在文件t中,文件t内容如下,只有一行:a b c需要将a、b和c分别赋给外部变量x、y和z,则脚本可写成如下:eval $(awk '{ printf("x=%s\ny=%s\nz=%s",$1,$2,$3); }' ./t)echo $xecho $yec... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(1777) 评论(0) 推荐(0)

测试mktime和localtime_r性能及优化方法

摘要: // 编译方法:g++ -g -o x x.cpp或g++ -O2 -o x x.cpp,两种编译方式性能基本相同。//// 结论:// 1) 环境变量TZ和isdst均不影响localtime_r的性能// 2) 环境变量TZ严重影响mktime和localtime... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(199) 评论(0) 推荐(0)

Linux上制作可执行的共享库示例

摘要: http://bbs.hadoopor.com/thread-3313-1-1.htmlx.cpp为共享库libx.so的实现,b.cpp为可执行b的实现。x.cpp文件内容:#include #include // 使用C++作为编译器void woo(){ ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(144) 评论(0) 推荐(0)

只显示指定网卡IP地址命令

摘要: export eth=1&&netstat -ie|awk -F'[: ]' 'begin{found=0;} { if (match($0,"eth'"$eth"'")) found=1; else if ((1==found) && match($0,"eth")... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(236) 评论(0) 推荐(0)

代码规范:换行对齐问题

摘要: 今天有同事看了我写的代码,问为何逗号要放在前面,以下列两段代码为列:代码段一void function(int a , char b , short c , long d , st... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(704) 评论(0) 推荐(0)

改进型MapReduce

摘要: 全文下载: 改进型MapReduce.pdf 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(80) 评论(0) 推荐(0)

hadoop开发者第三期

摘要: 全文下载: hadoop开发者第三期.pdf 目录Hadoop中的数据库访问MapReduce中多文件输出的使用ZooKeeper使用与分析浅析一种分类数据模型Sector框架分析RunonHadoop 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(84) 评论(0) 推荐(0)

Hadoop开发者入门专刊

摘要: 全文下载:http://ishare.iask.sina.com.cn/f/6740538.html目录 1 Hadoop介绍 2 Hadoop在国内应用情况 3 Hadoop源代码eclipse编译教程 7 在Windows上安装Hadoop教程 13 在Linux... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(152) 评论(0) 推荐(0)

hadoop开发者第二期

摘要: 全文下载:http://ishare.iask.sina.com.cn/f/7401946.html目录 1、Hadoop 业界资讯......................................... - 1 - 2、Nutch + Hadoop 构建商... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(111) 评论(0) 推荐(0)

配置VIM语法高亮及自动缩进

摘要: 原文:http://blog.sina.com.cn/s/blog_601331150100gjmk.html 1 、配置文件的位置在目录 /etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(258) 评论(0) 推荐(0)

inotify_add_watch使用注意

摘要: 1.inotify_add_watch返回并不是一个fd,而只是一个标识2.对于同一个PATH,inotify_add_watch将返回相同的标识。不需要调用close关闭,但需要调用inotify_rm_watch来删除。在对文件进行读、写、关闭监控时需要注意这个特... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(2223) 评论(0) 推荐(0)

走出锁的误区 - 正面认识锁

摘要: 多线程编程,锁通常是必不可少的保证代码运行安全的工具,一提到锁,最直接想到的是性能问题,给人的印象是锁会影响系统性能。这固然不然。但性能本身并不是锁本身引起的,锁也只是一个系统调用,它本身的开销是很小的,很多测试中,我们发现加锁和去掉锁后的性能几乎没有... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(218) 评论(0) 推荐(0)

C++与MySQL的冲突

摘要: 当在C++代码中,直接引用MySQL头文件时,可能会遇到如下错误:In file included from /usr/include/c++/4.1.0/bits/char_traits.h:46, from /usr/include... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(333) 评论(0) 推荐(0)

当gdb看到一行行的??时,你要冷静!

摘要: 下面这段,初看一定会脑大,实际原因非常明确,所以遇到时要先观察,不一定是头大的问题。gdb -p 1461GNU gdb 6.6Copyright (C) 2006 Free Software Foundation, Inc.GDB is free software,... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(446) 评论(0) 推荐(0)

Protocol Buffers十分钟上手:入门示例

摘要: Protocol Buffers十分钟上手:入门示例1.简介Protocol Buffers是Google出品并开源的语言和平台均中立的数据序列化和反序列化工具,官方支持C++/Java和Python三大语言,另外有大量的第三方实现支持PHP、D语言和C#等众多语言,... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(154) 评论(0) 推荐(0)

高质量C++编程补充条款

摘要: 文件:高质量C++编程补充条款.pdf大小:169KB下载:下载目录1. 前言 12. 条款:避免使用非众所周知的缩略语 13. 条款:规范好#include 14. 条款:避免长短语句无规律交错 25. 条款:避免头重脚轻 26. 条款:充分利用public和pr... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(114) 评论(0) 推荐(0)

清理disuz垃圾用户信息SQL语句

摘要: -- hadoop开头的是UCenter表,cdb开头的是BBS部分的表-- 搜索出所有垃圾用户名:select `hadoop_members`.`username` from `hadoop_members` left join `cdb_members` on ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(109) 评论(0) 推荐(0)

解决C++代码单元测试中的难题-不可验证和IO调用

摘要: 在做C++程序的单元测试时,大家经常会遇到两个问题:1.不方便验证测试结果,原因是因为不可访问保护和私有类成员2.对于需要访问的connect、receive、send等不好绕过这里介绍两种方法,即可解决:1.在编译单元测试代码时,加上UNIT_TEST宏(名字可以为... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(118) 评论(0) 推荐(0)

按时间顺序显示指定目录的文件

摘要: 方法:ls -lrt --time-style=long-iso $(find 目录路径 -type f) 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(146) 评论(0) 推荐(0)

如何查看Linux内核是否为64位版本?

摘要: 方法非常简单,LINUX提供了一个查看配置的命令(实际有相应的库函数)getconf,使用它即可,方法如下:getconf LONG_BIT如果返回64,就表示为64位内核,否则应当返回32。 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(310) 评论(0) 推荐(0)

mooon db wrapper

摘要: mooon db wrapper1. 前言mooon db wrapper不是一个DB,仅是对现有的DB API的封装,使得使用更为简单。项目地址:http://code.google.com/p/mooon,可使用SVN下载最新代码。开发和交流论坛:http://b... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(182) 评论(0) 推荐(0)

mooon http-stress使用教程

摘要: 文件:mooon-http-stress-manual.pdf大小:248KB下载:下载1. http-stress是什么?http-stress是一个和ab(Apache Benchmark)类似的HTTP压力测试工具,是作为dispatcher和http_par... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(150) 评论(0) 推荐(0)

使用protocol buffers优缺点分析

摘要: 很早就听说过PB(protocol buffers的简称),但从未实际地去了解,最近动手对它进行了初步了了解和使用,由于它长得和RPC/IDL相似,加上以前有参与过使用C++实现过RPC的项目经验,所以容易理解起来比较顺畅,网上也有不少基于PB的RPC实现。为什么要去... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(663) 评论(0) 推荐(0)

需要使用一致性哈希吗?

摘要: 在普通的哈希中,如果节点个数(分母)发生变化,原先的次序会被完全打乱重来,一致性哈希解决了这个问题。实际可看成普通的哈希对着的是物理节点,而一致性哈希对着的是虚拟节点,这里可以拿物理内存和虚拟内存来对比,虚拟节点是可认为是使用不完的,挂了一个节点,还可以认为节点数不变... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(151) 评论(0) 推荐(0)

改进型MapReduce

摘要: 1. 前言本文通过对MapReduce的分析,列出MapReduce存在的问题,然后提出一种解决这些问题的改进型MapReduce,这种改进型的MapReduce暂且取名为MapBalanceReduce。由于经验和水平有限,所述观点和方法未必正确,诚心欢迎交... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(301) 评论(0) 推荐(0)

bash_profile和.bashrc的区别

摘要: 转自http://blog.csdn.net/dingxy/archive/2009/03/20/4008724.aspx 和http://blog.csdn.net/dingxy/archive/2009/03/23/4016383.aspx/etc/profi... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(148) 评论(0) 推荐(0)

limits.conf生效问题

摘要: /etc/pam.d目录下需要增加或修改两个文件:1) 在sshd2文件中增加如下一行:auth required pam_pwcheck.so shadow2) 在system-auth文件中增加如下一行:session requi... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(869) 评论(0) 推荐(0)

interpreter和state模式的区别

摘要: interpreter和state模式都是通过对行为的抽象,去掉if语句,但interpreter主要是通过组合的方法解决问题,多个对象常会绞合在一起,而state总是一个对象转到另一个对象,这是两个模式间的最大区别之一。 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(153) 评论(0) 推荐(0)

linux下配置IP地址

摘要: 示例环境:OS: FC2NIC: eth0host name: fc2ip: 192.168.0.20/24default gateway: 192.168.0.254修改ip地址即时生效:# ifconfig eth0 192.168.0.20 netmask 25... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(181) 评论(0) 推荐(0)

SuSE Linux上搭建apache+php+mysql环境

摘要: SuSE Linux上搭建apache+php+mysql环境1.安装apacheapache安装包:httpd-2.2.9.tar.gz,安装步骤如下:1) ./configure --prefix=/usr/local/httpd-2.2.92) make3) m... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(220) 评论(0) 推荐(0)

如何为crontab调度运行的多脚本设置共享的环境变量?

摘要: 方法直接将环境变量添加到crontab中,如:NAME=zhangsanAGE=3010 * * * * /home/xx/test.sh注意不要加上export,这样test.sh就可以用到环境变量了。 http://bbs.hadoopor.com/... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(151) 评论(0) 推荐(0)

如何解决fd跨线程安全问题

摘要: fd跨线程是不安全的,当一个线程close它后,就相当于成了野指针,另一线程再使用就成了对野指针的使用,当系统调用使用一个已经close后的fd时,可能出现内核报错,如果安全使用它了?有两个办法:一是对fd进行再包装,产生应用对象,对象通过引用计数保证线程安全;二是d... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(353) 评论(0) 推荐(0)

__gxx_personality_v0错误原因

摘要: 如果编译遇到如下错误:tmp/cceMNWaA.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'collect2: ld returned 1 exit status则可能是因为使用gc... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(463) 评论(0) 推荐(0)

文件和SOCKET跨线程安全吗?

摘要: 将一个文件或SOCKET的句柄fd传递给多个线程,进行读、写和Close操作,是否安全了?答案是“否”,这类似于new一个指针后,这个指针传递给多线程是否安全,结果是常常容易造成一个线程使用已经被另一个线程delete的指针。对fd的各系统调用本身是线程安全的,比如可... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(442) 评论(0) 推荐(0)

interpreter_command_state pattern

摘要: 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(87) 评论(0) 推荐(0)

ANTLR实现的SQL解析器 - OQL

摘要: 使用ANTLR写了个SQL解析器,这样ORM的基本功能就比较完整了。几天的时间比较仓促,所以对于最终目标,还只能算是个雏形。总体状况使用SQL解析器的主要优点:1. 基于解析之后的语法树提供用户操作接口,灵活性非常好,因为达到了对SQL每一部分的完整控制。2.... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(207) 评论(0) 推荐(0)

Hadoop技术论坛

摘要: http://bbs.hadoopor.comhttp://www.hadoopor.comhttp://forum.hadoopor.comhttp://hadoop.hadoopor.comhttp://hdfs.hadoopor.comhttp://mapred... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(171) 评论(0) 推荐(0)

snprintf和strncpy对比

摘要: 有关snprintf返回值更多信息,请参考:http://bbs.hadoopor.com/thread-1185-1-1.htmlsnprintf MAN手册:The functions snprintf() and vsnprintf() do not wr... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(514) 评论(0) 推荐(0)

有关snprintf返回值

摘要: 有关snprintf返回值更多信息,请参考:http://bbs.hadoopor.com/thread-1185-1-1.htmlchar str[10];int rt = snprintf(str, 3, "%s", "0123456789"); // 请注意这里... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(737) 评论(0) 推荐(0)

Ubuntu系统微调

摘要: 本章讲述了基本的基于命令行界面的系统配置方法。在学习本章前,你需要先阅读 Ubuntu 系统安装提示, 第 3 章.如是你很关心安全方面的信息,你应该阅读 Securing Debian Manual,它在 harden-doc 软件包中。[编辑]系统初始化Ubunt... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(186) 评论(0) 推荐(0)

Linux 内核中的 GCC 特性

摘要: Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。GCC 和 Linux 是出色的组... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(223) 评论(0) 推荐(0)

Linux对稀疏(Sparse)文件的支持

摘要: 稀疏(Sparse)文件的创建在EXT2/EXT3文件系统上可以使用dd创建稀疏文件:$ dd if=/dev/zero of=fs.img bs=1M seek=1024 count=00+0 records in0+0 records out$ ls -lh fs... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(1642) 评论(0) 推荐(0)

IOWait高的一些处理方法

摘要: IOWait高的一些处理方法1、检查RAID的状态,比如是否正在重建或者没有初始化2、替换操作系统的内核,最好使用发行版标准的Linux kernel,因为有比较多的补丁3、检查/proc/sys/vm下面是否可以优化4、是否使用了文件系统,文件系统是否有优化的选项,... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(944) 评论(0) 推荐(0)

proc /sys/vm 终结版

摘要: 本人最近会把proc目录详解给大家弄一下,欢迎翻译,有问题则留言。虽然是英文的,但都比较好理解,如有问题,请留言,我们共同为Linux社区而努力。我们翻译效果还不一定好,因为这玩意毕竟是老外搞的吗!!!咯咯,翻译可能引起误解。这玩意看懂需要tcp/ip方面的知识,学好... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(249) 评论(0) 推荐(0)

rsync 客户端命令详解

摘要: rsync客户端参数的具体解释如下: -v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(323) 评论(0) 推荐(0)

limits.conf

摘要: SuSE上的一些问题,可能需要另参考:http://blog.chinaunix.net/u2/64804/showart.php?id=2026903limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentica... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(250) 评论(0) 推荐(0)

为什么不能在SSH(Secure Shell)登录中设置ulimit值?

摘要: SuSE上的一些问题,可能需要另参考:http://blog.chinaunix.net/u2/64804/showart.php?id=2026903相关版本:红帽企业Linux 现象: 如果你在文件/etc/security/limits.conf中设定了值。... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(142) 评论(0) 推荐(0)

ssh/ssh2登录

摘要: SSH2登录:现在确认能否不输入口令就用ssh登录localhost:$ ssh localhost如果不输入口令就无法用ssh登陆localhost,执行下面的命令:$ cd ~/.ssh2$ ssh-keygen2 -t rsa $ echo "I... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(186) 评论(0) 推荐(0)

linux下文件数、目录数、文件名长度的各种限制

摘要: 以下测试都是在没有优化或修改内核的前提下测试的结果1. 测试目的:ext3文件系统下filename最大字符长度 测试平台:RHEL5U3_x64 测试过程:LENTH=`for i in {1..255};do for x in a;do echo -n $x;... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(1261) 评论(0) 推荐(0)

Linux下进程的各种状态

摘要: D Uninterruptible sleep (usually IO)不可中断的深度睡眠,一般由IO引起,同步IO在做读或写操作时,cpu不能做其它事情,只能等待,这时进程处于这种状态,如果程序采用异步IO,这种状态应该就很少见到了一般不思考R Running or... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(209) 评论(0) 推荐(0)

sed 命令+正则表达式

摘要: sed是一个非交互性性文本编辑器, 它编辑文件或标准输入导出的文件拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道文件。sed可以随意编辑小或大的文件,有许多 sed命令用来编辑、删除,并允许做这项工作时不在现场。sed一次性处理所有改变,因而变... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(909) 评论(0) 推荐(0)

SuSE上配置DNS客户端方法

摘要: 环境:SuSE10.1配置DNS客户端的方法非常简单,现将方法总结如下:1、修改/etc/resolv.conf在这个文件里增加DNS服务器的IP地址,格式为:nameserver DNS服务器IP地址如:nameserver 192.168.1.46可以有多行na... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(465) 评论(0) 推荐(0)

Bash 强大的History 命令

摘要: Bash的使用GUN readline库来处理用户输入,所以BASH也有emacs/vi 两种模式(主要是快捷键不同)(4DOS没有)一般来说BASH缺省是emacs模式,如果想变成vi模式(如果你是vi用户)就可以了,然后你就可以用和vi一样的快捷键来编辑命令行了.... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(340) 评论(0) 推荐(0)

udev漏洞,普通用户变root

摘要: 文件:udev.zip大小:1KB下载:下载1. 在LINUX目录下建立test 帐户2.下载udev.sh脚本 在http://milw0rm.com/exploits/84783.查看UDEV的PID 方法一: 先cat /proc/net/netlink ff... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(128) 评论(0) 推荐(0)

用指针的观点来深入理解dup和dup2的用法

摘要: 用指针的观点来深入理解dup和dup2的用法作者:ejian 2007-09-17 网上有很多资料详细讲解了dup和dup2的用法,有讲得不错的,但总感觉理解起来还是有点困难,通过实践,我发现一种C程序更容易理解的讲解方法-使用类比指针的方法来阐述dup和dup2的用... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(239) 评论(0) 推荐(0)

squid配合nginx的gzip压缩的完美解决方案

摘要: Squid3.0之前,一直不能完美支持http1.1。所以对gzip内容的支持,始终有很多问题。我也看过很多帖子,号称解决了这个问题。但是其实一直没有把问题说清楚。我今天试着把问题的原因和解决方法彻底说清楚。squid不支持常见的gzip压缩的原因,有以下两点:1, ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(198) 评论(0) 推荐(0)

常用vim设置

摘要: set nuset roset shiftwidth=4set tabstop=4set softtabstop=4syntax onif &term=="xterm" set t_Co=8 set t_Sb=^[[4%dm ... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(126) 评论(0) 推荐(0)

类的层次结构设计

摘要: 图1在写程序时,我们会经常遇到如上图所示的一种情形——深层调用,ClassD1和ClassD2需要调用ClassA关联的ClassX、ClassY和ClassZ等,对于这种情况,经常见到通过构造函数一层层往下传递做法。这做法有什么不好了?它不符合开闭原则,当新增一个依... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(195) 评论(0) 推荐(0)

彻底告别VC

摘要: 第一次接触VC大概是在1998年底,当时好象是5.0版本,然后不久就转到了6.0,正式常用大概是2001年,当时拼命学VC和Delphi,学COM等。在02年底转向Unix/Linux开发,依然使用VC6.0作为编辑器,中间VC出了很多个新版本,但基本没有使用过,直接... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(131) 评论(0) 推荐(0)

古代神童

摘要: PPT下载:http://img1.51cto.com/attachment/201205/1246491_1337385297.ppt提纲春秋 - 项橐战国 - 甘罗东汉 - 曹冲东汉 - 周不疑东汉 - 孔融西晋 - 王戎唐初 - 骆宾王唐初 - 王勃中唐 - 李... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(120) 评论(0) 推荐(0)

Linux系统调优

摘要: 原文:http://roqi410.blog.51cto.com/2186161/671708Linux在进行系统调优的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分:有上图可以看出,我们可以调整的有应用程序,库... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(253) 评论(0) 推荐(0)

网络字节序问题的思考

摘要: 对于网络编程,为适应异构环境,通常会做主机字节序到网络字节序的转换,消息一多,是有一定CPU浪费的,这一般不是个好主意,于是有些做法在消息头用一个bit来指示消息的字节序,可以不必要的转换。但是增加这么一个bit,多少增加了些复杂度,特别是破坏消息结构的通用性,是否可... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(145) 评论(0) 推荐(0)

简约的网络字节序处理

摘要: 实现下载: inttypes.txt 处理网络程序的字节序,是件非常简单的事,但每次使用时,都显示调用ntohl之类的转换,仍是一件麻烦的事。怎样做更简单了?只需要定义出各种网络字节序的类型即可,而这些类型和主机字节序兼容。标准的网络字节序是大字节序,在当今小字节... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(160) 评论(0) 推荐(0)

LINUX内存高,触发OOM-KILLER问题解决

摘要: 原文:http://www.cnblogs.com/itfriend/archive/2011/12/14/2287160.html最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂1. 首先确认该系统的版本是32位?#uname -aLin... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(680) 评论(0) 推荐(1)

Hadoop开发者第四期

摘要: 全文下载:http://ishare.iask.sina.com.cn/f/14487230.html目录mooon 1 海量数据处理平台架构演变 4 计算不均衡问题在Hive中的解决办法 15 Join算子在Hadoop中的实现 20 配置Hive元数据DB为Pos... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(128) 评论(0) 推荐(0)

优雅的让一个类在线程安全和线程非安全间切换

摘要: 一个良好的多线程库,不应当一刀切的全加锁。因为有些时候,虽然是多线程环境,但可能依照设计一个类只会被一个线程操作,这个时候加锁是多余的,纯浪费性能,但另一些场景又需要它是线程安全的。假设有一个类X:class X{public: void xoo();};这里总... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(195) 评论(0) 推荐(0)

disuz 7.2文字常量定义文件messages.lang.php

摘要: 当需要对disuz做一些修改时,可能会涉及到这个文件。D:\hadoop\backup\20120619221410\templates\default\messages.lang.php '未定义操作,请返回。','group_nopermission' => '您... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(103) 评论(0) 推荐(0)

什么样的命名才是合理的?谈命名的原则

摘要: 写代码,少不了各种命名,那如何才是最合理的命名,或者没有好坏之分了?如果有了理论基础,这事就好办。mooon中的命名采用的理论依据:1.简单性,拒绝画蛇添足,如类成员变量仅以“_”打头,前面的字母“m”纯是多余的2.易读性,拒绝高深莫测的缩写,宁愿使用长名称3.不固执... 阅读全文

posted @ 2012-07-24 16:19 岚天逸见 阅读(155) 评论(0) 推荐(0)

导航