小节:ruby

因为近日要做个培训,把脑子里一些ruby的基础整理一下。

Ruby基础:

变量词法规则:

  • 常量:一般是大写字母开头,如Group、GROUP,二次命名会有警告。
  • 变量:小写字母或下划线开头,如果something、some_thing、_somgthing。
  • 实例变量:@开头的标识符,如@var
  • 类变量:@@开头,整个类体系可用,如子类中可用父类类变量,如@@var。
  • 全局变量:$开头的标识符,不建议使用,不讲。

关于相机的一些参数(转)

这篇文章是转的。
网上搜了一下,没查到来源,不管怎么说,感谢原作者。

ISO与图片质量

ISO是一个曝光率极高的词,我们在超市买饼干的时候就可能会看见包装袋上写:本公司已通过ISO9001质量体系认证。这个ISO是国际标准组织的缩写,International Standards Organization。国际标准组织制定饼干管理标准,也制订胶卷的生产标准,所以货架上的胶卷有ISO100,200和400的几种,这就是感光速度不同的胶卷。ISO感光度是CCD(或胶卷)对光线的敏感程度。如果用ISO100的胶卷,相机2秒可以正确曝光的话,同样光线条件下用ISO200的胶卷只需要1秒即可,用ISO400则只要0.5秒。在数码时代,数码相机的主菜单里都有ISO选择,100,200,400或者800,这和胶卷上的一样。看机型不同,低的到ISO50,最高有到25600的,数字越大越敏感(感光度越高)。

午餐和爱情都流行快餐,什么事都要快点搞,按道理我们应该喜欢高感光度。但世界上没有免费午餐,高ISO虽然速度快但图像颗粒粗,经不起精细放大出图。所以风光摄影要用相机的最低感光度才可得到精细的画面。高ISO一般在万不得已的时候才用。

继续阅读

ruby-gnome2中修改按钮颜色

ruby-gnome2是gtk的ruby绑定,我们可以通过它很容易的开发出一个gui程序。可能有些朋友想修改按钮的颜色,我们可以通过以下方法来实现。

我们平时定义button的时候一般都是这样定义

在参考 http://ruby-gnome2.sourceforge.jp/hiki.cgi?Gtk%3A%3AButton 文档以后,我们会发现button里可以放置大多数稳定的控件,最常用的就是Label,Gtk::Button.new 'text' 其实就是一种快捷的创建button并在其中添加label的方法。在上面的代码中我们自己创建了label并放置到button中,这时我们可以使用markup,也可以随意控制label的状态颜色。

于是,我们得到了一个文字白色、背景红色的按钮。

ruby写的微博api调用

十一前某天恰好没什么事,就用ruby写了这么一个模块。这个模块可以通过ruby调用weibo open api。今天完善了一下,基本上可用了。代码不多,大概200行。

Github地址: https://github.com/vincenttone/vbo

您可以使用使用git来获取源码:

git clone git://github.com/vincenttone/vbo.git

这次并没有封装成Gem,因为只有一个文件,很容易导入,如果需要gem,请自己打个包,谢谢。test.rb是我测试用的文件,一起上传上来,给大家一个参考。至于详细的使用方法,请参考README.md。

代码中要说的一点是,模块的初始化方法会尝试读取环境变量里的三个变量来填充app_key, app_screct和callback_url,这里如果大家没有这个需要的话,可以删除这段,使用set_app_config方法来进行设置。删除后整个类可以尝试继承basic_object这个类,这样应该可以提高一些性能。

之前似乎见过一次ruby的weibo open api模块,但是不太好用……好吧,虽然我不想承认,但我似乎又重复造轮子了。不管怎样,欢迎交流。