我有一个处理图像的应用程序.为了测试它,我有一个提交图像的脚本.这并非完全不常见.
我对我的测试图像很无聊.用一些图像填充文件夹并让我的测试脚本随机选择一个很快就会很无聊.
是否有任何语言 - 真的 - 可以从互联网上的某个地方获取随机图像?
我开始使用真棒http://www.jwz.org/webcollage/,但图像太杂乱,无法很好地扩展.实际的照片本身,理想的缩略图等,会更好.
我希望http://code.google.com/p/googlecl/可以进行图片搜索,但遗憾的是它没有.
最近有人询问了另一个问题:给定一个未知长度列表,通过扫描它只返回一次随机项目
我知道你不应该,我只是不能把我的手指放在一个规范的解释为什么不.
看一下示例代码:
import random, sys
def rnd(): # a function that returns a random number each call
return int(random.getrandbits(32))
class fixed: # a functor that returns the same random number each call
def __init__(self):
self._ret = rnd()
def __call__(self):
return self._ret
def sample(rnd,seq_size):
choice = 0
for item in xrange(1,seq_size):
if (rnd() % (item+1)) == 0:
choice = item
return choice
dist = [0 for i in xrange(500)]
for i in xrange(1000):
dist[sample(rnd,len(dist))] += 1
print "real",dist
print …
Run Code Online (Sandbox Code Playgroud) 我正在运行计算,例如在web worker中进行路径查找.这可能需要几秒钟,我想优化它.对于我当前的代码,Chrome似乎要快3倍,但是花费的时间或者我没有深入了解的原因.
通常,您如何调试Web工作者?
你如何描述网络工作者?
(Firefox和Chrome)
通过JMX在JVisualVM中查看我的远程应用程序时,我发现空闲时内存使用情况如下:
采用堆转储并使用JVisualVM进行分析,我看到一大块内存存在于几个int[]
没有引用的大数组中,通过比较堆转储,我可以看到它们似乎正在占用内存并被回收GC定期.
我很想跟踪这些,因为它引起了我的兴趣,我自己的代码永远不会故意分配任何int[]
数组.
我确实使用了很多像netty这样的库,所以罪魁祸首可能在其他地方.我确实有其他服务器具有相同的框架组合,但在那里看不到这个锯齿.
我怎样才能发现谁在分配它们?
注意到大文本压缩基准测试中缺少字节对编码(BPE),我很快就对其进行了简单的文字实现.
压缩比 - 考虑到没有进一步处理,例如没有霍夫曼或算术编码 - 令人惊讶地好.
然而,我的琐碎实现的运行时间不是很好.
如何优化?是否可以一次性完成?
我有一个长期运行的大型服务器,几周以来内存使用量稳步攀升.
一般来说,如下所述,泄漏不太可能是我的问题; 但是,我没有太多要继续下去所以我想看看是否有任何泄漏.
获得控制台输出是棘手的,所以我没有运行gc.set_debug()
.这不是一个大问题,因为我已经轻松添加了一个API来让它运行gc.collect()
然后迭代gc.garbage
并通过HTTP将结果发回给我.
我的问题是在本地运行一小段时间我gc.garbage
总是空着.在部署之前,我无法测试列出泄漏的代码.
是否有一个简单的方法来创建一个无法收集的垃圾,所以我可以测试我的代码,列出垃圾?
我想避免我的球员站在墙内.每个游戏勾选我的玩家移动一些小距离和/或旋转.
TL; DR请提供经典线段的变体 - > - 三角交叉算法,它也会返回近乎未命中,或以另一种方式解决问题 如果线段在三角形的给定距离内通过,则线段相交.这个问题有很多细微之处,例如三角形的轨迹角是圆角的,如果线段与三角形相切.
我有通常的光线/三角交叉码.
然而,射线是移动玩家的非常差的近似!我有玩家中心缺失边缘但玩家网格穿过它们的问题.
如何有效地确定玩家在3D环境中与墙壁和障碍物碰撞的时间和位置?
一种通用方法是具有接近未命中的三角形代码,其中射线是球形圆柱体.
我试过的一般解决方案是想象玩家是一个球体; 从内向外翻转,我试图制作一个比实际墙壁大半径的网格,并对其进行碰撞.我想计算一个在这个网格前面有一定距离的网格,即一个立方体会扩展成一个稍大的立方体,边缘和圆角都是圆角.(我的网格比一个立方体更不规则.想象一下锅炉房内部的网格表示,并想象试图计算距离所有墙壁和锅炉和门框等20厘米的网格.)这是一个围绕桶的简单网格:
对于每个面,我可以计算表面法线; 这就是我怎么知道哪种方式'出'.
我的头脑风暴让我想象每个面部的法线乘以固定的距离,然后发出一个带有相应偏移的三角形.
然而,这会在边缘留下孔,并且可能(?)导致一些边缘穿过非常紧的锐角?
我也可以想象将每个边缘连接成球形圆柱体等等.
我用于上面的桶的方法是计算共享顶点的所有面的平均法线,然后将其乘以碰撞半径.它不能很好地应对锐角,如果在相对侧的面之间错误地共享顶点,该怎么办?
我将在Javacsript中计算此网格,然后执行光线交叉.所以性能也是一个考虑因素.进行碰撞检测时,太精细的细网格将是昂贵的.
如何有效地计算出足够好的基因座网格?或者做loci感知模糊三角交叉?或者有更好的方法来进行碰撞,并且能以某种方式模拟物体以弧线而不是直线移动吗?
我有一些Set
昂贵的物品.
这些对象具有ID,并equals
使用这些ID进行相等.
这些对象的类型有两个构造函数; 一个用于昂贵的对象,另一个用于设置ID.
所以我可以检查特定ID是否在Set
使用中Set.contains(new Object(ID))
.
但是,确定对象在集合中后,我无法获取集合中的对象实例.
如何获取该集合包含的确切对象?
我正在创建JDBC Statement
和ResultSet
s.
Findbugs正确地指出,close
如果抛出异常,我不会这些.
所以现在我有:
Statement stmt = null;
ResultSet res = null;
try {
stmt = ...
res = stmt.executeQuery(...);
...
} finally {
try {
if(res != null)
res.close(); // <-- can throw SQLException
} finally {
if(stmt != null)
stmt.close();
}
}
Run Code Online (Sandbox Code Playgroud)
(只有我有更多的结果集和准备好的语句等等......所以我的finally
s 嵌套更深)
必须有更好的方法来确保关闭大量结果集?
(旁白:在Symbian中,他们永远不会让析构函数/ close/release/remove -type方法抛出任何错误.我认为这是一个非常好的设计决策.在我看来close
,JDBC中的所有方法都会SQLException
使得事情变得不必要地复杂化.)
java ×3
debugging ×2
javascript ×2
python ×2
random ×2
algorithm ×1
collections ×1
compression ×1
geometry ×1
graphics ×1
image ×1
math ×1
mesh ×1
optimization ×1
probability ×1
profiling ×1
scripting ×1
web-worker ×1