- 浏览: 108067 次
- 性别:
- 来自: 杭州
最新评论
-
ouyangshixiong:
非常有用,尤其是对可达的内存泄漏。感谢楼主
valgrind工具之massif -
genmymodel:
hello, 我是在法的中国留学生,我们正致力于一个在线UML ...
UML Online Tool -
huaiyan_sky:
引用
[img][/img][url][/url] ...
Linux之tee命令 -
psuqqvfp:
写得真好。
过程即奖励(The Journey is the Reward) -
Goldice:
fuliang 写道直接ssh-copy-id不就ok了?是的 ...
分享一个ssh打通的脚本
文章列表
分享一个expect的脚本,可以用于Linux机器之间远程执行命令:
#!/usr/bin/expect -f
set ipaddress [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
set cmd [lindex $argv 3]
set timeout [lindex $argv 4]
spawn -noecho ssh $user@$ipaddress $cmd
expect {
"yes/no" { send "yes\ ...
首先对源文件进行编译:
Preparing your programCompile your program with -g to include debugging information so that Memcheck's error messages include exact line numbers.-O0 a good idea if you can tolerate the slowdown-O1 line number in error message can be inaccurate although generally speaking running Memc ...
介绍一点vim下使用Ruby的技巧。
1. vim命令行模式下输入 !ruby %
可以直接运行Ruby程序,并返回到vim编辑
2. vim Ruby关键字及自定义变量补全
拷贝附录中的ruby-macros.vim至机器某处,然后修改~/.vimrc,添加一行:
source ROOT(自己定义)/ruby-macros.vim
在用vim进行Ruby编程中,就可以用ctrl+n来补全关键字及变量了。
一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地;
与ssh有关的两个命令可以提供很方便的操作:
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
当然,还可以设置一下目录了:
设置一下上传和下载的默认目录options–>session options–>file transfer 下可以设置上传和下载的目录剩 ...
原来发在diandian的几篇旧闻,也一并转到iteye上来吧。
1. exec
exec 'echo "hello $HOSTNAME"'
用echo命令来取代当前进程,无法知道命令是否成功
2. system
system('echo "hello $HOSTNAME"')
运行一个子shell来避免覆盖当前进程,运行成功返回true,运行失败返回false
3. ·· 反引号
`echo $HOSTNAME`
运行一个子shell来避免覆盖当前进程,可以接受命令执行结果
4. IO.popen
def run ...
今天又机会尝试了下Ruby的Tempfile库,相比于自己创建临时文件再删除的方法简便了很多。
require 'tempfile'
tmp = Tempfile.new("tmp")
tmp.path # => /tmp/tmp20110928-12389-8yyc6w 不唯一
tmp.write("This is a tempfile")
tmp.rewind
tmp.read # => "This is a tempfile"
tmp.close
tmp.unlink # = ...
要多点想法,想法很重要。好的想法是一个好的产品的源头,好的想法能让技术事半功倍。
虽然不能一棍子打死,但是我不认为,想法可以脱离技术而存在,或者说,完全不懂技术的情况下,你可以提出好的想法。如果新浪微博不开放平台,你对微博用户数据的任何想法都是一句空谈;而如果你知道新浪微博的开放平台,了解他们的开放API,你会多很多想法的源泉。
这个在线词典的命令行版本(http://xiechengfa.iteye.com/blog/999151),我就非常喜欢:1. 实用。在Linux下遇到不懂的英文单词,你可以不用上网就能查到;对技术人员来说,英文文档遇 ...
我的《C++ Primer》扉页记着购书的日期和地点:C++ Primer 2009.11.28购于西区求索。那时对于这本厚书一直心怀敬畏,仿佛是眼前的一座大山。那时,虽然已经大四,但是对于面向对象的理解还很肤浅(相当肤浅),只能用C++编写一些简陋的C风格的结构化的程序。一晃快两年过去了,过去的时光放佛已经尘封于历史之中了,离自己已经遥远,但我知道自己现在唯有迎难前进,方能获得希望。但愿过去的时光可以让我学的更轻松,小小的期望,在购书两周年之际学完C++。
Chapter1
iostream库——istream类(输入流)和ostream类(输出流)
标准输入 cin
标 ...
今天发现了Ruby1.8.6和 Ruby1.9.2的一个不同之处,试运行以下代码:
require 'find'
puts Find.find("./data").class
在Ruby1.9.2中,最后的结果是Enumerator,而在Ruby1.8.6中,结果则是`find': no block given (LocalJumpError)
由此可见Enumerator是Ruby1.9.2中新增的类。
使用ri Enumerator得到的说明是:
Enumerator是 A class which provides a method 'eac ...
《松本行弘的程序世界》对模板方法(Template method)的说明非常清晰:
在父类的一个方法中定义算法的框架,其中几个步骤的具体内容则留给子类来实现。
比如一个用于公司欢迎同事的程序:
class A
def initialize
@name = "jinbin"
@word = "hello"
end
def say_word
puts "Welco ...
介绍几种不常见的类定义方法:
1. Struct
Person=Struct.new(:name,:age,:sex)
p=Person.new("liyuchun")
puts p
Struct生成一个仅仅包含数据属性的类。但是你可以在这个类的基础上扩展:
Person=Struct.new(:name,:age,:sex)
class Person
def log
puts "log here"
end
end
...
Ruby使用者对attr_accessor一定不会陌生。
class A
attr_accessor :num
end
等效于:
class A
def num
@num
end
def =(value)
@num = value
end
end
在类的定义中,attr_accessor定义了num的读写方法,只用了一行代码就生成了两个实例方法,很cool,不是嘛?。这就是Metaprogramming,用程序来 ...
系统常常会出现这种情况:
每一个部分需要知道整体的状态。比如Excel中,当你修改了一个单元格的值,可能横列的sum需要改变,纵列的sum需要改变,根据这个单元格做的图需要改变,是否被修改的按钮需要激活... 如果没有一种很好的处理方式,导致的结果将是系统 highly integrated。
仔细分析,比如Excel的单元格,我们可以抽象出单元格是a source of news ,而其他部门是 receiver,接受单元格的改动的通知,然后进行自己的处理。
比如,单元格修改之后,通知计算总和的类来做相应的处理。
class Excel
...
微博上的蔡学镛是个有趣的家伙,有条微博这样写道:
“记得十多年前我的第一本书出版时,我隔几天就到书店微服出巡,看看状况。当看到有人拿起我的书时,我内心的口白:"英明英明,你可真识货呀!" ... 当有人放回我的书,我内心的口白酸溜溜的:"显然不是个懂书的人" ”
本人很惭愧,至今没看过蔡学镛的任何书籍(可能有误打误撞的,但绝对没认真看过),难怪至今与Java无缘。为了减轻负罪感,特地搜索了下蔡学镛的著作,决定从《Java夜未眠》看起。
本人看电子书要比纸质书要快很多,一边滚动鼠标,一边用眼睛一目十行,给我一种满足感。当然,有些不感兴趣,或者关 ...
Ruby中,特定于某一对象的方法被称为Singleton method。
例如:
a = "string"
def a.run
puts "#{self} run"
end
str.run # =>#string run
run方法是特定于a这个对象的,故run方法是a的Singleton方法。
实现上, ...