• 都是美帝码农略贵惹的祸...

  • xmpp 服务器 vines at 2013年03月07日

    #15 楼 @mobiwolf 直接用 XMPP 客户端连上去有问题?

  • xmpp 服务器 vines at 2013年03月07日

    #13 楼 @mobiwolf 你别管别人用啥。首先是你的需求到底是啥?从方便定制的角度讲首选 Ejabberd,其次选 Tigase...

  • xmpp 服务器 vines at 2013年03月07日

    #11 楼 @mobiwolf 都是 Java 写的,OpenFire 其实不如 Tigase...

  • xmpp 服务器 vines at 2013年03月07日

    #4 楼 @mobiwolf 真的,相比之下 Ejabberd 是最容易定制的...

  • gitlab-shell for gitlab v5.0 at 2013年03月04日

    #6 楼 @Saito

    还有一个更大的问题,其实 gitlab-shell / gitolite 都没解决

    请用 Twisted ...

    这是一个特定操作系统版本,特定 ssh 版本的 patch. 所以 Gitlab 这种开源项目很难使用。

    现在可以用 AuthorizedKeysCommand 了,至少 RHEL 6+ 都可以了...

  • #54 楼 @luikore 我觉得 JIT 本身就是不太靠谱的东西...

  • #52 楼 @luikore

    已经具备一些运行时修改代码的能力了

    不是的。你在运行期改不了代码段里的东西的,那个内存页是可执行且只读的...你改了就执行不了了。假如你要写到新的内存页里面,那就和 JIT 一样变安全隐患了

    ruby vm 已经有常量代入的能力了

    我说的不是这个...我说的是最普通的情形,就比如x+y,解释器就只能这么运行了。而编译器或者 JIT,知道xy的值,就可以直接把xy当作常量代入,于是这个表达式就被优化掉了。

    把 bytecode 指令的实现作为模板写出来的 jit 几乎没有速度改进的

    这还导致了更多 cache miss 呢...只是需要有效果,像 PyPy 那样也可以了。在运行期编译解释器代码就可以了...但是 Python 实在不是一门适合用来写编译器的语言...

    http://tratt.net/laurie/tech_articles/articles/fast_enough_vms_in_fast_enough_time

    我觉得 tracing jit 更适合 v8 那种一开始就放弃 bytecode 的 vm ...

    V8 倒是一开始是 method JIT 后来才 tracing JIT 的,而 Mozilla 家的各种 monkey 倒是一上来就是 tracing JIT...

  • #49 楼 @luikore

    是的,JIT 无法回避的问题就是生成代码需要时间,生成出来的代码还要占空间导致更多 cache miss,很容易就得不偿失的。而且总觉得又多了个安全隐患...

    一个 jit 的优化能力一般是比不上 C 编译器的

    不是那么绝对的,JIT 能知道运行期信息,有时候是能生成非常紧凑的代码,当然代价是要插入很多 guard,检查是否符合你之前编译的时候假设的情况。不符合就 fallback 到解释模式。假如 fallback 到 method JIT 的话,那就更耗内存了,引起 cache miss 就啥都没有了... Mozilla 好像在搞的那个是能共用部分 tracing JIT 和 method JIT 的生成代码的???

    如果采用 jit, 可能要重新设计字节码,使用更节省内存的表示方式?

    为啥?一般解释型语言的字节码都是很贴近语言本身的,也就是说很紧凑的。你可以把编译/JIT 过程看作内联解释器再把常量代入,消除冗余代码,显然很容易生成比解释器字节码长得多的代码。解释器字节码那里省下来的其实也不多

    大量运用了元编程和反射的代码,运行的时候 jit 也要多次重新编译...

    没看出来能比别的情况多 ...

    分支预测能力比较强的 CPU

    我一直没搞明白 (当然也没尝试去搞明白) 分支预测的命中率是怎么能达到 90% 以上的。

    发展出一个混合解释和 jit 执行的模式 (inline instruction) 也说不定...

    tracing JIT 被你赤裸裸地无视了

  • 学啥不好,为啥要学 Web 开发...

  • 鉴于每次非 Ruby 主题上座率都不高

    所以可以不叫 Ruby Tuesday...

  • FE 是什么东西

  • 这么强大竟然已经需要跨地理分布的数据中心了...

  • #12 楼 @ShiningRay

    我现在觉得 FizzBuzz 都比你这题好了...

    http://c2.com/cgi/wiki?FizzBuzzTest

  • #30 楼 @kehao 请问什么叫长连接...

  • #25 楼 @kehao 我觉得你一开始就乱了吧。XMPP 和 HTTP 没啥关系只是恰好有个 XMPP over HTTP 的叫 BOSH...

  • #16 楼 @killyfreedom

    看来你根本就没搞清楚问题。JSON 在这里并不比 XML 好...

    XML 风格

    <message to="[email protected]">
      <body>
        <a href="http://xml.suc.ks">XML Sucks</a>
      </body>
    </message>
    

    RFC2822 风格

    To: [email protected]
    Content-Length: XXX
    
    <body>
      <a href="http://xml.suc.ks">XML Sucks</a>
    </body>
    

    JSON 风格

    {"message": [{"to": "[email protected]"}, 
        "<body><a href=\"http://xml.suc.ks\">XML Sucks</a></body>"]}
    
  • 这题不脑残么...

  • #5 楼 @killyfreedom

    从单个 message 看,overhead 是不大的,不然 HTTP 也别用了,单个请求的 overhead 远大于 XMPP 单个 message 的 overhead。

    <message to="[email protected]">
      <body>
        <a href="http://xml.suc.ks">XML Sucks</a>
      </body>
    </message>
    
  • 你们需要 APL 程序员么?

  • Ruby-2.0.0-p0 at 2013年02月24日

    #3 楼 @lgn21st

    Today, I'll loose at least 50 karma points, but it's worth: Why people still use Ruby?

    1. Because they get dream day rates for maintaining rusty slow legacy systems
    2. Because they do not want to learn new languages and can stay in their comfort zone
    3. Because they think it's still 2005 and nobody cares about slow server response times And now Ruby lovers, click on downvote or give your reasons why you still use Ruby.

    第一条太欢乐了

  • 我是来围观 Ubuntu 脑残粉的

  • gitlab-shell for gitlab v5.0 at 2013年02月23日

    还是 Twisted Conch + dulwich 方便,爱咋整咋整

    另外,共用系统的 sshd 终究是个安全隐患。

    即便是这样,用AuthorizedKeysCommand这个配置项也比用authorized_keys这个文件好。

  • 如何学习数据库 at 2013年02月22日

    #10 楼 @springwq

    主要还是看你现在是怎么个水平和想学什么东西。

    假如你真的是完完全全的零基础,而且仅仅是开发的时候要用到数据库,而不是想成为某个特定数据库软件的专业的 DBA。那么我更建议你看我推荐的那个博客。

    MySQL 必知必会只是介绍了一种特定的数据库提供了哪些功能 MySQL 技术内幕只是介绍了一种特定的数据库功能是怎么实现的

    假如你真的真的是完全都不会,这并不是很合适作为入门的参考。

    入门的参考还得再简单一点。比如我推荐的那个博客,假如你第一篇开始看,你看到的是有哪些常用的 normal form,它们分别能表示哪些不同的数据关系。如何选择合适的 normal form 以及查询方式来表示你的业务逻辑,什么时候又需要 denormalize,等等。着重的是功能如何实现,而且也不是按某个数据库来写的。你完全可以对照着某个数据库软件官方文档,来一个个例子自己实践一遍,最简单的几个例子其实 sqlite 就可以了。

    假如你真的是零基础,想成为专业 DBA,那这也是个不错的开始。

    假如你已经有基础了,你需要多实践啊.......

  • 如何学习数据库 at 2013年02月22日
  • XMPP 流量其实不大,本来即时消息就没多大流量。XMPP 最大的问题是默认每次登录都要拉一次联系人列表,往往这个才是流量的最大来源,而客户端是自己开发的话,这个明显是可以绕过的。所以没问题的。

  • Espresso Framework at 2013年02月21日

    #9 楼 @hooopo 数百个字符的正则表达式 vs 长达数百行的 method ...

  • Espresso Framework at 2013年02月21日

    #5 楼 @hooopo 不矛盾啊,都坑爹啊...