??xml version="1.0" encoding="utf-8" standalone="yes"?>色阁综合伊人av,www.在线视频,99久久99久久综合http://www.aygfsteel.com/byterat/zh-cnFri, 04 Jul 2025 07:20:54 GMTFri, 04 Jul 2025 07:20:54 GMT60dom4j 从文件中装蝲XML ?性能比较 Q?/title><link>http://www.aygfsteel.com/byterat/archive/2007/05/19/118483.html</link><dc:creator>比特?/dc:creator><author>比特?/author><pubDate>Fri, 18 May 2007 16:39:00 GMT</pubDate><guid>http://www.aygfsteel.com/byterat/archive/2007/05/19/118483.html</guid><wfw:comment>http://www.aygfsteel.com/byterat/comments/118483.html</wfw:comment><comments>http://www.aygfsteel.com/byterat/archive/2007/05/19/118483.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/byterat/comments/commentRss/118483.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/byterat/services/trackbacks/118483.html</trackback:ping><description><![CDATA[<p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier"><span style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">众所周知Q?Java在从XML文g中装载内容到内存q程中,不论用何U方式,IO操作的开销都无可避免。本文尝试比较dom4j中的XPP3和SAX两种方式装蝲XML文g的性能Q以便将IO操作的开销降到最!</span><br><br>package gz.lwm;<br><br>import java.io.File;<br>import org.apache.log4j.Logger;<br>import org.dom4j.Document;<br>import org.dom4j.DocumentHelper;<br>import org.dom4j.io.SAXReader;<br>import org.dom4j.io.XPP3Reader;<br><br>public class TestDom4j { <br> private static final Logger log = Logger.getLogger(TestDom4j.class);<br> private static long bt;  <br> <br> public static void main(String[] args) {<br>  <span style="COLOR: #ff0000">Document doc = DocumentHelper.createDocument();</span>   <br>  //先运行getXmlSAX()<br>  bt = System.currentTimeMillis();<br>  String strXml = getXmlSAX("xml/test.xml");<br>  if(log.isDebugEnabled()){<br>   log.debug("\ngetXmlSAX() use time: " + (System.currentTimeMillis() - bt) + " millis\n");<br>  }</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier">  //再运行getXmlXPP3()<br>  bt = System.currentTimeMillis();<br>  String s1 =getXmlXPP3("xml/test.xml");<br>  if(log.isDebugEnabled()){<br>   log.debug("\ngetXmlXPP3() use time: " + (System.currentTimeMillis() - bt) + " millis\n");<br>  }<br>  <br>  <br> }<br> <br> public static String getXmlSAX(String xmlFile){<br>  String result = "";<br>  try {<br>   SAXReader reader = new SAXReader();<br>   Document document = reader.read(new File(xmlFile));<br>   result = document.asXML();<br>  } catch (Exception e) {<br>   e.printStackTrace();<br>  }<br>  return result;<br> }<br> <br> public static String getXmlXPP3(String xmlFile){<br>  String result = "";<br>  try {<br>   XPP3Reader reader = new XPP3Reader();<br>   Document document = reader.read(new File(xmlFile));<br>   result = document.asXML();<br>  } catch (Exception e) {<br>   e.printStackTrace();<br>  }<br>  return result;<br> }</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier"><br> <br>}<br><br><font color=#ff0000><span style="COLOR: #000000">有没有这一?<font color=#ff0000>Document doc = DocumentHelper.createDocument()</font>",Ҏ能的媄响很?特别是对大xml文g(管q没有用doc)</span></font><br><br>另外Q?getXmlXSAX()和getXmlXPP3()q行的先后次序对性能的媄响也很大Q?br><br>试Q?br>    在我的机器上Q对一?00k左右的XML文gq行多次试后的均值结果ؓQ?br><br>    getXmlXPP3() use time: 265 millis<br>    ...<br>    getXmlXSAX() use time: 359 millis<br>    ...<br><br>l论Q?br>    通过比较Q在dXML文g上,XPP3略ؓ优于SAXQ?br><br><br>注意Q?br><br>要运行例子,classpath需包含Q?br>dom4j-1.6.1.jar<br>jaxen-1.1-beta-10.jar<br>log4j-1.2.9.jar<br>pull-parser-2.1.10.jar<br>xpp3-1.1.4c.jar<br><br><br>参考:<br>dom4j :  <a >http://www.dom4j.org/</a><br>XPP   :  <a >http://www.extreme.indiana.edu/xgws/xsoap/xpp/</a><br></p> <img src ="http://www.aygfsteel.com/byterat/aggbug/118483.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/byterat/" target="_blank">比特?/a> 2007-05-19 00:39 <a href="http://www.aygfsteel.com/byterat/archive/2007/05/19/118483.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby 基础学习http://www.aygfsteel.com/byterat/archive/2006/11/22/82209.html比特?/dc:creator>比特?/author>Wed, 22 Nov 2006 03:26:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/11/22/82209.htmlhttp://www.aygfsteel.com/byterat/comments/82209.htmlhttp://www.aygfsteel.com/byterat/archive/2006/11/22/82209.html#Feedback0http://www.aygfsteel.com/byterat/comments/commentRss/82209.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/82209.html 最q一直在看Programming Ruby - 2nd, 先记录下一些不熟悉的Ruby的基本语法和操作(熟悉的就不再记啦...)

