标签: execution

防止多次执行JavaScript函数

我正在使用JavaScript,jQuery和PHP.如何限制JavaScript函数执行一次?

我的MainJQuery文件有Ajax.display.php执行一段时间:

....

$.ajax({
    type:'POST',
    url: 'display.php',
    data:'id='+id  ,
    success: function(data){
        $("#response").html(data);

        //Here Get_list should be execute only once.
        get_list('get');

        // Display should execute as usual
        display();
    }//success
}); //Ajax

.......
Run Code Online (Sandbox Code Playgroud)

get.Php文件将值写入JavaScript:

<?php
    print "<script language='javascript'>";
    print " g_cost[g_cost.length]=new Array('STA-VES','East',4500);";
    print " g_cost[g_cost.length]=new Array('STA-CRF','West',5400);";
    print "</script>";
?>
Run Code Online (Sandbox Code Playgroud)

我的JavaScript函数具有PHP的以下值:

function get_list('get'){
    for(var i=0;i<g_cost.length;i++)
        var temp = g_cost[i];

    var Name = temp[0];
    var direction = temp[1];
    var cost = temp[2];

    ..
    some code
    ...
}

function display(){
    for(var i=0;i<g_cost.length;i++)
        alert(g_cost.length);
    var temp …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery execution

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

如何防止我们程序中的任意代码执行漏洞?

当您的系统或浏览器或任何程序更新它们修复了一个错误时,您总是会阅读更改日志,这些错误使攻击者可以使用伪造的网站在您的计算机中执行任何代码,或使用精心伪造的数据包攻击您的计算机等...

因为你经常阅读它意味着任何程序都可能有类似的漏洞......这是什么原因造成的?如何设计我们的程序以防止类似问题?

security execution platform-independent

4
推荐指数
1
解决办法
4309
查看次数

记忆障碍如何运作?

在Windows下,有三个编译器内部函数来实现内存屏障:

1. _ReadBarrier;

2. _WriteBarrier;

3. _ReadWriteBarrier;
Run Code Online (Sandbox Code Playgroud)

但是,我发现了一个奇怪的问题:_ReadBarrier似乎是一个无效的虚函数!以下是VC++ 2012生成的汇编代码.

我的问题是:如何在汇编指令中实现内存屏障功能?

int main()
{   
013EEE10  push        ebp  
013EEE11  mov         ebp,esp  
013EEE13  sub         esp,0CCh  
013EEE19  push        ebx  
013EEE1A  push        esi  
013EEE1B  push        edi  
013EEE1C  lea         edi,[ebp-0CCh]  
013EEE22  mov         ecx,33h  
013EEE27  mov         eax,0CCCCCCCCh  
013EEE2C  rep stos    dword ptr es:[edi]  
    int n = 0;
013EEE2E  mov         dword ptr [n],0  
    n = n + 1;
013EEE35  mov         eax,dword ptr [n]  
013EEE38  add         eax,1  
013EEE3B  mov         dword ptr [n],eax  
    _ReadBarrier();
    n = n + 1;
013EEE3E …
Run Code Online (Sandbox Code Playgroud)

c c++ assembly execution instructions

4
推荐指数
2
解决办法
1423
查看次数

Hazelcast 分布式执行器服务 KeyOwner

我无法理解 Hazelcast 分布式执行的概念。据说能够对特定密钥的所有者实例执行执行。
来自文档:

   <T> Future<T> submitToKeyOwner(Callable<T> task, Object key)
   Submits task to owner of the specified key and returns a Future representing that task.
       Parameters:
            task - task
            key - key
       Returns:
            a Future representing pending completion of the task
Run Code Online (Sandbox Code Playgroud)

我相信我并不是唯一拥有一个由多个映射构建的集群的人,这些映射实际上可能使用相同的密钥用于不同的目的,持有不同的对象(例如,以下设置中的某些内容):

IMap<String, ObjectTypeA> firstMap = HazelcastInstance.getMap("firstMap");
IMap<String, ObjectTypeA_AppendixClass> secondMap = HazelcastInstance.getMap("secondMap");
Run Code Online (Sandbox Code Playgroud)

对我来说,文档中关于密钥所有者的描述似乎很令人困惑。我真正的沮丧是我不知道它指的是哪个 - 在哪个地图 - 键?
该文档还给出了这种方法的“演示”:

import com.hazelcast.core.Member;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.IExecutorService;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;   
import java.util.Set;
import com.hazelcast.config.Config;

public void echoOnTheMemberOwningTheKey(String input, Object key) throws Exception …
Run Code Online (Sandbox Code Playgroud)

java key owner execution hazelcast

4
推荐指数
1
解决办法
4023
查看次数

发生错误时退出执行 PL/SQL

我想知道,发生错误时如何退出执行。在 Microsoft SQL Server 中,有一个RETURN子句可以完成这项工作。但我想知道 Oracle 中的类似功能。我正在使用 Oracle Sql Developer。这是我正在使用的脚本:

由于唯一键违规,第一个块抛出错误,即使它抛出错误,执行也会转到下一个块并执行插入语句。我想在第一个代码块本身结束执行或退出。请帮我写代码。

第一个匿名 PL/SQL 块:

set serveroutput on;

BEGIN 
  insert into test values(1);
  insert into test values(1);
  COMMIT;  

  dbms_output.put_line('PRINT SOMETHING 1'); 

EXCEPTION
   WHEN OTHERS THEN
     if sqlcode <> 0
     then
        dbms_output.put_line(SQLCODE || '  ' || SQLERRM);
        RAISE; 
     end if;
     return;
END;
/ 
Run Code Online (Sandbox Code Playgroud)

第二个匿名 PL/SQL 块:

set serveroutput on;

BEGIN 
  insert into test values(6);
  COMMIT;  

  dbms_output.put_line('PRINT SOMETHING'); 

EXCEPTION
   WHEN OTHERS THEN
     if sqlcode <> 0
     then
        dbms_output.put_line(SQLCODE || '  ' …
Run Code Online (Sandbox Code Playgroud)

oracle execution

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

strace 'open' 在可执行文件库中调用

我有一个没有源代码的程序。

当我运行它时,日志中出现“无法打开文件...”错误。

我以这种方式调用了strace来跟踪内核上的打开调用:

strace -e trace=open,close,read,write,connect,accept your-command-here
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有我期望的打开调用(这将在日志显示“无法打开文件...”之前发生)

可执行文件确实将打开调用委托给了 tierce 库。似乎strace只跟踪内核上可执行文件的调用,而不是库依赖项的调用。

我尝试使用ltrace来跟踪后续库中发生的情况,但它显示的信息与strace 不同,仅显示函数调用(不是人类可读的)。

有没有办法同时在可执行文件和库上运行strace

unix linux trace execution strace

4
推荐指数
1
解决办法
2892
查看次数

Javascript 中的脚本执行流程

$(function() {
    alert("hello World");
});
alert("hello");
Run Code Online (Sandbox Code Playgroud)

输出:

首先“你好”是警报/它在第2行/然后“你好世界”被警报我想知道javascript中的执行规则是什么

javascript execution

4
推荐指数
1
解决办法
942
查看次数

我们应该测量例程的平均执行时间还是最短执行时间?

当我们测量例程的执行时间(始终使用相同的输入)时,即使我们应该得到相同的结果(时间),我们也不会得到相同的结果(时间),因为程序在多任务环境中运行。即使我们以“高优先级”运行我们的程序,CPU 中运行的其他程序的一些干扰当然也会稍微影响结果。

测量的目的是在代码优化之前和之后对例程进行计时。

大多数人会对这个函数进行多次计时并取平均值。为什么我们不看最小执行时间而不是平均值呢?

c++ delphi profiling timing execution

4
推荐指数
1
解决办法
1107
查看次数

用于记录 Junit5 中每个测试用例执行时间的注释

我需要记录每个测试用例的执行时间。我不想使用自定义实现。我想知道 junit5 中是否有可用的注释

Btw, I know aboutStopwatch或 Junit4 @Timeout

time execution junit5

4
推荐指数
1
解决办法
2373
查看次数

Apps 脚本极其缓慢或无休止地“准备执行...”

我在我的 Google Sheets 文件上写了一个非常简单的代码。这是目的:

  1. 从StaticSheet中保存一些需要在DynamicSheet中复制的单元格值(所有的Copyxxx)。
  2. 获取用户手动插入的一个特定单元格的值。
  3. 输入一个仅用于增加指标的 While 循环,并获取我想要复制以前保存的那些值的行数。
  4. 复制此行上的这些值但不同的列。

问题是,在我告诉它之后,它似乎在大多数情况下甚至不运行脚本。有趣的是,有时它会起作用,速度非常慢,但它会起作用几分钟。在它再次停止工作之后。

你能告诉我我在这里遗漏了什么吗?

function Copy_Static_on_Dynamic() {
  var app = SpreadsheetApp;
  var ss = app.openById("xxxxyy--------yyzzzz")
  var StaticSheet = ss.getSheetByName("DEAT Price");
  var DynamicSheet = ss.getSheetByName("DEAT Price + TEST");
  var CopySKU = StaticSheet.getRange(5,1,40);
  var CopyPrices = StaticSheet.getRange(5,3,40,4);
  var CopyUsage = StaticSheet.getRange(5,8,40);
  var Week_1 = StaticSheet.getRange(2,4).getValues();
  var i = 1;
  Logger.clear();
  while(DynamicSheet.getRange(i,3).getValues() != Week_1)
  {
   Logger.log(i);
    i+=1;
  }
  CopySKU.copyTo(DynamicSheet.getRange(i,4,40));
  CopyPrices.copyTo(DynamicSheet.getRange(i,6,40,4));
  CopyUsage.copyTo(DynamicSheet.getRange(i,11,40));
}
Run Code Online (Sandbox Code Playgroud)

javascript performance execution google-sheets google-apps-script

4
推荐指数
1
解决办法
4822
查看次数