小编Wil*_*ill的帖子

进程与线程的性能影响

显然,如果性能至关重要,那么原型和配置文件是有意义的.但同样,可以在StackOverflow上寻求智慧和建议:)

为了处理高度并行的任务,其中任务间通信很少或适合消息传递,使用进程(fork()等)或线程是否存在性能劣势?

线程之间的上下文切换是否比进程之间的更便宜?有些处理器有单指令上下文切换吗?主流操作系统是否更好地利用具有多个线程或进程的SMP?如果进程永远不会写入那些页面,那么fork()的COW开销是否比线程更昂贵?

等等.谢谢!

performance multithreading multicore

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

从嵌入式芯片中提取秘密

我正在研究一种嵌入式系统,其中秘密存储在芯片封装内部的闪存中,并且没有物理接口来获取该信息 - 所有对该闪存的访问都受到程序代码的监管.

所有DMA攻击和JTAG等都被禁用.这似乎是片上系统的常见锁定配置.

攻击者如何恢复Flash中的秘密?

我知道他们可以模糊应用程序代码中的漏洞并利用它,可能会有一些模糊的一般侧通道攻击或其他东西.

但攻击者如何才能真正尝试恢复这些密钥呢?是否有可行的方法让坚定的攻击者以某种方式削减芯片或某种显微镜攻击?

我一直在寻找有关各种游戏机,卫星电视,可信计算和DVD系统如何受到物理攻击的信息,以了解这种威胁是如何工作的以及SoC的脆弱程度,但没有成功.

实际上所有这些密钥似乎都是从软件或多芯片系统中提取出来的?

security microchip

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

从2D点计算单位球面上的3D坐标

我有一个圆形的方形位图,我想计算该圆中所有像素的法线,就好像它是一个半径为1的球体:

在此输入图像描述

球体/圆圈在位图中居中.

这个等式是什么?

math graphics geometry

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

网页中的可滚动容器

我想在带有滚动条的网页内创建一个视口.

在这个视口中,我想在相对于彼此的任意偏移处放置图像拼贴.

我添加的第一个图像应该在视口中居中.它可能没有视口那么大.

随着其他图像随着时间的推移而添加,它们是来自其他图像的一些极坐标.我可以将极坐标转换为XY偏移.

当我添加图像时,我可能希望将它们留在所有其他图像或其他所有图像之上,等等; 我可以使用负偏移吗?视口上的滚动条是否可以自动滚动子项的已使用坐标范围,而不是从0,0?

我用于视口的CSS设置的容器类是什么?我用什么CSS位置来定位孩子?

html css html5 scrollbar

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

处理 settrace 'return' 调用中的异常

在 Python 2.x 中,传递给settrace处理程序的框架对象有一个f_exc_type属性。

在 Python 3.x 中,这f_exc_type已被删除。

如果一个函数传播异常,跟踪“回报”的调用,但该说法是Nonesys.exc_info()(None,None,None)。这在文档中描述:

[return]一个函数(或其他代码块)即将返回。调用本地跟踪函数;arg 是将返回的值,如果事件是由引发的异常引起的,则为 None。跟踪函数的返回值被忽略。

在 Python 3 中,跟踪器如何在return 钩子中确定正在传播异常?它如何与正常返回的函数区分开None来?

python python-3.x

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

确定性地使DB失败以进行测试

我有一个Java应用程序,它使用大量的java.sql.Connection数据库.

我想测试一下,如果数据库不可用,我的服务会返回相应的错误代码(区分临时和永久问题,例如HTTP 500和503).

为了测试,我的应用程序连接到嵌入式本地内存中的h2数据库; 应用程序没有意识到这一点,只有我的集成测试.

如何确定性地对数据库进行写入失败,例如挂钩到提交并使它们抛出自定义SQLException?我希望测试代码中的全局"数据库不可用"布尔值影响所有连接,并使我的应用程序运行其重新连接逻辑.

(我已经通过代理开始Connection,然后将一个if(failFlag) throw new MySimulateFailureException()commit(),但这并没有赶上PreparedStatement.executeUpdate();之前,我走上代理所述PreparedStatement!太-它有很多的方法-我想教一个更好的方法...)

java testing

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

可以代理某些类而不代理其他类

UPDATE解决方案是 Java.lang.reflect.Proxy从调用返回另一个代理,在分配时导致ClassCastException

我的测试代码代理java.sql.Connection.

我像这样创建我的代理:

log.info("connection is "+connection.getClass().getName()+", "+
    (connection instanceof Connection));
Object proxy = java.lang.reflect.Proxy.newProxyInstance(
    connection.getClass().getClassLoader(),
    connection.getClass().getInterfaces(),
    new MockFailureWrapper(connection));
log.info("proxy is "+proxy.getClass().getName()+", "+
    (proxy instanceof Connection));
return (Connection)proxy;
Run Code Online (Sandbox Code Playgroud)

当我包装H2 DB连接时,这非常有效.

当我尝试包装MySQL连接时,Connection返回中代理的强制转换失败,即使connection我的包装是类型的Connection.例外是:

java.lang.ClassCastException: $Proxy11 cannot be cast to java.sql.Connection
Run Code Online (Sandbox Code Playgroud)

H2连接的日志行是:

connection is org.h2.jdbc.JdbcConnection, true
proxy is $Proxy9, true
Run Code Online (Sandbox Code Playgroud)

对于MySQL连接:

connection is com.mysql.jdbc.JDBC4Connection, true
proxy is $Proxy11, false
Run Code Online (Sandbox Code Playgroud)

发生了什么,为什么我不能包装MySQL数据库连接

java reflection

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

Haskell并发性和持久性

我一直在阅读有关Haskell和STMBeautiful Concurrency文章.

给出的示例是银行帐户转帐.

它是一个虚拟的银行转账 - 它位于堆内存中的两个数字之间.

我脑子里立即提出的问题是:

  1. 如何以原子方式转移磁盘.在以持久性 - ACID方式记录银行交易之前,我的书中没有这样做.人们如何使用像Haskell这样的语言 - 它不会让你在STM中做任何IO - 实际上真的会对不仅在易失性存储器中的数据进行原子变化吗?

  2. 如何在许多机器上分发它; 你怎么能有分布式事务和横向扩展应用程序(STM中没有IO)?

concurrency haskell

5
推荐指数
2
解决办法
635
查看次数

计算前一个午夜的unix时间戳

你如何在Java中计算截断到午夜的unix时间戳?

PHP示例显示了创建字符串然后将其解析回来.肯定有必要在Java中使用更清晰的方法吗?

java datetime

5
推荐指数
2
解决办法
2518
查看次数

有效地在正方形上获得格点

格点是具有整数坐标的点.

该线是两个格点A和B之间的垂直平分线.该线上的每个点与点A和B等距离.

如何有效地计算方形0,0→N,N中垂直平分线上的晶格点?

这是一个正方形,有一些示例点A和B↓

在此输入图像描述

点M是A和B之间的中点.

到目前为止,我的想法一直带着我:

点LA,LB和RA,RB是可以容易地计算到线AB的左侧和右侧的正方形.

A和LB之间的中点LM,以及中点RM A和RB也在垂直平分线上.

那么如何使用这些信息来快速计算两点之间垂直平分线上的晶格点?

这不是功课,它只是爱好编码

python math geometry

5
推荐指数
2
解决办法
870
查看次数