- 博客(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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人