小编jef*_*ind的帖子

如何测试字符串是否为JSON?

我有一个简单的AJAX调用,服务器将返回带有用数据的JSON字符串或PHP函数生成的错误消息字符串mysql_error().如何测试此数据是JSON字符串还是错误消息.

使用一个被调用的函数会很好,isJSON就像你可以使用该函数instanceof来测试某些东西是否是一个数组.

这就是我要的:

if (isJSON(data)){
    //do some data stuff
}else{
    //report the error
    alert(data);
}
Run Code Online (Sandbox Code Playgroud)

javascript mysql json

147
推荐指数
11
解决办法
18万
查看次数

wkhtmltopdf:无法连接到X服务器

我一直在使用wkthmltopdf在我的linux web服务器上即时将html转换为pdf文档.该程序最初需要X11或类似的X服务器才能正常运行,但是由于开发人员要求在没有GUI的服务器上运行该程序,我很确定它在静态版本中运行虚拟X服务器.我一直在使用程序的静态(独立)版本,它工作得很好!我将可执行文件放在一个文件夹中,然后运行:

./wkhtmltopdf file1.html file2.pdf
Run Code Online (Sandbox Code Playgroud)

但是我想在系统范围内安装这个程序.我使用了apt-get install wkhtmltopdf(昨天安装),因为我在64位系统上运行,我也需要apt-get install ia32-libs.安装后我可以找到这样的版本:

wkhtmltopdf --version
Run Code Online (Sandbox Code Playgroud)

输出:

Name:
  wkhtmltopdf 0.9.9

License:
  Copyright (C) 2008,2009 Wkhtmltopdf Authors.



  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
  This is free software: you are free to change and redistribute it. There is NO
  WARRANTY, to the extent permitted by law.

Authors:
  Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
  Bouthenot.
Run Code Online (Sandbox Code Playgroud)

现在当我尝试运行通过aptitude安装的程序时,我收到以下错误:

wkhtmltopdf: cannot connect to …
Run Code Online (Sandbox Code Playgroud)

xserver wkhtmltopdf

111
推荐指数
12
解决办法
11万
查看次数

使用Pip将软件包安装到Anaconda Environment

conda 4.2.13 MacOSX 10.12.1

我正在尝试将包安装pip到使用anaconda创建的新环境(虚拟). 在Anaconda文档中,它说完全没问题.它的执行方式与virtualenv相同.

激活你想要放置程序的环境,然后pip安装程序......

我在Ananconda中创建了一个空的环境,如下所示:

conda create -n shrink_venv
Run Code Online (Sandbox Code Playgroud)

激活它:

source activate shrink_venv
Run Code Online (Sandbox Code Playgroud)

然后我可以在终端看到我在我的环境中工作(shrink_venv).当我尝试使用pip以下命令安装软件包时,问题就出现了:

(shrink_venv): pip install Pillow

Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

所以我可以看到它认为从系统范围的包中满足要求.所以看起来环境工作不正常,绝对不像文档中说的那样.我在这里做错了吗?

只是一个注意事项,我知道你可以conda install用于包裹,但我从anaconda的Pillow有一个问题,所以我想从中得到它pip,因为文档说这很好.

产量which -a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip
Run Code Online (Sandbox Code Playgroud)

**更新**我认为这是非常常见的问题.我发现conda env与PYTHONPATH的效果不佳.即使您正在使用conda环境,系统似乎总是在PYTHONPATH位置查看.现在,我总是unset PYTHONPATH在使用conda环境时运行,并且它运行得更好.我在Mac上.

python environment pip anaconda

108
推荐指数
8
解决办法
20万
查看次数

使用jquery使用JSON数据重新填充表单

我有一个HTML表单,我通过ajax保存到数据库.要获取键/值对的查询字符串,我使用了非常方便的serialize函数,如下所示:

var myData = $("form#form_id").serialize();
$.ajax({
    url: "my_save_script.php",
    type: "post",
    data: myData,
    success: function(msg){
        alert(msg);
    }
});
Run Code Online (Sandbox Code Playgroud)

