<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>EdwardRuby (Edward)</title>
    <link>https://ruby-china.org/EdwardRuby</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>盛安德武汉分公司 ruby 实习生应聘经历</title>
      <description>&lt;p&gt;先交代背景，lz 武汉某 211 理工科院校计算机专业研一学生一枚，自学 ruby 一年有余，论&lt;/p&gt;

&lt;p&gt;坛里面看到盛安德的武汉分公司招聘实习生，饶有兴趣地投了简历。之后也接到过北京&lt;/p&gt;

&lt;p&gt;HR 的电话，简单地聊了下，告诉我如果武汉这边的同事如果感兴趣会再联系我。现在回&lt;/p&gt;

&lt;p&gt;想起这我就觉得最后的结果是自己应得的，电话之后就一直没有任何回信了，我按耐不住&lt;/p&gt;

&lt;p&gt;主动 QQ 联系 HR，终于弄到一个面试的机会，当然 QQ 里面也提过待遇的事情，我想通过&lt;/p&gt;

&lt;p&gt;面试来看下能不能争取一下。&lt;/p&gt;

&lt;p&gt;然后就是面试了，公司地址就不说了，很难找很难找，办公室只有一间，十五平米左右，&lt;/p&gt;

&lt;p&gt;是的，就是这么小，里面有十来个人。面试的过程倒也没有很特别，问了一些 ruby，rails,&lt;/p&gt;

&lt;p&gt;java,sql,js 零零散散，各种都问，有些答得上来，有些不怎么碰到瞎蒙，具体我也不记&lt;/p&gt;

&lt;p&gt;得很多了，这些问题对于论坛的里面各种大牛来说是不值一提的。最后到了争取待遇&lt;/p&gt;

&lt;p&gt;的时候了，好吧这时候我也不卖关子了。&lt;/p&gt;

&lt;p&gt;他们给的待遇是培养期 1k，做项目 3.5k-4k。并且 3.5k-4k 还是入职之后的薪资水平。这&lt;/p&gt;

&lt;p&gt;比我两年前大三时 java 的实习水平还要低，争取半天无果。。。我顿时觉得学 ruby 在武汉&lt;/p&gt;

&lt;p&gt;是无路可走了，只好友善地拒绝了~幸好还没完全跳进这个坑。难道 rubyist 养家糊口这&lt;/p&gt;

&lt;p&gt;么难，还是这个世界变得太快我不懂~~&lt;/p&gt;</description>
      <author>EdwardRuby</author>
      <pubDate>Wed, 26 Jun 2013 17:52:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/12009</link>
      <guid>https://ruby-china.org/topics/12009</guid>
    </item>
    <item>
      <title>从浏览器发送 http 请求给 TCPServer 获取不到内容</title>
      <description>&lt;p&gt;我按照网上指导 copy 了一个很简单的多线程 TCPServer 运行起来。代码如下
&lt;code&gt;TCPServer.rb&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;require "socket"&lt;/p&gt;

&lt;p&gt;server = TCPServer.open "localhost",2000
    server.listen 10000&lt;/p&gt;

&lt;p&gt;loop {                          # Servers run forever
      Thread.start(server.accept) do |client|
        client.puts(Time.now.ctime) # Send the time to the client
        client.puts "Closing the connection. Bye!"
        client.close                # Disconnect from the client
        puts "one client gone"
      end
    }&lt;/p&gt;

&lt;p&gt;它给的&lt;code&gt;Client.rb&lt;/code&gt;的代码如下&lt;/p&gt;

&lt;p&gt;require 'socket'      # Sockets are in standard library&lt;/p&gt;

&lt;p&gt;hostname = 'localhost'
    port = 2000
    s = TCPSocket.open(hostname, port)&lt;/p&gt;

&lt;p&gt;while line = s.gets   # Read lines from the socket
      puts line.chop      # And print with platform line terminator
    end
    s.close               # Close the socket when done&lt;/p&gt;

&lt;p&gt;分别运行服务器和客户端是没有问题的。但是我比较困惑的是如果在浏览器里面输入
&lt;code&gt;localhost:2000&lt;/code&gt;的时候有时候是好的
可以显示两行信息  Time 和 Closing the connection. Bye!
不停刷新地过程中有时候只会显示第一行，有时候提示页面载入出错（FireFox），不知道这是什么道理。&lt;/p&gt;

&lt;p&gt;还有一个很奇怪的地方，我在&lt;code&gt;TCPServer.rb&lt;/code&gt;的 loop 循环里面最后加入了一句
&lt;code&gt;puts "one clien gone"&lt;/code&gt;可是运行的时候在服务器端的控制台看不到信息，最开始运行的时候是有的，后来不知道怎么弄没了。。。&lt;/p&gt;</description>
      <author>EdwardRuby</author>
      <pubDate>Tue, 11 Jun 2013 14:45:19 +0800</pubDate>
      <link>https://ruby-china.org/topics/11644</link>
      <guid>https://ruby-china.org/topics/11644</guid>
    </item>
    <item>
      <title>求解答，关于 method_missing</title>
      <description>&lt;p&gt;在《Ruby 编程语言》这本书中看到一段代码，演示生成一个规范的 html 文件内容。
代码如下
  class XML
    def initialize(out)
      &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt;=out      #hold the output
    end&lt;/p&gt;

&lt;p&gt;def content(text)
    &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; text.to_s
    nil
  end&lt;/p&gt;

&lt;p&gt;def comment(text)
    &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; "&amp;lt;!-- #{text} --&amp;gt;"
    nil
  end&lt;/p&gt;

&lt;p&gt;def tag(wherename, attributes={})
     puts wherename
     &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; "&amp;lt;#{wherename}"&lt;/p&gt;

&lt;p&gt;attributes.each { |attr,value| &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; "#{attr}='#{value}'"}&lt;/p&gt;

&lt;p&gt;if block_given?
      &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; '&amp;gt;'
      content = yield
      if content
        &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; content.to_s
      end
      &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; "&amp;lt;/#{wherename}&amp;gt;"
    else
      &lt;a href="/out" class="user-mention" title="@out"&gt;&lt;i&gt;@&lt;/i&gt;out&lt;/a&gt; &amp;lt;&amp;lt; '/&amp;gt;'
    end
  end&lt;/p&gt;

&lt;p&gt;alias method_missing tag&lt;/p&gt;

&lt;p&gt;def self.generate(out, &amp;amp;block)
    XML.new(out).instance_eval(&amp;amp;block)
  end
end&lt;/p&gt;

&lt;p&gt;下面是使用这个类的一个例子。
XML.generate(STDOUT) do
  html do
  end
end
结果会输出 
我知道执行 html 这个未定义方法时会寻找到 method_missing 从而调用 tag 方法。
但是 tag 方法的第一个参数 wherename（书上是 tagname）是从何而来的，这个变量刚好对应了 html 方法的名字，这点我不大明白。
希望高手指教，谢谢！&lt;/p&gt;</description>
      <author>EdwardRuby</author>
      <pubDate>Tue, 06 Nov 2012 22:47:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/6575</link>
      <guid>https://ruby-china.org/topics/6575</guid>
    </item>
  </channel>
</rss>
