小编Yor*_*ric的帖子

什么是iPad用户代理?

从我收集的信息来看,iPad正在使用iPhone OS,但屏幕分辨率与iPhone和iPod touch不同.许多网站可能不得不改变其用户代理检测以适应iPad.

那么,任何有权访问iPad或iPad SDK的人都能为我们提供用户代理字符串吗?

user-agent ipad

113
推荐指数
7
解决办法
19万
查看次数

使用NDK在Android中创建临时文件

我目前正在开发基于C语言,基于NDK的Android应用程序.此应用程序需要创建临时文件.在常规Linux系统上,我将tmpfile确保在临时目录中正确创建这些文件并在进程结束时进行清理.

但是,我对各种Android设备的调查似乎表明了这一点

  • tmpfile 总是失败;
  • 没有/tmp目录;
  • /data/local/tmp所有Android变种都不存在目录;
  • 没有TEMP设置环境变量;
  • mkstemp没有比这更好的了tmpfile.

现在,我确信我可以一起破解,但是看到SDK提供的context.getCacheDirFile.createTempFileJava应用程序,我希望在C级有一个等价物.

有没有人知道用于创建临时文件的良好可靠和跨Android方法?

temporary-files android-ndk

19
推荐指数
2
解决办法
9761
查看次数

现代JavaScript引擎的优化程度如何?

到目前为止,大多数主流浏览器已经开始将优化JIT编译器集成到他们的JavaScript解释器/虚拟机中.这对每个人都有好处.现在,我很难确切地知道他们确实执行了哪些优化以及如何最好地利用它们.每个主要JavaScript引擎的优化参考是什么?

背景:

我正在研究一种从更高级别和更安全的语言生成JavaScript的编译器(无耻的插件:它叫做OPA,而且非常酷),考虑到我正在生成的应用程序的大小,我想要我的JavaScript代码尽可能快和内存效率.我可以处理高级优化,但我需要了解更多关于执行哪些运行时转换的信息,以便了解哪些低级代码将产生最佳结果.

一个例子,从我的脑海中开始:我正在编写的语言将很快整合对懒惰的支持.JIT引擎在惰性函数定义中表现良好吗?

javascript ajax performance jit

15
推荐指数
1
解决办法
556
查看次数

用于多核llvm的垃圾收集器?

我一直在研究LLVM作为我目前正在实现的语言的新后端.它似乎具有良好的性能,而不是高级生成API,足以支持优化异常优化的低级支持.此外,虽然我自己没有检查过,但Apple似乎已经成功地证明了LLVM用于垃圾收集的多核程序.

到现在为止还挺好.由于我对垃圾收集和多核感兴趣,下一步将是选择一个LLVM多核垃圾收集器.这让我想到了一个问题:什么是可用的?我知道Jon Harrop的HLVM工作,但就是这样.

请注意,我需要跨平台,因此Apple的GC可能不是我想要的(除非有跨平台版本).另请注意,我没有任何反对世界各地的垃圾收集器.

在此先感谢,Yoric

garbage-collection multicore llvm

14
推荐指数
2
解决办法
2968
查看次数

在Firefox下按Escape会导致我的Ajax请求失败.我想阻止这个

我正在开发一个需要长时间运行Ajax请求的Web应用程序.不幸的是,在Firefox下,在请求期间按Escape会导致终止请求及其持有的任何信息.这是相当烦人的,因为如果在错误的时间发生这种情况会导致各种令人讨厌的并发症.因此,我想停用此功能.

我的第一反应是拦截<body>边界处的按键,以确保它们不会到达窗口.为此,我安装了一个[keypress]事件处理程序,仅用于[keyChar]为27的事件,并调用[stopPropagation]和[preventDefault].有一段时间,它似乎正在发挥作用.

然后,我意识到当用户没有点击窗口上的任何地方时它不起作用,因为<body>事件处理程序从未收到过该事件.我试图将我的处理程序附加到<document>或<window>无效,所以我最终添加了一个[load]事件处理程序,并强制将焦点转移到<body>.有一段时间,它看起来像是在起作用.

然后,我意识到当用户正在编辑<input>时,由于某种原因,<body>,<document>或<window>事件处理程序似乎永远不会收到该事件.所以,我添加了另一个[keypress]处理程序,当[keyChar]为27时,在<input>上拦截[preventDefault].

目前,看起来它正在发挥作用.但是,随着我的应用程序中这个错误的历史,我有点悲观.

所以,我想知道是否有更好的,可重复的方法.回想一下这个bug似乎只出现在FF中,所以我非常愿意在这里采用仅FF的方法.

谢谢

javascript ajax firefox comet javascript-events

9
推荐指数
1
解决办法
2151
查看次数

避免凌乱的浏览器死亡

在过去的几个月里,我一直在研究一个大型的Web应用程序.反复地,我们编写的代码根据DOM和JS规范应该可以完美地工作,但仍然设法完全杀死我们的一个或多个测试浏览器 - 最近,我们生成的纯JavaScript代码应该是无害的但会导致一般IE8中的保护错误,完全冻结Safari等的其他代码片段

好吧,我们将逐项解决每个问题,尽可能多的血液,汗水和代码.但我想到的问题如下:是否有关于此类浏览器弱点的知识库?与quirksmode.org相似的东西,但是有关如何编写代码以避免杀死我们的浏览器的指南?

谢谢.

编辑精度:并不是它改变了问题,但我们正在使用jQuery.

javascript browser quirks-mode

5
推荐指数
1
解决办法
116
查看次数

使用`splice` for Linux ...其他系统还有什么?

在最近的Linux内核上,将文件或文件子集复制到另一个文件的最快方法是使用非常好的splice系统调用.该系统使内核能够(几乎)直接管理传输,而无需将数据复制到用户区内存.

现在,我有兴趣为其他系统找到类似的东西,特别是Windows和BSD/MacOS X(我愿意在Obj-C中编写一些代码,在不太可能的情况下,有一个API无法从原始C访问).

谢谢

注意我假设Windows下最快的完整文件副本是CopyFile.但是只复制一个文件范围呢?

注意 我正在处理对性能敏感的代码,它应该适用于各种大容量存储设备(即从Android智能手机到NFS挂载).当然,我愿意为不同的操作系统编写不同的实现.

注意目前,我使用spliceLinux下的Linux/Android copyfile,CopyFile在Windows 下的BSD/Mac OS X 下,并在文件中回退到read/ write用于范围.

c windows macos bsd operating-system

5
推荐指数
1
解决办法
903
查看次数