现在我想加载一个空白表单,并使用数据库中的数据重新填充它,该数据从ajax调用作为JSON字符串传递.我已经能够获得具有正确键/值对的Javascript对象,如下所示:

data = $.parseJSON(data);
data = data[0];
Run Code Online (Sandbox Code Playgroud)

重新填充表单最简单,最优雅的方法是什么?

请记住,表单的输入元素是文本,选择,复选框和广播.输入元素的名称与数据库列的名称相同,并且是上述data对象中键/值对的键.这就是为什么这个serialize功能对我来说效果很好

javascript forms jquery json populate

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

从mysqldb查询中获取原始十进制值

我正在使用MySQLdb包在python中执行mysql查询.代码看起来像这样:

c=db.cursor()
c.execute("""select * from table""")
output = []
for row in c:
    output.append(row[4])
Run Code Online (Sandbox Code Playgroud)

其中row[4]包含我想要存储在output列表中的十进制值.

问题是我得到的每一个值都是这样的:列表中Decimal('XX.XX')我想要的output只是XX.XX. 在脚本的末尾,我的output列表如下所示:

[Decimal('10.02'), Decimal('20.24'), ...]
Run Code Online (Sandbox Code Playgroud)

但我需要它来包含数字,如下所示:

[10.02, 20.24, ...]
Run Code Online (Sandbox Code Playgroud)

我怎么做?

谢谢!

python mysql mysql-python

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

MySQL"NOT IN"无法正常工作

发生了奇怪的事情.我在Windows NOT IN查询中安装了MySQL社区服务器5.1时出现问题.当我这样做时:

select * 
  from table1 
  where date >= "2012-01-01";
Run Code Online (Sandbox Code Playgroud)

返回582行

select * 
  from table1 
  where date >= "2012-01-01" 
    and the_key in (select some_key from table2);
Run Code Online (Sandbox Code Playgroud)

返回15行

所以我希望以下查询将返回582 - 15 = 567行

select * 
 from table1 
 where date >= "2012-01-01" 
 and the_key not in (select some_key from table2);
Run Code Online (Sandbox Code Playgroud)

返回0行

为什么这个最后一个查询没有返回任何行?

mysql notin

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

通过SSH的rsync仅保留对www-data拥有的文件的所有权

我使用rsync将Web文件夹结构从本地服务器复制到远程服务器.两台服务器都是ubuntu linux.我使用以下命令,它运行良好:

rsync -az /var/www/ user@10.1.1.1:/var/www/
Run Code Online (Sandbox Code Playgroud)

本地系统和远程系统的用户名不同.根据我的阅读,可能无法保留所有文件和文件夹所有者和组.没关系,但我想保留两个服务器上都存在的www-data用户的所有者和组.

这可能吗?如果是这样,我将如何做到这一点?

**编辑**

有人提到rsync能够在这里保留远程文件同步的所有权和组:http://lists.samba.org/archive/rsync/2005-August/013203.html

**编辑2**

由于这里有许多有用的评论和答案,我最终获得了理想的效果.假设源计算机的IP是10.1.1.2,目标计算机的IP是10.1.1.1.我可以在目标机器上使用这一行:

sudo rsync -az user@10.1.1.2:/var/www/ /var/www/
Run Code Online (Sandbox Code Playgroud)

这样可以保留具有通用用户名的文件的所有权和组,例如www-data.请注意,使用rsyncwithout sudo不会保留这些权限.

linux ssh webserver rsync

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

Ubuntu中的Netbeans 7.0.1没有javascript支持?

我刚刚在ubuntu 12.04中安装了netbeans 7.0.1,并且没有任何JAVASCRIPT支持.我没有收到任何错误,但我的.js文件只显示为常规文本文件,没有语法突出显示.

我的情况与此帖不同,因为当我转到工具 - >选项 - >其他 - >文件时,在"关联文件类型(MIME)"下我没有"text/javascript"选项.

同样在我之前安装的netbeans中,我可以右键单击我项目的"Source Files"文件夹,选择New - > other,我可以像这样创建一个新的.JS文件.但现在没有.js文件的选项.只有PHP(因为我安装了PHP插件),XML,SQL,CSS和其他一些.