Ruby的命?

      局部变量         全局变量      实例变量      cd量  ?         帔R和类?br />==============================================================================
      name            $debug       @name        @@total           PI
      fish_and_chips  $CUSTOMER    @point_1     @@symtab          FeetPerMile
      x_axis          $_           @X           @@N               String      
      thx1138         $plan9       @_           @@x_pos           MyClass
      _26             $Global      @plan9       @@SINGLE          JazzSong
==============================================================================


数组:

数组下标?开? 下标可以整数, 此时代表数组从最末端开? 最末端索引?1开?br />数组的元素可以是Mcd的对象实?包括nil实例

数组的初始化:
a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]
或?br />a = %w{ ant bee cat dog elk }

讉K:
a[0]    #q回"ant"
a[1]    #q回"bee" 
a[-1]   #q回"elk"
a[-2]   #q回"dog"

赋?
a = [ 1, 3, 5, 7, 9 ]
a[1] = 'bat'       #a = [1, "bat", 5, 7, 9]
a[3]= 'cat'        #a = [1, "bat", "cat", 7, 9]
a[3] = [ 9, 8 ]    #a = [1, "bat", "cat", [9, 8], 9]
a[6] = 99          #a = [1, "bat", "cat", [9, 8], 9, nil, 99]

a = [ 1, 3, 5, 7, 9 ]
a[2, 2] = 'cat'           #a = [1, 3, "cat", 9]
a[2, 0] = 'dog'           #a = [1, 3, "dog", "cat", 9]
a[1, 1] = [ 9, 8, 7 ]     #a = [1, 9, 8, 7, "dog", "cat", 9]
a[0..3] = [ ]             #a = ["dog", "cat", 9]
a[5..6] = 99, 98          #a = ["dog", "cat", 9, nil, nil, 99, 98]


哈希?
相当于Java中的Map
h"键值对"Ҏ? key和value都可以是Mcd的实?br />
哈希的初始化:
h = Hash["a", 100, "b", 200]     # {"a"=>100, "b"=>200}
h = Hash["a" => 100, "b" => 200] # {"a"=>100, "b"=>200}
h = { "a" => 100, "b" => 200 }   # {"a"=>100, "b"=>200}

讉K:
h.length = 2

赋?
h = { 'dog' => 'canine', 'cat' => 'feline', 'donkey' => 'asinine' }
h.length    # 3
h['dog']    # "canine"
h['cow']    # 'bovine'
h[12]       # 'dodecine'
h['cat'] = 99
h           # {"cow"=>"bovine", "cat"=>99, 12=>"dodecine","donkey"=>"asinine", "dog"=>"canine"}


代码?
代码块在ruby 中是以{} 和do end 来包围v来的。通常如果是单行用{} Q如果是多行使用do..end
代码块可以接受参? 参数用两个竖U?|"W号来包? 参数间用逗号","来分?br />代码块被作ؓ一个对象传入method体中执行(如果代码块对象有参数, 则method体在执行代码块中的代码前,需要对代码块对象的参数赋?

例如:

def test(max)
   i1, i2 = 1, 1          # parallel assignment (i1 = 1 and i2 = 1)
   while i1 <= max
      yield i1            # 也可以写成yield(i1), yield指o代表了代码块执行的位|? i1是method体中对代码块fq行了赋?br />      i1, i2 = i2, i1+i2
   end
