poète et paysan
百度空间 | 百度首页 
 
文章列表
 
2009-01-07 23:17
 
2007-03-04 22:58
本章描述在各种操作系统上(MAC/Linux/Windows)如何安装(包括自己直接从源码构建)、运行Ruby,怎样查找类或方法等相关的Ruby文档。

irb(Interactive Ruby)即交互式Ruby,可交互式执行Ruby代码,简言之就是个Ruby Shell,支持命令行历史(上下键)、行编辑功能(如Ctrl-a跳至行首,Ctrl-e跳至行尾)和作业控制等。

在irb里加载一个Ruby文件:
% irb
irb(main):001:0> load"code/rdoc/fib_example.rb"
=>true
irb(main):002:0> Fibonacci.upto(20)
=>[1,1,2,3,5,8,13]


文件内的Ruby代码执行方式与Shell脚本、Python代码一致:
% ruby  myprog.rb

随着Ruby库越来越大,用一本书来描述库的所有文档显然不再可能;现在Ruby(1.8.2)自带的标准库包含9,000多个方法,不过目前许多方法/类/模块已采用名为RDoc的系统进行文档描述。如果源文件采用RDoc进行文档描述,那么其文档可被抽取并转换成HTML和ri格式。相关网站:http://www.ruby-doc.org

ri工具是个本地、命令行的文档查看器(ri?应是Ruby Info之首字母吧)。
% ri  GC

GUI工具fxri集成了irbri(Interactive Ruby Help & Console)。

---
 
2007-03-04 22:55
中文版也要出来了,不知道翻译效果如何,不过这种书搞成中文的,也未必看得快,既然是没事时候翻翻的,先将就着看英文电子书吧。

以后会随意记些阅读过程中的一些有意思的片断,供存档和回顾之用;该系列文章的标题大体如下:[PR2] 第一章:新手上路。

---
 
2007-03-03 16:07
System.map[1]是Linux内核符号文件,维护有内核函数名称和非堆栈变量名称与各自地址的对应关系。

若内核函数或变量要被内核模块调用,则必须使用EXPORT_SYMBOL宏进行处理,作用之一是将该符号连接到二进制文件的各个__ksymtab_xx_xx section(参看include/linux/module.h,使用GCC编译器的__attribute__关键字实现[2])。内核加载模块时,会先确认该模块调用的各内核函数是否已export(参看__find_symbol() kernel/module.c)。

比如FC5缺省会给vanilla内核打补丁,使其不再export sys_open符号,这一点可搜索该内核对应的System.map文件进行确认,看是否存在__ksymtab_sys_open符号。

[1] The system.map File
http://www.dirac.org/linux/system.map/

[2] Using GNU C __attribute__
http://www.unixwiz.net/techtips/gnu-c-attributes.html
 
2007-03-03 15:06
Ulrich Drepper

