小编Jak*_*ake的帖子

Chef - 根据需要启动或重启服务

有了Chef,如果服务没有运行,我怎么能开始服务呢?

我正在运行Ubuntu 12.04,我正在处理的服务是PostgreSQL.停止和启动它几乎可以工作,但厨师似乎尝试启动它之前它完全停止并失败.

chef-infra

7
推荐指数
1
解决办法
6405
查看次数

react-native Navigator.NavigationBar - 文档在哪里?

我在网上看过几个例子Navigator.NavigationBar.它看起来很方便,但我不知道如何使用它.在哪里都有文档?

react-native

7
推荐指数
1
解决办法
9162
查看次数

document.execCommand('copy')无法在Chrome上运行

在Chrome上只document.execCommand('copy')返回true但不复制文本,它会清除剪贴板.

我找不到任何有同样问题的人,有很多类似的问题,但请不要将其标记为副本,除非它确实存在.

  • selection.removeAllRanges()以前打过电话selection.addRange().
  • selection.getRangeAt(0).cloneContents() 返回包含正确文本的片段
  • textarea中的文本未显示为已选中
  • 如果我textarea.select()document.execCommand('copy')文本显示为选中之前调用并且已获得对剪贴板的帮助.我不想这样做,因为它聚焦textarea并导致页面滚动.
  • 测试Chrome 61和63,MacOS
  • 在Safari中工作

这是我的代码(在单击事件监听器中使用)
https://codepen.io/jakecr/pen/XVXvKz

var textarea = document.createElement('textarea');
textarea.textContent = 'coppied text';
document.body.appendChild(textarea);

var selection = document.getSelection();
var range = document.createRange();
range.selectNodeContents(textarea);
selection.removeAllRanges();
selection.addRange(range);

// DOESN'T WORK WITHOUT THIS
// textarea.select();

console.log(selection.getRangeAt(0).cloneContents());
console.log('copy success', document.execCommand('copy'));
Run Code Online (Sandbox Code Playgroud)

javascript clipboard google-chrome

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

Python:从导入的模块中导入模块的详细信息

我正在编写一段可重用的代码来导入我需要它的地方,但它需要一些关于导入它的信息.我有一个解决方法可以做我想要的,但它有点难看.有没有更好的办法?

这是我正在做的简化版本.

我想要的:导入一个方法并使用它,但在mod2中查看f.它需要导入模块的一些信息.

MOD1:

from mod2 import f
f(...)
Run Code Online (Sandbox Code Playgroud)

MOD2:

from things_i_want import parent_module, importing_module
def f(*args, **kwargs):
    from importing_module.parent_module import models
    # ... do some stuff with it, including populating v with a string

    v = 'some_string'
    m = getattr(importing_module, v, None)
    if callable(m)
        return m(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我丑陋的解决方法:

MOD1:

from mod2 import f as _f
def f(*a, **k):return _f(__name__, globals(), *a, **k)
f(...)
Run Code Online (Sandbox Code Playgroud)

MOD2:

def f(module_name, globs, *args, **kwargs):
    # find parent modules path
    parent_module_path = module_name.split('.')[0:-1]
    # …
Run Code Online (Sandbox Code Playgroud)

python django rest import

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

如何从python脚本在linux中设置用户密码?

我正在尝试自动设置SFTP访问.此脚本作为具有sudo权限且没有密码的用户运行.

我可以像这样创建一个用户:

>>> import subprocess
>>> process = subprocess.Popen(['sudo', 'useradd', 'test'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate()
('', '')
Run Code Online (Sandbox Code Playgroud)

接下来我需要设置用户的密码,但我无法弄清楚如何.这是我尝试过的.

>>> process = subprocess.Popen(['sudo', 'chpasswd'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate('test:password')
Run Code Online (Sandbox Code Playgroud)

在我的python程序中它没有任何效果,在交互式解释器中它在第一行之后锁定.

最好的方法是什么?

我在Ubuntu lucid上运行python 2.6.

python subprocess user-management

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

在PostGIS中,大于世界一半的多边形被视为相反

我正在使用GeoDjango和PostGIS,并尝试使用多边形从数据库中获取记录.

如果我定义一个大于地球面积一半的多边形,则假定我的多边形的"内部"是我打算作为"外部"的较小区域,并仅返回其外部的结果.

我可以使用这个较小的错误区域来排除结果.Polygon.area似乎知道我打算做什么,所以我可以用它来确定何时使我的搜索包含或排除.我觉得这个问题可能很常见,有没有更好的解决方法?

更新:如果180度经度在我的多边形内部,则根本不起作用.看来GEOS这次应该受到指责.这张图片显示了我认为的原因.绿色是我定义的多边形,红色是它似乎解释它的方式.地球上的多边形同样,这似乎是一个经常出现的问题,而且像GEOS这样的图书馆需要处理这个问题.有办法吗?

postgis geodjango geos

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

动态地在dict中设置深度值

如果我有一个嵌套的字典d = {'a':{'b':{}}}和一个字符串'a.b.c'和一个值'X'

我需要根据键字符串将值放在dict中.

我想要实现的是硬编码,d['a']['b']['c'] = 'X'但我需要动态地进行.键串可以是任何长度.

对于奖励积分:我还需要创建密钥,如果它们不存在,'a.b.z'但我相信如果我能解决它们已经存在的情况,我可以弄明白.

python

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

一个方法可以用作static方法还是实例方法?

我希望能够这样做:

class A(object):
    @staticandinstancemethod
    def B(self=None, x, y):
        print self is None and "static" or "instance"

A.B(1,2)
A().B(1,2)
Run Code Online (Sandbox Code Playgroud)

这似乎是一个应该有一个简单解决方案的问题,但我无法想到或找到一个.

python static-methods descriptor instance-methods

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

如何在sublime文本中查看原始图像数据

构建3059的Sublime Text添加了图像预览.现在,当我打开图像时,我再也看不到原始数据了.有没有办法关闭这个"功能"?

我正在阅读/编写EXIF数据,能够潜入并查看真正的内容非常有用.Sublime毕竟是一个文本编辑器.

sublimetext

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

在 Sanity 中订购文档

我有一组文档,我希望编辑者能够选择它们出现的顺序。我一直无法找到任何有关此的信息。Sanity 或插件中是否有标准或内置方法来处理此问题?

我可以sortOrder向文档添加一个字段,但编辑人员必须填写数字。在列表的前面插入文档意味着手动递增其后面的每个文档。

我尝试创建一个单例文档,其中的字段具有type: 'array', of: [{ type: 'reference', to: [{ type: 'myType' }] }]. 这确实有效,但似乎是一种解决方法,并不能带来良好的编辑器体验。您必须创建一个新文档,然后转到此单例文档并将其添加到那里。它似乎也查询得更慢。

有什么建议吗?是否已经有一种我错过的好方法可以做到这一点?

sanity

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