end

test(1000) {|f| print f, " " }

输出: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987



又例?
[1,3,5,7].inject(0) {|sum, element| sum+element} # 输出:16



Method的声?

一般格式是:
   def my_new_method(arg1, arg2, arg3)    # 3 arguments
      # Code for the method would go here
   end

Ҏ名initialize是特D的method, 它在cȝnew操作时被执行, 用于对类实例q行初始化操?
   def initialize(name, &block)
      @name, @block = name, block
   end

如果需要方法返回一个? 可以昑ּ使用return关键? 也可以?默认最后一行返回?形式:
   def meth_one
      "one"    # 相当?return "one"
   end

如果method的声明中最后的参数带有"&"前缀(例如下例?amp;action), 则表C参数接受的是代码? q且该代码块被转换为Proc对象, 最后被赋值给一个类实例变量,?
   class JukeboxButton < Button
      def initialize(label, &action)
         super(label)
         @action = action #代码块对象被赋值给一个类实例变量(即@action)
      end
      def button_pressed
         @action.call(self)
      end
   end
   start_button = JukeboxButton.new("Start") { songlist.start }

如果method的声明中最后的参数带有"*"前缀, 表示该参数接受的?个或多个参数(?可变长参?, 例如:
   def varargs(arg1, *rest)
      "Got #{arg1} and #{rest.join(', ')}"
   end
   varargs("one")                # "Got one and "
   varargs("one", "two")         # "Got one and two"
   varargs "one", "two", "three" # "Got one and two, three"

如果method的方法名最后ؓ字符"=", 表示该方法可为类实例变量赋? 相当于Java中的setXXXXҎ
   class Song
      def duration=(new_duration)   # 整个Ҏ名ؓ"duration="
         @duration = new_duration   # @duration为类实例变量
      end
   end
   song = Song.new("Bicylops", "Fleck", 260)
   song.duration       # 260
   song.duration = 257 # set attribute with updated value
   song.duration       # 257


   上例中的"duration="Ҏ 相当于下面的: attr_writer :duration
   class Song
      attr_writer :duration
   end
   song = Song.new("Bicylops", "Fleck", 260)
   song.duration = 257


区间:

两个点创Z?包含"区间
1..10    #包含1?0
'a'..'z'

三个点创Z个除最后一个元素外的区?br />my_array = [ 1, 2, 3 ]
0...my_array.length  # 相当?..2

区间可以通过to_a函数来{换ؓ数组
a = (1..3).to_a   # a = [1, 2, 3]


区间的一些方?
digits = 0..9
digits.include?(5)                   # true
digits === 5                         # true
digits.min                           # 0
digits.max                           # 9
digits.reject {|i| i < 5 }           # [5, 6, 7, 8, 9]
digits.each {|digit| dial(digit)}    #  0..9


待箋...




]]>
使用WPT 1.5.x 时的一些配|?/title><link>http://www.aygfsteel.com/byterat/archive/2006/11/08/79761.html</link><dc:creator>比特?/dc:creator><author>比特?/author><pubDate>Wed, 08 Nov 2006 01:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/byterat/archive/2006/11/08/79761.html</guid><wfw:comment>http://www.aygfsteel.com/byterat/comments/79761.html</wfw:comment><comments>http://www.aygfsteel.com/byterat/archive/2006/11/08/79761.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/byterat/comments/commentRss/79761.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/byterat/services/trackbacks/79761.html</trackback:ping><description><![CDATA[ <font face="Courier New" size="2">1. window -- Preferences<br />      1.1 Content Types <br />          讄相关的文件ؓ"UTF-8", 如果在列表中没有文g后缀, 则增加相应的文g后缀.<br /><br />      1.2 Workspace<br />          讄"Text file encoding" ?"UTF-8".<br /><br /><br />2. Validation<br />      Validator? 除了Application client validator外的所有validator?Manual"?Build", 全部|空(卛_消打?</font> <img src ="http://www.aygfsteel.com/byterat/aggbug/79761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/byterat/" target="_blank">比特?/a> 2006-11-08 09:44 <a href="http://www.aygfsteel.com/byterat/archive/2006/11/08/79761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby? U通过字符串类名来产生cd?/title><link>http://www.aygfsteel.com/byterat/archive/2006/10/24/76940.html</link><dc:creator>比特?/dc:creator><author>比特?/author><pubDate>Tue, 24 Oct 2006 04:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/byterat/archive/2006/10/24/76940.html</guid><wfw:comment>http://www.aygfsteel.com/byterat/comments/76940.html</wfw:comment><comments>http://www.aygfsteel.com/byterat/archive/2006/10/24/76940.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/byterat/comments/commentRss/76940.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/byterat/services/trackbacks/76940.html</trackback:ping><description><![CDATA[ <font face="Courier New" size="2"> <strong> <font style="BACKGROUND-COLOR: #ffffff" color="#000080">1. 标准用法</font> </strong> <br /> </font> <span id="wmqeeuq" class="postbody"> <font face="Courier New" size="2">c = Object.const_get("Array") <br />s = c.new <br /><br /><strong><font color="#000080">2. 使用Ruby Extension</font></strong><br />c = Class.by_name("Array") <br />参见: <a >http://extensions.rubyforge.org/rdoc/index.html</a><br /><br /><strong><font color="#000080">3. 通过eval</font></strong> <br />c = eval("Array").new</font> </span> <img src ="http://www.aygfsteel.com/byterat/aggbug/76940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/byterat/" target="_blank">比特?/a> 2006-10-24 12:35 <a href="http://www.aygfsteel.com/byterat/archive/2006/10/24/76940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby on Rails的国际化Q本地化问题的解?转蝲)http://www.aygfsteel.com/byterat/archive/2006/10/24/76888.html比特?/dc:creator>比特?/author>Tue, 24 Oct 2006 01:53:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/10/24/76888.htmlhttp://www.aygfsteel.com/byterat/comments/76888.htmlhttp://www.aygfsteel.com/byterat/archive/2006/10/24/76888.html#Feedback2http://www.aygfsteel.com/byterat/comments/commentRss/76888.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/76888.html 原文: http://my.donews.com/woodstudio/

