有多个cpan模块安装程序可用; 我至少知道CPAN.pm(自带perl,)CPANPLUS和cpanminus.
三者有什么区别?
什么情况要求使用一个而不是另一个?
我应该知道其他模块安装程序吗?
许多动态语言实现(或想要实现)JIT编译器以加快其执行时间.不可避免地,来自花生画廊的人问他们为什么不使用LLVM.答案通常是,"LLVM不适合构建JIT." (例如,Armin Rigo的评论.)
为什么LLVM不适合构建JIT?
注意:我知道LLVM有自己的JIT.如果LLVM曾经不适合,但现在适合,请说明改变了什么.我不是在讨论在LLVM JIT上运行LLVM字节码,我在谈论使用LLVM库来实现动态语言的JIT.
在我写这篇文章时,ECMAScript 5正处于最终草案中; 它是由于包含一个严格模式,它将阻止您使用eval和其他限制分配给全局对象.(John Resig的文章是一个很好的介绍.)
通过在文件(或函数)的顶部包含字符串"use strict"来触发这种神奇的保密模式.但是,在旧环境中,"use strict"是一种无操作.如果你添加"use strict"并且不在严格的环境中测试它,你可能会留下一个非常严格的代码的定时炸弹,当它真正遇到严格的环境时它会破坏.
哪些环境实际上尊重"使用严格"?
我的程序耗尽了内存,就像我运行它们的时间的一半.在Linux下,我可以使用ulimit -v mem-in-kbytes设置可用内存的硬限制.实际上,我使用ulimit -S -v mem-in-kbytes,所以我在程序中得到了正确的内存分配问题,我可以中止.
但是...... ulimit在OSX 10.6中不起作用.我尝试过使用-s和-m选项,但它们无法正常工作.
在2008年,MacRumors对同一个问题进行了一些讨论,但没有人提出一个好的选择.应该是一个程序可以学习它花费太多内存或通过操作系统设置限制的方式.
在github上查看代码时,我发现了以下内容:
(function() {
}).call(this);
Run Code Online (Sandbox Code Playgroud)
这显然是一个自我调用的匿名函数.但为什么这样写呢?我习惯于看到规范的变体(function() {})().
使用.call(this)自动调用匿名函数有什么特别的优势吗?
编辑:看起来某些commonjs环境this在模块的顶层设置为非全局值.哪些,以及它们this可能想要保留的内容是什么?
在ECMAScript 5(又名JavaScript)中,我可以通过"use strict"在函数顶部添加严格模式(或文件,但不鼓励这样做.)
据我所知,在ECMAScript 6中,某些语法功能会打开严格模式,尤其是class模块(不过你会这样做).
在ECMAScript 6世界中,触发严格模式的完整列表是什么?
在现代JavaScript应用程序中使用DOM Level 0集合是否有一套商定的"最佳实践" ?(document.forms,document.images等)
在使用jQuery的应用程序中,我注意到,比如使用$(...).html()切换底层节点而不是使用来改变下拉列表的内容element.options[].这是因为最好避免使用DOM 0集合,还是因为jQuery使更改底层DOM结构变得更容易?
编辑:我想部分问题包括旧功能是否可靠的跨浏览器.我记得,曾经有一段时间,IE会<tbody>自动添加标签到你的桌子,而firefox则不会.这使得走在dom tree痛苦的跨浏览器.同样,在更改集合中的选项时element.options[]遇到问题.这些人是否可靠跨浏览器?
我正在开发一个将subversion用于其存储库的项目.因为我需要进行一些无法发送到svn服务器的更改,我开始使用git svn以便我可以进行本地签入.我的设置如下:
分支: trunk(跟踪svn trunk),master(非常接近svn中的内容)和主题.
*------------------ trunk
\
*-----------*--------- master
\
*-------- topic
Run Code Online (Sandbox Code Playgroud)
工作流程:
[on branch master]
$ git svn fetch
$ git svn rebase
$ git checkout -b topic
$ git rebase master
[hack hack hack]
$ git commit -a
[once upstream is ready for my changes]
$ git svn fetch
$ git checkout master
$ git svn rebase
$ git checkout topic
$ git rebase master
$ git svn dcommit
$ git checkout master
$ git …Run Code Online (Sandbox Code Playgroud) 我已经阅读了关于Vim所谓的伟大的omnicompletion的大量博客,但无论我做什么,我都无法令人满意地工作.我花了很多时间才发现我的系统上预装的ctags版本是emacs版本,并且没有--recurse选项,但现在我已经在我的OpenJDK副本上运行了ctags-exuberant尝试使用[Cn]或[Cp]调用它时,Vim会挂起来试图获得某种代码的完成.
我真正想要的就像Eclipse中的代码完成一样; 我喜欢Vim作为编辑器,但Eclipse只是具有开箱即用的额外功能,Vim似乎失败了.带有vi-mode插件的Eclipse对我来说并不是特别有用,而且它有太多的内存和CPU占用任何用途; eclim也不太喜欢我.
任何人都可以建议一种更简单的方法来获得在Vim中实际工作的某种代码完成吗?
我曾用几种不同的语言与几种不同的ORM合作 - 似乎没有就什么样的东西应该是什么来源以及应该生成什么达成一致.
考虑一下这些东西:
这给了我们这些工作流程样式:
问题:
javascript ×4
autocomplete ×1
coffeescript ×1
commonjs ×1
cpan ×1
dom ×1
ecma262 ×1
ecmascript-5 ×1
ecmascript-6 ×1
git ×1
java ×1
jit ×1
jquery ×1
launchd ×1
llvm ×1
macos ×1
memory ×1
module ×1
omnicomplete ×1
orm ×1
perl ×1
rebase ×1
strict ×1
svn ×1
ulimit ×1
vim ×1
virtual ×1