• 机械键盘 HKKB Pro 2 vs Others? at 2012年09月04日

    我用 Filco 圣手 2 忍者 茶轴,感觉不错的。买了个 KBT Race,还在路上。

    HHBK 很向往,但是价格实在是有点高。

  • #13 楼 @zw963 看了,认证考试就用的这本书,其实我也不知道什么样的书叫做入门,给不会编程的人看的 Ruby 书可能真的没有。对我来说,讲授知识的我就划做入门了,讲实践,模式,以及一些特殊用法的,我就划做进阶了。因为学语言对我个人来说,是先理解语言的知识,在掌握实际和特有的用法。

  • 遇到过,大部分都是 Segmentation Fault,几乎都是跟 C 相关的。

  • RubyConfChina 2012 预热帖 at 2012年08月28日

    不错啊,很想去不过恐怕去不了

  • 从来没考过四六级,不要迷信,没啥障碍的

  • 正常的应该是。

    工作的时候用 Vim,无聊了看看黄片,开始用 Emacs,过了许久,然后再回去用 Vim。。

  • 支持 module,可以好好测试

  • #27 楼 @tech_blogbin 是的,笔误

  • 你不能说中文很黄色,你只能说 金瓶梅 肉蒲团 写的很黄色。

  • 现有的人工智能不能超过人脑的智力,现有的人工智能已经转化为专家系统,Machine Learning,数据挖掘,推荐引擎之类的了。

    IBM 在研究用计算机模拟神经网络,有可能能达到人脑的智力,主要是时间。 上次我在大学听他们的演讲,据说是 2020 年能模拟老鼠大脑复杂程度。

  • 一个 vim 小细节的疑问 at 2012年08月10日

    #4 楼 @ugoa 自己写歌插件吧 自己动手,风衣足食

  • 添加自定义的 Rails Logger at 2012年08月10日

    #6 楼 @heliang7 我猜可能是加载 Rails 环境的方法不同。

  • 添加自定义的 Rails Logger at 2012年08月10日

    #2 楼 @heliang7 delayed_job 是个独立于 Rails 单独运行的 process, 需要 load Rails 的 environment.

  • 添加自定义的 Rails Logger at 2012年08月10日

    #1 楼 @huacnlee 是的,我之前也是懒,写到 Redis 的 Resque 的 key 下面,这样能用 resque-web 查看。

  • 跟风也发个 AI 练习 at 2012年08月10日

  • 关于转行做开发的纠结 at 2012年07月28日

    孔子说过一句话: “知之者不如好之者,好之者不如乐之者。”

    这句话被外国人翻译成了: "Find a job you love and you will never work a day in your life. " - Confucius

    所以,跟着心走,找一个你一辈字都不需要工作的工作吧。

    至于薪水,如果你 好之乐之 成长起来也是事半功倍。

  • process 的话 nagios 之类的,rails 的话 newrelic,或者 errbit

  • $ 开头的全局变量 at 2012年07月28日

    unshift 是 array 的用法,unshift/shift 跟 push/pop 一样只不过一个是从左边,一个是在右边。

    $:是一个 array,

  • 有个东东叫做 webistrano

  • 问个 RSpec 的问题 at 2012年07月18日

    你说对了,rspec 是一个 DSL.

    assert 不是 rspec 里面的,xUnit 之类的会有 assert. Ruby 的话是 Test::Unit

    不过道理都是一样的。

    测试里面其实测试并不是返回 true 或者 false 的。

    测试比简单的 true 和 false 更复杂一些。

    同一个测试可以因为不同的原因 fail。 expectation 就是这个样子的,在一个测试里面 expect 或者说‘期待’一个或者多个东西是成立的。

    it "how to determin this is fine or wrong" do
      true.should be_true
      2.should == 3
    end
    

    be_true 和 ==3 是 matcher,就是具体来检验你期待的东西成不成立的 rspec 有很多https://github.com/rspec/rspec-expectations/tree/master/lib/rspec/matchers/built_in

    大部分都是 ruby 语言的 matcher.

    shoulda 是一个 gem,提供了 rails 的 matcher,比如

    describe Post do
      it { should belong_to(:user) }
      it { should validate_presence_of(:title) }
    end
    

    it 是 dsl 的一部分,其目的是让 test 看起来像一个说明或者是规范,或者说是 specification,这就是 rspec 名称的由来。

    it 其实是一个方法。用来定义一个 example

    example 可以想象成一个 testcase,不过稍微复杂些的是有些 context 的东西。 具体定义在这里https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/example_group.rb

    其中最关键的一行是这个 examples << RSpec::Core::Example.new(self, desc, options, block)

    吧 block 也就是你的 true.should be_true 传到一个新的 example 里面去了。

    其他的 should, describe 等等,都是方法,rspec 是元编程的超级合身。从上面的源码就能看出,跟 it 不同名的功能几乎一样的方法有很多

    # Defines an example within a group.
         define_example_method :example
         # Defines an example within a group.
         #
         # @see example
         define_example_method :it
         # Defines an example within a group.
         # This is here primarily for backward compatibility with early versions
         # of RSpec which used `context` and `specify` instead of `describe` and
         # `it`.
         define_example_method :specify
    
         # Shortcut to define an example with `:focus` => true
         define_example_method :focus,   :focused => true, :focus => true
         # Shortcut to define an example with `:focus` => true
         define_example_method :focused, :focused => true, :focus => true
    
         # Shortcut to define an example with :pending => true
         define_example_method :pending,  :pending => true
         # Shortcut to define an example with :pending => 'Temporarily disabled with xexample'
         define_example_method :xexample, :pending => 'Temporarily disabled with xexample'
         # Shortcut to define an example with :pending => 'Temporarily disabled with xit'
         define_example_method :xit,      :pending => 'Temporarily disabled with xit'
         # Shortcut to define an example with :pending => 'Temporarily disabled with xspecify'
         define_example_method :xspecify, :pending => 'Temporarily disabled with xspecify'
    
  • 问个 RSpec 的问题 at 2012年07月17日

    true.should be_false

  • 我前两天看过一句话。

    说,加班不会让程序员觉得累,让程序员累累的是永远在改的需求和不能按时发布。

    不知道楼主是真的被 10*5 所累了么。

    我要不干程序员我就找个体力活@huacnlee 的导游不错,也考虑出去跑销售,或者跟@lgn21st 推车出去卖盒饭

  • 新手用 vim 开发时的问题 at 2012年07月05日

    m,a, 文件就拼全名,目录就以/结尾。

  • 👍

  • #5 楼 @ery 速度的话可以参考以下 hisea.me

  • 如果是 13 的 pro,我个人觉得不如 air, 分辨率 air 高一点,适合写程序。价钱好像也差不多的。

    当然不差钱的话还是 retina display 的。哈哈

  • 可以升级也可以降级

  • 悲催的买了双飞燕影印版 at 2012年07月03日

    坚持看过这一本,别的再也不愁了。说不定 4 级也过了。

  • 分号语言 at 2012年06月22日