自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (13)
  • 收藏
  • 关注

原创 C#实现php的hash_hmac函数

PHP代码示例如下<?php $res1 = hash_hmac("sha1","signatureString", "secret"); echo $res1."\n"; //ee1b654aa861c41fd5813dc365ef106c9801f8f6 echo base64_encode($res1)."\n";

2013-10-11 16:03:51 4494 1

转载 C#实现crc32函数

php的crc调用方法如下<?phpecho crc32("ABCD");//3675725989?>C#的crc函数实现如下using System;using System.IO;using System.Collections;using System.Collections.Generic;using System.Linq;using System

2013-10-09 09:14:15 5039 1

原创 PIG安装使用

上一篇博客中记录了用hive执行mapreduce任务实现统计最大值以及总量,这里用另外一个强大的工具PIG实现同样的功能。首先下载pig-0.10.1.tar.gz版本解压到hadoop/pig下面,配置好HADOOP_HOME以及PATH环境变量#读取HDFS中的数据到变量中grunt> Line = load 'inputTest/test.log' using PigStor

2013-06-03 21:42:01 924

原创 LZO压缩支持

HDFS中支持压缩的话,能节省大量存储空间,下面就简单使用lzo格式实现存储压缩。安装ant工具zypper install ant-nodepszypper install ant-junitzypper install ant下载安装lzodownload http://www.oberhumer.com/opensource/lzo/./configure --enable

2013-06-03 21:41:16 1222

原创 node一些代码

node入门这个教程简单却生动有趣,涵盖了服务器端Javascript,函数式编程,阻塞与非阻塞,回调,Listener事件以及内部外部模块等许多内容。跟着这个教程把代码敲打一边,也算做了个简单的node服务器端代码框架,再要加handler就很方便了。npm install formidable需要安装第三方模块formidable,编写下面四个文件服务器入口文件 index.j

2013-05-22 11:41:12 738

原创 HIVE安装使用

hive-0.10.0-bin.tar.gz,解压到hadoop目录下, 编辑 hive/bin/hive-config.sh文件配置如下export HIVE_HOME=/home/ssy/hadoop/hiveexport HADOOP_HOME=/home/ssy/hadoopexport JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd

2013-05-22 11:03:08 1115

原创 Hadoop单机版安装

配置好java与ssh环境/etc/init.d/sshd start配置ssh免登录cdssh-keygen -t rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys登录ssh localhost查看能否免密码登录(第一次登录可能需要输入密码)然后下载hadoop(我选的是1.1.1版本)编辑 conf/had

2013-02-07 08:55:09 1170

原创 学习点plantuml语法

