小编Leo*_*opd的帖子

在Eclipse中,是否可以通过键入文件的路径和名称来打开文件?

IDE在许多方面都很出色。但是我不喜欢它们如何使我使用GUI来完成我可以在命令行中更快地键入内容的操作。例如,打开一个已知的特定文件。如果我知道文件名,则可以从命令行输入编辑器的名称和文件名。使用制表符完成功能,我可以在可靠的时间内非常快地完成此操作。无需搜索输出或将手指从键盘上移开。

在Eclipse中,有没有一种方法可以通过简单地通过输入路径+文件名来打开已知文件?也许通过插件?

“开放资源”快捷键(ctrl-shift-R)差不多就是它,但是它只能让您键入文件名,而不是路径。如果在不同目录中有多个同名文件,则必须再次使用鼠标寻找所需内容。

eclipse eclipse-plugin

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

使用中间件测试django页面的多主机

背景:我正在使用中间件django-multihost(http://effbot.org/zone/django-multihost.htm)来允许我的单个django应用程序响应来自同一项目的不同主机名.中间件根据HTTP请求标头更改ROOT_URLCONF(即哪个urls.py文件)Host:.

这很好用,但我想编写一些简单的集成测试来检查页面是否正确加载.这是一个基本测试的示例,它检查/trends页面是否加载并且它上面有"今日趋势"文本:

def test_homepage_loads(self):
    client = Client()
    client.login(username = 'testing', password = 'testing')
    page = client.get("/trends", follow = follow_redirects)
    self.assertEquals(page.status_code, 200)
    self.assertTrue( page.content.find('Trends for Today') > 0 )
Run Code Online (Sandbox Code Playgroud)

问题是,这总是使用默认的ROOT_URLCONF而不是中间件调用的ROOT_URLCONF加载.如果我明确地将主机名放入url中并不重要client.get("http://secondarysite/trends").

如何使用django测试客户端在其他虚拟站点上进行测试?我想在测试中调用中间件,这样我就可以测试那个逻辑.但是,如果我需要做一些hacky,比如在测试期间设置ROOT_URLCONF,但我不知道该怎么做.

django unit-testing django-middleware

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

使用Mongoid将整个模型设为只读

我看到Mongoid支持只读属性.有没有办法将整个文档或整个集合/模型类标记为只读?

ruby-on-rails mongodb mongoid

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

在popen.stdout.readline上检测流的结尾

我有一个python程序,它使用Popen并在生成时几乎实时地使用它们的输出来启动子进程.相关循环的代码是:

def run(self, output_consumer):
    self.prepare_to_run()
    popen_args = self.get_popen_args()
    logging.debug("Calling popen with arguments %s" % popen_args)
    self.popen = subprocess.Popen(**popen_args)
    while True:
        outdata = self.popen.stdout.readline()
        if not outdata and self.popen.returncode is not None:
            # Terminate when we've read all the output and the returncode is set
            break
        output_consumer.process_output(outdata)
        self.popen.poll()  # updates returncode so we can exit the loop
    output_consumer.finish(self.popen.returncode)
    self.post_run()

def get_popen_args(self):
    return {
        'args': self.command,
        'shell': False, # Just being explicit for security's sake
        'bufsize': 0,   # More likely …
Run Code Online (Sandbox Code Playgroud)

python popen python-2.7

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

如何延迟javascript函数,直到Jquery和Facebook都被加载?

Jquery提供了一种非常方便的方法来延迟执行代码,直到DOM完全加载:

$(function() {
    dom_is_loaded();
});
Run Code Online (Sandbox Code Playgroud)

Facebook Javascript SDK在异步加载时提供了类似的机制:

window.fbAsyncInit = function() {
    fb_is_loaded();
}
Run Code Online (Sandbox Code Playgroud)

在DOM Facebook的SDK都完全初始化之前,延迟代码运行的最优雅方法是什么?

javascript jquery facebook

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

从javascript SDK调用FQL时导致"需要有效签名"错误的原因是什么?

我的网站使用从javascript调用的FQL:

FB.api({
    method: 'fql.query',
    query: 'SELECT uid, name, first_name, pic_big, pic, third_party_id from user where uid in (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name'
},
function(response) {
    if( response.error_msg ) {            
        alert("Sorry!  Something went wrong loading your Facebook friends:"+response.error_msg);
        return;
    }
    process_friends(response);
});
Run Code Online (Sandbox Code Playgroud)

}

他们在正常FB.login()通话后来到这里.这对大多数用户来说都很好.但是一些用户(或者至少是用户会话)始终得到"需要有效签名"错误,即使FB.login()再次进入,也无法通过此错误.

这个错误究竟意味着什么?我猜oauth令牌无效?但令牌来自javascript SDK - 我从未触及它,并且没有签名.用户是否处于不一致的登录状态?应用权限不足?一些奇怪的cookie设置?

javascript facebook facebook-fql

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

无法从facebook javascript登录api获取userID

我正在使用phonegap facebook插件和facebook javascript api.这是我的代码

FB.init({
    appId: "xxxxxxxxxxxxxxx",
    status: true,
    oauth :true,
    nativeInterface: CDV.FB,
    //channelURL : 'www', // Channel File
    cookie: true, 
    //useCachedDialogs: false, 
    xfbml: true
});

FB.login(function(response) {
    if (response.authResponse) {
        alert(response.authResponse.userID); // literally shows three dots
        FB.api('/me', function(me){
            if (me.id) {
                alert(me.id);  // this works
            }
        });
    }
}, { scope: "email" });
Run Code Online (Sandbox Code Playgroud)

我可以从authResponse获取accessToken ....它是一个长字符串.但是userID字段实际上是"......".我可以通过对服务器进行额外的往返来获取用户的ID,并使用另一个图形API调用来获取,/me但这似乎很浪费.

javascript facebook facebook-javascript-sdk phonegap-plugins cordova

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

heroku上的多线程ruby工作者

我在Heroku上有一个ruby应用程序需要使用工作线程进行一些后台处理.我还没有决定延迟工作和Resque,但这个问题的答案可能会影响我.后台作业将主要等待外部API(Facebook,Twitter等),因此它们将使CPU的利用率非常低.

有没有办法在heroku上获得每个worker dyno的多个线程?是这个标准还是有插件DJResque?或者foreman配置预分叉或什么?否则我将浪费很多钱在工作人员的dynos上,95%的人闲置等待外部API.

ruby-on-rails heroku delayed-job resque foreman

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

安装OpenCV HighGUI缺失

我在安装OpenCV时遇到了一些麻烦.我在这里使用了2.3.1 windows superpack:http://opencv.willowgarage.com/wiki/.我将它解压缩到C:\ OpenCV并使用CMake将其构建到"OpenCV/build"目录中,用于Visual C++ 64位.生成了一个INSTALL文件,我在调试和发布模式(64位)中构建它.然后我尝试对"OpenCV/samples/c/example_cmake"中的"minarea"示例文件执行相同操作:使用CMake生成文件,然后使用Visual C++生成.

在整个过程中,我没有发现任何决定性的错误.但是当我尝试打开示例exe文件时,我得到:"程序无法启动,因为缺少opencv_highgui231d.dll".和高

windows opencv install

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

如何在没有装饰器的情况下使用 lru_cache?适用于 3.8,不适用于 3.6

我有一个昂贵的函数,我想使用functools.lru_cache进行缓存,但仅限于某些运行时条件。

基于装饰器,没问题:

from functools import lru_cache


@lru_cache(maxsize=32)
def myfunc(a, b):
    return a * b


print(myfunc(1,2))
print(myfunc(1,2))
print(myfunc(1,3))

print(f"cache_info:{myfunc.cache_info()}")

Run Code Online (Sandbox Code Playgroud)

输出:

2
2
3
cache_info:CacheInfo(hits=1, misses=2, maxsize=32, currsize=2)
Run Code Online (Sandbox Code Playgroud)

并非没有基于 @ 的语法

但是,当我尝试先声明该函数,然后有条件地将其包装在 中lru_cache,而不使用 @decorator 语法时,我遇到了问题。

from functools import lru_cache

def conditional_cached_func(a, b):
    return a * b

some_system_dependent_value = True

if some_system_dependent_value:

    cache_done = False


    #  I'm trying multiple calls to see what lru_cache expects
    #    only #3 works, but just so you don't replicate the other ones.
    if …
Run Code Online (Sandbox Code Playgroud)

python decorator python-3.6 python-3.8

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