小编gsa*_*kis的帖子

Jquery:获得祖先(或后代)和自我

可以使用matchedset.find(selector)/ matchedset.parents(selector)来获取由选择器过滤的当前匹配集的后代/祖先,但是不包括匹配集本身(如果它恰好也匹配选择器).是否有更好的(更简洁和/或更快)的方式来获得它

matchedset.find(selector).add(matchedset.filter(selector))
Run Code Online (Sandbox Code Playgroud)

和父母的相应()?

jquery filter ancestor descendant

34
推荐指数
2
解决办法
9536
查看次数

ReStructuredText编号的头文件

有没有办法在rst有自动标题编号?这就是:

#. Some Section
===============
...
#. Some Subsection
------------------
...
#. Another Subsection
---------------------
...
#. Another Section
==================
...
Run Code Online (Sandbox Code Playgroud)

将呈现为:

1.某节

...

1.1一些小节

...

1.2另一小节

...

2.另一节

...

markup restructuredtext

18
推荐指数
1
解决办法
3773
查看次数

在Mercurial中追溯命名分支

有没有办法在提交后将一堆Mercurial变更集与命名分支相关联,即追溯?

mercurial branch

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

没有__init__的Python包

我使用pip installflufl.enum Python软件包,我注意到尽管错过了flufl/__init__.py常规Python软件包的模块,但它仍能正常工作.更奇怪的是:

>>> import flufl
>>> flufl
<module 'flufl' (built-in)>
Run Code Online (Sandbox Code Playgroud)

我试图在foo/bar/__init__.py没有foo/__init__.py(并且可预测)import foo失败的情况下重现这种创造.怎么flufl做?

python built-in

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

使用Nginx/Fastcgi在子URL下部署django

我不能为我的生活弄清楚如何使用Nginx/fastcgi在非root位置下部署django站点,例如http:// localhost:8080/myproject /而不是http:// localhost:8080 / ; 我看到的所有示例都假设Apache或安装在站点的根目录.这是我的相关部分nginx.conf:

