在nodejs中,执行外部命令的唯一方法是通过sys.exec(cmd).我想调用外部命令并通过stdin给它数据.在nodejs中,似乎还没有一种方法可以打开命令然后将数据推送到它(只是执行并接收其标准+错误输出),所以看来我现在必须这样做的唯一方法是通过单个字符串命令,例如:
var dangerStr = "bad stuff here";
sys.exec("echo '" + dangerStr + "' | somecommand");
Run Code Online (Sandbox Code Playgroud)
像这样的问题的大多数答案都集中在nodegs(使用谷歌的V8 Javascript引擎)或其他语言(如Python)的本机功能的正则表达式.
我想逃避dangerStr,以便像上面那样组成一个exec字符串是安全的.如果有帮助,dangerStr将包含JSON数据.
我有一些使用相当深的递归的Javascript代码,我想知道各种浏览器中的递归限制是什么(即错误"过多的递归"将发生的点).
根据版本,任何人都有这方面的任何实数?
iPhone通过以下调用支持移动Safari中的地理位置:
navigator.geolocation.getCurrentPosition(
function(pos){
var lat = pos.coords.latitude;
var long = pos.coords.longitude;
},
function(){
/* Handler if location could not be found */
}
);
Run Code Online (Sandbox Code Playgroud)
我想建立一个包含以下其中一项的良好设备列表:
我只熟悉自己的设备,所以到目前为止这是我的列表:
?
Blackberry,Android手机等的支持程度如何?
在JavaScript中,有一种有用的方法可以测试从未在任何给定点定义过的变量.例如,如果尚未定义变量bob,则以下代码片段将返回true:
typeof(bob)=='undefined'
Run Code Online (Sandbox Code Playgroud)
如何在Ruby中完成相同的测试?
编辑:我正在寻找一个同样紧凑的测试.我用异常等方法得出了一些尴尬的近似值,但那些不是很漂亮!
我正在使用Netbeans 6.8,从IDE运行我的JUnit测试的最细粒度的方法似乎是右键单击一个类Test Packages
并单击Test File
在Eclipse中,可以将范围缩小到测试给定测试工具中的单个方法.如何在Netbeans中仅测试一个线束中的一个单独测试?
在Nodejs中,几乎没有阻塞I/O操作.这意味着几乎所有nodejs IO代码都涉及许多回调.这适用于对数据库,文件,进程等进行读写操作.典型示例如下:
var useFile = function(filename,callback){
posix.stat(filename).addCallback(function (stats) {
posix.open(filename, process.O_RDONLY, 0666).addCallback(function (fd) {
posix.read(fd, stats.size, 0).addCallback(function(contents){
callback(contents);
});
});
});
};
...
useFile("test.data",function(data){
// use data..
});
Run Code Online (Sandbox Code Playgroud)
我期待编写代码来进行许多 IO操作,所以我希望编写很多回调函数.我对使用回调很满意,但我担心所有的递归.我是否有可能遇到过多的递归并在某个地方吹过堆栈?如果我通过数千次回调对我的键值存储进行数千次单独写入,我的程序最终会崩溃吗?
我误解或低估了影响吗?如果没有,有没有办法解决这个问题,同时仍然使用Nodejs的回调编码风格?
我们有一个非常大的JavaScript应用程序,经过几个月的编码后,不可避免地出现了几个范围滑点,其中定义变量而不使用var
以下方式的关键字:
function() {
x = 5; ...
}
Run Code Online (Sandbox Code Playgroud)
代替:
function() {
var x = 5; ...
}
Run Code Online (Sandbox Code Playgroud)
这发生在某个地方 - 我们不确定在哪里 - 并且搜索有问题的变量名称很困难,因为它是我们源代码中出现1000次的常用词.
有没有办法让Firebug在首先创建给定全局变量的行上中断?为了澄清,我想在window.x
切换undefined
到定义值的时刻和break语句中断.
我已经尝试创建一个监视表达式,并希望我可以把它变成一个断点,但我似乎无法在没有某种上下文或范围的情况下创建监视表达式.
如果使用Firebug无法做到这一点,我会对能在Firefox中完成此任务的任何事情感兴趣.
我有一个交叉引用表,如下所示:
id document_id subject_id
1 8 21
2 5 17
3 5 76
4 7 88
5 9 17
6 9 76
7 2 76
Run Code Online (Sandbox Code Playgroud)
它将文档与主题相匹配.文件可以是多个主题的成员.我想返回此表中的行,其中给定的文档与给定集合中的所有主题匹配.例如,给定一组主题:
(17,76)
我想只返回与交叉引用表中某处的所有主题(至少)匹配的文档的行.给定上述设置的期望输出集将是:
id document_id subject_id
2 5 17
3 5 76
5 9 17
6 9 76
Run Code Online (Sandbox Code Playgroud)
请注意,不返回表的最后一行,因为该文档仅匹配其中一个必需主题.
在SQL中查询此内容的最简单,最有效的方法是什么?
我有一个移动Javascript应用程序,偶尔会<video>
在屏幕上动态创建一个元素.我需要跟踪Omniture的视频播放.我已经绑定了play
,pause
和ended
,seeking
以及seeked
用于跟踪用户启动视频,暂停,恢复和停止(或者他们已完成观看视频)的事件.这些都是通过类似的调用实现的
s.Media.play("some_video_name", timePosition);
Run Code Online (Sandbox Code Playgroud)
和
s.Media.stop("some_video_name");
Run Code Online (Sandbox Code Playgroud)
等等.这一切目前都有效.
我现在要做的是使用选项跟踪0,25,75和100%的位置里程碑trackMilestones
,但我不明白我在网上发现的任何示例如何实际告知Omniture s.Media
对象他们在哪里是.Omniture无法神奇地知道我的视频在哪里,除非它将事件处理程序附加到我的视频元素.那是他们在做什么的?
s.Media
当我的播放器播放视频时,是否有一些方法我可以调用该对象来告知它我的位置?
我们有一个基于硒网格的自动化测试集群.
为了管理集群,我构建了一组Rake(Ruby)任务,可以启动,重启,ping和停止节点.我正在通过IE6,IE7和IE8等多种浏览器测试我们的应用程序.这意味着群集中的每个节点都必须知道安装了哪个版本的IE,以便它可以声明正确的selenium-grid配置文件名称(例如:"IE6 on Windows XP"
vs. "IE8 on Windows Vista"
),以便可以针对这些浏览器编写某些测试.
我的问题:
我想在这里减少配置工作.如何以编程方式确定当前系统上运行的IE版本?我尝试了以下技术:
wmic product where "Vendor like '%Microsoft%'" get Name, Version
Run Code Online (Sandbox Code Playgroud)
但这只返回随Windows Installer一起安装的程序版本,因此IE不会显示在此列表中.
理想情况下,我希望能够从Rake脚本中确定这个,或者至少可以从Rake脚本中调用.
我想使用Processing在服务器端渲染可视化(无头,没有GUI).处理草图是静态的(即没有动画),因此我只需要抓住第一帧,并且我希望按需将此结果提供给我们的Web应用程序的用户.
我在processing.org论坛上搜索了一下,并且有人建议Processing不会无头启动.我见过的唯一一个涉及推出无头X11显示器的黑客:
Xvfb :2 &
export DISPLAY=":2"
./myapp
killall -9 Xvfb
Run Code Online (Sandbox Code Playgroud)
..这对我们不起作用,因为我们希望有一个纯Java解决方案,并且无法始终保证服务器端的X渲染器.
我如何在纯Java中执行此操作?
java processing data-visualization server-side image-processing
与Eclipse中的相同功能相比,Netbeans" 转到文件 "功能(使用shift + alt + o访问)非常慢,这足以快速进行类型匹配.似乎Netbeans每次回到这个对话框时都会搜索我的整个项目.我更新到最新的Netbeans,这仍然在发生.
我做错了什么或错过了某个选项吗?有没有办法加快速度,或像Eclipse中的Go To File功能那样立即实现?
我一直希望_gaq.push()
在单页JavaScript应用程序上使用Google Analytics 功能,该应用程序主要针对iPad(特别是Mobile Safari).
我的页面只加载一次,并在用户使用应用程序时继续异步加载数据.我希望在用户浏览应用程序时跟踪交互,因此我决定使用异步API(_gaq.push()
).
我听说过这种方法,GA数据被推送到文件卸载上.如果这是真的,我怀疑这是否适用于移动Safari,用户可能不会长时间卸载文档.
这是实现我想要的最佳方式,如果没有,那么从这样的应用程序及时将精细跟踪的事件推送到Google Analytics的首选方法是什么?
谢谢.
javascript ×8
java ×2
netbeans ×2
node.js ×2
recursion ×2
ruby ×2
v8 ×2
callback ×1
debugging ×1
escaping ×1
firebug ×1
firefox ×1
geolocation ×1
gps ×1
html5 ×1
ide ×1
junit ×1
processing ×1
rake ×1
relational ×1
scope ×1
scripting ×1
server-side ×1
shell ×1
sql ×1
testing ×1
undefined ×1
video ×1
windows ×1