我需要在php应用程序中实现身份验证,但使用指纹作为凭据的一部分.
所以,真诚地,我有点迷失在这里.
1)我需要一个带有JavaScript SDK的产品(阅读器)吗?我见过一些使用ActiveX但显然这只适用于IE.我想在这里使用跨浏览器解决方案.
2)在服务器端,我想我会从我的PHP代码本地调用一些C/C++/Java库.这样对吗?
如您所见,您可以给我的任何纸张/方向都将受到赞赏.
我正在阅读(好的,略读)Dubochet和Odersky 在JVM上编译结构类型,并对以下声明感到困惑:
生成技术创建Java接口以代表JVM上的结构类型.这种技术的复杂性在于,在程序中任何地方用作结构类型的所有类都必须实现正确的接口.在编译时完成此操作时,它会阻止单独编译.
(重点补充)
考虑论文中的autoclose示例:
type Closeable = Any { def close(): Unit }
def autoclose(t: Closeable)(run: Closeable => Unit): Unit = {
try { run(t) }
finally { t.close }
}
Run Code Online (Sandbox Code Playgroud)
我们无法为该Closeable类型生成如下接口:
public interface AnonymousInterface1 {
public void close();
}
Run Code Online (Sandbox Code Playgroud)
并将我们的定义转换autoclose为
// UPDATE: using a view bound here, so implicit conversion is applied on-demand
def autoclose[T <% AnonymousInterface1](t: T)(run: T => Unit): Unit = {
try { run(t) }
finally { t.close } …Run Code Online (Sandbox Code Playgroud) 我有两个构造函数
MyObj(String s){ //first constructor
...
if(s==null) s = somecode;
this.s = s;
...
}
MyObj(): this(null) { } //second constructor
Run Code Online (Sandbox Code Playgroud)
这样,如果调用空构造函数,它将重定向到第一个构造函数并初始化由某些代码确定的值.
但是,现在我有了第三个构造函数
MyObj(Stream st){ //third constructor
...
}
Run Code Online (Sandbox Code Playgroud)
现在第二个构造函数不知道是应该调用第一个构造函数还是第三个构造函数.如何告诉它调用第一个构造函数?我试过MyObj(): this(String s = null),它也不起作用.
多年来我几次使用自分流单元测试模式.正如我最近向某人解释的那样,他们认为它违反了SRP.参数是现在可以出于以下两个原因之一更改测试类:测试更改时,或者测试正在实现的接口上的方法签名发生更改时.在考虑了一段时间后,似乎这是一个正确的评估,但我想得到其他人的意见.思考?
参考:http: //www.objectmentor.com/resources/articles/SelfShunPtrn.pdf
昨天我读了一个问题,可以通过稍加修改转化为以下问题:
点的坐标在2D空间中由(x,y)表示.
输入:点阵ARRAY = (x1, y1), (x2, y2), (x3, y3), ..., (xn, yn)
和另一个点D = (xi, yi)
找到ARRAY距离最近的点D.
通过说"最近",我指的是欧几里德距离.
有一个明显的解决方案:遍历每个点ARRAY并计算其欧几里德距离D.然后,找到最短的距离.这可以在O(N)时间内完成.
我们可以在O(logN)中做得更快吗?我试图使用分而治之的方法,但尚未得出具体的想法.
问题的推广:如何在K维空间中找到最近的点?我们能否在低于O(N)的情况下做到这一点?
如何在python中找到100个浮点数组中的最小值?我已经尝试minindex=darr.argmin()和print darr[minindex]与import numpy(darr是阵列的名称)
但我得到:
minindex=darr.argmin()
AttributeError: 'list' object has no attribute 'argmin'
可能是什么问题?还有更好的选择吗?
提前致谢
我对 Java 中 Timer 类的行为有疑问。这是代码: http: //pastebin.com/mqcL9b1n
public class Main {
public static void main(String[] args) {
Main m = new Main();
m.foo();
m = null;
}
public void foo() {
Timer t = new Timer();
t.schedule(new SysPrint(), 200);
}
}
class SysPrint extends TimerTask {
public void run() {
System.out.println("Yes!");
}
}
Run Code Online (Sandbox Code Playgroud)
发生的情况是,如果您运行该程序,它将打印“Yes!” 它不会做任何其他事情(程序不会结束)。
Java 文档说:在对 Timer 对象的最后一个实时引用消失并且所有未完成的任务都已完成执行之后,计时器的任务执行线程将正常终止(并成为垃圾收集的对象)。
正如我所看到的,在“foo()”函数结束后,对 Timer 对象的“最后一个实时引用”就消失了。唯一安排的任务就是“是!” 已执行的任务,所以我猜想在进程打印“是!”之后,Timer 对象应该结束并且进程应该终止。
这里发生了什么?
如果我有一个在viewdidload中启动的NSTimer,那么离开该视图时它在哪里是无效的?是否也有必要释放它?
我想在GraphViz图表中包含图例或关键字.但是,我无法确定要使用的代码.我也想把它放在一个角落,但我唯一知道的唯一的坐标是左下角:pos="10,10!".
有谁知道我怎么能让这个工作?
我有一个Android活动和使用aidl实现的服务.像冠军一样工作,我有一个回调设置将一些线程通知传递回UI,并且看起来工作正常,除了很多
GREF已增加到101,201,301,401,501等,GREF已减少.我做了一些在线搜索,发现它必须做全球参考.
08-17 02:31:19.735: DEBUG/dalvikvm(2558): GREF has increased to 301
...
08-17 02:31:25.823: DEBUG/dalvikvm(2558): GREF has increased to 401
...
08-17 02:31:36.772: DEBUG/dalvikvm(2558): GREF has increased to 501
...
08-17 02:31:42.694: DEBUG/dalvikvm(2558): GREF has increased to 601
...
08-17 02:31:48.695: DEBUG/dalvikvm(2558): GREF has increased to 701
...
08-17 02:31:59.883: DEBUG/dalvikvm(2558): GREF has decreased to 599
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 499
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 399
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 299
08-17 …Run Code Online (Sandbox Code Playgroud)