Explaining LD_ASSUME_KERNEL (add
http://people.redhat.com/drepper/assumekernel.html

Defensive Programming (pdf
http://people.redhat.com/drepper/defprogramming.pdf

How to Write Shared Libraries (pdf
http://people.redhat.com/drepper/dsohowto.pdf
 
2006-12-15 10:43
最近由于工作原因,需要长时间监视Linux系统负荷,以分析特定程序的CPU/MEM占用情况。寻寻觅觅,终于找到一篇不错的blog(google keyword: Linux cpu load monitor),Xaprb写的“How to monitor server load on GNU/Linux”,发现vmstat这个不错的工具。

这篇文章介绍了监视GNU/Linux和类似系统的系统负荷、性能和相关信息的六种方法、12种工具,包括Gkrellm、(Windows “任务管理器”克隆版本)gnome-system-monitor、vmstat、top、htop和tload等等。

其中vmstat是procps软件包里的一个工具,比如top, ps, w, kill, free, slabtop, 和skill等都是这个软件包的一部分。vmastat缺省显示虚拟内存、CPU使用率、I/O、进程、swap等信息,还可显示磁盘等相关信息。比如,为了(粗略?)统计某段时间内的CPU占用情况,可以使用如下命令:

vmstat -n 5  >  xxx-`date +%F-%H-%M`.vmstat  2&>1

Ctrl-C

echo "End time: "`date +%F:%H-%M`
 
>>   xxx-????-??-??-??-??.vmstat

其中 -n 指定不重复打印vmstat提头(仅在开始执行时打印一次),5  指定每隔5秒钟统计各种资源使用情况;并以日期、时刻(如xxx-2006-12-16-21-9.vmstat)作为文件名。


htop是个“豪华版”的top,支持鼠标操作。

另外,有空可以试试lsof,一个强大的工具。

xrestop查看X各个组件的资源占用情况。
 
2006-12-09 17:49
SecureCRT 5.2 / Vim 7.0

最近使用SecureCRT ssh到Linux机器上阅读/调试代码,发现在SecureCRT中键入Vim命令时,经常失去响应,无法进入vim中(putty中一切正常)。strace后发现是阻塞在/dev/gpmctl设备的连接上(connect(...)函数)。

gpmctl是个用户空间的鼠标驱动(gpm->general purpose mouse),负责为虚拟终端提供鼠标支持。键入原始的vi命令(未链接到vim上),除去一大段设置不可用的信息外(因.vimrc专为vim编写),可正常进入和使用。于是修改.vimrc,查找与gpm有关的设置,发现一条 set mouse=a ,注释掉之后,一切正常。回头查看SecureCRT的设置(Session Options->Emulation->Terminal)类型为Linux,选择xterm后,即使set mouse=a,也一切正常。

再次修改.vimrc:
if $TERM != “linux”
set mouse=a
endif

gpmctl与linux终端类型的冲突原因/bugfix有待进一步查考。
 
2006-11-30 20:06
最近

TBC

X Introduction

鸟哥的Linux私房菜 - X Window简易设定
http://linux.vbird.org/linux_basic/0590xwindow.php

X Project

XFree86 server 4.x Design (DRAFT)
http://webcvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/doc/DESIGN?view=co

nouveau : Open Source 3D acceleration for nVidia cards
http://nouveau.freedesktop.org/wiki/

Direct Rendering Open Source Project
http://dri.freedesktop.org/wiki/Documentation

X Hacker

Keith Packard
http://keithp.com/keithp.html

Jim Huang
http://jserv.sayya.org/
 
2006-11-23 23:59
声明一下 :-)

doubanclaim5bdc1db2a432165d
 
2006-10-19 13:08
昨晚忽生兴致,决定升级好几个月没动的Ubuntu Dapper,尝尝Edgy之鲜,虽是beta版本,反正并非production machine,只是家里闲来摆弄的toy而已,何况5.04 LiveCD/InstallCD在手,有甚好怕。毕竟,你可以总有办法让Linux完全“赤裸裸”的暴露在自己面前,任何错误无所遁形。

有apt护驾,如果顺利,不同版本之间的升级只需几个命令而已,参见EdgyUpgrades。昨晚升级,从Dapper到Edgy,光下载需要升级的软件包600多M,便耗去近两个小时,不过每秒7/8十KB的速度还要托国内那些镜像仓库的福。

sudo apt-get dist-upgrade途中出现错误,提示/usr/X11/bin里有fvwm-shell无法删除/覆盖(什么时候装的),于是直接sudo rm fvwm-shell,呵呵,回想来挺幼稚的做法。十几次执行sudo apt-get -f install仍提示出错,信息中仍包含fvwm-shell,sudo dpkg --remove vim-shell && sudo apt-get -f install && sudo apt-get dist-upgrade 方才顺利搞定。

重启后无法进入X,startx提示出错,想起Edgy自带最新版本的xorg-server 7.1,检查了一下,xserver由于前面遇到的错误并未卸载/安装成功。于是,继续sudo apt-get remove xserver-core && sudo apt-get install xserver-core(似乎是这名)。

一切搞定,享受Edgy。

(为什么F-Spot, Tomboy都基于mono库?这个库提供了一些独有的特性么?要了解一下。)
 
     
 
 
个人档案
 
poete
男, 28岁
浙江 
上次登录:
1月 7日
加为好友
 
   
 
文章分类
 
 
 
Vim(1)
 
 
Code(1)
 
Ruby(2)
 
     
 
最新评论
 
文章评论|照片评论

 

不错~
 

不错~
 

不错~
 

不错~
 
     
 
好友最新文章
 
     
 
最近访客
 
 

zmg1005

vovo2000

chiyiangel

mrnongmin

znzhou

番柿子

audu

wmr365
     
 
背景音乐
 
 
订阅我的空间
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     


©2009 Baidu