小编Wil*_*ill的帖子

选择受更新影响的行

如何UPDATE在MySQL中获取受SQL 语句影响的确切行?

我在许多计算机上有许多客户端可以随时根据WHERE子句更新同一个表中的行,并且每个客户端需要在另一个系统中为它们影响的每一行执行某些操作,因此获取受影响项的列表必须准确并且不容易受到竞争条件的影响.

一些数据库支持UPDATE ... OUTPUT UPDATED.id WHERE ...例如SQL Server.

你怎么能在MySQL中做这个原子UPDATE/ SELECT

(我已经看到了做第SELECT一个然后使用ID作为一个IN子句的建议UPDATE.但是另一个客户端可能运行相同SELECT并检索相同的行,而第一个客户端排队UPDATE等等?)

mysql sql atomic

6
推荐指数
1
解决办法
2622
查看次数

重叠分裂三角形

我有一个三角形(红色,下面). (或二维网格的三角形)

如何计算从第一个三角形中减去第二个三角形(绿色)所产生的多边形(并依次镶嵌它们)?

在此输入图像描述

(我正在使用Python,我正在寻找可以采用的方法的解释和伪代码,而不是针对不透明库的建议.(我目前用于gluTess*()对多边形进行曲面细分,但是对如何做的解释我自己的问题很有趣;我迫切的问题实际上是布尔运算本身.)学习和理解解决方案会很令人兴奋.我的三角形总是逆时针缠绕,如果这有任何区别的话.)

geometry 2d

6
推荐指数
1
解决办法
3519
查看次数

c/c ++可以在单个线程中执行preemeptive多任务处理吗?

C/C++中的抢先式多任务处理:某个计时器是否可以中断正在运行的线程并在任务之间切换?

使用绿色线程等的许多VM和其他语言运行时以这些术语实现; C/C++应用程序可以做同样的事情吗?

如果是这样,怎么样?

这将取决于平台,因此请根据特定平台对此的支持进行讨论; 例如,如果你有一些魔法可以SIGALRM在Linux上的处理程序中交换某种内部堆栈(也许使用longjmp?),那就太好了!


我问,因为我很好奇.

我已经工作了几年制作异步IO循环.在编写异步IO循环时,我必须非常小心,不要将昂贵的计算计算放入循环中,因为它会使DOS循环.

因此,我对可以采用异步IO循环以恢复甚至完全支持某种绿色线程或此类方法的各种方式感兴趣.例如,对活动任务进行采样和a中的循环迭代次数SIGALRM,然后如果检测到任务阻塞,则将其他所有内容移动到新线程,或者对此具有所需结果的一些狡猾变化.

最近在这方面有一些关于node.js的抱怨,而在其他地方,我看到过关于Go和Haskell等其他运行时的诱人评论.但是,让我们离开基本问题,你是否可以在C/C++中的单个线程中执行抢占式多任务处理

c c++ thread-safety green-threads

6
推荐指数
1
解决办法
2117
查看次数

从Java Set获取项目

我有一些Set昂贵的物品.

这些对象具有ID,并equals使用这些ID进行相等.

这些对象的类型有两个构造函数; 一个用于昂贵的对象,另一个用于设置ID.

所以我可以检查特定ID是否在Set使用中Set.contains(new Object(ID)).

但是,确定对象在集合中后,我无法获取集合中的对象实例.

如何获取该集合包含的确切对象?

java collections

6
推荐指数
2
解决办法
908
查看次数

绘制像素化的纹理

我有一个我要绘制的位图放大,并在像素之间使用直的,定义的边.

我尝试将MAG过滤器设置为NEAREST:

gl.bindTexture(gl.TEXTURE_2D,this.tex);
gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST);
...
gl.drawArrays(gl.TRIANGLES,0,6); // draw the texture
Run Code Online (Sandbox Code Playgroud)

但是,当我画它时像素一起流血:

在此输入图像描述

这是webGL所以我有着色器.我的着色器代码非常简单:

顶点着色器:

...
attribute vec2 texCoord;
varying vec2 texel;
void main() {
    texel = texCoord;
    ...
Run Code Online (Sandbox Code Playgroud)

片段着色器:

...
varying vec2 texel;
uniform sampler2D texture;
void main() {
    vec4 fragColour = texture2D(texture,texel);
    ...
Run Code Online (Sandbox Code Playgroud)

这是相关代码的更大片段:

map = {
    vbo: gl.createBuffer(),
    tex: gl.createTexture(),
    program: createProgram(
        "precision mediump float;\n"+
        "uniform mat4 mvMatrix, pMatrix;\n"+
        "attribute vec3 vertex;\n"+
        "attribute vec2 texCoord;\n"+
        "varying vec2 texel;\n"+
        "void main() {\n"+
        "   texel = texCoord;\n"+
        "   gl_Position = …
Run Code Online (Sandbox Code Playgroud)

graphics webgl

6
推荐指数
1
解决办法
259
查看次数

如果抛出异常,请确保关闭对象

我正在创建JDBC StatementResultSets.

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)

(只有我有更多的结果集和准备好的语句等等......所以我的finallys 嵌套更深)

必须有更好的方法来确保关闭大量结果集?

(旁白:在Symbian中,他们永远不会让析构函数/ close/release/remove -type方法抛出任何错误.我认为这是一个非常好的设计决策.在我看来close,JDBC中的所有方法都会SQLException使得事情变得不必要地复杂化.)

java

6
推荐指数
1
解决办法
111
查看次数

禁用对象中的 ElasticSearch 查询字段

我有一个 Elastic Search 6.8.7 集群。

我有一列包含此映射:

"event_object": { "enabled": false, "type": "object" }
Run Code Online (Sandbox Code Playgroud)

我想搜索与某些其他条件匹配的记录,并且该对象中的特定字段也具有特定值。

到目前为止,我已经尝试过对索引字段进行正常搜索的各种变体,以及对未索引字段进行过滤脚本的方法:

GET /my_index/_search
{
  "query":{
    "bool":{
      "must":{
        "query_string": {
          "query": "foo:bar"
        }
      }, 
      "filter": {
        "script": {
          "script": {
            "source": "doc[\"event_object\"][\"state\"].value == \"R\""
          }
        }
      }
    }
  },
  "terminate_after":1000, 
  "from":0,
  "size":1000
}
Run Code Online (Sandbox Code Playgroud)

这是基于谷歌搜索的自我测试的大杂烩。但我什至无法编译,更不用说运行和过滤了。

elasticsearch

6
推荐指数
1
解决办法
911
查看次数

从嵌入式芯片中提取秘密

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

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

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

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

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

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

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

security microchip

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

用于表示3D多面体的库

是否有提供3D多面体并支持计算两个多面体交集的库?

如果有所作为,则我要建模的多面体中没有“孔”。

重点将首先放在正确性上,然后再靠近速度!

理想情况下,该库将:

  • 有现有的整洁的python绑定
  • 独立的或有合理的和小的依赖
  • 从任何角度观看时都支持计算多面体的轮廓

python 3d polygon

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

Haskell并发性和持久性

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

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

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

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

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

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

concurrency haskell

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