小编Sum*_*ai8的帖子

为什么`std :: sto` ...系列不是模板?

我不知道是否有一个原因的std::sto系列(例如std::stoi,std::stol)不是一个函数模板,这样的:

template<typename T>
T sto(std::string const & str, std::size_t *pos = 0, int base = 10);
Run Code Online (Sandbox Code Playgroud)

然后:

template<>
int sto<int>(std::string const & str, std::size_t *pos, int base)
{
    // do the stuff.
}

template<>
long sto<long>(std::string const & str, std::size_t *pos, int base)
{
    // do the stuff.
}

/* etc. */
Run Code Online (Sandbox Code Playgroud)

在我看来,这将是一个更好的设计,因为目前,当我必须转换用户想要的任何数值的字符串时,我必须手动管理每个案例.

有没有理由没有这样的模板功能?是否有一个假定的选择,或者这样做是否就是这样?

c++ c++11

19
推荐指数
3
解决办法
2072
查看次数

使用ajax beforeSend修改数据

假设我有一个来自jQuery的Ajax调用,如下所示:

$.ajax({
   url: myUrl,
   data: myData,
   type:'post'
});
Run Code Online (Sandbox Code Playgroud)

我希望能够使用添加到myData

$.ajaxSetup({
   beforeSend: function(call){...}
});
Run Code Online (Sandbox Code Playgroud)

结果应该是所有ajax调用(post和get)都被修改,所以如果我得到一个额外的参数IsAjax = true

ajax jquery

17
推荐指数
3
解决办法
2万
查看次数

Ajax:为什么成功显示为0?

我在jquery中使用ajax,当我尝试在弹出窗口中显示结果时.然后始终显示警报0

success : function(results) { 
alert(results); }
Run Code Online (Sandbox Code Playgroud)

编辑:

 var dataToSend = {
    action:"ACTION_NAME",
    id : "12"
  };
  url_action = 'http://www.______.com/wp-admin/admin-ajax.php';
  $.ajax({
          url: url_action,
          type:'POST',
          data: dataToSend,
          success:function(results)
          {
             alert(results);
          }
   });
Run Code Online (Sandbox Code Playgroud)

ajax wordpress jquery

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

最新(开源)chatbot /假AI?

什么是开源聊天机器人/假AI'技术'中最新的?ELIZA/ALICE/MegaHAL仍然是"最新的",还是在过去十年中取得了哪些进展?

artificial-intelligence chatbot

15
推荐指数
2
解决办法
7062
查看次数

Jquery ajaxStart没有被触发

这段代码

$("#loading").ajaxStart(function() {
        alert("start");
        $(this).show();
    });
Run Code Online (Sandbox Code Playgroud)

在我的加价

<div style="text-align:center;"><img id="loading" src="../images/common/loading.gif" alt="" /></div>
Run Code Online (Sandbox Code Playgroud)

这是完整的ajax请求:

$.ajax({
        type: "POST",       

        url: "http://localhost/WebServices/Service.asmx/GetResults",

        data: jsonText,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) {

            var results = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
            PopulateTree(results);
        },

        error: function(xhr, status, error) {
            var msg = JSON.parse(xhr.responseText);
            alert(msg.Message);


        }
    });

$("#loading").ajaxStart(function() {
        alert("start");
        $(this).show();
    });

    $("#loading").ajaxStop(function() {
        alert("stop");
        $(this).hide();
        $("#st-tree-container").show();

    });
Run Code Online (Sandbox Code Playgroud)

即使gif显示为旋转,也不会触发警报"开始".AjaxStop按预期触发.有什么想法吗?

ajax jquery

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

错误:找不到模块'npm-registry-client'

每当我尝试安装npm-registry-client时,我都会收到错误" 错误:无法找到模块'npm-registry-client' ".

我试图用以下命令解决这个问题,但这不起作用:

npm uninstall

npm install -g npm@latest

完整输出是:

user@pc ~/devel> npm install npm-registry-client --save

module.js:340
    throw err;
          ^
Error: Cannot find module 'npm-registry-client'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/cache/caching-client.js:9:22)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试了每个npm程序的上述内容.它在更新npm后出现

node.js npm

14
推荐指数
3
解决办法
5944
查看次数

纯javascript中的延迟分配

这个问题中,我遇到了以下简化问题:

我们从一个带有value属性的Objects数组开始.我们想要为每个值计算它的总和的百分比,并将其作为属性添加到结构中.要做到这一点,我们需要知道值的总和,但这个总和不是事先计算的.