Ruby on Rails是一个很不错的web开发框Ӟ不过׃目前其本w对国际化的支持较差Q所以需要一些辅助的东西来解军_际化问题?/font>

我最先用的是一个叫localization的插Ӟq个插g的用说明在Ruby on Rails官方的wiki上面有,q个插g使用比较单,不过功能比较弱?/font>

目前使用的是Ruby-GetTextQ这个插件功能强大,ZGNU的gettextQ详l的使用说明?/font> http://manuals.rubyonrails.com/read/chapter/105 上面有写Q我大概提一下要点:

首先要是Ruby on Rails支持UTF-8Q通过如下代码添加到environment.rb中:

$KCODE = ‘u?br />require ‘jcode?/font>

接着是安装Ruby-GetTextQ运行gem install gettext可以了Q如果是Windowsq_?Q否则?。接着是在项目根目录下面创徏po目录Q里面添加你需要Locale的名字作为子目录Q比如en, zh_CN{。需要国际化的字W串都以_(?)来书写,比如惛_际化“编辑”这个标{,可以在视图的rhtml中用_(”Edit?Q这样在昄的时候会自动ҎLocale来替换成相应的倹{?/font>

接着在项目的rakefile里面如下内容Q?/font>

desc “Create mo-files for L10n?br />task :makemo do
  GetText.create_mofiles(true, “po? “locale?
end

需要注意的是在上面l出的链接的那篇文章里面Q还需要添加updatepoq样一个目标,不过q个目标在我q不起作用,L出错Q我的办法是下蝲那篇文章附带的代码: http://www.digitale-wertschoepfung.de/artikel/gettext/using-gettext-with-rails.tgz 。在里面的script目录下面有一个localize文gQ把它拷贝到你的目的script目录下面Q然后运行ruby ./script/localize {文本域的名字}可以从controllers, views中更新po数据Q用Unicode~辑器(比如UltraEditQ修改各个po文gQ然后运行rake makemo可以了。关于如果修改application.rb及其他controller的代码,查看l出的链接。此旉新启动serverQ就可以查看效果了?/font>



]]>
ZRuby的元~程技?转蝲)http://www.aygfsteel.com/byterat/archive/2006/10/24/76886.html比特?/dc:creator>比特?/author>Tue, 24 Oct 2006 01:52:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/10/24/76886.htmlhttp://www.aygfsteel.com/byterat/comments/76886.htmlhttp://www.aygfsteel.com/byterat/archive/2006/10/24/76886.html#Feedback0http://www.aygfsteel.com/byterat/comments/commentRss/76886.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/76886.html原文出处: http://www.rubychina.org/viewthread.php?tid=124&extra=page%3D1

    元编Eƈ不是一个很新的概念Q通常元编E被认ؓ是通过E序来生成程序,如果从这U意义上来考虑Q那么lex和yacc以及JavaCC应该都可以算是具有了元编E的概念Q在Java中,元编E得Cq泛的应用。但在Ruby中,元编E的使用变得相当的简单和Ҏ实现Q用Ruby语言本n来生Ruby代码Q不需要借助外部的工P著名的RoR框架是建立的Ruby元编E的基础上的。可能你你对元编E还没什么概念,但是Ruby已经内徏了元~程q种机制Q所以很有可能,你在不知不觉中就已经使用了Ruby元编E技术ؓ你带来的方便之处。如下面q段代码Q?/font>

class Person
   attr_reader :name
end
你肯定知?:name 是和 @name 相关联的Q但是你不一定清楚它到底是怎么实现的,其实attr_readerҎ的实现就是采用了元编E技术,如下面的q段代码Q?br />
class Module
    def attr_reader(*syms)
        syms.each do |sym|
            class_eval %{def #{sym}   
                             @#{sym}
                         end
        end   
    end
end

    看了q段代码Q你应该大概了解元编E的机制了吧Q如果你现在q不了解Q那么我你先认真的学习一下Ruby的反机Ӟ然后再接下去看这帖子,因ؓ下面介绍的内容ƈ不是一杯婴儿奶_?br />

    在Ruby On Rails中,有一个OR映射层,是动态的从一张关p表映射C个对象,q主要由ActiveRecordcL实现。在OR映射模型中,关pL据库中的关系表表映射到对象模型时Q将关系表的表名映射到类名,表中的每一个元l映到对应于这个类的一个对象,元组的一个字D对应于对象的一个属性?/font>

假如我们有一个保存职员基本信息的文gQ文件的格式是这LQ第一行是文g内容的每个字D늚名称Q从W二行开始,则是每个职员的基本信息。现在我们有一个文件名为“employee.txt”的文gQ其内容如下所C:


name,age,gender

"John", 23, "male"

"Linclon", 25, "male"


假设我们p从这个文本文件中d数据Qƈq行一定的处理。如果是使用C++~程Q你首先一定会惛_应该定义一个Employeec,然后q个cM有name, age, genderq些成员变量。但是是采用q种Ҏ的话Q可以发玎ͼ如果惛_职员信息中加入一个字D,比如部门QdepartmentQ,׃得不修改Employeecȝ代码Q在EmployeecM增加一个“department”成员变量,所以我们的代码是高度依赖于文g的具体格式,q当然不是一个好的现象。我们希望有一U更单和优雅的方案,q有QRuby动态性提高给我们一个解x案,但是Q我们应该从和下手呢Q这需要Ruby的元~程能力?/font>


    首先Q我们想应该有一个职员类Q在Rails中,每个关系表的名称会成为类的名Uͼ在这里,采用cM的方法,文本文件的名称作ؓcȝ名称Q在Ruby中,cd同时也是一个常量名Q所以第一个字母必Mؓ大写Q我们用如下的代码来生成类名?/font>


class_name = File.basename(file_name, ".txt").capitalize
# "employee.txt" => "Employee"
klass = Object.const_set(class_name, Class.new)



Class.new生成一个新的类Q这个类的名U是匿名的,所以采用const_set操作来绑定一个类名,变量klass是新cd的引用?/font>


生成了这个类以后Q需要想q个cL加姓名,q龄和性别q些属性,q些属性的名称是在文本文g的的W一行中l出的?br />


data = File.new(file_name)
header = data.gets.chomp

data.close

names = header.split(",")


下面的代码给Z如何生成q些属性,以及初始化这些属性倹{?br />


klass.class_eval do
    attr_accessor *names
            
    define_method(:initialize) do |*values|
        names.each_with_index do |name, i|
            instance_variable_set("@" + name, values )
        end
    end
    #...   
end   

现在Q有了一pd的访问子Q可d可写Q,通过instance_variable_setҎQ又l每个属性做了初始化?br />

变量names是在块外部定义的Q由于块的闭合性,所以变量names在块中也是有效的。当ӞZE序的演C,又定义的了一个to_sҎQ代码如下所C:


    define_method(:to_s) do
        str = "<#{self.class}: "
        names.each {|name| str << "#{name}=#{self.send(name)} "}
        str + ">"
    end
    alias_method :inspect, :to_s


    完成了这些以后,对于cȝ构造已l基本结束了Q现在就需要真正的从文本文件中d数据了。从文本文gL据应该是一个类ҎQ而不是一个实例的ҎQ其实现代码如下Q?br />


    def klass.read
        array = []
        data = File.new(self.to_s.downcase + ".txt")
        data.gets #throw away header
        data.each do |line|
            line.chomp!
            values = eval("[#{line}]")
            array << self.new(*values)
        end
        data.close
        return array
    end


在这个方法中Q用字的类名来匚w相关的文Ӟ比如EmployeecL到“employee。txt”?br />

然后Q从文g中读取职员信息,׃W一行是字段定义Q所以要舍弃W一行数据。从W二行开始读取数据,每读取一行数据,则构造一个Employee实例?font color="black">通过上面q个单的例子Q我们可以看出元~程的功能是相当之强大的Q用元~程技术,可以构造相当简单,优雅的解x案?/font>



]]>
Rails Installing on Windowshttp://www.aygfsteel.com/byterat/archive/2006/10/23/76680.html比特?/dc:creator>比特?/author>Mon, 23 Oct 2006 00:48:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/10/23/76680.htmlhttp://www.aygfsteel.com/byterat/comments/76680.htmlhttp://www.aygfsteel.com/byterat/archive/2006/10/23/76680.html#Feedback0http://www.aygfsteel.com/byterat/comments/commentRss/76680.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/76680.html通常在Windows上安装Ruby on Rails都采用以下步?

1.安装Ruby

http://rubyforge.org/frs/?group_id=167

q里有windows一键安装版?/font>

2.在线安装Rails

C:\> gem install rails --include-dependencies



以上Ҏ在一般情况下都是可行? 但如果不行的? q可参照以下Ҏ:

1. 讉K:http://instantrails.rubyforge.org/wiki/wiki.pl
  
   下蝲最新版本的InstantRails

2. 解压C指定的目录下, 注意, 目录?包括路径?不能有空?br />
3. 讉K其中的readme.txt, 里面详细说明了如何配|和q行InstantRails




比特?/a> 2006-10-23 08:48 发表评论
]]>|友自做的婚C利是红? 看后不禁莞尔! http://www.aygfsteel.com/byterat/archive/2006/10/20/76363.html比特?/dc:creator>比特?/author>Fri, 20 Oct 2006 04:37:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/10/20/76363.htmlhttp://www.aygfsteel.com/byterat/comments/76363.htmlhttp://www.aygfsteel.com/byterat/archive/2006/10/20/76363.html#Feedback0http://www.aygfsteel.com/byterat/comments/commentRss/76363.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/76363.html