另一件事,我经常在.php文件中嵌入javascript.我的嵌入式js只显示为纯文本,没有语法高亮显示.

我还检查了JS的其他插件,但没有任何东西跳出来作为解决方案.有谁知道如何启用JS文件识别和语法高亮?

谢谢!

**更新**

这个安装很奇怪(编辑文本时,按Enter键没有反应,没有行返回,没有)所以我会尝试重新安装,会更新结果.

**更新2**

从netbeans网站安装了7.1 for linux,一切运行良好.它一定是Ubuntu软件中心的错误安装.

javascript netbeans syntax-highlighting

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

如何使用 autograd.grad 计算 PyTorch 中参数损失的 Hessian 矩阵

我知道有很多关于 pytorch 中“计算 Hessian 矩阵”的内容,但据我所知,我还没有发现任何对我有用的内容。因此,为了尽可能精确,我想要的 Hessian 矩阵是损失相对于网络参数的梯度的雅可比矩阵。也称为参数的二阶导数矩阵。

我发现一些代码可以以直观的方式工作,尽管速度不应该很快。显然,它只是计算参数与参数之间的损失梯度的梯度,并且一次只计算一个(梯度的)元素。我认为逻辑绝对是正确的,但我收到了一个错误,与requires_grad. 我是 pytorch 初学者,所以也许这是一件简单的事情,但错误似乎是说它不能接受变量的梯度env_grads,这是之前 grad 函数调用的输出。

任何对此的帮助将不胜感激。这是错误消息后面的代码。我还打印出了该env_grads[0]变量,因此我们可以看到它实际上是一个张量,这是上一次调用的正确输出grad

env_loss = loss_fn(env_outputs, env_targets)
total_loss += env_loss
env_grads = torch.autograd.grad(env_loss, params,retain_graph=True)

print(env_grads[0])
hess_params = torch.zeros_like(env_grads[0])
for i in range(env_grads[0].size(0)):
    for j in range(env_grads[0].size(1)):
        hess_params[i, j] = torch.autograd.grad(env_grads[0][i][j], params, retain_graph=True)[0][i, j] #  <--- error here
print(hess_params)
Run Code Online (Sandbox Code Playgroud)

输出:

tensor([[-6.4064e-03, -3.1738e-03,  1.7128e-02,  8.0391e-03],
        [ 7.1698e-03, -2.4640e-03, -2.2769e-03, -1.0687e-03],
        [-3.0390e-04, -2.4273e-03, -4.0799e-02, -1.9149e-02],
        ...,
        [ 1.1258e-02, -2.5911e-05, -9.8133e-02, -4.6059e-02],
        [ 8.1502e-04, -2.5814e-03, …
Run Code Online (Sandbox Code Playgroud)

python hessian pytorch

11
推荐指数
2
解决办法
9541
查看次数

如何从服务器发送png图像,通过ajax在浏览器中显示

我一直很难完成一项非常正常的任务.我将图像上传并保存到我的Web服务器并将路径保存到MySQL数据库中的文件(这一切都正常).不起作用的是从服务器获取图像文件并通过ajax在页面上显示它.

最初我试图从数据库中检索路径,并src使用图像路径更新标记的属性.这是有效的,但这样所有图像都在服务器上的文件夹中,人们都可以访问它们.这个不好.我只能拥有这些用户可以访问的某些用户的图片.

为了限制对这些照片的访问,我在该文件夹上添加了一个Apache指令,该指令成功地限制了访问.然后问题变成了我无法通过将src属性设置为该路径来在浏览器中显示图像.请参阅我的帖子:https://serverfault.com/questions/425974/apache-deny-access-to-images-folder-but-still-able-to-display-via-img-on-site

最后我了解到我必须使用PHP直接从服务器读取图像数据并将此数据发送到浏览器.我使用了file_get_contents()函数,该函数用于将服务器上的图像文件(PNG)转换为字符串.我在ajax调用中将此字符串返回给浏​​览器.我无法得到的是: 如何使用JavaScript将此字符串转换回图像?

看到这段代码:

$.ajax({
    url: get_image.php,
    success: function(image_string){
        //how to load this image string from file_get_contents to the browser??
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript php ajax png image

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