• 我觉得最大的区别就是想象力,以及把想象转变为现实的热情,Passion and Imagination

  • #1 楼 @Teddy 我 x,我就是金牛座,你想咋样?

  • #17 楼 @Peter 另外,可以给你分享一下我的习惯,不一定都合适不过可以借鉴。

    首先,一个窗口开 10+ 个标签页,这本身就是很“反人类”的习惯,因为这么一来窗口标题完全看不到了(除非你屏幕够大,但是大屏幕全屏浏览器不利于阅读,我通常都是缩小固定中央或两侧展高);标签页固然是很好的功能,但并不是只能用标签页啊!

    我的习惯如下:

    1. 鉴于我一年 356 天不关闭电脑(平均每个月会因为各种原因重启一两次),最多锁屏或盒盖休眠,所以我的 Chrome 是保持常开的;
    2. 第一个窗口里面有 9 个 pin 掉的标签,这些是我每天都要看一下的网站,只通过 favicon 就知道谁是谁;为什么是 9 个?command + [1-9]。这些网站会占据我每天看网页至少一半的时间,所以我对它们形成肌肉记忆了,LOL;
    3. 剩余的空间可以很舒适的容纳 3~5 个新标签,通常都是由之前那 9 个网站点出来的,因为它们几乎都是比较重要的信息,所以我保留在第一个窗口。看它们,该做笔记做笔记,该收藏就收藏,完事就关掉;
    4. 如果我需要开另外的网页(这种情况通常都不会停留太久),我直接 command+n 开新窗口。新窗口随便折腾好了,不碍事的;看到比较好的,收藏之,笔记之……。当然,还会有 command+shift+n 的时候,这个……你懂得,视情况自己决定;
    5. 如果第二个窗口超过 9+ 了(因为要用快捷键切换,所以不超过 9,如果你会用 Vimium 则可以无视这一点),再开新窗口(很罕见的情况,通常都是在查很繁琐的资料),如此类推;
    6. 如果要回到别的窗口,command+~之;如果窗口开的超过 2 个,四指向上/下滑动选择之(windows? sorry...)
    7. 另外,OS X 10.9 有一个比较牛 x 的特性:处于非焦点的窗口会压制 CPU 对其的运算处理,所以同样数目的标签,多窗口浏览反而有助于优化系统资源

    还有一点特别重要:请一定安装并学会使用 Vimium,这是秒杀一切的神器。

    ===忘记了,补充下===

    如果你把常用的一组网页保存在一个收藏文件夹中,你可以用一个新窗口一次性开启这个收藏夹的所有网页,所以合理有序的组织自己的收藏夹也是一个很有用的小技巧哦,请发挥想象力吧。

    ===再补充个,Vimium 的好处一图以蔽之,完全脱离鼠标的必备武器===

  • 还可以用 control+tabcontrol+shift+tab 切换标签页啊,我把 control 映射在 caps lock 键上了,所以如果用键盘的话,我通常是一根指头就搞定了……

  • #8 楼 @nevill “交付”——当然,的确没英文原文看着给力。

  • #1 楼 @dale@blackanger 不是什么“同舟共济”,这句话其实是衍生自 Steve Jobs 的原话:

    Real artists ship

    原意是“真正的艺术家完成伟大的作品”,当然原话里并没有“伟大的作品”这个词汇,不过这句话的语境揭示了这一点。Steve 用这句话鼓励他的团队完成 Macintosh 的设计和生产,在苹果的眼里 Macintosh 就是“伟大的作品”。所以 Steve 的意思是“我们正在完成一个伟大的作品,而只有真正的艺术家才能做到这一点”。

    在英文里,ship 常用于表示 交付上市 等意思,所以 "Real developers ship" 应该是说“能交付产品的才算真正的开发者”,用中文来讲比较接近于“说不如做”这样的意思,当然从另外的角度也是一种激励性的座右铭,效果和 Steve 的原话差不多。

  • vendor 这是惯例

  • $ git push origin :old_branch

    BTW, it actually delete the remote old branch, but you get it, when it done, you can push your new branch back to the origin.

  • Vim 7.4 is released at 2013年08月11日
  • #6 楼 @hbin 行尾空格很容易去掉的好吧,Vim 可以自动做这件事。

  • #1 楼 @Tony612 你先回复目标楼层,然后你的回复就有它的锚点了,看本行最头——Hacker way...

  • 一小段代码重构 at 2013年08月09日

    #30 楼 @blacktulip BTW,15 楼是和我说的最接近的方案。试试他那个吧。

  • 一小段代码重构 at 2013年08月09日

    #28 楼 @blacktulip 是啊,如果你需要一个 Parser 来负责解析,而不是 Tom 的责任,那么就是如此。

    简单地说,Tom 的唯一职责就是把 words 传递给 Parser,然后接收 Parser 返回的结果,你可以把 Parser 想象成为 Tom 的语言中枢处理器。——这就是我之前为啥想给 String 做 MonkeyPatch 的原因,因为我不觉得需要一个单独的 Parser,对这个需求而言。

  • 一小段代码重构 at 2013年08月09日

    #25 楼 @blacktulip new 只负责初始化对象,用实例方法接收 words,然后返回 response

  • 一小段代码重构 at 2013年08月09日

    #18 楼 @blacktulip attr_reader 定义了一个属性 + 它的 getter 方法,所以你不用初始化 instance variable 了。

  • 一小段代码重构 at 2013年08月09日

    我在想啊,需求列出的若干情况不都是对 String 做出响应吗?干脆给 String 打个 Monkey Patch 得了,比如增加一个 String#silly_response 方法。管他是 Tom 还是 Jerry 还是阿猫或阿狗呢,统统管用,任何一个对象只要:

    # Pseudo Code
    class Anything
      def respond_to(words)
        words.silly_response
      end
    end
    

    Monky Patch 怎么打,楼上诸位都写了,我就不重复了。就说我为啥不用一个单独的类处理呢?因为 Conversation 在一个应用里 99% 都是用 String 来表示吧?(或许有 1% 的奇葩),在业务逻辑尚未表示出足够的复杂性之前,我干嘛非得专门写个类来处理本应该 String 自己就能处理的事情?

    或许你会觉得 #silly_response 返回的本应该是 Tom 的责任,但我不这么看,我觉得它的返回结果是 a kind of conversation 的责任,而 this kind of conversation 我们用 String 来表达,Tom 仅仅是 响应 this kind of conversation 的一个对象罢了。

    不靠谱的念头,仅供调戏用。

  • 第一段的“本来……所以……”个人表示异议,典型的找借口。

  • 个人比较崇拜 Gary 的 DAS 系列,感觉太牛了,无论是讲得内容,还是录制的过程,看起来很少剪辑,也很少出错。

  • @tmm1 教你 Eventmachine at 2013年08月08日

    #11 楼 @willmouse 嗯,说的没错,我就是太贪心,一次下一个会议的,想一口气看完,结果没看一半就困得不行了,呵呵。

    BTW,吃饭的时候少看,以前没觉着,现在发现吃饭看东西(视频、书、代码等等)会严重影响食欲。

  • @tmm1 教你 Eventmachine at 2013年08月08日

    #9 楼 @willmouse 是呀,你要挑着发,而且发的都是很有看头的,那就是说明你都看过了呗?我就是对你这种精神崇拜不已啊~~~请问看了多少了?

    我也曾经撸过,连着看两三部之后就开始打瞌睡了……

  • 我建议楼主把 CodeSchool 的两部 jQuery 视频过一遍,以后再也不用发愁 jQuery 的问题了,讲得非常好。

  • @tmm1 教你 Eventmachine at 2013年08月08日

    敢问楼主是不是打算把 Confreaks 从头到尾撸一遍?

  • 你可以在命令模式下,把 W 也映射了呗,反正它也没啥用处

    :command WQ wq
    :command Wq wq
    :command W w
    :command Q q
    
  • 很喜欢这门语言,年初不小心在 Peepcode 上给它买了(真心点错,当时心疼了好一阵子),但是越看越觉得有味道,挺合我的胃口的。

  • gem "therubyracer" 安装出错 at 2013年08月06日

    装 Node.JS,犯不着在这上面费劲。