发布新日志

  • mongodb 将查询结果导出到文件

    2011-05-10 21:13:52


    ./mongoexport  -h "127.0.0.1" -d seo -c kw_city -csv -o test1.csv -q '{"state":"ny"}' -f city,state

    注意事项:
    在windows的cmd命令行导出linux服务器的数据是不能使用 -q参数的

    options:
      --help                  produce help message
      -v [ --verbose ]        be more verbose (include multiple times for more
                              verbosity e.g. -vvvvv)
      --version               print the program's version and exit
      -h [ --host ] arg       mongo host to connect to ( <set name>/s1,s2 for sets)
      --port arg              server port. Can also use --host hostname:port
      --ipv6                  enable IPv6 support (disabled by default)
      -u [ --username ] arg   username
      -p [ --password ] arg   password
      --dbpath arg            directly access mongod database files in the given
                              path, instead of connecting to a mongod  server -
                              needs to lock the data directory, so cannot be used
                              if a mongod is currently accessing the same path
      --directoryperdb        if dbpath specified, each db is in a separate
                              directory
      -d [ --db ] arg         database to use
      -c [ --collection ] arg collection to use (some commands)
      -f [ --fields ] arg     comma separated list of field names e.g. -f name,age
      --fieldFile arg         file with fields names - 1 per line
      -q [ --query ] arg      query filter, as a JSON string
      --csv                   export to csv instead of json
      -o [ --out ] arg        output file; if not specified, stdout is used
      --jsonArray             output to a json array rather than one object per




  • mongle db 简单查询

    2011-05-10 21:03:12

    1.指定列显示并且加查询条件
    db.kw_city.find({state:"nc"},{ctiy:1,state:1,_id:0})
    city:1表示要显示city列
    _id:0 表示不要显示_id列

    2.查询条件大于等于
    db.kw_city.find({"recordcnt":{$gte:163757}},{city:1,state:1,_id:0})
    $gte:163757 表示recordcnt的值大于163757

    3.不等于查询条件
     db.kw_city.find({"state":{$ne:"ny"}},{city:1,state:1,_id:0})
    表示state不等于ny


    4.in查询条件
     db.kw_city.find({"state":{$in:['ny','ca']}},{city:1,state:1,_id:0})
    表示state等于ny或者ca

    5.not in查询条件
     db.kw_city.find({"state":{$nin:['ny','ca']}},{city:1,state:1,_id:0})

    6.or条件查询
    db.kw_city.find({$or : [{"recordcnt":77607},{catecnt:3134}]})
    表示查询条件为recordcnt=77607或者catecnt=3134

    7.between条件查询
    db.kw_city.find({"recordcnt":{$lt:163757,$gt:10000}})
    表示recordcnt大于10000小于163757

    8.is null条件查询
    db.kw_city.find({recordcnt:null})
    db.kw_city.find({recordcnt:{$in:[null],$exists:true}})


    9.正则表达式
    db.kw_city.find({city:/new/i})
    mongodb 支持Perl Compatible Regular Expression (PCRE) library

  • 可爱的mongle db

    2011-05-09 20:05:42

    最近公司来了一批新的开发,并且将mongodb带来了,今天下午玩了一下觉得还不错
    1.下载
    http://www.mongodb.org/

    2.安装
    其实非常简单只要解压缩就可以了

    3.启动 mongo
    ./mongod --dbpath /data/mongodb/db/ --logpath  /data/mongodb/logs/mongolog --fork --logappend

    --dbpath指定一个目录作为数据文件的存放位置
    --logpath 设定log存放的位置
    --fork 后台运行mongodb

    4.使用mongodb
    执行{mongodb_home}/bin/mongo #进入mongo shell环境
    use test #切换databases
    db.foo.save({a:1})#插入数据
     db.foo.find()#查询数据

    5.关闭mongo
    use admin #切换database
    db.shutdownServer()#执行关闭命令
    exit#退出mongo shell环境

    6.在windows中通过工具访问Linux机器中的mongoDB
    1.关闭iptables
    方法1.  service iptables stop
    方法2.   chkconfig --level 2345 iptables off && chkconfig --level 2345 ip6tables off

    2.通过工具来访问mongodb
    推荐使用mongovue
    http://www.mongovue.com/

    觉得非常的棒,要比mysql和oracle简单多了。因为只是初学先写这些,改天接着写
  • linux安装时注意事项

    2011-05-07 18:11:05

    最近在拿centos来学linux,总结了一下我安装linux时的注意事项
    1.磁盘划分
    自动磁盘分区方案是不安全的。自动磁盘分区只创建了基于LV的/文件系统,这就意味着,所有的数据都将存放在唯一一个基于LV的/文件系统中,这对于实际的生产系统来说是不安全的。安全的做法是应该创建分离的多个LV。

    LV root:存放系统命令和用户数据等
    LV usr:存放Linux的应用程序
    LV var:存放系统中经常变化的数据
    LV home:存放普通用户的数据
    LV swap:用户实现虚拟内存


    2.hostname设置
    编辑/etc/sysconfig/network文件
    HOSTNAME=youhostname
    我一般会把name+ip地址作为hostname,这也许是从ec2上长期使用养成的习惯
    如:192.168.1.1  =》 demo01-192-168-1-1


    3.固定ip地址设置
    linux既然作为一个服务器没有固定ip地址是不行的
    配置网卡IP
    a.一个网卡一个IP
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0#物理设备名
    IPADDR=192.168.10.8#IP地址
    NETMASK=255.255.255.0#子网掩码
    GATEWAY=192.168.0.1#网关地址
    ONBOOT=yes#[yes|no]引导时是否激活设备
    USERCTL=no#[yes|no]非root用户是否可以控制该设备
    BOOTPROTO=static#[none|static|bootp|dhcp]引导时不使用协议|静态分配|BOOTP协议|DHCP协议

    b.一个网卡多个ip
    vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
    DEVICE=eth0:0#物理设备名
    IPADDR=192.168.10.8#IP地址
    NETMASK=255.255.255.0#子网掩码

    配置网卡DNS
    vim /etc/resolv.conf
    nameserver 202.109.14.5#主DNS
    nameserver 219.141.136.10#次DNS

    重启网络服务
    a. service network restart
    b. /etc/init.d/network restart
    c. ifdown eth0 /ifup eth0
    d. ifconfig eth0 down/ifconfig eth0 up


    4.欢迎界面设置
    主要起到一个美化页面的作用,让每次远程登录都成为一个美好的记忆
    见http://www.51testing.com/index.php?uid-143205-action-viewspace-itemid-235608
  • 如何使之linux login 前后的欢迎页面

    2011-05-04 11:18:30

    linux中由2个文件用来设置login前的欢迎页面,另外由一个文件用来设置login成功后的欢迎页面 

    1.login前欢迎页面
    修改/etc/issue 和 /etc/issue.net
    往里面写入文本,就能使得用户在login前得到相应的提示,这将有助于用户分辨自己正在连接哪里的主机

    /etc/issue and /etc/issue.net files can be used to print any logon messages to users logging on to a Linux machine, the message appears BEFORE the login prompt of the login console.

    Many escape sequences can also be used in these files to print important information about the system onto the console

    The issue.net file has same features and properties the only difference being that the /etc/issue.net file holds the information that is display to users logon in via telnet

     some escape characters that can be used are mentioned in the table below

    Character

    Description

    \d

    Insert the current date.

    \o

    Insert the domain name of the system.

    \r

    Insert the release number of the kernel, e.g., 2.4.20.

    \s

    Insert the system name, the name of the operating system.

    \t

    Insert the current time.

    \u

    Insert the number of current users logged in.

    v

    Insert the version of the OS.

    \n

    Insert the node name of the machine, also known as the hostname.

    \m

    Insert the architecture identifier of the machine, e.g., i686

     

    You must remember one thing that /ect/issue.net file only effects the logons via telnet and any access via SSH is not controlled by the issue.net file

    这是我从网上截下来关于issue和issue.net的使用说明,很简单只要懂一点英语就能看懂
    特别要说明一下的是
    a. issue.net只支持telnet登录的用户,不支持ssh登录的用户
    b. issue支持本地登录的用户,不支持ssh登录的用户

    2.login成功后欢迎页面
    修改/etc/motd
    motd的意思是message of the today

    /etc/motd is MESSAGE of the DAY which is displayed to users logging onto a linux system.

    the /etc/motd file has text format and you can put any information/announcement/rules in it as per your requirements. 

    the difference between /etc/issue and /etc/motd is that the text in motd is display AFTER the user successfully logs on to the system.


    特别要说明一下的是
    a.这个是能支持ssh登录的用户,我确定
    b.不支持issue\d \o等一系列的参数,我也确定


  • 如何在Loadrunner中监控linux服务器的性能

    2011-05-03 10:02:58

    公司使用的服务器是linux的操作系统,之前很长一段时间监控系统参数都是使用top等linux命令来监控

    这样做的好处
    1.可以非常容易的监控的系统的状态
    2.实时性非常强
    不足之处
    1.不能和loadrunner其他的图表进行合并,造成了很难在事后分析出系统的问题
    2.监控系统的数据无法直接保存,供下次参考使用
    最近终于说服了公司的sa,让我能在性能测试环境做必要的设置,因为之前sa一直认为我要做的事情会对系统的安全性造成影响。

    现在我来介绍一下如何在linux设置来完成loadrunner对服务器性能的监控

    A.验证服务器上是否配置了rstatd守护程序

    1. rup 127.0.0.1
    2.find / -name rpc.rstatd
    3./usr/sbin/rpcinfo -p

    B.下载rpc.rstatd

    http://sourceforge.net/projects/rstatd

    C.打开端口映射

    1.执行 setup命令
    这时会弹出一个类似图形化的界面,光标移动到System services,回车。在新界面中找到portmap项,空格选中。然后选择OK,再选择quit。
    2./etc/rc.d/init.d/portmap start   //启动portmap

    D.编译安装rstatd

    ./configure
     make all-am
     make install-am

    E.起rstatd服务

    /usr/local/sbin/rpc.rstatd

    F.安装xinetd服务

    yum install xinetd.i386
    /sbin/service xinetd restart
    好了,liunx中的设置基本上都已经设置完了,接下来只要到loadrunner中加上对相应服务的监控就可以了

  • 5年了,软件测试职业生涯规划

    2011-04-29 15:49:21

    做了5年多的软件测试,最近开始对自己职业生涯的发展特别关注,在网上找了一些文章并且加上一些自己总结。




    1. 测试工程师(3年内)
    属于测试职业生涯初级阶段
    工作内容:
    a.按照测试主管分配的任务计划
    b.编写测试用例
    c.执行测试用例
    d.提交软件缺陷
    e.提交阶段性测试报告、参与阶段性评审

    2.测试主管(2~5年)
    根据项目经理或测试经理的计划
    工作内容:
    a.安排、调配测试工程师执行模块级或项目级测试工作
    b.控制与监督软件缺陷的追踪,保证每个测试环节与阶段的顺利进行
    c.偏重于测试设计

    3.测试经理(4-8年)
    a.负责企业级或大型项目级总体测试工作的策划与实施
    b.统筹整个企业级或项目级测试流程
    c.对于不同软件架构、不同开发技术下的测试方法进行研究与探索
    d.为企业的测试成员提供指导与解决思路
    e.合理调配不同专项测试的人力资源(业务测试工程师、自动化测试工程师、白盒测试工程师、性能测试工程师)
    f.与客户交流与沟通,负责部分的销售学或者技术支持工作

    4.测试总监
    1.驾驭企业全部的测试与测试相关资源
    2.管理着企业的全部测试及质量类工作

    5.自动化测试工程师
    a.依靠自动化测试工具进行软件自动化测试

    6.资深自动化测试工程师
    a.设计数据驱动
    b.开发测试框架
    c.企业内部自主开发小型测试工具

    7.白盒测试工程师
    a.对软件进行的代码级测试
    b.代码走读、代码功能与逻辑测试
    c.代码内存泄露检查
    d.代码运行效率检查
    e.代码测试覆盖率分析
    f.要对大型程序开发语言的完全掌握

    8.资深白盒测试工程师
    a.协助测试经理或测试总监公关测试方法与技术性难题
    b.结合不同架构、多种开发技术交互的情况下,寻找代码测试方法,并具有对代码优化的能力

    9.性能测试工程师

    10.资深性能测试工程师
    a.具备性能测试整理方案的设计能力
    b.软件系统性能问题定位和性能优化的能力
    c. 对主流的软件开发模式下的应用系统具有敏锐的洞察意识和感知意。

    11.安全测试工程师
    a.对软件的开发模式、实现架构和技术本身充分了解
    b.感知和预见软件系统存在的安全漏洞
    c.知道如何通过系统漏洞尝试攻击软件系统,达到测试的目的

    12.领域级专项人才
    a.具有个人独到的见解和深厚的技术实力
    b.提供行业性测试技术咨询、培训
    c.为软件测试整体行业的发展,起到鲜明的带动作用






    1.绿色勾代表我已经达到的
    2.紫色1表示3年内要达到的
    3.绿色2表示5年内要达到的
    4.蓝色3表示10年内要达到的

    目标清晰了,接下来就是实际行动了。
  • CentOS 通过编译代码搭建PHP开发环境

    2010-07-20 08:58:53

    最近在学习PHP,我们公司的产品环境是使用的CentOS5,所以操作系统选定。接下来是选择通过什么方式来安装,网上找了一下有很多关于使用yum来安装,但是个人觉得使用这种方式安装虽然很简单,但是这样一下无法提高我对apache、mysql和PHP的深入了解,所以我决定使用通过手动编译代码的方式来搭建整个php的开发环境。
    1.下载源代码
    在Centos中通过lynx来下载源代码到/usr/local/src目录中
    a.下载apache源代码
    地址:http://httpd.apache.org/download.cgi
    下载2.2.15版本(此版本属于稳定版本,2.3.6还处于alpha版本不推荐使用)
    推荐使用lab.renren.com的镜像站点下载,个人觉得这个镜像的网速比较快
    b.下载mysql源代码
    地址:http://dev.mysql.com/downloads/mysql/#downloads
    在Select Platform中选择source code
    然后选择Generic Linux (Architecture Independent)Compressed TAR Archive(mysql-5.1.48.tar.gz)
    c.下载php源代码
    http://www.php.net/downloads.php
    推荐下载PHP 5.2.13 (tar.gz)

    2.Centos上安装编译源代码所需要的lib和程序
    yum update
    yum groupinstall "Development Libraries" "Development Tools"

    3.编译、安装并配置apache
    a.编译、安装
    ./configure --prefix=/usr/local/apache --enable-mods-shared=all
    make
    make install
    b、修改httpd.conf
    vim /usr/local/apache/conf/httpd.conf
    新增一行 ServerName 127.0.0.1
    d、将/usr/local/apache/bin/apachectl软链接到 /etc/rc3.d/S85httpd中(假设目前runlevel为3)
    e.reboot系统并通过netstat -tlpn查看apache是否能正确启动

    3.编译、安装并配置mysql
    a.编译、安装
    ./configure --prefix=/usr/local/mysql
    make
    make install
    b.安装后操作
    mysqld增加一个登录用户和组
    groupadd mysql
    useradd -g mysql mysql


    复制配置文件
    cp support-files/my-medium.cnf /etc/my.cnf

    进入安装目录
    cd /usr/local/mysql

    创建MySQL授权表
    bin/mysql_install_db --user=mysql

    将程序二进制的所有权改为root数据目录的所有权改为你运行mysqld的用户
    chown -R root  .
    chown -R mysql var

    chgrp -R mysql .


    将/usr/local/src/mysql-5.1.48/support-files/mysql.server复制到
    /usr/local/mysql/目录下
    cp /usr/local/src/mysql-5.1.48/support-files/mysql.server /usr/local/mysql/mysqld

    mysqld软链接到/etc/rc3.d/S64mysqld 中(假设目前runlevel为3)

    reboot系统并通过netstat -tlpn查看mysqld是否能正确启动



    4.编译、安装并配置PHP

    a.编译、安装
    ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
    make
    make install

    b.编辑php.ini
    将/usr/local/src/php-5.2.13/php.ini-dist 复制到/usr/local/lib/目录下
    cp php.ini-dist /usr/local/lib/php.ini

    检查php.ini中是否已经存在这行内容,没有的话就手动加上
    LoadModule php5_module modules/libphp5.so

    增加php.ini内容
    <FilesMatch \.php$>
    SetHandler application/x-httpd-php
    </FilesMatch>

    AddType application/x-httpd-php .php

    将下面两行内容前的;去掉
    extension=php_mysql.dll
    extension=php_mysqli.dll

    reboot系统并且在/usr/local/apache/htdocs目录下写一个php脚本,来验证PHP开发环境。


    至此大功告成





  • Centos中安装gems 遇到缺少zlib的问题

    2010-04-29 08:40:55

    升级gem提示 no such file to load zlib,按照以前的经验,马上安装了zlib1g-dev,运行后问题依旧存在,无奈。突然起ruby source中包含zlib文件,最终解决办法如下。
    1、进行ruby源码包
    2、安装ruby自身提供的zlib包(这里的ruby指的是ruby源代码目录)
    cd ext/zlib
    ruby ./extconf.rb
    make
    sudo make install
  • 解决rubygems no such file to load的问题

    2010-04-28 19:17:32

    我的操作系统是ubuntu,之前一直使用的是ruby1.8的,但是最近要装ruby-mysql不支持ruby 1.8.6的,怎么办呢,只有重新安装ruby1.9,没想到装ruby1.9还有一些小的窍门
    1.根据ruby官方网站的提示使用下面的命令安装ruby1.9
    sudo apt-get install ruby1.9.1-full

    2.下载rubygems 的安装包然后直接运行
    ruby setup.rb

    3.修改/etc/profile的配置文件来设置环境变量(这里是关键)
    export GEM_HOME=/usr/lib/ruby1.9.1/gems/1.9.1
    export RUBYOPT=rubygems

    4.重新登录系统

    第三步设置GEM_HOME是关键,不管你gem安装到那里只要设置好这个环境变量就能任意的指定gem 包环境的路径。
  • ruby gems sources

    2010-04-28 09:12:07

    今天同事要安装一个ruby的插件,这个插件的作用是为了实现邮件发送,但是通过gem query -rn的命令只能查到这个插件旧的版本,然后问我怎么办。
    我想起在今年过年的时候我在infoq上看到了一则关于rubygems sources的信息,内容是说
    RubyGems.org已经成为了RubyGems的默认Gem源,gemcutter.org、gems.rubyforge.org和rubygems.org这三个域名现在都指向同一个地方,三者都可用于Gem服务和安装,托管了大约11,500个Gem的RubyGems.org已经取代了RubyForge和GitHub,成为了社区中的默认Gem托管站点,GitHub在去年10月宣布不再自动构建Gem,仅为已经存放在GitHub的Gem提供一年的托管,并推荐使用 Gemcutter进行托管
    所以我们在安装完rubygems后,使用gem env命令看看我们的gem sources到底是什么,如果没有存在http://rubygems.org使用命令将其加入sources
    1.执行gem env
    我们可以看到
     - REMOTE SOURCES:
        - http://gems.rubyforge.org/
    这个说明我们要将http://rubygems.org加入到sources中

    2.执行 gem sources -a "http://rubygems.org"将其加入到sources中

    3.执行gem env看看是否已经正确加入了

    这样我们就能与时俱进使用到最新的最有用的gems了
  • linux设置静态ip

    2010-04-22 13:42:26

    一般linux服务器都是使用静态ip,作为我来说在安装linux的时候为了省事都会按照默认的设置进行安装,等到安装完毕之后linux使用的是动态ip,所以需要以系统管理员权限手动设置linux服务器的静态ip

    1.使用root用户登录系统(也许这时候系统中可以使用的账号只有root用户)
    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    ifcfg-eth0指的是名字为eth0的网卡,因为一台服务器经常会有2个以上的网卡,所以需要在这里选择需要修改ip地址的网卡

    2.将ifcfg-eth0这个文件内容设置为
    DEVICE=eth0
    BOOTPROTO=static
    HWADDR=00:0C:29:4D:A5:B2
    IPADDR=192.168.1.9
    NETMASK=255.255.255.0
    GETWAY=192.168.1.1
    ONBOOT=yes

    3.使第二步设置的ip地址立即生效
    /sbin/ifdown eth0
    /sbin/ifup eth0
    或者
    /etc/init.d/network restart


  • 备份和还原msyql 数据库和数据表

    2010-04-20 14:45:48

    随着测试工作的逐步深入,经常需要备份数据表和数据表
    在mysql数据库中有Test1数据库并且在这个数据库中有A B两个数据表
    1. 备份数据库
    mysqldump -h127.0.0.1 Test1  > Test1.sql
      a.mysqldump是备份数据库的命令
      b.-h127.0.0.1表示要操作的数据库是本机
      c.Test1表示要备份的数据库是Test1
      d. > Test1.sql表示备份出来的文件名

    2. 备份数据表
    mysqldump -h127.0.0.1 Test1 A > Test1.a.sql
      a.mysqldump是备份数据库的命令
      b.-h127.0.0.1表示要操作的数据库是本机
      c.Test1表示要备份的数据表所在的数据库是Test1
      d.A 表示要备份的数据表
      e. > Test1.a.sql表示备份出来的文件名
    备份完了就需要还原
    1.还原数据库
    mysql -h127.0.0.1 Test1 < Test1.sql

    2.还原数据表
    mysql -h127.0.0.1 Test1 < Test1.a.sql

    还有一个非常有用的方法,把mysql查询出来的结果导出到一个文件中,接下来我们就可以用这个文件做数据分析了
    select * from A into outfile 'xxx.txt'
  • 使用ruby通过ssh来访问服务器

    2010-04-06 16:22:19

    目标要通过ruby像使用putty一样访问远程的linux服务器,并且远程服务器采用了rsa加密处理
    1.使用rubygems安装ssh
    2.执行下面的代码
    require 'net/ssh'
    Net::SSH.start('192.168.1.2',
                   'peter',
                   :keys=> ['/home/peter/private.key'],
                   :passphrase=>'password'
                   )do |ssh|
            utput = ssh.exec!("/usr/local/mysql/bin/mysql  -udev -pbpo") 
            puts output
    end

  • 解决ubuntu中flash 中文显示的问题

    2010-03-29 12:11:28

    在ubuntu环境下flash显示中文老是显示方框,在网上找到了解决这个问题的方法
    步骤1:
    sudo gedit /etc/fonts/conf.d/49-sansserif.conf
    步骤2:
    将第3个sans-serif改成simsun(包括注视中的一个sans-serif开始计算)
    步骤3:
    将firefox中设置默认字符编码
    首选项/内容/高级/高级字符编码 设置为"简体中文gb2312"
  • 在ubuntu中的netbeans 如何设置ruby快速调试器

    2010-03-28 17:25:33

    之前使用的ruby开发环境一直是windows,不用担心太多的东西因为ruby windows安装包中默认有了一些非常常用的功能。现在我把ruby的开发环境放到乐ubuntu中有些东西就不是默认安装的了,需要自己手动设置或者安装。
    在rubygems安装完成的情况下只要执行下面的一条命令就可以完成ruby快速调试器的安装
    sudo gem install ruby-debug-ide
  • 如何查看mysql数据库中每个database使用的磁盘空间

    2010-02-02 23:36:28

    最近正在对一个项目作性能测试,项目使用的是mysql数据库今天刚刚学到如何查看每个database使用的磁盘空间

    由于mysql数据的没给database实际上都是一个文件,所以首先要找到mysql数据库数据文件存放的目录,然后执行sudo du -h。
    解释:
    du是linux命令:总结每个文件或者目录磁盘使用量
    -h 以可读性较好的方式显示

  • 在ubuntu中配置ruby开发环境

    2010-02-02 09:45:06

    以前用ruby写一些脚本一直在windows环境,环境搭建非常的方便只要安装windows的二进制安装包就可以了。最近因为工作的需要,要把写脚本的环境切换成linux环境,原以为这样做会非常的不方便,今天去了ruby的官方网站发现原来在ubuntu中配置也是那么的方便。

    第一步.安装ruby和一个简单的ide
    sudo apt-get install ruby-full  scite
    注:
    1.ruby-full其实就是安装了包括ruby解释器在内一些核心的东西,我看一下安装list有些东西我还不知道是干嘛用的呢

    2.scite是一个非常简单的ide,用来些ruby脚本。功能很简单但是非常的实用,所以也加上了

    第二步.接下来我们就要准备安装rubygems了
    1.sudo apt-get install libyaml-ruby
    2.sudo apt-get install libzlib-ruby
    3.在http://rubyforge.org/projects/rubygems/
    下载gems安装包rubygems-1.3.6.zip
    4.unzip rubygems-1.3.6.zip 解压
    5.sudo ruby setup.rb安装rubygems
    6.修改/etc/profile 在文件最后一行增加export RUBYOPT=rubygems
    (如果不在这里设置环境变量,会导致require 外部的gem包会报no such file to load错误)

    第三步.验证是否正确安装
    1.注销当前用户并且再次登录,因为前面我们修改了环境变量要等到重新登录才能生效
    2.在shell中打入ruby -v命令,显示ruby版本号表示ruby安装正常
    3.在shell中打入gem1.8 list,验证gems安装正常(为了之后使用方便可以为gem1.8建立一个名字为gem 的link)
    4.在shell中打入gem server -p=8080,验证libyaml-ruby和libzlib-ruby已经正确安装



  • 哥偷的不是寂寞、是网

    2009-09-02 23:42:23

    最近哥我寂寞死拉,寝室附近共用的无线网络断了,1天还行可顶不住2天 、3天啊。回到寝室就看到大家大眼对小眼,老实说哥寝室的几个兄弟长得都不怎地,让我这几天晚上都做恶梦啊!!!

    一想不行一定脱离这没有网络的日子,特别在网上找了一篇破解无线密码的文章照着做嘿嘿还真行,这不哥现在用着别人的网络发发小博客,美得很。你要问哥怎么做到的,好让我露两手

    首先2G以上的U盘一个,然后从网上下一个bt3和spoonwep2按照说明把bt3和spoonwep2都复制到U盘上,从U盘启动然后一路开始搜
    30分钟后密码到手,那个美啊!!!!

    从这件事情让我想到了为什么国家目前还是不允许wifi进入手机市场,太不安全了。如果大家的移动通讯工具都走wifi的话哪有安全可言,想想都要吓死了。

    嘿嘿,言归正题。哥偷的不是寂寞、是网!!!!!!!!!!!!!哇哈哈

  • 如何在windows环境中搭建apache+subversion

    2009-08-21 17:04:17

673/4<1234>
Open Toolbar