2007-九月-22

使用新的博客:http://magicgod.javaeye.com/

原因是可以格式化代码,不能抵挡的诱惑。

2007-七月-9

试了最新的ruby for netbeans,且不管jruby,光是IDE的努力也算是不错了。

有了rename重构,还有不错的代码提示,很有点意思了。

2007-五月-29

由于dns不能使用,所以无法用gem远程安装,实在不是一般的麻烦。

先下载readline-5.1,因为版本过低是不行的。解压,编译后安装,没什么特别的。

zlib-devel也是要安装的,可以用rpm来安装。

下载ruby源码,编译安装,也没什么特别的,会装在/usr/local下。如果原来有ruby,请先卸载。

安装rubygems,也是编译安装,没什么问题。

下载rails的gem文件,然后安装,会报错,一一下载所需要的gem文件。

这里列一下gem list,一般都是需要的,所以事先下载好。

actionmailer

actionpack

actionwebservice

activerecord

activesupport

cgi_multipart_eof_fix 这个包怪一点,搜索一下就可以找到

daemons 很多后台进程要用到

fastthread

gem_plugin

hpricot 解析xml用,可以下载源码后rake gem生成包再安装,但是需要ragel的支持。

mongrel

rails

rake 一般要先安装

还需要安装slave,可以用源码编译,这是backgroudrb所要求的。

:Rake 这个好记
:Redit 任意文件,相对路径
:Rlog 日志文件
:Rpreview 打开浏览器,http://localhost:3000
:Rtags 生成一个tag,要求ctags
:Rrefresh 刷新
:Rfind 查文件,可以不写.rb后缀
gf 这个命令超强,根据当前光标处内容跳转到文件,以下是详细例子(*代表光标):
Pos*t.find(:first)
=>    app/models/post.rb

has_many :c*omments
=>  app/models/comment.rb

link_to “Home”, :controller => :bl*og
=>    app/controllers/blog_controller.rb ~

<%= render :partial => ’sh*ared/sidebar’ %>
=>    app/views/shared/_sidebar.rhtml

<%= stylesheet_link_tag :scaf*fold %>
=>   public/stylesheets/scaffold.css

class BlogController < Applica*tionController
=>   app/controllers/application.rb

class ApplicationController < ActionCont*roller::Base
=>   …/action_controller/base.rb

fixtures :pos*ts
=> test/fixtures/posts.yml

layout :pri*nt
=>  app/views/layouts/print.rhtml

(In the Blog controller)
def li*st
=>   app/views/blog/list.rhtml

:A :R 也是跳文件的
Current file        Alternate file        Related file ~
model            unit test        related migration
controller (in method)    functional test        template (view)
template (view)        helper            controller (jump to method)
migration        previous migration    next migration
config/routes.rb    config/database.yml    config/environment.rb
直接打开
:Rmodel
:Rmigration
:Robserver
:Rfixtures
:Runittest
:Rcontroller
:Rhelper
:Rview
:Rlayout
:Rapi
:Rfunctionaltest
:Rstylesheet
:Rjavascript
:Rplugin
:Rlib
:Rtask
:Rintegrationtest

一个超强的:Rcommand,不介绍了,看help

:Rscript
:Rconsole
:Rgenerate
:Rserver
:Rserver! 强制运行,杀掉前面那个,相当于重启

重构:
:Rextract 简单说就是把rhtml中的一段提出来,变成子页面

项目结构
:Rproject 看上去有个左边项目结构树

surroud: 这个不是命令,而是一个插件,装好后就可以在rhtml中自动关闭<%%>

taglist: 这个插件相当于outline,但是它可以同时放多个文件

NERD_tree:这个插件就是浏览文件,有点项目的感觉。

2007-五月-23

在model BookDetail中建了一个常量:CONTENT_TEXT_LINK,在其他地方都可以引用,奇怪的是在rhtml里没办法使用,就说没找到常量。

后来就不使用这个常量,改为一个方法就行了。

2007-五月-20

mysql实际上可以分级控制编码:
client, server, connection, database, table

在rails里要配置的是:
1.文件格式都是utf-8。
2.连接配置成为utf-8。
编辑database.yml,加入一个配置:

encoding: utf8

如果不加入这个其实也可以正常显示中文,只不过数据库里是错误的内容。

2007-五月-19

虽然Aptana总是挡在前面,连个下载包也不预装radrails,但是还是觉得radrails比aptana更重要。

新的radrails已经可以重构了,这个是非常好的,不过代码提示还是没有,很难想象一个完整的IDE没有代码提示,幸好开发rails主要靠猜。

eclipse升级使用radrails的地址:http://update.aptana.com/install/rails/3.2/ 。

混合3.2.2和radrails可以算是一个java, ruby双开发的亚重型利器了。

2007-五月-5

如果要纯用tab,并且设为4格宽度,就要进行以下设置

:set ts=4

:set noet

:set softtabstop=0

这样输入一个tab只占4格宽度,也不会变成空格。

不要使用tab混合空格的模式,这样最容易导致在其他编辑器里混乱的情况。

vim还有一个evim的已配置简易环境,非常好用,类似windows的操作风格。

2007-五月-4

有一个比较复杂的查询,要连接多个表,再套用已有的模板显示出来。

本来以为比较复杂,象hibernate那样生成对象,没想到根本不需要生成对象,直接将选出的字段名称写好就行了,原来的模板也不用改,只是在使用数据类型的时候要处理一下。

因为mysql选出的日期型会被自动处理成字符型,所以在显示的时候要判断一下类型,或者将原来的model也处理成字符串型。在简洁的语法下,这是很简单的。

奇怪的是在写ruby的时候,不自主地会使用比较简单的处理,看来风格所影响。

写了一段处理cookie中的id list的代码,不到10行,还有点沾沾自喜,感觉比java省了好多。

过了几天回头一看,立即觉得味道太大了,马上改写,减到了三行,其实还可以减少,不过为了形式上的美感还是忍了。

java在处理日常事物时花费太多了,要论精巧确实不如ruby。

下一页 »