server {
    listen 8080;
    server_name localhost;

    location /myproject/ {
        # host and port to fastcgi server
        fastcgi_pass 127.0.0.1:3030;

        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        #fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        fastcgi_param  PATH_INFO          $fastcgi_script_name;
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME …
Run Code Online (Sandbox Code Playgroud)

django fastcgi nginx

9
推荐指数
2
解决办法
3255
查看次数

要(猴子)补丁还是不要(猴子)补丁,这就是问题所在

我正在和一位同事谈论我们使用的某个包的一个意外/不期望的行为.尽管我们有一个简单的解决方法(或至少是解决方法)而没有任何明显的副作用,但他强烈建议通过硬修补并在上游发布补丁来扩展相关代码,希望将来某些时候可以接受.实际上,我们针对在每个新构建上自动应用的多个软件包的特定版本维护补丁.主要论点是,这是正确的做法,而不是"丑陋"的解决方法或脆弱的猴子补丁.另一方面,我赞成实用性而非纯度,我的一般经验法则是"无补丁">"猴子补丁">"硬补丁",至少除了(关键)错误修复之外的其他任何东西.

所以我想知道是否就什么时候(硬)补丁,猴子补丁或只是尝试解决一个不完全符合人们想要的第三方软件包达成共识.它是否主要与补丁的原因(例如修复错误,修改行为,添加缺少的功能),给定的包(大小,复杂性,成熟度,开发人员响应性),其他或没有一般规则和一个应根据具体情况决定?

language-agnostic oop patch monkeypatching

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

Git镜子没有强制推动

是否有可能以某种方式设置一个git存储库,该存储库可以像往常一样工作 - 用于拉入它的镜像,但是在它推送到另一个存储库时没有强制?

git

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

在生成的进程中读取操作系统环境变量

这与之前的问题类似,但 formultiprocessing而不是subprocess。与 不同的是,使用 时动态更改似乎PYTHONHASHSEED没有效果:multiprocessingsubprocess

#check_environ.py
import os, multiprocessing, subprocess, sys

s = 'hello'
print('parent', os.getenv('PYTHONHASHSEED'), hash(s))

if len(sys.argv) > 1:
    os.environ['PYTHONHASHSEED'] = sys.argv[1]
subprocess.call(['python', '-c', "import os;print('subprocess', os.getenv('PYTHONHASHSEED'), hash('{}'))".format(s)])
multiprocessing.Process(target=lambda:print('multiprocessing', os.getenv('PYTHONHASHSEED'), hash(s))).start()
Run Code Online (Sandbox Code Playgroud)

样本运行:

# explicit PYTHONHASHSEED for subprocess/multiprocessing 
$ python check_environ.py 12

parent None 4472558296122225349
subprocess 12 -8207222429063474615
multiprocessing 12 4472558296122225349

# random PYTHONHASHSEED for subprocess/multiprocessing 
$ python check_environ.py

parent None 7990499464460966677
subprocess None 1081030409066486350
multiprocessing None 7990499464460966677
Run Code Online (Sandbox Code Playgroud)

因此,无论如何,multiprocessing哈希值都使用与父级相同的种子。有没有办法强制使用 …

python multiprocessing python-multiprocessing

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

过滤 pytest 夹具

这与旧问题基本相同,但希望现在有更好的解决方案。

问题:给定一个参数化的夹具,如何使用夹具对象的子集参数化测试函数?

例子

import pytest

@pytest.fixture(params=range(7))
def square(request):
    return request.param ** 2

def test_all_squares(square):
    sqrt = square ** 0.5
    assert sqrt == int(sqrt)

@pytest.fixture()
def odd_square(square):
    if square % 2 == 1:
        return square
    pytest.skip()

def test_all_odd_squares(odd_square):
    assert odd_square % 2 == 1
    sqrt = odd_square ** 0.5
    assert sqrt == int(sqrt)

Run Code Online (Sandbox Code Playgroud)

输出

$ pytest pytests.py -v
 =============================================== ======================== 测试会话开始 ======================= =============================================
...
收集了 14 件物品                                                                                                                                        

pytests.py::test_all_squares[0] 通过 [ 7%]
pytests.py::test_all_squares[1] 通过 [ 14%]
pytests.py::test_all_squares[2] 通过 …

python fixtures pytest

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

GAE:队列速率和max_concurrent_requests之间的关系

我阅读的文档GAE的任务队列,我不清楚之间的关系(如果有的话)ratemax_concurrent_requests.是否rate参考单个请求,例如rate = 20/s和max_concurrent_requests = 10实际上意味着总共最多200个请求/秒?

google-app-engine

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

指定从 Hive 插入生成的文件的最小数量

我在 AWS EMR 上使用 Hive 将查询结果插入到按日期分区的 Hive 表中。虽然每天的总输出大小相似,但生成的文件数量各不相同,通常在 6 到 8 个之间,但有时它只会创建一个大文件。我重新运行了几次查询,以防万一文件数量碰巧受到集群中节点可用性的影响,但它似乎是一致的。

所以我的问题是(a)是什么决定了生成多少文件,(b)有没有办法指定最小文件数或(甚至更好)每个文件的最大大小?

hive mapreduce amazon-emr hiveql hadoop-partitioning

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

无需"新"

javascript中令人讨厌的问题是忘记调用new一个意图实例化的函数,导致this被绑定到一个不同的对象(通常是全局的)而不是一个新对象.我读到的一个解决方法是使用以下习语在函数构造函数中显式检查它:

function SomeConstructor(x, y, ...) {
    // check if `this` is created with new
    if ( !(this instanceof arguments.callee) )
        return new SomeConstructor(x, y, ...);
    // normal initialization code follows
Run Code Online (Sandbox Code Playgroud)

现在new SomeConstructor(...)SomeConstructor(...)等同.

我想通过创建一个包装函数来简化这一过程,该函数factory(fn)执行前两行,然后委托给包装函数fn.这将用作:

SomeConstructor = factory(function (x, y, ...) {
    // normal initialization code follows
})
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是:

function factory(fn) {
  return function() {
    if ( !(this instanceof arguments.callee) ) {
      return new arguments.callee.apply(this, arguments);
    }
    fn.apply(this, arguments);
  } …
Run Code Online (Sandbox Code Playgroud)

javascript constructor factory new-operator

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