2.jpg

3.jpg

4.jpg

]]>
DHTML: 在已定义事g之前或之后执行你自己的代?http://www.aygfsteel.com/byterat/archive/2006/10/20/76291.html比特?/dc:creator>比特?/author>Fri, 20 Oct 2006 00:51:00 GMThttp://www.aygfsteel.com/byterat/archive/2006/10/20/76291.htmlhttp://www.aygfsteel.com/byterat/comments/76291.htmlhttp://www.aygfsteel.com/byterat/archive/2006/10/20/76291.html#Feedback0http://www.aygfsteel.com/byterat/comments/commentRss/76291.htmlhttp://www.aygfsteel.com/byterat/services/trackbacks/76291.html 常常会遇到这L情况, 即你自己写的一DJavascript代码需要在某DHTML事g中执? 可这个DHTML事g已经被别的Javascript代码占用?

怎么办呢?

参照以下Javascript代码片段:

1 var  e_onLoad  =  window.onload;
2 window.onload  =   function ()
{
3      // your code

4      if (e_onLoad) e_onLoad();
5      // your code

6 }

7

以上代码卛_Ҏ需要在别h的onLoad()事g之前或之后执行自q代码!



]]>
վ֩ģ壺 | | ˮ| ͨ| | | | | | «| ͬ| | | | | | ϵ| | ͷ| | | | ɽ| | Զ| ɳ| | º| | Ĵʡ| Ʊ| | | | | | | | | ;| ˮ|