最近看了点plantuml的手册(可以集成在许多工具中方便绘制uml图),用 深入浅出UML类图 售票机程序 绘图来试着绘制几个UML图,可以在线测试(测试地址http://www.plantuml.com/),不保证绘图正确,只是学习一下plantuml语法,此外visio是个很强大的工具。类图:(http://plantuml.sourceforge.net/classes.html)

2013-01-14 16:10:17 4798

原创 python的TCP/UDP

tcpServer.py#!/usr/bin/pythonimport socket, syshost = '' #bind to all interfacesport = 1987s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET, socket.SO_R

2013-01-05 08:31:57 1288

原创 python解析html/xml

解析htmlfrom HTMLParser import HTMLParserimport sysclass TestParser(HTMLParser): def __init__(self): self.title = '' self.readingtitle = 0 self.body = '' self.

2013-01-05 08:31:43 925

原创 python创建多进程/多线程

#!/usr/bin/pythonimport os, timeprint "Before the fork, my PID is", os.getpid()if os.fork(): print "I am the parent, my PID is", os.getpid()else: print "I am the child, my PID is", os.g

2013-01-05 08:31:21 1218

原创 windows版svn安装说明

SVN安装记录安装版本SVNVersion 1.4.5 安装版本TortoiseSVN 1.4.5无需安装apache服务器与客户端可安装在同一台机器---------------------------------1、下载安装 SVNVersion 和客户端 TortoiseSVNhttp://subversion.tigris.org   下载 co

2013-01-03 09:33:37 691

原创 一些运维笔试题整理

1,打印文件file1空行行号awk '{if($0~/^$/) print NR }' file12,打印以abc结尾的行以及行号grep -n abc$ file13,打印文件2到3行sed -n '2,3p' file14,11月份每天早上6点到12点之间,每隔两小时执行脚本httpd.sh0 6-12/2 * 11 * /usr/bi

2013-01-02 15:13:08 2457

原创 nginx文件上传限速

https://github.com/cfsego/limit_upload_rate 这个模块,通过修改nginx核心源码,可以支持设置文件上传限速首先下载 nginx-1.2.6 稳定版本解压后目录结构如下$ ls for-nginx.patchnginx — addon — limit_upload_rate — src — ... 执行

2012-12-23 08:20:17 8786 3

原创 用ZMQ实现任务调度

首先做个测试:1,一个性能低下的服务(或者页面)<?php$time = rand(1,5);//current task costs $time secondssleep($time);//resultecho "Hello_$time";?>用ab测试一下结果如下ciaos:~/penjin # ab2 -c 500 -n 10000 http://127.

2012-12-13 18:15:49 2214

原创 不同bash版本正则匹配结果不一致

不同的shell(如csh,bash等)的语法不一样,同样的shell的不同版本之间也可能差别很大,如下面的脚本Shell代码 #!/bin/bash  string=500  if [[ ( $string =~ '^[0-9]+$' ) && ( "$string" -gt 10 ) ]];then      echo "true"  else

2012-12-12 21:36:38 1647 2

转载 VirtualBox中安装Gentoo

转自 http://www.cnblogs.com/westfly/archive/2011/02/22/1961707.html按照《Gentoo Linux x86快速安装指南》的步骤进行的操作,上面比较好的排版,在此我就不叙述了。谈谈不一样的。参考文章《 gentoo安装 virtualbox上可用》,该文章基本上安装官方的文档进行操作,不过我在usr/src下编译内核成功了

2012-12-12 21:33:10 1873

原创 crypt函数加密

crypt() 函数返回使用 DES、Blowfish 或 MD5 加密的字符串。在不同的操作系统上,本函数的行为不同,某些操作系统支持一种以上的算法类型。在安装时,PHP 会检查什么算法可用以及使用什么算法。语法crypt(str,salt)参数 描述str必需。规定要编码的字符串。salt可选。用于增加被编

2012-12-07 18:15:05 2188

翻译 关于mogilefs分布式文件存储简介

mogilefs开源项目Application level -- no special kernel modules required.No single point of failure -- all three components of a MogileFS setup (storage nodes, trackers, and the tracker's databas

2012-12-06 13:26:03 772

原创 linux自解压安装脚本

下面整理一些自解压安装脚本,可以用来做生产环境的一键安装配置包。省得登录每个服务器去做安装配置1,从指定行开始自解压#!/bin/bashrm -rf /root/lnmpARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`tail -n+$ARCHIVE $0 | tar xzvmv lnmp0.7

2012-12-05 10:11:30 1608

原创 关于数据加密模型

首先介绍数据加密算法(Data Encryption Algorithm,DEA),它属于对称密钥密码体制. DES是一种分组密钥,加密前先对整个明文分组,每个分组64位长的二进制。然后对每个64位二进制加密处理,产生一组64位密文,最后将所有密文拼接起来就是整个密文。使用的密钥是64位(实际密钥长56位,有8位用于奇偶校验)DES的保密性仅取决于对密钥的保密,算法是公开的

2012-12-04 16:23:40 3780

原创 thrift 串行化使用示例

thrift是一个用于进行可扩展跨语言服务开发的软件框架,和SOAP以及PHP-RPC不一样的是它还集成了功能强大的代码生成工具,快速构建C++,Java,Python等很多语言代码。下面简单用来做个demo。首先在官网下载源码包(其中包含了各种语言的依赖库),实现一个拼接字符串的服务,编辑文件test.thrift如下:service Test { string combine(

2012-10-17 16:54:03 1113

原创 zabbix监控服务安装

zabbix是一个基于web界面的提供分布式系统监测的企业级开源解决方案,可以监控系统中的很多内容,比如服务器负载,web应用程序,数据库以及网络情况等。按照官网的介绍,zabbix是设计来提供小型企业系统到大型企业系统均可使用的,最主要的还是因为它免费。下载安装(安装包11M大小)。下载安装后进入database/mysql目录,导入数据库./configure --with-m

2012-10-17 16:53:43 971

原创 lucene简单安装使用笔记

首先安装eclipse与JDK环境,确保能运行java程序然后下载lucene的java包(我下载的是lucene3.6.1版本)新建一个java工程,在依赖包的地方添加lucene依赖(最基本的两个依赖文件,其他扩展依赖的可以在contrib文件夹中找到)在现有项目中添加依赖包的方法:Project->Property->Java Build Path->Libraries-

2012-10-17 16:51:16 1098

原创 通过alias命令设置快捷操作等

A,编辑.bashrc文件(通常在登录账户目录下:如/root/.bashrc),这个文件会在用户登录时调用,下面给几个简单的例子alias pj='cd /root/penjin'敲击pj+回车,即可进入/root/penjin目录alias logs='cd /usr/loca/logs/`date +%Y`/`date +%m`'进入以年月为文件夹的目录alias r='

2012-10-15 17:03:14 1865

原创 elasticsearch安装试用

elasticsearch是一个基于Lucene构建的开源,分布式,Restful搜索引擎,支持Http使用JSON进行数据索引,下面简单试用。首先下载(我选择的版本是0.19.9),解压后运行(执行bin/elasticsearch)一,插入索引curl -XPUT 'http://localhost:9200/addressbook/friends/1' -d '{

2012-10-15 08:31:02 1545

原创 protocol buffer简单使用

protocol buffer是google一种数据交换格式,独立于语言与平台。google提供了三种语言的实现:java,c++,python。采用二进制格式存储,相比xml进行数据交换快很多。可以用于分布式应用之间的数据通信以及异构环境下的数据存储。项目源码中附带有tutorial程序,不过看起来还是复杂,下面写一个简单用于存储配置信息的demo。首先编写proto文件如下(里面定义QQ基

2012-10-13 23:53:27 793

转载 awk学习(转)

转自:http://blog.csdn.net/gzh0222/article/details/8066703在linux awk的 while、do-while和for语句中允许使用break,continue语句来控制流程走向,也允许使用exit这样的语句来退出。break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。 awk中,流程控制语句,语法结构,与c语

2012-10-13 23:52:02 556

转载 nginx windows 下安装和配置

转发:http://blog.csdn.net/ajun_studio/article/details/8066550下载地址:http://nginx.org/download/nginx-1.2.4.zip下载后直接解压到你的硬盘上,我的是d:\nginx启动nginxcd d:cd nginx-1.2.4start nginx查看任务任

2012-10-13 23:46:34 995

原创 Oauth1.0a授权流程小记

Oauth 1.0a 用户授权流程图如下:A,向服务器端请求未授权的request tokenoauth_consumer_key(开发者申请的$appkey)oauth_signature_method (HMAC-SHA1,RSA-SHA!,PLAINTEXT)oauth_signature(base64_encode(hash_hmac('sha1', $base_s

2012-10-09 09:02:34 3243

原创 搭建android开发环境

第一步,安装(JDK+eclipse+android SDK+ADT,网上很多教程)第二步,创建一个AVD模拟器(menu | windows | AVD Manager)(其中Target选择安卓SDK版本,Built-in中选择屏幕大小)第三步,创建android项目,编辑“项目/res/layout/activity_main.xml”文件添加控件(支持拖动控件到屏幕)

2012-10-08 16:24:12 756

原创 使用新浪微博登录组件

想在自己的网站上嵌入“使用微博账号登录”功能,直接使用新浪官方的登录组件很方便。官方教程首先是完善开发者信息,提交网站认证等步骤(获取到appkey/appsecret),同时设计好按钮与登陆后的显示样式,最终拷贝生成的代码到我们的网页文件中去。代码如下: 测试页面 WB2.anyWhere(f

2012-10-08 12:19:33 3811 1

原创 tomcat服务器与jsp环境搭建

对java这个语言不是很了解,这里仅仅尝试如何搭建tomcat7环境支持jsp开发网页。1,首先安装tomcat服务器 sudo apt-get install tomcat7,apt-get会一并安装所有的依赖包2,启动服务器,/usr/share/tomcat7/bin/catalina.sh start,如果启动成功,命令行显示如下信息ciaos@ciaos-ubuntu:~

2012-10-08 12:19:12 1063

原创 php和C语言程序计时

有时候想查看程序运行时间,可以用time工具,在程序命令前加time可以粗略查看到程序运行花费的时间。倘若想查看某个程序片段运行耗时则需要自己计算了。php记录时间(秒级别)<?php$start = microtime(true);for($i = 0;$i < 10000;$i ++){ for($j = 0;$j < 1000;$j ++){ }}$end

2012-09-07 15:26:12 999

原创 两个网络工具tcpdump与iperf

tcpdump(Linux下面的抓包工具)支持针对网络层,协议,主机,端口的过滤并提供and,or,not等逻辑语句筛选有用信息。如下面示例,抓取web服务器(80端口)接收到的前三个请求包并打印成16进制与ASCII文本内容。常用的参数:-i 指定网络设备dst/src 目的/源host/port 主机/端口-c 抓包数目-s 抓包长度(0为自动适配)-X 十六进制打

2012-09-07 13:32:07 2490

原创 写一个mongodb压力测试程序

闲着无事写一个mongodb的压力测试程序,支持设置数据库的并发数,数据长短,每个连接写数据的数目。(用到mongodb官方的C驱动mongoc库)(没有考虑连接失败的情况,只是个简单的并发测试例子,当n指定过大后会连接失败)功能如下:vm6245:~/penjin/mongodb # ./test -hmongo-bench-i host of the mongo server

2012-09-06 16:52:48 3301 2

原创 linux编译生成动态链接库与静态链接库

这里以sqlite源代码为例,我们有时候需要用sqlite作为嵌入式存储引擎,但是我的opensuse上又不能自动yast安装sqlite的开发包,我们就自行编译链接库吧。首先下载sqlite3的源代码(共四个文件:shell.c,sqlite3.c,sqlite3ext.h,sqlite3.h)。1,编译静态链接库libsqlite3.agcc -c sqlite3.c shel

2012-09-06 09:46:46 1917

原创 redis资料学习整理

这些天接触redis以来,发现它不仅仅是一个key-value内存数据库那么简单,redis自身简洁的设计有非常好的性能和特点,毕竟最活跃的微博就是基于redis来构建的,下面整理一点相关的资料。Redis2.6对事务的支持还不够,如下所示,在incr name命令执行出错后并没有回滚到之前状态redis 127.0.0.1:6379> set age 3OKredis 127.0

2012-09-05 15:54:10 923

原创 mongoDB学习笔记整理

学习官方文档介绍做下面一点笔记1,文档型数据库(文件存储格式为BSON)设计数据库时需要考虑下面几点:由于mongodb可以存储物理文件,需要考虑什么时候存储资源,什么时候仅仅存储资源的链接需要存储多少个collection,都是些什么是否需要原子操作,原子操作支持文档内部,跨文档原子操作不支持为了让查询速度更快,需要设计怎样的索引针对collection如何分片,用作分片的k

2012-09-05 14:32:41 1171

转载 VirtualBox虚拟机的四种主要网络设置方式

原文链接Oracle VirtualBox的网络配置及应用主要有四种网络接入模式,分别是:1、NAT    网络地址转换模式(NAT,Network Address Translation)2、Bridged Adapter    桥接模式3、Internal    内部网络模式4、Host-only Adapter  主机模式第一种 NAT模式:NAT模式是最

2012-09-05 08:54:31 834

asp.net开发教程

VB ASP .net开发教程,浅显易懂

2013-10-17

lua一点代码

记录一点nginx lua的代码笔记,务虚下载

2013-07-22

HTTP权威指南

非常值得学习的http资料,了解web的原理

2013-04-17

深入理解Linux内核(英文第三版)

深入理解Linux内核(英文第三版),速度下载

2013-01-06

深入linux内核架构英文版

深入linux内核架构英文版,德国人写的那本

2013-01-06

mysql中文参考手册

这是MySQL参考手册;它记载了MySQL版本3.23.7-alpha。

2013-01-02

how tomcat work

从简到繁,解释tomcat的运行机制,介绍tomcat的各个组件

2013-01-02

hadoop The Definitive Guide 2nd Edition

Hadoop The Definitive Guide 2nd Edition

2012-12-25

空空如也

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

TA关注的人

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