//Original data structure
[
  { "value" : 123456 },
  { "value" : 12146  }
]

//Becomes
[
  { 
    "value" : 123456,
    "perc"  : 0.9104
  },
  {
    "value" : 12146 ,
    "perc"  : 0.0896
  }
]
Run Code Online (Sandbox Code Playgroud)

一个简单且可能最具可读性的解决方案是两次遍历数据结构.首先我们计算总和,然后计算百分比并将其添加到数据结构中.

var i;
var sum = 0;
for( i = 0; i < data.length; i++ ) {
  sum += data[i].value;
}
for( i = 0; i < data.length; i++ ) {
  data[i].perc = data[i].value / sum;
}
Run Code Online (Sandbox Code Playgroud)

我们是否可以只通过数据结构一次,并以某种方式告诉只有在知道整个总和后才能评估百分比表达式?

我主要对解决纯javascript问题的答案感兴趣.那就是:没有任何库.

javascript deferred-execution

14
推荐指数
3
解决办法
1480
查看次数

jquery ajax忽略500状态错误

我正在向App Engine应用程序发出一些GET请求,在Chrome中进行测试.虽然我可以在javascript控制台中看到一些调用导致500服务器错误,但我似乎无法在我的jQuery代码中发现捕获此错误,尽管读取了许多类似的SO线程.我知道它表示服务器端错误,但我仍然希望能够从我的javascript中捕获这样的错误.

我需要捕获错误,以便我可以计算响应的数量(成功或其他),并在收到所有呼叫响应时触发另一个功能.

Chrome控制台输出:

GET http://myapp.com/api?callback=jQuery12345&params=restOfParams 500 (Internal Server Error)
Run Code Online (Sandbox Code Playgroud)

我的电话:

  function makeCall() {
    var count = 0;
    var alldata = $('#inputset').val();
    var rows = alldata.split('\n');
    var countmatch = rows.length;
    for (i=0;i<rows.length;i++) {
      data["param"] = rows[i]["val"];
      $.ajax({
              url: apiUrl,
              type: 'GET',
              data: data,
              dataType: 'jsonp',
              error: function(){
                  alert('Error loading document');
                  count +=1;
              },
              success: function(responseJson) {
                            count +=1;
                            var res = responseJson.results;
                            if (count == countmatch) {
                              allDoneCallback(res);
                            }
                        },
             });
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下一些方法:
添加:

statusCode: {500: function() {alert('err');}}
Run Code Online (Sandbox Code Playgroud)

打电话. …

jquery jquery-callback

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

我可以基于每个项目缓存git凭据吗?

有几个人正在通过网络共享在单个Web服务器上处理多个项目.每个项目都有自己的git存储库.在启动项目时,我们为每个开发项目的开发人员和每个项目的临时环境提供个人开发环境.所有文件都归www-data,因为这是Apache使用的用户.

为了防止我们在拉,推和切换到新分支时多次输入我们的用户名和密码,我们目前正在使用凭证缓存(如此处所示).

$ git config --global credential.helper
cache --timeout=900
Run Code Online (Sandbox Code Playgroud)

我们面临的问题是当某人(用户1)执行经过身份验证的git操作时,他们会输入他们的凭据.在超时内,其他人(用户2)在他们自己的存储库中执行经过身份验证的git操作,该存储库使用用户1的凭据.这将导致以下两种情况之一发生:

  • 用户2收到存储库不存在的错误.这是因为用户1没有权限对用户2的存储库执行操作.
  • 用户2使用用户1的帐户推送提交(作为作者).推送显示在用户1的历史记录中.

我认为通过将用户名添加到git存储库url(例如username@git.domain.ext/repo/name.git)可以部分缓解此问题,但这仅适用于我们每个用户拥有个人开发环境的开始阶段.登台环境需要多人访问,因此我们无法对用户名进行硬编码.在我们完成初始开发并且项目已经投入使用之后,我们清理了开发环境,因为我们没有无限的空间.如果我们在清理个人开发环境后需要进行更改,我们通常会使用暂存环境来执行此操作,这会导致同样的问题发生.

git config --global credential.helper命令导致凭据在服务器范围内存储.降低超时只会有很大帮助.我们可以缓存每个开发环境的凭据吗?

git credentials

13
推荐指数
3
解决办法
1088
查看次数

C#ModInverse函数

是否有内置函数可以让我计算(mod n)的模逆?例如19 ^ -1 = 11(mod 30),在这种情况下19 ^ -1 == -11 == 19;

c# modulo c#-4.0

12
推荐指数
3
解决办法
1万
查看次数