Ruby
秦朝古月
这个作者很懒,什么都没留下…
展开
-
Lighttp+Mongrel Rails网站的Web服务器结构
隔了一周才写第二篇 blog。在这一周的工作里,对 Web 服务器的选择进行了调查。我们的网站是用 Rails 开发的,目前使用 Apache2+CGI 的结构,当然只是一个过渡。由于网站的定位是大规模网站,所以 scaling 是必须要考虑的问题。开始的时候我想使用 Apache2 作为负载平衡,之后采用 Lighttpd+FastCGI 作为单点的服务器。可以,通过调查,觉得 Ligh...2007-03-13 00:17:01 · 96 阅读 · 0 评论 -
ActiveRecord::Base.update 的 alias_method_chain 顺序变化
alias_method_chain有非常强大的功能,使得我们对Rails的功能扩展变得很容易。考虑过当一个方法存在多个alias_method_chain时,without方法会变成什么样子呢?但一直没有做相关的调查。在进行Rails2.2.2到2.3.8的升级过程中,终于遭遇了这个问题。ActiveRecord::Base的update方法,有四个alias_method_chain:...2010-07-19 11:01:36 · 143 阅读 · 0 评论 -
Rails国际化(i18n)
很早就知道国际化,就知道i18n,却不知道是什么原因。原来internationalization(国际化),这个单词的长度是20,然后取其首尾字母,中间省略的字母刚好18个。选用了Locale作为国际化的解决方案。1、首先是安装[code="shell"]gem install locale_rails[/code]会自动的安装locale和locale_rails两个gem...原创 2010-06-07 21:15:22 · 386 阅读 · 0 评论 -
Ruby GUI编程
Ruby比较成熟的GUI绑定库有FXRuby、Ruby-GNOME2、RubyCocoa、wxRuby。[b][size=large]FXRuby[/size][/b]wxRuby是一个开源的ruby界面开发包。它提供wxWidgets这个跨平台的C++界面框架的Ruby支持。wxWidgets是一个成熟的,拥有众多特性的界面开发包,它使用本地控件来提供Linux、Windows和OS...原创 2010-06-08 19:38:46 · 263 阅读 · 0 评论 -
试用GtkSimpleLayout制作UI
rubynroll的[url=http://www.iteye.com/topic/460727]《300行代码你能做什么》[/url]中,介绍了GtkSimpleLayout,实现了类似Shose的代码风格。从[url]http://github.com/rickyzheng/GtkSimpleLayout/tree/master[/url]下载了最新的代码,编译的时候却无法通过,显示S...原创 2010-06-10 01:26:57 · 126 阅读 · 0 评论 -
读《The Ruby Way》
从06年10月开始接触Ruby,眨眼间已经过了3年半了。虽然用了这么久,感觉真的不是很精通。虽然已经过了而立之年,但感觉自己还是太浮躁了。浪费了好多时光在游戏上。买了好久的《The Ruby Way(第二版)》,只是当作工具书,没有仔细读过。终于决定好好的把这本书读一遍。今天看了第一章,确实有不少收益。[b]Class是一个对象,而Object是一个类[/b]。作者把这句话强调了好...原创 2010-06-10 21:21:28 · 121 阅读 · 0 评论 -
读《The Ruby Way》之格式化字符串
一边看世界杯,一边看书。 :cry: 这一章介绍了很多的字符串处理函数,了解一下就好,用的时候再找就好。了解了 [b]%q[/b] 和 [b]%Q[/b],他们和单双引号相似。[b]to_s[/b] 是显示转换,[b]to_str[/b] 是隐式转换。[code="ruby"]class Helium def to_s "He" end de...原创 2010-06-12 00:06:29 · 108 阅读 · 0 评论 -
读《The Ruby Way》之正则表达式
世界杯开幕了,看了三场球。南非1-1墨西哥,法国0-0乌拉圭,韩国2-0希腊。看了法国的表现,就知道为什么会输给中国了,而看了韩国队的表现,不得不担心中国队的差距。无论如何祝福中国队,虽然讨厌韩国,但也祝福包括韩日在内的亚洲球队能走得更远。[b]锚(anchor)[/b]。锚不与字符串开头与末尾匹配,而与行首和行尾匹配。[code="ruby"]string = "abc\ndef\n...原创 2010-06-12 22:19:49 · 91 阅读 · 0 评论 -
读《The Ruby Way》之数值计算
世界杯至今为止的比赛都看了,不过很多比赛都是在三心二意的看,凌晨的比赛则是在半睡半醒间。[b]Ruby的国际化[/b]这章,对UTF-8终于有了个比较全面的认识。也了解了一下[b]jcode库[/b]。从[b]执行数值计算[/b],学到了更多的东西。数字原来可以这么表示。[code="ruby"]1_048_576 # 和 1048576 相同[/code]...原创 2010-06-13 23:18:48 · 115 阅读 · 0 评论 -
读《The Ruby Way》之线程
经常提及线程,但是用线程编的程序真的是不多。仔细的学习一下吧。[b]线程创建[/b][code="ruby"]thread = Thread.new do # Something to doend[/code][b]线程的局部变量[/b],要注意这些局部变量只是引用,并不能复制。[code="ruby"]thread = Thread.new do t = Th...原创 2010-06-14 19:08:06 · 123 阅读 · 0 评论 -
读《The Ruby Way》之运行外部程序
西班牙输了,这次世界杯强队的表现真是没话可说了。Ruby里调用外部程序的方法有三种,[b]system[/b]、[b]exec[/b]、[b]重音符(`)[/b]。先看一下[b]system[/b][code="ruby"]# Linuxsystem("rm", "/tmp/file1")system("rm /tmp/file2")system("ls -l | he...原创 2010-06-17 02:32:11 · 95 阅读 · 0 评论 -
用Ruby播放音乐
《The Ruby Way》第14章,记述了一段代码可以调用Windows API播放音乐。[code="ruby"]require 'win32ole'sound = WIN32OLE.new('MCI.MMcontrol')wav = "D:\\Musics\\Japanese\\a002.mp3"sound.fileName = wavsound.autoEnable...2010-06-19 03:53:28 · 192 阅读 · 0 评论 -
搭建一个自己的Ruby博客系统(toto+heroku+免费域名)
[b]要有自己的博客系统,首先要有自己的空间[/b][url=http://api.heroku.com/signup]Heroku[/url]是著名的Ruby on Rails开发和主机托管服务商,这个网站是为了给软件开发者提供更好的网站托管服务,之所以选择ruby on rails,是因为ROR能更快实现开发者的创意和设想。Heroku不仅能帮助维护网站,也能帮助开发者进行扩展。我们需要在...2010-06-21 02:53:13 · 289 阅读 · 0 评论 -
Ruby:按照插入的顺序取出要素
利用pseudohash库的PseudoHash类,可以实现按照插入的顺序取出要素。[code="ruby"]require 'pseudohash'header = PseudoHash.newheader['to', true] = 'recv@example.jp'header['from', true] = 'send@example.jp'header['su...2010-07-12 00:37:11 · 104 阅读 · 0 评论 -
Ruby时区转换
要将MySQL数据库中的数据,由日本服务器转移到美国服务器。日本服务器的时区是JST,美国服务器的时区是PDT。使用了MySQL的Dump/Restore,完成导入后发现,数据库中的timestamps字段没有被正确的转换,比如原来是日本时间的 2010/7/1 20:14:11 变成了美国太平洋夏令时的 2010/7/1 20:14:11,需要做时间的转换。(试过MySQLDump中的时区转换选...2010-07-11 22:27:26 · 519 阅读 · 0 评论 -
更新rails的时候发生错误,Invalid Gem format
今天把rails的版本升级到2.2.2的时候,发生了以下错误。[code="java"]ERROR: Error installing rails: invalid gem format for c:/ruby/lib/ruby/gems/1.8/cache/rails-2.2.2.gem[/code]把c:/ruby/lib/ruby/gems/1.8/cache/r...2009-02-02 17:18:25 · 117 阅读 · 0 评论 -
为你的Rails网站添加OpenSearch功能
如果你是用过Google的搜索条,就会知道,它会根据你的输入实时的列出相关的搜索项目。让我们在自己的 Rails 网站里也添加这一功能。1. 新建application 创建一个 controller images,它包含三个 action。再创建一个 model image,要有个字段为 filename。 ruby 代码rails searchdemo cd s...2007-03-13 01:06:15 · 138 阅读 · 0 评论 -
松江的合宿 - 松江 Open Source 研究所
3月26日-3月28日,在松江进行了3天的合宿开发。类似于中国的封闭开发。白天的时候,我们是在松江的 Open Source 研究所进行开发。研究所的窗户上贴着 Ruby City MATSUE。(ATSUE 是松江的英文名)这么称呼松江可能也不为过,Ruby 的开发者松本行弘就在 NaCl (株式会社Network应用通信研究所)工作。NaCl 的本社就在松江,率先使用 Ruby 和...原创 2007-04-03 13:20:00 · 101 阅读 · 0 评论 -
松江的合宿 - Ruby 的开发者 松本行弘
26号见到了好多人。《はじめようRuby on Rails》的作者 喜多川豪《RailsによるアジャイルWebアプリケーション開発》的译者 前田修吾还有就是 Ruby 的开发者 松本行弘一起和他照了一张照片,中间的就是 Matz。很和蔼的一个人。...原创 2007-04-03 13:32:21 · 93 阅读 · 0 评论 -
松江的合宿 - 我们开发小组的成员
老婆,给你看看我们开发小组的两个日本人的照片。福田朋纪 我们 team 的头。能力很强的一个人。和他在一起工作非常的有意思。 :D 他喜欢戏剧,业余时间还参加"芝居"的表演。工作的时候戴着一顶鸡帽子。问他,他说戴了不是给人一种"变"(不好)的感觉吗。成为大家瞩目焦点的时候,对自己也是一种督促吧。第二张是我的后辈 松永圭。很亲切的一个人,也挺帅的。...原创 2007-04-03 13:46:00 · 85 阅读 · 0 评论 -
松江的合宿 - 和室
晚上我们就在宾馆里开发,特意选择的是和室。三个人睡在一个房间。这是我来日本后第二次睡和室的宾馆。上次是去东乡的温泉旅馆,晚上风好大,一晚上没有睡踏实,早上起来头非常的痛。这次倒是好了很多,在市内,不会有那么多树了。可是,睡前总是感到地在晃,房子在响。(25号日本石川发生了地震,之后的几天余震200+次)26号晚上工组到凌晨两点半,27号工作到凌晨一点,福田发烧了,身体不舒服,先休息了。...原创 2007-04-03 13:55:57 · 156 阅读 · 0 评论 -
Apache+Mongrelの仕組みで、link_toは正しいurlを生成できない
Linux+Mongrelの仕組みで、Railsアプリのサーバを立てた。Mongrelさーばのportは3000です。Apacheはプロキシ・サーバとして、’http://127.0.0.1/memory’へのrequestをMongrelサーバに転送する。然し、ビューの中、link_toで生成したリンクについて、’/memory’がなかった。これは、Mongrelサーバがrelative...2007-08-21 08:44:02 · 61 阅读 · 0 评论 -
radrails无法启动
周一上班,刚想开始工作,却发现 radrails 无法启动了。workspace 的 log 文件给出了下列的错误信息。[quote]!SESSION 2007-09-03 15:51:34.795 -----------------------------------------------eclipse.buildId=unknownjava.version=1.5.0_10...2007-09-04 09:42:05 · 101 阅读 · 0 评论 -
日本Ruby会议2008(6/20-6/22)
日本Ruby会议2008,于6/20-6/22在茨城县筑波市举行。网址是[url]http://jp.rubyist.net/RubyKaigi2008/[/url]理光今年推出了由Ruby&Rails开发的网络存储服务Quanp([url]http://www.quanp.com[/url])。为了推广Ruby的发展,理光也成为这次会议的赞助商之一。作为Quanp的开发者之一...2008-06-21 10:48:52 · 208 阅读 · 0 评论 -
cache_fu的关联补丁(belongs_to, has_one)
为了缓解数据库服务器的繁忙状态,准备加入memcache。"SELECT * FROM table WHERE table.id = value" 这样的简单检索占了全局的30%,把这样的检索进行缓存可以很大程度的减少访问数据库的次数。Place.find(id)以及account.place这样的关联,会产生上边的简单检索。Place.find(id)可以简单的用Place.get_...2008-09-08 23:15:26 · 79 阅读 · 0 评论 -
TypeError: iterable argument required
执行ruby script/console,可是报错[code="java"]ruby script/console Loading development environment. /usr/local/ruby/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (L...2008-11-27 21:25:43 · 453 阅读 · 0 评论 -
把Rails2.1的默认数据库由sqlite3改回mysql
装了Rails2.1.2,新生成工程的时候,默认数据库居然是sqlite3。一定要改回去。 :shock: C:\ruby\lib\ruby\gems\1.8\gems\rails-2.1.2\lib\rails_generator\generators\applications\app\app_generator.rb 文件中的第10行。[code="java"]DEFAULT_DA...2008-12-12 16:23:21 · 135 阅读 · 0 评论 -
让Rails的数据库连接更快--把Ruby/MySQL升级到2.8
装了C版本的MySQL数据库适配器以后,Rails工程的性能确实提升了许多。当时安装时使用的是gem install mysql的默认命令,因为是Linux环境,所以安装的版本是2.7。偶然的一个机会,看到了[url]http://railsexpress.de/blog/articles/2006/10/05/make-ruby-mysql-create-less-garbage[/ur...2008-12-12 17:46:12 · 119 阅读 · 0 评论 -
项目中使用的Rails版本升级 2.2.2=>2.3.8
项目中使用的Rails版本是2.2.2,想升级到到最新的2.3.8,因此做了相关的调查。调查分两方面进行:一方面是调查Rails的变更履历(在网上可以查到很多,JavaEye新闻就有,就不介绍了);一方面是在安装完Rails 2.3.8后,执行Rake测试(我们的测试Case还是很充分的,代码的覆盖率在90%以上)。首先,要修改 environment.rb[code="ruby"]R...2010-06-25 15:40:34 · 90 阅读 · 0 评论