• #10 楼 @ugoa @xiaolai 一开始我弄错了,mac 自带的其实是智能 abc 的方案,为左撇子设计的怪不得我敲得拗手... 自然码敲 ming, ning 难受,微软就 nü难受

  • 正在试,可以用微软拼音的双拼方案不错 Mac 自带的双拼是自然码方案,无比坑爹,一键双意完全是混乱的,很多音节要同一根手指输入,极大限制了输入速度... 以前用过 sunpinyin,经常会 full GC 般一顿大卡,其他什么雅虎拼音 QQ 拼音就更坑爹了...

  • 把数组分组 at 2012年10月22日
    a = [1,1,1,2,2,3,1,1]
    a.chunk{|x|x}.map &:last
    
  • 简单文本解析用 scanf 最方便了

    require 'scanf'
    'max:-1 min:-10'.scanf 'max:%d min:%d' #=> [-1, -10]
    

    OO 是工具不是目的,不要为 OO 而 OO。另外写个 class 也不是 OO,只是写了个 class 而已...

  • 多余的 self 当然要删掉,DRY = don't repeat your self

  • 我的方案主要是编辑 iTerm profile 里的快捷键

    右移一个词:opt + 右 send escape sequence f 左移一个词:opt + 左 send escape sequence b 左删一个词:opt + del send escape sequence 007f (用 unicode 输入法,按住 opt 的同时输入 007f,字符不显示)

    行首和行末复杂点,先要把原本 cmd + 左/右 的快捷键解绑,然后

    行首:cmd + 左 send escape sequence OH 行末:cmd + 右 send escape sequence OF

    如果用 bash, 修改 ~/.inputrc

    "\e[1~": beginning-of-line
    "\e[4~": end-of-line
    

    如果用 zsh:

    bindkey "^[OH" beginning-of-line
    bindkey "^[OF" end-of-line
    
  • 非 mac 拇指 ctrl 小指 shift,其他键在右边就用左手 ctrl+shift,反之就用右手 ctrl+shift mac 键盘上最讨厌 ctrl+ 左手键... 必须改键...

    p.s. 玩即时战略游戏练成左手盲打 ctrl+1 到 ctrl+9 的也有不少吧... p.p.s emacs 某些左右 ctrl 轮流开弓难度好大

  • 用 TextMate 的朋友帮帮忙? at 2012年10月16日

    @xiaolai 在 bundle development 那个 bundle 里有个命令 show scope :)

  • 用 TextMate 的朋友帮帮忙? at 2012年10月16日

    #6 楼 @xiaolai 我搞错了... 注释都是通过 Source 的这个 command 添加的,它读取语言配置的环境变量 TM_COMMENT_START, TM_COMMENT_END 来完成注释,因为 erb 的 scope 是 text.html.ruby,但 text.html.ruby 没配置这两个环境变量就 fallback 到 text.html 的配置了

    加上 <%# %> 的一个办法如下: 新建一个 language preference, 名字随意,所在包随意,将 scope 设置成 text.html.ruby

    配置内容是设置环境变量

    {shellVariables = (
            {   name = 'TM_COMMENT_START';
                value = '<%# ';
            },
            {   name = 'TM_COMMENT_END';
                value = ' %>';
            },
            {   name = 'TM_COMMENT_MODE';
                value = 'line';
            },
    );}
    

    如果将 TM_COMMENT_MODE 设置成 block,cmd + / 的结果就是整块注释而不是每行都加一遍。

    貌似只允许一组带 comment end 的配置,我还不知道 <% if false %>...<% end %><%# ... %> 共存的办法...

  • 用 TextMate 的朋友帮帮忙? at 2012年10月15日

    btw,用快捷键查命令的方法:

    Bundles -> Select Bundle Item,中间选项选 Key Equivalent

  • 用 TextMate 的朋友帮帮忙? at 2012年10月15日

    和这两个命令的快捷键冲突了:

    Bundles -> Source -> Comments -> Comment Line / Insert Block Comment

    改一下

  • MS 出了个 typescript at 2012年10月12日

    第一反应就是又一个 ActionScript 的蛋疼轮回...

  • 对了还有 google doc ...

  • 可能性太多了,从出错栈看不出什么问题

    在出错机器上命令行 echo $LANG 看看是不是 UTF-8 吧

  • 最简单的就是写个 dot 文件然后调 graphviz 的 dot 命令 ...

    个人比较喜欢的在线工具 http://www.yuml.me/diagram/scruffy/class/draw

    在线画各种 UML http://www.gliffy.com/

    在线画思维导图 http://www.mindmeister.com/

  • 关于 window 的问题 at 2012年10月12日

    你说的是 window 而不是 Window 吧?

    浏览器里全局变量都放在 window 下面,已定义的全局变量两种访问方式没什么区别 未定义的全局变量直接使用会报错,但是访问 window.xxx 只返回 undefined 不报错

    因为在 CoffeeScript 里会自动加上 var,然后代码外面还会生成一个局部作用域,所以想要在 CoffeeScript 里设置全局变量就只能用 window.xxx =

  • require 'cqpid' 路径问题 at 2012年10月12日

    简单找法:

    require 'cqpid'
    $LOADED_FEATURES.grep /cqpid/
    
  • 女程序员 Github 求偶? at 2012年10月09日

    102 个 watch 和 53 个 fork 是怎么回事??

  • 文档找不到,直接看代码,不坑爹

  • 嘿嘿,渐入佳境…… at 2012年10月08日

    除了做统计写 map reduce 略痛苦外还行...

  • AR4 已经用上

  • vi 按 i 进入插入模式 你可以在第一行,或者第二行,或者第三行,或者第四行,或者第五行插入 gets.chomp()

  • 关于 javascript 的问题 at 2012年09月27日

    #7 楼 @Rei 太蛋疼了...

  • 关于 javascript 的问题 at 2012年09月27日

    #2 楼 @dmhorse onclick="$(this).remove()"data-remote 怎么写?难道你说的不是 ujs 而是 rjs,再在服务器端把这段 js 写成 action 返回?

  • 跟大家分享篇文章 at 2012年09月27日

    #5 楼 @knwang 我精神年龄 6 岁哦 #6 楼 @xiaolai 好早... 计算机要多活好多倍才接触到你 #7 楼 @hooopo 挺好的,我的 (失败) 经验是应该先找女朋友再接触计算机,否则基础知识薄弱,很危险

  • 关于 javascript 的问题 at 2012年09月27日

    remote='true' 不能代替 onclick 啊,何况 remote 属性现在也不用了。 要说代替 onclick 的,应该是 $('#...').click(function(){...}) 吧?一定要消灭 onclick 什么的是洁癖吧... 如果你用 GWT 会生成一大堆 onclick 哦。

  • 跟大家分享篇文章 at 2012年09月27日

    这就是为什么一个人至少要学习到 6 岁才能开始写程序

  • radrails at 2012年09月27日

    嗯嗯,做选择题和填空题不能使你妙笔生花

  • Grails 还是 JRuby at 2012年09月27日

    #7 楼 @flyerhzm 说 XX 快太笼统了,浮点运算在 C 是快很多很多,因为 Ruby 每个浮点数都是一个堆上的对象,但是字符串操作却快不了多少,系统调用 (例如 fork(), accept() 之类的) 速度就很接近,用 C, Java, Ruby 写的 hello world echo server benchmark 就很相近,因为大部分时间都在系统调用上。实际 web 开发是字符串演算和系统调用占大头的,Ruby 已经优化得不错了。

    另外 foreign function 调用不能忽视的一点是接口开销和内存管理导致的性能问题

    • 接口开销在 Rubinius 这种采用优化策略比较多的实现中就很明显(Rubinius 在很多 benchmark 里比 CRuby 快,但是慢的往往都是 C 扩展),Java 里使用 JNI 也往往不如直接用 Java 实现的快。
    • 接口开销在 CRuby 中不是很大(只是编程时要注意解释器锁什么的),但 CRuby 的 C 扩展有造成内存泄漏从而产生性能问题的可能(这是代码写得没问题的时候也会发生的哦)。因为保守式 GC 的机制,如果栈上有一段代码不是 Ruby VM 管理的并且有一段内容碰巧和应该回收的内存地址相同,那个对应的内容就不能 GC 了。

    在日常使用经验中,我经常用 Ruby 完成一些脚本任务,Ruby 为脚本语言优化得非常好,启动速度完爆各种 JVM 语言。我连 zsh 的 prompt 里都调用了 Ruby,如果换成 JRuby 就明显很卡。我写过一个纯 Ruby 的 parser generator,和 Haskell 的 Parsec 差不多但比 Parsec 快,我试过把瓶颈部分改写成 C,耗费了很多功夫,结果只快了 30% 左右。我比较过 Go template 和 slim 的渲染速度,结果是 slim 比 go template 快。(不过也有例外:例如 n 体问题的 benchmark 怎么写都是 Java 快,快 500 倍以上...)

  • Grails 还是 JRuby at 2012年09月26日

    很久以前有很多 Gem 就是把性能有问题的部分换成 C,后来都倾向于纯 Ruby 了,因为没变快多少或者变得更慢了。二奶语言基本是 benchmark 好看但不实用...