<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>kiol (贾延平)</title>
    <link>https://ruby-china.org/kiol</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[北京] 广联达招聘 rails 高级开发或架构师两名</title>
      <description>&lt;p&gt;广联达是国内建筑行业信息化的龙头公司，在新加坡、美国等世界多个国家有分子公司，上市企业，股票代码：002410.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;工作地点：&lt;/strong&gt;
北京集团总部，中关村软件园二期&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;工作项目：&lt;/strong&gt;
公司正在从一家软件公司大力向互联网公司专项，本部门是主要承担者。急切的需要技术高手的加入，建设互联网的产品运营平台和直接面向用户的互联网产品和移动产品。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;对您的期望：&lt;/strong&gt;
3 年以上的互联网工作经验，至少 2 两年以上的 rails 开发经验
注重设计和代码质量，不只是完成功能
心态开放，学习能力强，勇于挑战新事物
有带团队的经验可以加分&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;待遇：&lt;/strong&gt;
薪酬根据您的能力来确定，没有上限
做得好可以获得公司的股票激励&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;简历投递：&lt;/strong&gt;
请发到我的邮箱：yanping_jia@hotmail.com
最好附上一些你实现的代码&lt;/p&gt;</description>
      <author>kiol</author>
      <pubDate>Tue, 06 May 2014 12:09:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/19044</link>
      <guid>https://ruby-china.org/topics/19044</guid>
    </item>
    <item>
      <title>编码优化版 ruby 项目发布</title>
      <description>&lt;p&gt;为了解决一些我自己使用上的一些编码问题，我 fork 了这个版本。同样也希望能够给遇到类似问题的朋友有所帮助。
可能有一些实现是 quick and dirty 的，但我会尝试尽量让实现更通用和正确。
如果有时间，我会尝试梳理一下 ruby 的内部编码体系，并尝试进行较彻底的改进。但是我现在还没有找到 ruby 内部实现的关于的编码方面的设计文档和原则，所以也不太清楚自己的修改是不是合理。&lt;/p&gt;

&lt;p&gt;我要实现的目标：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;在中文的 windows 系统上，内部编码使用 utf-8 的情况下，写 ruby 代码时不再需要显式的转码操作，底层自动做好转码操作，给到 ruby 代码里面的都是编码成内部编码的。&lt;/li&gt;
&lt;li&gt;在中文的 windows 系统上，输入和输出的中文都没有问题，都不出现乱码，包括所有的异常和出错信息。&lt;/li&gt;
&lt;li&gt;无论在什么语言的 windows 系统上，我都可以使用不同的预算的 ruby 脚本文件，并且不需要做显式的转码操作，自动在内外部交互的边界进行编码的转换。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;已经完成的工作：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;使用 ruby -Egbk:utf-8  rubyfile.rb 进行调用，建议文件头统一设置$stdout.set_encoding("utf-8") 和$stderr.set_encoding('utf-8“)&lt;/li&gt;
&lt;li&gt;打开中文路径，require 中文文件都没有问题，不需要做显式编码转换。&lt;/li&gt;
&lt;li&gt;puts，以及异常，错误输出都正确处理中文，包括中文方法名，文件名等。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;项目地址：&lt;a href="https://github.com/jiayp/eiruby" rel="nofollow" target="_blank"&gt;https://github.com/jiayp/eiruby&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;求编译好的程序的存储地。&lt;/p&gt;</description>
      <author>kiol</author>
      <pubDate>Fri, 16 Aug 2013 14:38:10 +0800</pubDate>
      <link>https://ruby-china.org/topics/13379</link>
      <guid>https://ruby-china.org/topics/13379</guid>
    </item>
    <item>
      <title>Ruby2.0+ 的内部编码设计，以及 Windows 的问题</title>
      <description>&lt;p&gt;最近想把一个 1.8.7 上做的一个内部测试框架，转到 ruby2.0 上。因为是在 window 上用的，而我们的代码都是 utf-8 编码编写的，在 windows 上的 ruby1.8.7 编码很多不能满足我们要求的地方，我们做了很多 hack 操作，比如在文件路径做一下 utf-8 到 gbk 的转码等等。&lt;/p&gt;

&lt;p&gt;现在 ruby2.0 来了，而且编码上有了很大的变化，而且据说 windows 上启动速度也快很多，所以就动了升级的念头。过程中碰到了很多的问题，通过修改 ruby 的底层 C 代码解决了一些问题，也给社区提交了一些 bug 和补丁，但是和 ruby 开发团队的交流有点儿问题，谁让咱英语不过关呢。所以把自己的一些收获和问题发出来，希望大家能一起交流一下。&lt;/p&gt;

&lt;p&gt;现在主要修改的是 Ruby 的 trunk 版，所以以下的 ruby 指的都是 trunk 版。所有问题也是在 windows 下出现的。&lt;/p&gt;

&lt;p&gt;ruby 内部有四个 encoding，internal encoding,external encoding,locale encoding,filesystem encoding，好像还有一个 src 的 encoding，我没怎么接触到，默认好像是 utf-8。
一般我们能够指定的是内部和外部编码，用-E 参数可以指定。&lt;/p&gt;

&lt;p&gt;我的理解是：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;internal encoding 是内部的编码，默认情况下 ruby 代码的字符串都应该编码成这个编码。&lt;/li&gt;
&lt;li&gt;external encoding 是外部的编码，从外部加载进入的内容大多是这个编码。&lt;/li&gt;
&lt;li&gt;locale encoding 是本地 locale 的编码，和 external encoding 有一定关系，如果没有指定 external encoding 的话，应该默认就是这个编码（我没有确认）&lt;/li&gt;
&lt;li&gt;filesystem encoding 是文件系统的编码，例如打开文件，枚举目录都返回的内容的编码。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;locale encoding 和 filesystem encoding 都是内部实现使用的，如不要代码中一般用不到。&lt;/p&gt;

&lt;p&gt;现在的问题是，ruby 内部代码中并没有在所有的边界的地方把编码转换成 internal encoding，比如$LOADPATH 是 locale encoding。导致直接 require 中文文件会编码不兼容错误。&lt;/p&gt;

&lt;p&gt;好像 ruby 内部实现并不是按照我说的这个编码原则，我也不知道 ruby 编码原则是啥，也找不到相关的文档，不知道大家有没有相关的信息，或者有知道的也一起讨论一下。&lt;/p&gt;</description>
      <author>kiol</author>
      <pubDate>Wed, 14 Aug 2013 11:20:18 +0800</pubDate>
      <link>https://ruby-china.org/topics/13317</link>
      <guid>https://ruby-china.org/topics/13317</guid>
    </item>
  </channel>
</rss>
